#include <sprk.h>

Inheritance diagram for HPS::SceneTree:
HPS::Sprocket HPS::Object

Public Types

enum  ItemType : uint32_t {
  ItemType::None = 0x00000000, ItemType::GenericMask = 0xffff0000, ItemType::Segment = 0x00000001, ItemType::Include = 0x00000002,
  ItemType::ConditionalExpression = 0x00000003, ItemType::StaticModelSegment = 0x00000004, ItemType::AttributeFilter = 0x00000005, ItemType::Geometry = 0x00010000,
  ItemType::CuttingSection = 0x00010001, ItemType::Shell = 0x00010002, ItemType::Mesh = 0x00010003, ItemType::Grid = 0x00010004,
  ItemType::NURBSSurface = 0x00010005, ItemType::Cylinder = 0x00010006, ItemType::Sphere = 0x00010007, ItemType::Polygon = 0x00010008,
  ItemType::Circle = 0x00010009, ItemType::CircularWedge = 0x0001000a, ItemType::Ellipse = 0x0001000b, ItemType::Line = 0x0001000c,
  ItemType::NURBSCurve = 0x0001000d, ItemType::CircularArc = 0x0001000e, ItemType::EllipticalArc = 0x0001000f, ItemType::InfiniteLine = 0x00010010,
  ItemType::InfiniteRay = 0x00010011, ItemType::Marker = 0x00010012, ItemType::Text = 0x00010013, ItemType::Reference = 0x00010014,
  ItemType::DistantLight = 0x00010015, ItemType::Spotlight = 0x00010016, ItemType::Attribute = 0x00020000, ItemType::Portfolio = 0x00020001,
  ItemType::SegmentStyle = 0x00020002, ItemType::NamedStyle = 0x00020003, ItemType::MaterialPalette = 0x00020004, ItemType::Priority = 0x00020005,
  ItemType::Material = 0x00020006, ItemType::Camera = 0x00020007, ItemType::ModellingMatrix = 0x00020008, ItemType::UserData = 0x00020009,
  ItemType::TextureMatrix = 0x0002000a, ItemType::Culling = 0x0002000b, ItemType::CurveAttribute = 0x0002000c, ItemType::CylinderAttribute = 0x0002000d,
  ItemType::EdgeAttribute = 0x0002000e, ItemType::LightingAttribute = 0x0002000f, ItemType::LineAttribute = 0x00020010, ItemType::MarkerAttribute = 0x00020011,
  ItemType::SurfaceAttribute = 0x00020012, ItemType::Selectability = 0x00020013, ItemType::SphereAttribute = 0x00020014, ItemType::Subwindow = 0x00020015,
  ItemType::TextAttribute = 0x00020016, ItemType::Transparency = 0x00020017, ItemType::Visibility = 0x00020018, ItemType::VisualEffects = 0x00020019,
  ItemType::Performance = 0x00020020, ItemType::DrawingAttribute = 0x00020021, ItemType::HiddenLineAttribute = 0x00020022, ItemType::ContourLine = 0x00020023,
  ItemType::Condition = 0x00020024, ItemType::Bounding = 0x00020025, ItemType::AttributeLock = 0x00020026, ItemType::TransformMask = 0x00020027,
  ItemType::ColorInterpolation = 0x00020028, ItemType::CuttingSectionAttribute = 0x00020029, ItemType::Debugging = 0x00020030, ItemType::PostProcessEffects = 0x00020031,
  ItemType::SelectionOptions = 0x00020032, ItemType::UpdateOptions = 0x00020033, ItemType::Definition = 0x00040000, ItemType::NamedStyleDefinition = 0x00040001,
  ItemType::TextureDefinition = 0x00040002, ItemType::LinePatternDefinition = 0x00040003, ItemType::GlyphDefinition = 0x00040004, ItemType::CubeMapDefinition = 0x00040005,
  ItemType::ImageDefinition = 0x00040006, ItemType::MaterialPaletteDefinition = 0x00040007, ItemType::ShaderDefinition = 0x00040008, ItemType::ShapeDefinition = 0x00040009,
  ItemType::Group = 0x00080000, ItemType::SegmentGroup = 0x00080100, ItemType::GeometryGroup = 0x00080200, ItemType::AttributeGroup = 0x00080300,
  ItemType::PortfolioGroup = 0x00080400, ItemType::StyleGroup = 0x00080500, ItemType::IncludeGroup = 0x00080600, ItemType::DefinitionGroup = 0x00180000,
  ItemType::NamedStyleDefinitionGroup = 0x00180700, ItemType::TextureDefinitionGroup = 0x00180800, ItemType::LinePatternDefinitionGroup = 0x00180900, ItemType::GlyphDefinitionGroup = 0x00180a00,
  ItemType::CubeMapDefinitionGroup = 0x00180b00, ItemType::ImageDefinitionGroup = 0x00180c00, ItemType::MaterialPaletteDefinitionGroup = 0x00180d00, ItemType::ShaderDefinitionGroup = 0x00180e00,
  ItemType::ShapeDefinitionGroup = 0x00180f00, ItemType::GeometryGroupMask = 0x00280000, ItemType::CuttingSectionGroup = 0x00280001, ItemType::ShellGroup = 0x00280002,
  ItemType::MeshGroup = 0x00280003, ItemType::GridGroup = 0x00280004, ItemType::NURBSSurfaceGroup = 0x00280005, ItemType::CylinderGroup = 0x00280006,
  ItemType::SphereGroup = 0x00280007, ItemType::PolygonGroup = 0x00280008, ItemType::CircleGroup = 0x00280009, ItemType::CircularWedgeGroup = 0x0028000a,
  ItemType::EllipseGroup = 0x0028000b, ItemType::LineGroup = 0x0028000c, ItemType::NURBSCurveGroup = 0x0028000d, ItemType::CircularArcGroup = 0x0028000e,
  ItemType::EllipticalArcGroup = 0x0028000f, ItemType::InfiniteLineGroup = 0x00280010, ItemType::InfiniteRayGroup = 0x00280011, ItemType::MarkerGroup = 0x00280012,
  ItemType::TextGroup = 0x00280013, ItemType::ReferenceGroup = 0x00280014, ItemType::DistantLightGroup = 0x00280015, ItemType::SpotlightGroup = 0x00280016
}





 

Public Member Functions

void AddHighlightOptions (HighlightOptionsKit const &in_options)
 
virtual void Assign (SceneTree const &in_that)
 
bool Equals (SceneTree const &in_that) const
 
virtual void Flush ()
 
size_t GetGroupingLimit () const
 
bool GetHighlightEventHandling () const
 
HighlightOptionsKitArray GetHighlightOptions () const
 
SceneTreeItemPtr GetRoot () const
 
virtual HPS::Type ObjectType () const
 
bool operator!= (SceneTree const &in_that) const
 
SceneTreeoperator= (SceneTree const &in_that)
 
SceneTreeoperator= (SceneTree &&in_that)
 
bool operator== (SceneTree const &in_that) const
 
void ReExpand ()
 
 SceneTree ()
 
 SceneTree (Canvas const &in_canvas)
 
 SceneTree (SceneTree const &in_that)
 
 SceneTree (SceneTree &&in_that)
 
void SetGroupingLimit (size_t in_limit)
 
void SetHighlightEventHandling (bool in_state)
 
void SetHighlightOptions (HighlightOptionsKit const &in_options)
 
void SetHighlightOptions (HighlightOptionsKitArray const &in_options)
 
void SetHighlightOptions (size_t in_count, HighlightOptionsKit const in_options [])
 
void SetRoot (SceneTreeItemPtr const &in_root)
 
- Public Member Functions inherited from HPS::Sprocket
 Sprocket (Sprocket &&in_that)
 
- Public Member Functions inherited from HPS::Object
virtual bool Empty () const
 
intptr_t GetClassID () const
 
intptr_t GetInstanceID () const
 
bool HasType (HPS::Type in_mask) const
 
 Object (Object const &that)
 
 Object (Object &&in_that)
 
Objectoperator= (Object const &other_object)
 
Objectoperator= (Object &&in_that)
 
virtual void Reset ()
 
virtual HPS::Type Type () const
 

Static Public Attributes

static const HPS::Type staticType = HPS::Type::SceneTree
 
- Static Public Attributes inherited from HPS::Object
static const HPS::Type staticType = HPS::Type::None
 

Additional Inherited Members

- Static Public Member Functions inherited from HPS::Object
template<typename T >
static intptr_t ClassID ()
 

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

enum HPS::SceneTree::ItemType : uint32_t
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.

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

◆ SceneTree() [1/4]

HPS::SceneTree::SceneTree ( )

The default constructor creates an uninitialized SceneTree object. The Type() function will return Type::None.

◆ SceneTree() [2/4]

HPS::SceneTree::SceneTree ( Canvas const &  in_canvas)

This constructor creates a SceneTree object associated with a Canvas. This constructor should be used to create a new SceneTree object.

Parameters
in_canvasThe Canvas to associate this SceneTree with.

◆ SceneTree() [3/4]

HPS::SceneTree::SceneTree ( SceneTree const &  in_that)

The copy constructor creates a SceneTree object that shares the underlying smart-pointer of the source SceneTree.

Parameters
in_thatThe source SceneTree to copy.

◆ SceneTree() [4/4]

HPS::SceneTree::SceneTree ( SceneTree &&  in_that)

The move constructor creates a SceneTree by transferring the underlying object of the rvalue reference to this SceneTree.

Parameters
in_thatAn rvalue reference to a SceneTree to take the underlying object from.

Member Function Documentation

◆ AddHighlightOptions()

void HPS::SceneTree::AddHighlightOptions ( HighlightOptionsKit const &  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.

Parameters
in_optionshighlight options that will be used by this SceneTree.
See also
SceneTreeItem::Highlight
SceneTreeItem::Unhighlight
HighlightOperator
HighlightAreaOperator

◆ Assign()

virtual void HPS::SceneTree::Assign ( SceneTree const &  in_that)
virtual

Share the underlying smart-pointer of the SceneTree source.

Parameters
in_thatThe SceneTree source of the assignment.
Returns
A reference to this SceneTree.

◆ Equals()

bool HPS::SceneTree::Equals ( SceneTree const &  in_that) const

Check if the source SceneTree points to the same underlying impl as this SceneTree.

Parameters
in_thatThe source SceneTree to compare to this SceneTree.
Returns
true if the objects reference the same impl, false otherwise.

◆ Flush()

virtual void HPS::SceneTree::Flush ( )
virtual

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()

size_t HPS::SceneTree::GetGroupingLimit ( ) const

Gets the grouping limit for this SceneTree.

Returns
The grouping limit for this SceneTree.

◆ GetHighlightEventHandling()

bool HPS::SceneTree::GetHighlightEventHandling ( ) const

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()

HighlightOptionsKitArray HPS::SceneTree::GetHighlightOptions ( ) const

Gets the highlight options that will be used by this SceneTree.

Returns
The highlight options that will be used by this SceneTree.

◆ GetRoot()

SceneTreeItemPtr HPS::SceneTree::GetRoot ( ) const

Gets the root SceneTreeItem for this SceneTree.

Returns
The root SceneTreeItem for this SceneTree.

◆ ObjectType()

virtual HPS::Type HPS::SceneTree::ObjectType ( ) const
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.

◆ operator!=()

bool HPS::SceneTree::operator!= ( SceneTree const &  in_that) const

Check if the source SceneTree points to a different impl than this SceneTree.

Parameters
in_thatThe source SceneTree to compare to this SceneTree.
Returns
true if the objects reference different impls, false otherwise.

◆ operator=() [1/2]

SceneTree& HPS::SceneTree::operator= ( SceneTree const &  in_that)

Share the underlying smart-pointer of the SceneTree source.

Parameters
in_thatThe SceneTree source of the assignment.
Returns
A reference to this SceneTree.

◆ operator=() [2/2]

SceneTree& HPS::SceneTree::operator= ( SceneTree &&  in_that)

The move assignment operator transfers the underlying object of the rvalue reference to this SceneTree.

Parameters
in_thatAn rvalue reference to a SceneTree to take the underlying object from.
Returns
A reference to this SceneTree.

◆ operator==()

bool HPS::SceneTree::operator== ( SceneTree const &  in_that) const

Check if the source SceneTree points to the same underlying impl as this SceneTree.

Parameters
in_thatThe source SceneTree to compare to this SceneTree.
Returns
true if the objects reference the same impl, false otherwise.

◆ ReExpand()

void HPS::SceneTree::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.

◆ SetGroupingLimit()

void HPS::SceneTree::SetGroupingLimit ( size_t  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.

Parameters
in_limitThe grouping limit for this SceneTree.

◆ SetHighlightEventHandling()

void HPS::SceneTree::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.

Parameters
in_stateWhether to handle highlight events.

◆ SetHighlightOptions() [1/3]

void HPS::SceneTree::SetHighlightOptions ( HighlightOptionsKit const &  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.

Parameters
in_optionsThe highlight options that will be used by this SceneTree.
See also
SceneTreeItem::Highlight
SceneTreeItem::Unhighlight
HighlightOperator
HighlightAreaOperator

◆ SetHighlightOptions() [2/3]

void HPS::SceneTree::SetHighlightOptions ( HighlightOptionsKitArray const &  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.

Parameters
in_optionsAn array of highlight options that will be used by this SceneTree.
See also
SceneTreeItem::Highlight
SceneTreeItem::Unhighlight
HighlightOperator
HighlightAreaOperator

◆ SetHighlightOptions() [3/3]

void HPS::SceneTree::SetHighlightOptions ( size_t  in_count,
HighlightOptionsKit const  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.

Parameters
in_countthe number of highlight options kits in the in_options array
in_optionsAn array of highlight options that will be used by this SceneTree.
See also
SceneTreeItem::Highlight
SceneTreeItem::Unhighlight
HighlightOperator
HighlightAreaOperator

◆ SetRoot()

void HPS::SceneTree::SetRoot ( SceneTreeItemPtr const &  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.

Parameters
in_rootThe root SceneTreeItem for this SceneTree.
See also
Flush
SceneTreeItem::Expand

The documentation for this class was generated from the following file: