
Public Member Functions | |
void | AddHighlightOptions (HPS.HighlightOptionsKit in_options) |
virtual void | Assign (HPS.SceneTree in_that) |
override void | Dispose () |
delegate void | DtorDelegate (IntPtr cPtr) |
override bool | Equals (System.Object obj) |
bool | Equals (HPS.SceneTree in_that) |
virtual void | Flush () |
ulong | GetGroupingLimit () |
override int | GetHashCode () |
bool | GetHighlightEventHandling () |
HPS.HighlightOptionsKit [] | GetHighlightOptions () |
HPS.SceneTreeItem | GetRoot () |
override HPS.Type | ObjectType () |
void | ReExpand () |
delegate void | RemoveCacheItemDelegate (IntPtr cPtr) |
SceneTree () | |
SceneTree (HPS.Canvas in_canvas) | |
SceneTree (HPS.SceneTree in_that) | |
void | SetGroupingLimit (ulong in_limit) |
void | SetHighlightEventHandling (bool in_state) |
void | SetHighlightOptions (HPS.HighlightOptionsKit in_options) |
void | SetHighlightOptions (HPS.HighlightOptionsKit[] in_options) |
void | SetRoot (HPS.SceneTreeItem in_root) |
![]() | |
override void | Dispose () |
Sprocket (HPS.Sprocket in_that) | |
![]() | |
virtual bool | Empty () |
IntPtr | GetClassID () |
IntPtr | GetInstanceID () |
bool | HasType (HPS.Type in_mask) |
Object (HPS.Object that) | |
virtual void | Reset () |
virtual HPS.Type | Type () |
Static Public Member Functions | |
static bool | operator!= (HPS.SceneTree a, HPS.SceneTree b) |
static bool | operator== (HPS.SceneTree a, HPS.SceneTree b) |
![]() | |
static IntPtr | ClassID< T > () |
Protected Member Functions | |
override void | deleteCptr () |
virtual bool | DerivedClassHasMethod (string methodName, System.Type[] methodTypes) |
override IntPtr | GetNonDirectorClassID () |
virtual bool | IsUserDerived () |
![]() | |
override void | deleteCptr () |
Protected Attributes | |
HandleRef | sptr |
![]() | |
bool | cMemOwn |
HandleRef | cptr |
Static Protected Attributes | |
static Dictionary< IntPtr, SceneTree > | cachedObjects = new Dictionary<IntPtr, SceneTree>() |
static Dictionary< IntPtr, WeakReference > | cachedWeakRefs = new Dictionary<IntPtr, WeakReference>() |
static ReaderWriterLockSlim | mapLock = new ReaderWriterLockSlim(LockRecursionPolicy.SupportsRecursion) |
Detailed Description
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.
Member Enumeration Documentation
◆ ItemType
|
strong |
Enumerates the types of items that can be contained in a SceneTree.
Enumerator | |
---|---|
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. This is the condition associated with a conditional include, reference or style. |
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. |
Shell | Item is a ShellKey. |
Mesh | Item is a MeshKey. |
Grid | Item is a GridKey. |
NURBSSurface | Item is a NURBSSurfaceKey. |
Cylinder | Item is a CylinderKey. |
Sphere | Item is a SphereKey. |
Polygon | Item is a PolygonKey. |
Circle | Item is a CircleKey. |
CircularWedge | Item is a CircularWedgeKey. |
Ellipse | Item is an EllipseKey. |
Line | Item is a LineKey. |
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. |
Marker | Item is a MarkerKey. |
Text | Item is a TextKey. |
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. |
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. |
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. |
StyleGroup | Item is a collection of StyleKey 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. |
ShapeDefinitionGroup | Item is a collection of ShapeDefinition objects. |
GeometryGroupMask | Mask for groups that contain geometry. |
CuttingSectionGroup | Item is a collection of CuttingSectionKey objects. |
ShellGroup | Item is a collection of ShellKey objects. |
MeshGroup | Item is a collection of MeshKey objects. |
GridGroup | Item is a collection of GridKey objects. |
NURBSSurfaceGroup | Item is a collection of NURBSSurfaceKey objects. |
CylinderGroup | Item is a collection of CylinderKey objects. |
SphereGroup | Item is a collection of SphereKey objects. |
PolygonGroup | Item is a collection of PolygonKey objects. |
CircleGroup | Item is a collection of CircleKey objects. |
CircularWedgeGroup | Item is a collection of CircularWedgeKey objects. |
EllipseGroup | Item is a collection of EllipseKey objects. |
LineGroup | Item is a collection of LineKey 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. |
MarkerGroup | Item is a collection of MarkerKey objects. |
TextGroup | Item is a collection of TextKey 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. |
Constructor & Destructor Documentation
◆ SceneTree() [1/3]
|
inline |
◆ SceneTree() [2/3]
|
inline |
◆ SceneTree() [3/3]
|
inline |
Member Function Documentation
◆ AddHighlightOptions()
|
inline |
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.
- Parameters
-
in_options highlight options that will be used by this SceneTree.
◆ Assign()
|
inlinevirtual |
◆ Equals()
|
inline |
◆ Flush()
|
inlinevirtual |
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.
◆ GetGroupingLimit()
|
inline |
◆ GetHighlightEventHandling()
|
inline |
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.
- Returns
- Whether this SceneTreeItem is currently handling highlight events.
◆ GetHighlightOptions()
|
inline |
◆ GetRoot()
|
inline |
Gets the root SceneTreeItem for this SceneTree.
- Returns
- The root SceneTreeItem for this SceneTree.
◆ ObjectType()
|
inlinevirtual |
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).
- Returns
- The declared type of the object in question, which may differ from the true, underlying type.
Reimplemented from HPS.Object.
◆ ReExpand()
|
inline |
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.
◆ SetGroupingLimit()
|
inline |
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.
- Parameters
-
in_limit The grouping limit for this SceneTree.
◆ SetHighlightEventHandling()
|
inline |
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.
- Parameters
-
in_state Whether to handle highlight events.
◆ SetHighlightOptions() [1/2]
|
inline |
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.
- Parameters
-
in_options The highlight options that will be used by this SceneTree.
◆ SetHighlightOptions() [2/2]
|
inline |
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.
- Parameters
-
in_options An array of highlight options that will be used by this SceneTree.
◆ SetRoot()
|
inline |
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.
- Parameters
-
in_root The root SceneTreeItem for this SceneTree.
- See also
- Flush
- SceneTreeItem.Expand
The documentation for this class was generated from the following file:
- internals/hps_sprk/source/cs/HPS.SceneTree.cs