
Public Member 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. More... | |
virtual void | Assign (HPS.SceneTree in_that) |
Share the underlying smart-pointer of the SceneTree source. More... | |
override void | Dispose () |
delegate void | DtorDelegate (IntPtr cPtr) |
override bool | Equals (System.Object obj) |
bool | Equals (HPS.SceneTree in_that) |
Check if the source SceneTree points to the same underlying impl as this SceneTree. More... | |
virtual 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. More... | |
ulong | GetGroupingLimit () |
Gets the grouping limit for this SceneTree. More... | |
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. More... | |
HPS.HighlightOptionsKit[] | GetHighlightOptions () |
Gets the highlight options that will be used by this SceneTree. More... | |
HPS.SceneTreeItem | GetRoot () |
Gets the root SceneTreeItem for this SceneTree. More... | |
override HPS.Type | ObjectType () |
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. More... | |
delegate void | RemoveCacheItemDelegate (IntPtr cPtr) |
SceneTree () | |
The default constructor creates an uninitialized SceneTree object. The Type() function will return Type.None. More... | |
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. More... | |
SceneTree (HPS.SceneTree in_that) | |
The copy constructor creates a SceneTree object that shares the underlying smart-pointer of the source SceneTree. More... | |
delegate HPS.Type | SceneTreeDelegate_0 (IntPtr cPtr) |
delegate void | SceneTreeDelegate_1 (IntPtr cPtr, IntPtr in_that) |
delegate void | SceneTreeDelegate_2 (IntPtr cPtr) |
delegate HPS.Type | SceneTreeDelegate_3 (IntPtr cPtr) |
delegate bool | SceneTreeDelegate_4 (IntPtr cPtr) |
delegate void | SceneTreeDelegate_5 (IntPtr cPtr) |
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. More... | |
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. More... | |
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. More... | |
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. More... | |
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. More... | |
![]() | |
override void | Dispose () |
Sprocket (HPS.Sprocket in_that) | |
![]() | |
virtual bool | Empty () |
Indicates whether this object has any values set on it. More... | |
IntPtr | GetClassID () |
IntPtr | GetInstanceID () |
Returns an identifier that can be used to identify which instance of a class an object is. Different keys and controls will return the same value if they are backed by the same database resource. More... | |
bool | HasType (HPS.Type in_mask) |
This function indicates whether this Object has the given Type mask. More... | |
Object (HPS.Object that) | |
virtual void | Reset () |
Resets this object to its initial, uninitialized state. More... | |
virtual HPS.Type | Type () |
This function returns the true type of the underlying object. This function is useful for finding the type of smart pointer objects that have been cast to more generic types. More... | |
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
enum HPS.SceneTree.ItemType : uint |
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. |
ShaderDefinition |
Item is a ShaderDefinition 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. |
ShaderDefinitionGroup |
Item is a collection of ShaderDefinition 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
|
inline |
|
inline |
|
inline |
Member Function Documentation
|
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.
|
inlinevirtual |
|
inline |
|
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.
|
inline |
|
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.
|
inline |
|
inline |
Gets the root SceneTreeItem for this SceneTree.
- Returns
- The root SceneTreeItem for this SceneTree.
|
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.
|
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.
|
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.
|
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.
|
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.
|
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.
Flush
The documentation for this class was generated from the following file:
- internals/hps_sprk/source/cs/HPS.SceneTree.cs