Difference between revisions of "Scene graph node list"

From Developer Documents
Jump to navigation Jump to search
 
(3 intermediate revisions by the same user not shown)
Line 1: Line 1:
 
== 2D Nodes ==
 
== 2D Nodes ==
 +
 +
=== Node traits ===
 +
{|class="wikitable"
 +
!Character
 +
!Meaning
 +
|-
 +
|align="center"|L
 +
|Leaf node
 +
|-
 +
|align="center"|R
 +
|Does not work with remote rendering
 +
|}
  
 
=== org.simantics.scenegraph.g2d ===
 
=== org.simantics.scenegraph.g2d ===
Line 5: Line 17:
 
{|class="wikitable" border="0" cellpadding="5" cellspacing="2" width="100%" "style="background:transparent; text-align:left;"
 
{|class="wikitable" border="0" cellpadding="5" cellspacing="2" width="100%" "style="background:transparent; text-align:left;"
 
!Class
 
!Class
 +
!Traits
 
!Description
 
!Description
 
|-
 
|-
 
|<em>IG2DNode</em>
 
|<em>IG2DNode</em>
 +
|
 
|Interface implemented by all 2D scene graph nodes.
 
|Interface implemented by all 2D scene graph nodes.
 
|-
 
|-
 
|G2DNode
 
|G2DNode
 +
|L
 
|Base class for all 2D rendering leaf nodes.
 
|Base class for all 2D rendering leaf nodes.
 
|-
 
|-
 
|G2DParentNode
 
|G2DParentNode
 +
|
 
|Base class for all 2D rendering nodes that may have children.
 
|Base class for all 2D rendering nodes that may have children.
 
|-
 
|-
Line 22: Line 38:
  
 
For the code, see [[svn:2d/trunk/org.simantics.scenegraph/src/org/simantics/scenegraph/g2d|org.simantics.scenegraph.g2d]].
 
For the code, see [[svn:2d/trunk/org.simantics.scenegraph/src/org/simantics/scenegraph/g2d|org.simantics.scenegraph.g2d]].
 
=== Node traits ===
 
{|class="wikitable"
 
!Character
 
!Meaning
 
|-
 
|align="center"|L
 
|Leaf node
 
|-
 
|align="center"|R
 
|Works with remote rendering
 
|}
 
  
 
=== org.simantics.scenegraph.g2d.nodes ===
 
=== org.simantics.scenegraph.g2d.nodes ===
Line 43: Line 47:
 
|- style="background-color: tomato;"
 
|- style="background-color: tomato;"
 
|AnimatedSVGNode
 
|AnimatedSVGNode
|LR
+
|L
|Do not use.
+
|Not yet for general use. Basically and <em>SVGNode</em> with added support for animating its SVG using a String&rarr;Object parameter map and the [http://svgsalamander.java.net/ SVG Salamander] SVGDiagram interface to modify the SVG object model.
 
|-
 
|-
 
|BackgroundNode
 
|BackgroundNode
|LR
+
|L
 
|Paints current clipping bounds or specified rectangle with the specified color/paint.
 
|Paints current clipping bounds or specified rectangle with the specified color/paint.
 
|-
 
|-
 
|BooleanToggleValueNode
 
|BooleanToggleValueNode
|LR
+
|L
 
|A simple statically sized/styled push-button widget that can be pressed on off. Nofitications of changes are deployed through an <code>ActionListener</code>.
 
|A simple statically sized/styled push-button widget that can be pressed on off. Nofitications of changes are deployed through an <code>ActionListener</code>.
 
|- style="background-color: tomato;"
 
|- style="background-color: tomato;"
 
|BorderDecoratorNode
 
|BorderDecoratorNode
|R
+
|
 
|A decorator node optionally rendering a rectangular box before rendering its children.
 
|A decorator node optionally rendering a rectangular box before rendering its children.
 
|- style="background-color: tomato;"
 
|- style="background-color: tomato;"
 
|BoundsNode
 
|BoundsNode
|LR
+
|L
 
|Internal system support structure. Do not use.
 
|Internal system support structure. Do not use.
 
|- style="background-color: greenyellow;"
 
|- style="background-color: greenyellow;"
 
|BoxSelectionNode
 
|BoxSelectionNode
|LR
+
|L
 
|Used for visualizing a box selection operation. Box selection ends when the specified mouse button is released. At this time the node will notify its <code>SelectionListener</code> if one has been set with the coordinates of the selection box and the active keyboard modifiers at that time.
 
|Used for visualizing a box selection operation. Box selection ends when the specified mouse button is released. At this time the node will notify its <code>SelectionListener</code> if one has been set with the coordinates of the selection box and the active keyboard modifiers at that time.
 
|- style="background-color: tomato;"
 
|- style="background-color: tomato;"
 
|BranchPointNode
 
|BranchPointNode
|LR
+
|L
 
|Part of the old generation of diagram connections. Do not use.
 
|Part of the old generation of diagram connections. Do not use.
 
|- style="background-color: greenyellow;"
 
|- style="background-color: greenyellow;"
 
|ClippingNode
 
|ClippingNode
|R
+
|
 
|A parent node which sets a new rendering clipping shape.
 
|A parent node which sets a new rendering clipping shape.
 
|- style="background-color: tomato;"
 
|- style="background-color: tomato;"
 
|ConnectionNode
 
|ConnectionNode
|R
+
|
 
|A parent node for containing diagram connections. Provides additional support for dynamic coloring/stroking. Do not use.
 
|A parent node for containing diagram connections. Provides additional support for dynamic coloring/stroking. Do not use.
 
|- style="background-color: greenyellow;"
 
|- style="background-color: greenyellow;"
 
|DataNode
 
|DataNode
|R
+
|
 
|A non-rendering parent node for containing data-oriented nodes that are used for scene-graph-locally describing useful data within the scene graph. One such node with lookup ID "data" is generally available.
 
|A non-rendering parent node for containing data-oriented nodes that are used for scene-graph-locally describing useful data within the scene graph. One such node with lookup ID "data" is generally available.
 
|- style="background-color: tomato;"
 
|- style="background-color: tomato;"
 
|EdgeNode
 
|EdgeNode
|LR
+
|L
 
|Part of old generation connections. Do not use.
 
|Part of old generation connections. Do not use.
 
|- style="background-color: greenyellow;"
 
|- style="background-color: greenyellow;"
 
|FlagNode
 
|FlagNode
|LR
+
|L
 
|Renders a "flag" that is used for describing in- and interdiagram navigation links. Defined by the following aspects: shape, lines of text, text bounds, color, stroke, font, horizontal/vertical alignment.
 
|Renders a "flag" that is used for describing in- and interdiagram navigation links. Defined by the following aspects: shape, lines of text, text bounds, color, stroke, font, horizontal/vertical alignment.
 
|- style="background-color: greenyellow;"
 
|- style="background-color: greenyellow;"
 
|GalleryItemNode
 
|GalleryItemNode
|R
+
|
 
|A parent node for decorating a set of child nodes with a label text rendered below the child nodes. Used by the symbol library UI component.
 
|A parent node for decorating a set of child nodes with a label text rendered below the child nodes. Used by the symbol library UI component.
 
|- style="background-color: greenyellow;"
 
|- style="background-color: greenyellow;"
 
|GridNode
 
|GridNode
|LR
+
|L
 
|Renders a grid using the specified grid spacing. It adjusts the rendered spacing based on the current view transformation so that visible grid is always sparse enough to be meaningful to the user.
 
|Renders a grid using the specified grid spacing. It adjusts the rendered spacing based on the current view transformation so that visible grid is always sparse enough to be meaningful to the user.
 
|- style="background-color: greenyellow;"
 
|- style="background-color: greenyellow;"
 
|ImageNode
 
|ImageNode
|R
+
|
 
|A node which renders any image readable by <code>javax.imageio.ImageIO</code>. The image is fed to it as a byte array (byte[]).
 
|A node which renders any image readable by <code>javax.imageio.ImageIO</code>. The image is fed to it as a byte array (byte[]).
 
|- style="background-color: greenyellow;"
 
|- style="background-color: greenyellow;"
 
|InstancingShapeNode extends ShapeNode
 
|InstancingShapeNode extends ShapeNode
|LR
+
|L
 
|Just like <em>ShapeNode</em> but renders the same shape as many times as specified by a set of transformations and paints.
 
|Just like <em>ShapeNode</em> but renders the same shape as many times as specified by a set of transformations and paints.
 
|- style="background-color: greenyellow;"
 
|- style="background-color: greenyellow;"
 
|LinkNode
 
|LinkNode
 +
|L
 +
|A node that delegates #render(Graphics2D) and #getBoundsInLocal() invocations to another node in the same scene graph. The delegate node is identified using a String ID that refers to the node through the scene graph [[Org.simantics.scenegraph#Node_.E2.87.94_ID_mapping|lookup service]].
 +
|-
 +
|LocalDelegateNode
 
|LR
 
|LR
|A node that delegates #render(Graphics2D) and #getBoundsInLocal() invocations to another node in the same scene graph. The delegate node is identified using a String ID that refers to the node through the scene graph [[Org.simantics.scenegraph#Node_.E2.87.94_ID_mapping|lookup service]].  
+
|A node that delegates #render(Graphics2D) and #getBoundsInLocal() invocations to another node in the same scene graph. The delegate node is directly the delegation target 2D node object.
 +
|- style="background-color: tomato;"
 +
|MessageNotificationNode
 +
|L
 +
|A node for rendering simple messages on the. See Notifications org.simantics.g2d.participant.Notifications for more info.
 +
|- style="background-color: tomato;"
 +
|NavigationNode
 +
|L
 +
|A node for adding support for mouse-based camera navigation for a canvas.
 +
|- style="background-color: tomato;"
 +
|PageBorderNode
 +
|L
 +
|Renders page borders and margins.
 +
|- style="background-color: tomato;"
 +
|RelationshipNode, RelationshipNode2
 +
|L
 +
|Renders "animated" straight lines between two canvas locations. Used by <em>ShowRelatedElements</em> diagram profile style.
 +
|- style="background-color: tomato;"
 +
|RulerNode
 +
|L
 +
|Renders (transparent) horizontal and vertical rulers on the left and top sides of the canvas control area.
 +
|- style="background-color: tomato;"
 +
|SelectionNode
 +
|L
 +
|Renders a simple visual cue (dashed rectangle) used to emphasize a selected element on the canvas.
 +
|- style="background-color: tomato;"
 +
|SelectionPivotNode
 +
|L
 +
|Do not use.
 +
|- style="background-color: greenyellow;"
 +
|ShapeNode
 +
|L
 +
|Renders an arbitrary shape with the specified fills, strokes and paints.
 +
|- style="background-color: greenyellow;"
 +
|SingleElementNode
 +
|
 +
|A parent node for diagram elements.
 +
|- style="background-color: tomato;"
 +
|StateMaskNode
 +
|L
 +
|Internal. Not for general use.
 +
|-
 +
|SVGHolderNode
 +
|L
 +
|A node for visualizing an SVG image so that it is scaled to stay within the specified bounds.
 +
|- style="background-color: greenyellow;"
 +
|SVGNode
 +
|L
 +
|A node that renders an SVG image.
 +
|- style="background-color: tomato;"
 +
|TextNode
 +
|L
 +
|A really simple node that renders a text.
 +
|- style="background-color: tomato;"
 +
|TransformableSelectionNode
 +
|
 +
|A decorator for any node for resizing and moving its child nodes around. Renders grabbing widgets on top of its children.
 
|}
 
|}
  
Line 117: Line 181:
 
{|class="wikitable" border="0" cellpadding="5" cellspacing="2" width="100%" "style="background:transparent; text-align:left;"
 
{|class="wikitable" border="0" cellpadding="5" cellspacing="2" width="100%" "style="background:transparent; text-align:left;"
 
!Class
 
!Class
 +
!Traits
 
!Description
 
!Description
 
|-
 
|-
 
|TextNode
 
|TextNode
 +
|LR
 
| A text widget node for the diagram. Supports: in-line editing, background/foreground color, standard font settings, horizontal alignment. Does not (yet) support: multi-line text, vertical alignment.
 
| A text widget node for the diagram. Supports: in-line editing, background/foreground color, standard font settings, horizontal alignment. Does not (yet) support: multi-line text, vertical alignment.
 
|-
 
|-
 
|TextGridNode
 
|TextGridNode
 +
|R
 
|A 2D parent node holding a NxM grid of <em>TextNode</em> nodes as its children.
 
|A 2D parent node holding a NxM grid of <em>TextNode</em> nodes as its children.
 
|-
 
|-

Latest revision as of 22:01, 13 October 2011

2D Nodes

Node traits

Character Meaning
L Leaf node
R Does not work with remote rendering

org.simantics.scenegraph.g2d

Class Traits Description
IG2DNode Interface implemented by all 2D scene graph nodes.
G2DNode L Base class for all 2D rendering leaf nodes.
G2DParentNode Base class for all 2D rendering nodes that may have children.
G2DSceneGraph 2D scene graph root node.

For the code, see org.simantics.scenegraph.g2d.

org.simantics.scenegraph.g2d.nodes

Class Traits Description
AnimatedSVGNode L Not yet for general use. Basically and SVGNode with added support for animating its SVG using a String→Object parameter map and the SVG Salamander SVGDiagram interface to modify the SVG object model.
BackgroundNode L Paints current clipping bounds or specified rectangle with the specified color/paint.
BooleanToggleValueNode L A simple statically sized/styled push-button widget that can be pressed on off. Nofitications of changes are deployed through an ActionListener.
BorderDecoratorNode A decorator node optionally rendering a rectangular box before rendering its children.
BoundsNode L Internal system support structure. Do not use.
BoxSelectionNode L Used for visualizing a box selection operation. Box selection ends when the specified mouse button is released. At this time the node will notify its SelectionListener if one has been set with the coordinates of the selection box and the active keyboard modifiers at that time.
BranchPointNode L Part of the old generation of diagram connections. Do not use.
ClippingNode A parent node which sets a new rendering clipping shape.
ConnectionNode A parent node for containing diagram connections. Provides additional support for dynamic coloring/stroking. Do not use.
DataNode A non-rendering parent node for containing data-oriented nodes that are used for scene-graph-locally describing useful data within the scene graph. One such node with lookup ID "data" is generally available.
EdgeNode L Part of old generation connections. Do not use.
FlagNode L Renders a "flag" that is used for describing in- and interdiagram navigation links. Defined by the following aspects: shape, lines of text, text bounds, color, stroke, font, horizontal/vertical alignment.
GalleryItemNode A parent node for decorating a set of child nodes with a label text rendered below the child nodes. Used by the symbol library UI component.
GridNode L Renders a grid using the specified grid spacing. It adjusts the rendered spacing based on the current view transformation so that visible grid is always sparse enough to be meaningful to the user.
ImageNode A node which renders any image readable by javax.imageio.ImageIO. The image is fed to it as a byte array (byte[]).
InstancingShapeNode extends ShapeNode L Just like ShapeNode but renders the same shape as many times as specified by a set of transformations and paints.
LinkNode L A node that delegates #render(Graphics2D) and #getBoundsInLocal() invocations to another node in the same scene graph. The delegate node is identified using a String ID that refers to the node through the scene graph lookup service.
LocalDelegateNode LR A node that delegates #render(Graphics2D) and #getBoundsInLocal() invocations to another node in the same scene graph. The delegate node is directly the delegation target 2D node object.
MessageNotificationNode L A node for rendering simple messages on the. See Notifications org.simantics.g2d.participant.Notifications for more info.
NavigationNode L A node for adding support for mouse-based camera navigation for a canvas.
PageBorderNode L Renders page borders and margins.
RelationshipNode, RelationshipNode2 L Renders "animated" straight lines between two canvas locations. Used by ShowRelatedElements diagram profile style.
RulerNode L Renders (transparent) horizontal and vertical rulers on the left and top sides of the canvas control area.
SelectionNode L Renders a simple visual cue (dashed rectangle) used to emphasize a selected element on the canvas.
SelectionPivotNode L Do not use.
ShapeNode L Renders an arbitrary shape with the specified fills, strokes and paints.
SingleElementNode A parent node for diagram elements.
StateMaskNode L Internal. Not for general use.
SVGHolderNode L A node for visualizing an SVG image so that it is scaled to stay within the specified bounds.
SVGNode L A node that renders an SVG image.
TextNode L A really simple node that renders a text.
TransformableSelectionNode A decorator for any node for resizing and moving its child nodes around. Renders grabbing widgets on top of its children.

For the code, see org.simantics.scenegraph.g2d.nodes.

org.simantics.diagram.elements

Class Traits Description
TextNode LR A text widget node for the diagram. Supports: in-line editing, background/foreground color, standard font settings, horizontal alignment. Does not (yet) support: multi-line text, vertical alignment.
TextGridNode R A 2D parent node holding a NxM grid of TextNode nodes as its children.

For the code, see org.simantics.diagram.elements.