HPS::HCA::ModelTreeItem

class HPS::HCA::ModelTreeItem : public HPS::Sprocket

The ModelTreeItem 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 model browser.

Public Functions

virtual ModelTreeItemPtr AddChild(int64_t in_node_id) = 0

This function is used to create a new ModelTreeItem to be the child of this ModelTreeItem. You will need to implement this function in your class which derives from HCA::ModelTreeItem. This function will be invoked if this ComponentTreeItem 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. Additionally, since this function requires the creation of a derived ModelTreeItem, that derived ModelTreeItem should use the base constructor which is appropriate for creating non-root items.

Parameters

in_node_id – The node ID to be associated with the ModelTreeItem being added to the ModelTree.

virtual void Assign(ModelTreeItem const &in_that)

Share the underlying smart-pointer of the ModelTreeItem source.

Parameters

in_that – The ModelTreeItem source of the assignment.

Returns

A reference to this ModelTreeItem.

virtual void Collapse()

This function should be invoked when this ModelTreeItem 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 ModelTreeItem when invoked.

bool Equals(ModelTreeItem const &in_that) const

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

Parameters

in_that – The source ModelTreeItem to compare to this ModelTreeItem.

Returns

true if the objects reference the same underlying data, false otherwise.

virtual void Expand()

This function should be invoked when this ModelTreeItem 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 ModelTreeItem when invoked.

ModelTree::ItemType GetItemType() const

Gets the item type for this ModelTreeItem. This is used to determine what type of data this ModelTreeItem represents in the ModelTree.

Returns

The item type for this ModelTreeItem.

uint64_t GetNodeId() const

Returns the HCA node ID associated with this ModelTreeItem

Returns

The HCA node ID associated with this ModelTreeItem .

UTF8 GetTitle() const

Gets the title for this ModelTreeItem. This is the text that should be displayed for this ModelTreeItem in the ModelTree.

Returns

The title for this ModelTreeItem.

ModelTreePtr GetTree() const

Gets the ModelTree associated with this ModelTreeItem. This provides a means of accessing the derived ModelTree by this ModelTreeItem if necessary.

Returns

The ModelTree associated with this ModelTreeItem.

bool HasChildren() const

Indicates whether this ModelTreeItem has any children.

Returns

true if this ModelTreeItem has children, false otherwise.

void Hide()

Hides this ModelTreeItem it isn’t already. Geometry associated with a hidden ModelTreeItem becomes invisible. Calling this function will result in a call to OnShowHide after the hide operation has taken place.

void Highlight(HighlightOptionsKit const &in_highlight_options)

Highlights this ModelTreeItem using the options specified. Calling this function will result in a call to OnHighlightUnhighlight after the highlight operation has taken place.

bool IsExpanded() const

Indicates whether this ModelTreeItem is currently expanded.

Returns

true if this ModelTreeItem is expanded, false otherwise.

bool IsHidden() const

Indicates whether this ModelTreeItem is currently hidden.

Returns

true if this ModelTreeItem is hidden, false otherwise.

bool IsHighlighted() const

Indicates whether this ModelTreeItem is currently highlighted.

Returns

true if this ModelTreeItem is highlighted, false otherwise.

void Isolate()

Shows this ModelTreeItem and hides every other nodes in the tree, causing this item to become the only one visible. The camera will zoom to the isolated item. Calling this function will result in a call to OnShowHide for the item which is isolated, after the isolate operation has taken place.

ModelTreeItem()

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

ModelTreeItem(ModelTreeItem &&in_that)

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

Parameters

in_that – An rvalue reference to a ModelTreeItem to take the underlying object from.

ModelTreeItem(ModelTreeItem const &in_that)

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

Parameters

in_that – The source ModelTreeItem to copy.

ModelTreeItem(ModelTreePtr const &in_tree, HCA::Model const &in_hca_model)

This constructor creates a ModelTreeItem suitable for acting as a root in a ModelTree.

Parameters
ModelTreeItem(ModelTreePtr const &in_tree, int64_t in_node_id)

This constructor creates a ModelTreeItem which is not suitable for acting as a root in a ModelTree, but is suitable to be a ModelTreeItem under the root of the ModelTree. This constructor should be the one invoked in the overridden AddChild function.

Parameters
inline virtual HPS::Type ObjectType() const

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.

virtual void OnHighlightUnhighlight()

This function will be invoked when this item becomes highlighted or unhighlighted. If you want something to happen when an item’s highlight state changes you should provide an implementation for this function in your class which derives from HCA::ModelTreeItem. A common usage for this function is to make the text associated with highlighted items bold to indicate to users whether the item is highlighted or not at a glance.

inline virtual void OnShowHide()

This function will be invoked when this item becomes shown or hidden. If you want something to happen when an item becomes shown or hidden you should provide an implementation for this function in your class which derives from HCA::ModelTreeItem. A common usage for this function is to change the icon associated with the node to indicate to users whether the item is shown or hidden at a glance.

bool operator!=(ModelTreeItem const &in_that) const

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

Parameters

in_that – The source ModelTreeItem to compare to this ModelTreeItem.

Returns

true if the objects reference different underlying data, false otherwise.

ModelTreeItem &operator=(ModelTreeItem &&in_that)

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

Parameters

in_that – An rvalue reference to a ModelTreeItem to take the underlying object from.

Returns

A reference to this ModelTreeItem.

ModelTreeItem &operator=(ModelTreeItem const &in_that)

Share the underlying smart-pointer of the ModelTreeItem source.

Parameters

in_that – The ModelTreeItem source of the assignment.

Returns

A reference to this ModelTreeItem.

bool operator==(ModelTreeItem const &in_that) const

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

Parameters

in_that – The source ModelTreeItem to compare to this ModelTreeItem.

Returns

true if the objects reference the same underlying data, false otherwise.

bool RequestProperties(uint32_t &out_request_id)
void Show()

Shows this ModelTreeItem it isn’t already visible. Geometry associated with a shown ModelTreeItem becomes visible. Calling this function will result in a call to OnShowHide after the show operation has taken place.

void Unhighlight()

Removes all highlights from this ModelTreeItem. Calling this function will result in a call to OnHighlightUnhighlight after the unhighlight operation has taken place.

void Zoom()

Smoothly zooms the camera to focus on this item. The transition lasts half a second.

virtual ~ModelTreeItem()

Public Static Attributes

static const HPS::Type staticType = HPS::Type::HCAModelTreeItem