Hoops Visualize HPS  version 2018-SP2
Hoops Visualize HPS 3D Rendering Engine
Looking for a senior C++ dev?
I'm looking for work. Hire me!
HPS::SceneTreeItem Class Referenceabstract

The SceneTreeItem class is a smart pointer which corresponds to an item or node in a tree object in a GUI toolkit, e.g., a TreeViewItem in WPF or an HTREEITEM in MFC. More...

#include <sprk.h>

Inheritance diagram for HPS::SceneTreeItem:
Collaboration diagram for HPS::SceneTreeItem:

Public Member Functions

 SceneTreeItem ()
 The default constructor creates an uninitialized SceneTreeItem object. More...
 
 SceneTreeItem (SceneTreeItem const &in_that)
 The copy constructor creates a SceneTreeItem object that shares the underlying smart-pointer of the source SceneTreeItem. More...
 
 SceneTreeItem (SceneTreeItem &&in_that)
 The move constructor creates a SceneTreeItem by transferring the underlying object of the rvalue reference to this SceneTreeItem. More...
 
 SceneTreeItem (SceneTreePtr const &in_tree, Model const &in_model)
 This constructor creates a SceneTreeItem suitable for acting as a root in a SceneTree. More...
 
 SceneTreeItem (SceneTreePtr const &in_tree, View const &in_view)
 This constructor creates a SceneTreeItem suitable for acting as a root in a SceneTree. More...
 
 SceneTreeItem (SceneTreePtr const &in_tree, Layout const &in_layout)
 This constructor creates a SceneTreeItem suitable for acting as a root in a SceneTree. More...
 
 SceneTreeItem (SceneTreePtr const &in_tree, Canvas const &in_canvas)
 This constructor creates a SceneTreeItem suitable for acting as a root in a SceneTree. More...
 
 SceneTreeItem (SceneTreePtr const &in_tree, Key const &in_key, SceneTree::ItemType in_type, char const *in_title=nullptr)
 This constructor creates a SceneTreeItem which is not suitable for acting as a root in a SceneTree, but is suitable to be a SceneTreeItem under the root of the SceneTree. More...
 
virtual ~SceneTreeItem ()
 
HPS::Type ObjectType () const
 
SceneTreeItemoperator= (SceneTreeItem const &in_that)
 Share the underlying smart-pointer of the SceneTreeItem source. More...
 
SceneTreeItemoperator= (SceneTreeItem &&in_that)
 The move assignment operator transfers the underlying object of the rvalue reference to this SceneTreeItem. More...
 
virtual void Assign (SceneTreeItem const &in_that)
 Share the underlying smart-pointer of the SceneTreeItem source. More...
 
bool Equals (SceneTreeItem const &in_that) const
 Check if the source SceneTreeItem points to the same underlying impl as this SceneTreeItem. More...
 
bool operator!= (SceneTreeItem const &in_that) const
 Check if the source SceneTreeItem points to a different impl than this SceneTreeItem. More...
 
bool operator== (SceneTreeItem const &in_that) const
 Check if the source SceneTreeItem points to the same underlying impl as this SceneTreeItem. More...
 
SceneTreePtr GetTree () const
 Gets the SceneTree associated with this SceneTreeItem. More...
 
UTF8 GetTitle () const
 Gets the title for this SceneTreeItem. More...
 
SceneTree::ItemType GetItemType () const
 Gets the item type for this SceneTreeItem. More...
 
bool HasItemType (SceneTree::ItemType in_mask) const
 Indicates whether this SceneTreeItem has the given ItemType mask. More...
 
Key GetKey () const
 Gets the key for this SceneTreeItem. More...
 
KeyPath GetKeyPath () const
 Gets the key path for this SceneTreeItem. More...
 
bool HasChildren () const
 Indicates whether this SceneTreeItem has any children. More...
 
virtual SceneTreeItemPtr AddChild (Key const &in_key, SceneTree::ItemType in_type, char const *in_title=nullptr)=0
 This function is used to create a new SceneTreeItem to be the child of this SceneTreeItem. More...
 
virtual void Expand ()
 This function should be invoked when this SceneTreeItem needs to expand. More...
 
virtual void Collapse ()
 This function should be invoked when this SceneTreeItem needs to collapse. More...
 
bool IsSelected () const
 Indicates whether this SceneTreeItem is currently marked as selected. More...
 
virtual void Select ()
 This function will be invoked when this SceneTreeItem should be marked as selected. More...
 
virtual void Unselect ()
 This function will be invoked when this SceneTreeItem should be marked as unselected. More...
 
bool IsHighlightable () const
 Indicates whether this SceneTreeItem is able to be highlighted. More...
 
bool IsHighlighted () const
 Indicates whether this SceneTreeItem is currently highlighted with the options specified in the associated SceneTree. More...
 
void Highlight (size_t in_highlight_options_index=0)
 This function will cause this SceneTreeItem to be highlighted with the options specified in the associated SceneTree. More...
 
void Highlight (HighlightOptionsKit const &in_highlight_options)
 This function will cause this SceneTreeItem to be highlighted with the options specified in the associated SceneTree. More...
 
void Unhighlight (size_t in_highlight_options_index=0)
 This function will remove the highlight with the options specified in the associated SceneTree from this SceneTreeItem. More...
 
void Unhighlight (HighlightOptionsKit const &in_highlight_options)
 This function will remove the highlight with the options specified in the associated SceneTree from this SceneTreeItem. More...
 
bool IsExpanded () const
 Indicates whether this SceneTreeItem is currently expanded. More...
 
void ReExpand ()
 Collapses this SceneTreeItem and then re-expands the tree. More...
 
virtual HPS::Type Type () const
 This function returns the true type of the underlying object. More...
 
virtual bool Empty () const
 Indicates whether this object has any values set on it. More...
 
virtual void Reset ()
 Resets this object to its initial, uninitialized state. More...
 
bool HasType (HPS::Type in_mask) const
 This function indicates whether this Object has the given Type mask. More...
 
intptr_t GetClassID () const
 Returns a unique identifier that is shared by all objects of the same class. More...
 
intptr_t GetInstanceID () const
 Returns an identifier that can be used to identify which instance of a class an object is. More...
 

Static Public Member Functions

template<typename T >
static intptr_t ClassID ()
 Unique identifier for this class. More...
 

Static Public Attributes

static const HPS::Type staticType = HPS::Type::SceneTreeItem
 

Detailed Description

The SceneTreeItem class is a smart pointer which corresponds to an item or node in a tree object in a GUI toolkit, e.g., a TreeViewItem in WPF or an HTREEITEM in MFC.

This class must be derived from to facilitate tree creation in the various GUI toolkits. It is used to represent items in a scene graph or segment browser.

Constructor & Destructor Documentation

◆ SceneTreeItem() [1/8]

HPS::SceneTreeItem::SceneTreeItem ( )

The default constructor creates an uninitialized SceneTreeItem object.

The Type() function will return Type::None.

◆ SceneTreeItem() [2/8]

HPS::SceneTreeItem::SceneTreeItem ( SceneTreeItem const &  in_that)

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

Parameters
in_thatThe source SceneTreeItem to copy.

◆ SceneTreeItem() [3/8]

HPS::SceneTreeItem::SceneTreeItem ( SceneTreeItem &&  in_that)

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

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

◆ SceneTreeItem() [4/8]

HPS::SceneTreeItem::SceneTreeItem ( SceneTreePtr const &  in_tree,
Model const &  in_model 
)

This constructor creates a SceneTreeItem suitable for acting as a root in a SceneTree.

This root would start at the Model. The Model provided to this constructor should be accessible from the Canvas associated with the SceneTree, otherwise an exception will be thrown.

Parameters
in_treeThe SceneTree with which to associate this new root SceneTreeItem.
in_modelThe Model for this root SceneTreeItem.
See also
SceneTree::SetRoot

◆ SceneTreeItem() [5/8]

HPS::SceneTreeItem::SceneTreeItem ( SceneTreePtr const &  in_tree,
View const &  in_view 
)

This constructor creates a SceneTreeItem suitable for acting as a root in a SceneTree.

This root would start at the View. The View provided to this constructor should be accessible from the Canvas associated with the SceneTree, otherwise an exception will be thrown.

Parameters
in_treeThe SceneTree with which to associate this new root SceneTreeItem.
in_viewThe View for this root SceneTreeItem.
See also
SceneTree::SetRoot

◆ SceneTreeItem() [6/8]

HPS::SceneTreeItem::SceneTreeItem ( SceneTreePtr const &  in_tree,
Layout const &  in_layout 
)

This constructor creates a SceneTreeItem suitable for acting as a root in a SceneTree.

This root would start at the Layout. The Layout provided to this constructor should be accessible from the Canvas associated with the SceneTree, otherwise an exception will be thrown.

Parameters
in_treeThe SceneTree with which to associate this new root SceneTreeItem.
in_layoutThe Layout for this root SceneTreeItem.
See also
SceneTree::SetRoot

◆ SceneTreeItem() [7/8]

HPS::SceneTreeItem::SceneTreeItem ( SceneTreePtr const &  in_tree,
Canvas const &  in_canvas 
)

This constructor creates a SceneTreeItem suitable for acting as a root in a SceneTree.

This root would start at the Canvas. The Canvas provided to this constructor should be the same as the Canvas associated with the SceneTree, otherwise an exception will be thrown.

Parameters
in_treeThe SceneTree with which to associate this new root SceneTreeItem.
in_canvasThe Canvas for this root SceneTreeItem.
See also
SceneTree::SetRoot

◆ SceneTreeItem() [8/8]

HPS::SceneTreeItem::SceneTreeItem ( SceneTreePtr const &  in_tree,
Key const &  in_key,
SceneTree::ItemType  in_type,
char const *  in_title = nullptr 
)

This constructor creates a SceneTreeItem which is not suitable for acting as a root in a SceneTree, but is suitable to be a SceneTreeItem under the root of the SceneTree.

This constructor should be the one invoked in the overridden AddChild function.

Parameters
in_treeThe SceneTree with which to associate this new SceneTreeItem.
in_keyThe Key for this SceneTreeItem. This value should come from the corresponding argument to AddChild.
in_typeThe type of this SceneTreeItem. This value should come from the corresponding argument to AddChild.
in_titleThe title for this SceneTreeItem. This value should come from the corresponding argument to AddChild.
See also
AddChild

◆ ~SceneTreeItem()

virtual HPS::SceneTreeItem::~SceneTreeItem ( )
virtual

Member Function Documentation

◆ AddChild()

virtual SceneTreeItemPtr HPS::SceneTreeItem::AddChild ( Key const &  in_key,
SceneTree::ItemType  in_type,
char const *  in_title = nullptr 
)
pure virtual

This function is used to create a new SceneTreeItem to be the child of this SceneTreeItem.

This function will be invoked if this SceneTreeItem has children and Expand has been invoked on it. This function should contain any necessary calls to GUI toolkits to create the appropriate GUI elements, e.g., see the implementations in the mfc_sandbox or wpf_sandbox. Additionally, since this function requires the creation of a derived SceneTreeItem, that derived SceneTreeItem should use the base constructor which takes the same arguments this function.

Parameters
in_keyThe Key for this SceneTreeItem. Should be passed to as the corresponding argument to the base constructor.
in_typeThe type for this SceneTreeItem. Should be passed to as the corresponding argument to the base constructor.
in_titleThe title for this SceneTreeItem. Should be passed to as the corresponding argument to the base constructor.
Returns
A newly created object derived from SceneTreeItem.

◆ Assign()

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

Share the underlying smart-pointer of the SceneTreeItem source.

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

◆ ClassID()

template<typename T >
static intptr_t HPS::Object::ClassID ( )
inlinestaticinherited

Unique identifier for this class.

Note: this method uses construction of static objects. If used in a constructor, it should be used in the body not the initializer list.

◆ Collapse()

virtual void HPS::SceneTreeItem::Collapse ( )
virtual

This function should be invoked when this SceneTreeItem needs to collapse.

If this function is overridden, the overriding function should invoke this base function. Additionally, this function will always release all children for this SceneTreeItem when invoked.

◆ Empty()

virtual bool HPS::Object::Empty ( ) const
inlinevirtualinherited

Indicates whether this object has any values set on it.

Returns
true if no values are set on this object, false otherwise.

Reimplemented in HPS::STL::ImportResultsKit, HPS::STL::ImportOptionsKit, HPS::OBJ::ImportResultsKit, HPS::OBJ::ImportOptionsKit, HPS::Hardcopy::File::ExportOptionsKit, HPS::Stream::ExportOptionsKit, HPS::Stream::ImportResultsKit, HPS::Stream::ImportOptionsKit, HPS::PointCloud::ImportOptionsKit, HPS::PointCloud::ImportResultsKit, HPS::UpdateOptionsKit, HPS::HighlightSearchOptionsKit, HPS::HighlightOptionsKit, HPS::SelectionOptionsKit, HPS::SearchOptionsKit, HPS::CutGeometryGatheringOptionsKit, HPS::ShapeKit, HPS::ShaderKit, HPS::Shader::ImportOptionsKit, HPS::ImageKit, HPS::Image::ImportOptionsKit, HPS::Image::ExportOptionsKit, HPS::TextureOptionsKit, HPS::LinePatternKit, HPS::LinePatternParallelKit, HPS::LinePatternOptionsKit, HPS::GlyphKit, HPS::ApplicationWindowOptionsKit, HPS::OffScreenWindowOptionsKit, HPS::StandAloneWindowOptionsKit, HPS::GridKit, HPS::PolygonKit, HPS::MeshKit, HPS::ShellKit, HPS::ShellRelationResultsKit, HPS::ShellRelationOptionsKit, HPS::ShellOptimizationOptionsKit, HPS::TextKit, HPS::EllipticalArcKit, HPS::EllipseKit, HPS::TrimKit, HPS::NURBSSurfaceKit, HPS::NURBSCurveKit, HPS::SpotlightKit, HPS::InfiniteLineKit, HPS::CuttingSectionKit, HPS::CircularWedgeKit, HPS::CircularArcKit, HPS::CircleKit, HPS::SphereKit, HPS::CylinderKit, HPS::DistantLightKit, HPS::MarkerKit, HPS::LineKit, HPS::AttributeLockKit, HPS::FontInfoState, HPS::WindowInfoKit, HPS::DebuggingKit, HPS::SubwindowKit, HPS::ContourLineKit, HPS::VisualEffectsKit, HPS::TransformMaskKit, HPS::PostProcessEffectsKit, HPS::DrawingAttributeKit, HPS::HiddenLineAttributeKit, HPS::PerformanceKit, HPS::NURBSSurfaceAttributeKit, HPS::MaterialKit, HPS::MaterialMappingKit, HPS::MatrixKit, HPS::CurveAttributeKit, HPS::EdgeAttributeKit, HPS::LineAttributeKit, HPS::TextAttributeKit, HPS::CuttingSectionAttributeKit, HPS::CylinderAttributeKit, HPS::LightingAttributeKit, HPS::SphereAttributeKit, HPS::MarkerAttributeKit, HPS::CullingKit, HPS::ColorInterpolationKit, HPS::TransparencyKit, HPS::SelectabilityKit, HPS::CameraKit, HPS::VisibilityKit, HPS::BoundingKit, HPS::SegmentOptimizationOptionsKit, HPS::Publish::ExportOptionsKit, HPS::Publish::TextFieldKit, HPS::Publish::SignatureFieldKit, HPS::Publish::DropDownListKit, HPS::Exchange::TessellationOptionsKit, HPS::Publish::ListBoxKit, HPS::Exchange::ExportSTEPOptionsKit, HPS::Exchange::ExportParasolidOptionsKit, HPS::Publish::RadioButtonKit, HPS::Exchange::ExportIGESOptionsKit, HPS::Exchange::ExportXMLOptionsKit, HPS::Publish::CheckBoxKit, HPS::Exchange::ExportU3DOptionsKit, HPS::Exchange::ExportSTLOptionsKit, HPS::Publish::ButtonKit, HPS::Exchange::ExportPRCOptionsKit, HPS::Publish::LinkKit, HPS::Exchange::ExportJTOptionsKit, HPS::Publish::SlideTableKit, HPS::Exchange::ExportACISOptionsKit, HPS::Publish::TableKit, HPS::Exchange::Export3MFOptionsKit, HPS::Publish::ImageKit, HPS::Publish::TextKit, HPS::Exchange::ModelFileImportOptionsKit, HPS::Publish::ViewKit, HPS::Exchange::TranslationOptionsKit, HPS::Publish::ArtworkKit, HPS::Publish::AnnotationKit, HPS::ComponentPath, HPS::Exchange::ImportOptionsKit, HPS::Parasolid::ExportOptionsKit, HPS::Exchange::NURBSConversionOptionsKit, HPS::Parasolid::LineTessellationKit, HPS::Exchange::Configuration, HPS::Publish::PageKit, HPS::Parasolid::FacetTessellationKit, HPS::Publish::DocumentKit, HPS::Parasolid::ImportOptionsKit, HPS::DWG::ImportOptionsKit, HPS::OOC::ImportOptionsKit, HPS::Sketchup::ImportOptionsKit, and HPS::Sketchup::ImportResultsKit.

◆ Equals()

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

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

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

◆ Expand()

virtual void HPS::SceneTreeItem::Expand ( )
virtual

This function should be invoked when this SceneTreeItem needs to expand.

If this function is overridden, the overriding function should invoke this base function. Additionally, this function will always repopulate the children for this SceneTreeItem when invoked.

◆ GetClassID()

intptr_t HPS::Object::GetClassID ( ) const
inherited

Returns a unique identifier that is shared by all objects of the same class.

Returns
A unique value shared by all objects of the same class.

◆ GetInstanceID()

intptr_t HPS::Object::GetInstanceID ( ) const
inherited

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.

Returns
A value unique to an instance of an object and all objects that are backed by the same database resource.

◆ GetItemType()

SceneTree::ItemType HPS::SceneTreeItem::GetItemType ( ) const

Gets the item type for this SceneTreeItem.

This is used to determine what type of data this SceneTreeItem represents in the SceneTree.

Returns
The item type for this SceneTreeItem.

◆ GetKey()

Key HPS::SceneTreeItem::GetKey ( ) const

Gets the key for this SceneTreeItem.

The type of the key depends on the SceneTree::ItemType for this SceneTreeItem.

Returns
The key for this SceneTreeItem.

◆ GetKeyPath()

KeyPath HPS::SceneTreeItem::GetKeyPath ( ) const

Gets the key path for this SceneTreeItem.

Returns
The key path for this SceneTreeItem.

◆ GetTitle()

UTF8 HPS::SceneTreeItem::GetTitle ( ) const

Gets the title for this SceneTreeItem.

This is the text that should be displayed for this SceneTreeItem in the SceneTree.

Returns
The title for this SceneTreeItem.

◆ GetTree()

SceneTreePtr HPS::SceneTreeItem::GetTree ( ) const

Gets the SceneTree associated with this SceneTreeItem.

This provides a means of accessing the derived SceneTree by this SceneTreeItem if necessary.

Returns
The SceneTree associated with this SceneTreeItem.

◆ HasChildren()

bool HPS::SceneTreeItem::HasChildren ( ) const

Indicates whether this SceneTreeItem has any children.

Returns
Whether this SceneTreeItem has any children.

◆ HasItemType()

bool HPS::SceneTreeItem::HasItemType ( SceneTree::ItemType  in_mask) const

Indicates whether this SceneTreeItem has the given ItemType mask.

Parameters
in_maskThe ItemType mask to check against this SceneTreeItem.
Returns
true if this SceneTreeItem has the given ItemType mask, false otherwise.

◆ HasType()

bool HPS::Object::HasType ( HPS::Type  in_mask) const
inherited

This function indicates whether this Object has the given Type mask.

Parameters
in_maskThe Type mask to check against this Object.
Returns
true if this Object has the given Type mask, false otherwise.

◆ Highlight() [1/2]

void HPS::SceneTreeItem::Highlight ( size_t  in_highlight_options_index = 0)

This function will cause this SceneTreeItem to be highlighted with the options specified in the associated SceneTree.

This will cause elements along the path to this item (and this item itself) to be marked as selected if they aren't already. Depending on the type of the SceneTreeItem, sometimes a highlight is nonsensical. In this case, no highlight will be performed.

Parameters
in_higlight_options_indexThe index in the highlight options array held by the associated SceneTree. Defaults to 0.
See also
Select

◆ Highlight() [2/2]

void HPS::SceneTreeItem::Highlight ( HighlightOptionsKit const &  in_highlight_options)

This function will cause this SceneTreeItem to be highlighted with the options specified in the associated SceneTree.

This will cause elements along the path to this item (and this item itself) to be marked as selected if they aren't already. Depending on the type of the SceneTreeItem, sometimes a highlight is nonsensical. In this case, no highlight will be performed. If the options requested is not part of the associated SceneTree highlight options, it will be added to them.

Parameters
in_highlight_optionsThe highlight options used during highlighting
See also
Select

◆ IsExpanded()

bool HPS::SceneTreeItem::IsExpanded ( ) const

Indicates whether this SceneTreeItem is currently expanded.

Returns
Whether this SceneTreeItem is currently expanded.

◆ IsHighlightable()

bool HPS::SceneTreeItem::IsHighlightable ( ) const

Indicates whether this SceneTreeItem is able to be highlighted.

Some items, like those in static trees, cannot be highlighted.

Returns
Whether this SceneTreeItem is highlightable.
See also
Highlight
IsHighlighted

◆ IsHighlighted()

bool HPS::SceneTreeItem::IsHighlighted ( ) const

Indicates whether this SceneTreeItem is currently highlighted with the options specified in the associated SceneTree.

This may mean that the Highlight function on this SceneTreeItem was invoked, or that the key backing this SceneTreeItem was highlighted by the HighlightOperator or HighlightAreaOperator.

Returns
Whether this SceneTreeItem is currently highlighted with the options specified in the associated SceneTree.
See also
Highlight
Unhighlight

◆ IsSelected()

bool HPS::SceneTreeItem::IsSelected ( ) const

Indicates whether this SceneTreeItem is currently marked as selected.

Returns
Whether this SceneTreeItem is currently marked as selected.
See also
Select
Unselect

◆ ObjectType()

HPS::Type HPS::SceneTreeItem::ObjectType ( ) const
inlinevirtual

Reimplemented from HPS::Object.

Here is the call graph for this function:

◆ operator!=()

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

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

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

◆ operator=() [1/2]

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

Share the underlying smart-pointer of the SceneTreeItem source.

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

◆ operator=() [2/2]

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

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

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

◆ operator==()

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

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

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

◆ ReExpand()

void HPS::SceneTreeItem::ReExpand ( )

Collapses this SceneTreeItem 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.

◆ Reset()

◆ Select()

virtual void HPS::SceneTreeItem::Select ( )
virtual

This function will be invoked when this SceneTreeItem should be marked as selected.

Marking an item as selected means that the key backing this SceneTreeItem has been highlighted with the options specified in the associated SceneTree or is along a path in which a highlight has occurred. This highlighting may have come as a result of the Highlight function on a SceneTreeItem being invoked (not necessarily this SceneTreeItem), or potentially due to the HighlightOperator or HighlightAreaOperator highlighting the key backing this SceneTreeItem or highlighting some path which includes the key backing this SceneTreeItem. This function is meant to be overridden to allow one to change the appearance of a selected SceneTreeItem, e.g., by bolding the text or changing an icon, to signify this new state. If this function is overridden, the overriding function should invoke this base function.

◆ Type()

◆ Unhighlight() [1/2]

void HPS::SceneTreeItem::Unhighlight ( size_t  in_highlight_options_index = 0)

This function will remove the highlight with the options specified in the associated SceneTree from this SceneTreeItem.

This can cause elements along the path to this item (and this item itself) to be marked as unselected unless those items lie along a path which is still highlighted. Depending on the type of the SceneTreeItem, sometimes an unhighlight is nonsensical. In this case, no unhighlight will be performed.

Parameters
in_higlight_options_indexThe index in the highlight options array held by the associated SceneTree. Defaults to 0.
See also
Unselect

◆ Unhighlight() [2/2]

void HPS::SceneTreeItem::Unhighlight ( HighlightOptionsKit const &  in_highlight_options)

This function will remove the highlight with the options specified in the associated SceneTree from this SceneTreeItem.

This can cause elements along the path to this item (and this item itself) to be marked as unselected unless those items lie along a path which is still highlighted. Depending on the type of the SceneTreeItem, sometimes an unhighlight is nonsensical. In this case, no unhighlight will be performed. If the options requested is not part of the associated SceneTree highlight options, it will be added to them.

Parameters
in_higlight_options_indexThe index in the highlight options array held by the associated SceneTree. Defaults to 0.
See also
Unselect

◆ Unselect()

virtual void HPS::SceneTreeItem::Unselect ( )
virtual

This function will be invoked when this SceneTreeItem should be marked as unselected.

Marking an item as unselected means that the key backing this SceneTreeItem is no longer highlighted with the options specified in the associated SceneTree or is no longer along a path in which a highlight has occurred. This unhighlighting may have come as a result of the Unhighlight function on a SceneTreeItem being invoked (not necessarily this SceneTreeItem), or potentially due to the HighlightOperator or HighlightAreaOperator unhighlighting the key backing this SceneTreeItem. or unhighlighting some path which includes the key backing this SceneTreeItem. This function is meant to be overridden to allow one to change the appearance of a selected SceneTreeItem, e.g., by no longer bolding the text or changing an icon, to signify this new state. If this function is overridden, the overriding function should invoke this base function.

Member Data Documentation

◆ staticType

const HPS::Type HPS::SceneTreeItem::staticType = HPS::Type::SceneTreeItem
static

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