Scene Graph - Scene Graphs in Graphics Editing Tools

Scene Graphs in Graphics Editing Tools

In vector-based graphics editing, each leaf node in a scene graph represents some atomic unit of the document, usually a shape such as an ellipse or Bezier path. Although shapes themselves (particularly paths) can be decomposed further into nodes such as spline nodes, it is practical to think of the scene graph as composed of shapes rather than going to a lower level of representation.

Another useful and user-driven node concept is the layer. A layer acts like a transparent sheet upon which any number of shapes and shape groups can be placed. The document then becomes a set of layers, any of which can be conveniently made invisible, dimmed, or locked (made read-only). Some applications place all layers in a linear list, while others support sublayers (i.e., layers within layers to any desired depth).

Internally, there may be no real structural difference between layers and groups at all, since they are both just nodes of a scene graph. If differences are needed, a common type declaration in C++ would be to make a generic node class, and then derive layers and groups as subclasses. A visibility member, for example, would be a feature of a layer, but not necessarily of a group.

Read more about this topic:  Scene Graph

Famous quotes containing the words scene, editing and/or tools:

    No! I am not Prince Hamlet, nor was meant to be:
    Am an attendant lord, one that will do
    To swell a progress, start a scene or two,
    Advise the prince.
    —T.S. (Thomas Stearns)

    In this century the writer has carried on a conversation with madness. We might almost say of the twentieth-century writer that he aspires to madness. Some have made it, of course, and they hold special places in our regard. To a writer, madness is a final distillation of self, a final editing down. It’s the drowning out of false voices.
    Don Delillo (b. 1926)

    But lo! men have become the tools of their tools.
    Henry David Thoreau (1817–1862)