SceneTree
-
class
HPS.SceneTree: HPS.Sprocket The SceneTree class is a smart pointer which corresponds to a tree object in a GUI toolkit, e.g., a TreeView in WPF or a CTreeCtrl in MFC. This class can be derived from to facilitate tree creation in the various GUI toolkits. It is used to create a scene graph or segment browser.
Public Types
-
enum
ItemType Enumerates the types of items that can be contained in a SceneTree.
Values:
-
None No type.
-
GenericMask Mask for the grouping bits in the enum.
-
Segment Item is a SegmentKey, or some object derived from a SegmentKey.
-
Include Item is an IncludeKey.
-
ConditionalExpression Item is a logical conditional expression.
-
StaticModelSegment Item is a SegmentKey which corresponds to the shadow tree for the static model.
-
AttributeFilter Item is an attribute filter on an include or style.
-
Geometry Mask for geometry items.
-
CuttingSection Item is a CuttingSectionKey.
-
NURBSSurface Item is a NURBSSurfaceKey.
-
Cylinder Item is a CylinderKey.
-
Polygon Item is a PolygonKey.
-
CircularWedge Item is a CircularWedgeKey.
-
Ellipse Item is an EllipseKey.
-
NURBSCurve Item is a NURBSCurveKey.
-
CircularArc Item is a CircularArcKey.
-
EllipticalArc Item is an EllipticalArcKey.
-
InfiniteLine Item is an InfiniteLineKey of type InfiniteLine.Type.Line.
-
InfiniteRay Item is an InfiniteLineKey of type InfiniteLine.Type.Ray.
-
Reference Item is a ReferenceKey.
-
DistantLight Item is a DistantLightKey.
-
Spotlight Item is a SpotlightKey.
-
Attribute Mask for attribute items.
-
Portfolio Item is a PortfolioKey that has been pushed onto a SegmentKey.
-
SegmentStyle Item is a StyleKey for a SegmentKey that was styled onto a SegmentKey.
-
NamedStyle Item is a StyleKey for a name of a NamedStyleDefinition that was styled onto a SegmentKey.
-
MaterialPalette Item is a MaterialPalette on a SegementKey.
-
Priority Item is a Priority on a SegmentKey.
-
Material Item is a MaterialMappingKit on a SegmentKey.
-
Camera Item is a CameraKit on a SegmentKey.
-
ModellingMatrix Item is a modelling matrix on a SegmentKey.
-
UserData Item is user data on a SegmentKey.
-
TextureMatrix Item is a texture matrix on a SegmentKey.
-
Culling Item is a CullingKit on a SegmentKey.
-
CurveAttribute Item is a CurveAttributeKit on a SegmentKey.
-
CylinderAttribute Item is a CylinderAttributeKit on a SegmentKey.
-
EdgeAttribute Item is an EdgeAttributeKit on a SegmentKey.
-
LightingAttribute Item is a LightingAttributeKit on a SegmentKey.
-
LineAttribute Item is a LineAttributeKit on a SegmentKey.
-
MarkerAttribute Item is a MarkerAttributeKit on a SegmentKey.
-
SurfaceAttribute Item is a SurfaceAttributeKit on a SegmentKey.
-
Selectability Item is a SelectabilityKit on a SegmentKey.
-
SphereAttribute Item is a SphereAttributeKit on a SegmentKey.
-
Subwindow Item is a SubwindowKit on a SegmentKey.
-
TextAttribute Item is a TextAttributeKit on a SegmentKey.
-
Transparency Item is a TransparencyKit on a SegmentKey.
-
Visibility Item is a VisibilityKit on a SegmentKey.
-
VisualEffects Item is a VisualEffectsKit on a SegmentKey.
-
Performance Item is a PerformanceKit on a SegmentKey.
-
DrawingAttribute Item is a DrawingAttributeKit on a SegmentKey.
-
HiddenLineAttribute Item is a HiddenLineAttributeKit on a SegmentKey.
-
ContourLine Item is a ContourLineKit on a SegmentKey.
-
Condition Item is a Condition on a SegmentKey.
-
Bounding Item is a BoundingKit on a SegmentKey.
-
AttributeLock Item is a AttributeLockKit on a SegmentKey.
-
TransformMask Item is a TransformMaskKit on a SegmentKey.
-
ColorInterpolation Item is a ColorInterpolationKit on a SegmentKey.
-
CuttingSectionAttribute Item is a CuttingSectionAttributeKit on a SegmentKey.
-
PBRMaterial Item is a MaterialMappingKit on a SegmentKey.
-
Debugging Item is a DebuggingKit on a WindowKey.
-
PostProcessEffects Item is a PostProcessEffectsKit on a WindowKey.
-
SelectionOptions Item is a SelectionOptionsKit on a WindowKey.
-
UpdateOptions Item is an UpdateOptionsKit on a WindowKey.
-
Definition Mask for definition items.
-
NamedStyleDefinition Item is a NamedStyleDefintion in a PortfolioKey.
-
TextureDefinition Item is a TextureDefinition in a PortfolioKey.
-
LinePatternDefinition Item is a LinePatternDefinition in a PortfolioKey.
-
GlyphDefinition Item is a GlyphDefinition in a PortfolioKey.
-
CubeMapDefinition Item is a CubeMapDefinition in a PortfolioKey.
-
ImageDefinition Item is a ImageDefinition in a PortfolioKey.
-
MaterialPaletteDefinition Item is a MaterialPaletteDefinition in a PortfolioKey.
-
LegacyShaderDefinition Item is a LegacyShaderDefinition in a PortfolioKey.
-
ShapeDefinition Item is a ShapeDefinition in a PortfolioKey.
-
Group Mask for group items.
-
SegmentGroup Item is a collection of SegmentKey objects.
-
GeometryGroup Item is a collection of specific geometry type groups.
-
AttributeGroup Item is a collection of attributes.
-
PortfolioGroup Item is a collection of PortfolioKey objects.
-
IncludeGroup Item is a collection of IncludeKey objects.
-
DefinitionGroup Mask for definition group items.
-
NamedStyleDefinitionGroup Item is a collection of NamedStyleDefinition objects.
-
TextureDefinitionGroup Item is a collection of TextureDefinition objects.
-
LinePatternDefinitionGroup Item is a collection of LinePatternDefinition objects.
-
GlyphDefinitionGroup Item is a collection of GlyphDefinition objects.
-
CubeMapDefinitionGroup Item is a collection of CubeMapDefinition objects.
-
ImageDefinitionGroup Item is a collection of ImageDefinition objects.
-
MaterialPaletteDefinitionGroup Item is a collection of MaterialPaletteDefinition objects.
-
LegacyShaderDefinitionGroup Item is a collection of LegacyShaderDefinition objects.
-
ShapeDefinitionGroup Item is a collection of ShapeDefinition objects.
-
GeometryGroupMask Mask for groups that contain geometry.
-
CuttingSectionGroup Item is a collection of CuttingSectionKey objects.
-
NURBSSurfaceGroup Item is a collection of NURBSSurfaceKey objects.
-
CylinderGroup Item is a collection of CylinderKey objects.
-
PolygonGroup Item is a collection of PolygonKey objects.
-
CircularWedgeGroup Item is a collection of CircularWedgeKey objects.
-
EllipseGroup Item is a collection of EllipseKey objects.
-
NURBSCurveGroup Item is a collection of NURBSCurveKey objects.
-
CircularArcGroup Item is a collection of CircularArcKey objects.
-
EllipticalArcGroup Item is a collection of EllipticalArcKey objects.
-
InfiniteLineGroup Item is a collection of InfiniteLineKey (of type InfiniteLine.Type.Line) objects.
-
InfiniteRayGroup Item is a collection of InfiniteLineKey (of type InfiniteLine.Type.Ray) objects.
-
ReferenceGroup Item is a collection of ReferenceKey objects.
-
DistantLightGroup Item is a collection of DistantLightKey objects.
-
SpotlightGroup Item is a collection of SpotlightKey objects.
-
Public Functions
-
void
AddHighlightOptions(HPS.HighlightOptionsKit in_options) Appends one highlight options that will be used by this SceneTree. These options are used to perform highlights of elements within the tree and to determine what items within the tree need to be marked as selected when highlights are performed by a HighlightOperator or HighlightAreaOperator.
See also
See also
See also
See also
Param in_options: highlight options that will be used by this SceneTree.
-
void
Assign(HPS.SceneTree in_that) Share the underlying smart-pointer of the SceneTree source.
Param in_that: The SceneTree source of the assignment. Return: A reference to this SceneTree.
-
override void
Dispose()
-
delegate void
DtorDelegate(IntPtr cPtr)
-
bool
Equals(HPS.SceneTree in_that) Check if the source SceneTree points to the same underlying impl as this SceneTree.
Param in_that: The source SceneTree to compare to this SceneTree. Return: true if the objects reference the same impl, false otherwise.
-
override bool
Equals(Object obj)
-
void
Flush() Resets the root SceneTreeItem for this SceneTree. This will release the root SceneTreeItem by this SceneTree and set the root to a null pointer. If this function is overridden, the overriding function should invoke this base function.
-
ulong
GetGroupingLimit() Gets the grouping limit for this SceneTree.
Return: The grouping limit for this SceneTree.
-
override int
GetHashCode()
-
bool
GetHighlightEventHandling() Whether this SceneTree is currently handling highlight events This include expanding the tree to the highlighted SceneTreeItem, and making the text for the highlighted SceneTreeItem bold.
Return: Whether this SceneTreeItem is currently handling highlight events.
-
HPS.HighlightOptionsKit[]
GetHighlightOptions() Gets the highlight options that will be used by this SceneTree.
Return: The highlight options that will be used by this SceneTree.
-
HPS.SceneTreeItem
GetRoot() Gets the root SceneTreeItem for this SceneTree.
Return: The root SceneTreeItem for this SceneTree.
-
override HPS.Type
ObjectType() This function returns the type the object, as declared (if the object is derived, this does not give the true type of the derived object).
Return: The declared type of the object in question, which may differ from the true, underlying type.
-
void
ReExpand() Collapses the root SceneTreeItem for this SceneTree and then re-expands the tree. It will try to preserve the original expansion state, however, if the underlying scene structure has changed, the resulting expansion may look different.
-
delegate void
RemoveCacheItemDelegate(IntPtr cPtr)
-
SceneTree() The default constructor creates an uninitialized SceneTree object. The Type() function will return Type.None.
-
SceneTree(HPS.Canvas in_canvas) This constructor creates a SceneTree object associated with a Canvas. This constructor should be used to create a new SceneTree object.
Param in_canvas: The Canvas to associate this SceneTree with.
-
SceneTree(HPS.SceneTree in_that) The copy constructor creates a SceneTree object that shares the underlying smart-pointer of the source SceneTree.
Param in_that: The source SceneTree to copy.
-
void
SetGroupingLimit(ulong in_limit) Sets the grouping limit for this SceneTree. The grouping limit determines when to collect certain items into groups of a particular size. This limit is used to keep the number of children for a particular SceneTreeItem constrained to ensure reasonable performance. Presently this limit is used for segments and geometry SceneTreeItem objects.
Param in_limit: The grouping limit for this SceneTree.
-
void
SetHighlightEventHandling(bool in_state) Whether the SceneTree should handle highlighting events. This include expanding the tree to the highlighted SceneTreeItem, and making the text for the highlighted SceneTreeItem bold. By default the SceneTree will handle highlight events.
Param in_state: Whether to handle highlight events.
-
void
SetHighlightOptions(HPS.HighlightOptionsKit in_options) Sets the highlight options that will be used by this SceneTree. These options are used to perform highlights of elements within the tree and to determine what items within the tree need to be marked as selected when highlights are performed by a HighlightOperator or HighlightAreaOperator. Calling this function replaces any highlight options previously set on this object.
See also
See also
See also
See also
Param in_options: The highlight options that will be used by this SceneTree.
-
void
SetHighlightOptions(HPS.HighlightOptionsKit[] in_options) Sets the highlight options that will be used by this SceneTree. These options are used to perform highlights of elements within the tree and to determine what items within the tree need to be marked as selected when highlights are performed by a HighlightOperator or HighlightAreaOperator. Calling this function replaces any highlight options previously set on this object. All elements of the array should be unique. In the case of multiple identical elements, only the first unique one will be added.
See also
See also
See also
See also
Param in_options: An array of highlight options that will be used by this SceneTree.
-
void
SetRoot(HPS.SceneTreeItem in_root) Sets the root SceneTreeItem for this SceneTree. This object should be created on the heap and it should have been created with a SceneTreeItem constructor which took a Model, View, Canvas or Layout, otherwise an exception will be thrown. Additionally, if there was already an existing root for this SceneTree, the Flush function will be invoked prior to setting this as the new root, and Expand will be invoked on the new root.
See also
See also
Param in_root: The root SceneTreeItem for this SceneTree.
Public Static Functions
-
bool
operator!=(HPS.SceneTree a, HPS.SceneTree b)
-
bool
operator==(HPS.SceneTree a, HPS.SceneTree b)
-
enum