HSmartSelItem
Fields
int |
|
HC_KEY * |
Functions
char const * |
|
int |
|
const HC_KEY *const |
|
void |
|
const HC_KEY * |
|
void |
|
bool |
|
bool |
|
bool |
|
bool |
|
bool |
|
bool |
|
bool |
|
bool |
|
void |
|
int const |
|
void |
|
int |
|
void |
|
bool |
|
bool |
|
bool |
Detailed Description
-
class HSmartSelItem : public HSelectionItem
The HSmartSelItem - selection item which can handle instancing.
This implementation of HSelectionItem class handles instanced segments and entities. It also uses the ‘conditional styling’ mechanism to highlight the selection.
Subclassed by HRegionSelItem, HSubentitySelItem
Public Functions
-
HSmartSelItem(HC_KEY key, HSelectionSet *selection_set, int incl_count, HC_KEY incl_keys[])
Constructs a HSmartSelItem object.
- Parameters
key – HOOPS key to selection item.
selection_set – pointer to the HOOPS selection set which owns this selection item.
incl_count – Number of include keys in the selection item segment path.
incl_keys – An array of HOOPS keys of all the include keys in the selection item path.
-
HSmartSelItem(HC_KEY key, HSelectionSet *selection_set, int incl_count, HC_KEY incl_keys[], bool is_segment)
Constructs a HSmartSelItem object.
- Parameters
key – HOOPS key to selection item.
selection_set – pointer to the HOOPS selection set which owns this selection item.
incl_count – Number of include keys in the selection item segment path.
incl_keys – An array of HOOPS keys of all the include keys in the selection item path.
is_segment – Is the item known to be a segment.
-
virtual ~HSmartSelItem()
-
inline virtual char const *GetName() const
- Returns
A character pointer denoting the name which is “HSmartSelItem.”
-
inline virtual int GetIncludeCount() const
- Returns
The number of include keys in the include path.
-
inline virtual const HC_KEY *const GetIncludeKeys() const
- Returns
An array to include keys. The return pointer is for read-only purpose.
-
virtual void GetIncludeKeys(HC_KEY includes[]) const
- Parameters
includes – An array of include keys (returned to the user). Note that the caller must ensure that the array is of the appropriate size, e.g, via the GetIncludeCount function.
-
virtual const HC_KEY *GetFullPathKeys(HBaseView *view)
- Parameters
view – The HBaseView in which this item is selected.
- Returns
An array to include keys, just like GetIncludeKeys, except that the keys array includes the selection item and the view key (as passed in).
-
virtual void GetFullPathKeys(HBaseView *view, HC_KEY path[])
- Parameters
view – The HBaseView in which the item is selected
path – An array of keys (returned to the user), just like GetIncludeKeys, except that the keys array includes the selection item and the view key (as passed in). Note that the caller must ensure that the array is of the appropriate size, e.g., via the GetFullPathCount function.
-
virtual bool Equals(HSelectionItem const *i2) const
- Parameters
i2 – An HSelectionItem object to be compared with this object
- Returns
True if the two selection elements are equal.
-
virtual bool Highlight()
Call this function to highlight the selection item.
- Returns
True if the highlight is successful.
-
virtual bool UnHighlight()
Call this function to unhighlight the selection item.
- Returns
True if the unhighlight is successful.
-
virtual bool IsHighlighted() const
Checks to see if an item is currently highlighted.
- Returns
True if the item is currently highlighted, false if otherwise.
-
virtual bool Delete()
Call this function to delete the selection item. NOTE: If the selection is a non-instanced segment or entity, it will be deleted. If the selection is an instanced segment or entity, it’s include link will be removed.
- Returns
True if the item was successfully deleted.
-
virtual bool IsInstanced() const
Checks to see if the selection item has any segments/geometry which might be potentially shared. This is determined by checking the include keys in the selection path. If there is more than one (the model key), then it is instanced.
- Returns
True if the item is instanced.
-
virtual bool QueryIncludeDependency(HC_KEY include_key, HC_KEY &ret_dependent_key)
Determines if the selection item has any dependency on the include key being provide. If it has, the api returns true and returns which key is dependent as the second argument.
- Parameters
include_key – HC_KEY to include key on which the dependency is wanted.
ret_dependent_key – HC_KEY to segment/entity which depends on the include key.
- Returns
True if the item has dependency on the include_key.
-
virtual bool UpdateIncludeDependency(HC_KEY include_key, HC_KEY dependent_key, HC_KEY replacement_key)
This method updates the given key’s dependency on a given include key with a new include key.
- Parameters
include_key – HC_KEY to include key which is deleted/going to be deleted
dependent_key – HC_KEY to segment/entity which depends on the include key
replacement_key – new HC_KEY as a replacement to the dependent key
- Returns
True if the dependency has been successfully updated.
-
void UpdateIncludePath(int incl_count, HC_KEY incl_keys[])
Replace the original include path and count passed into the constructor.
- Parameters
incl_count – The new number of keys in the include path
incl_keys – An array of include keys
-
inline virtual int const GetHighlightMode()
- Returns
The selection highlight mode.
-
inline virtual void SetHighlightMode(HSelectionHighlightMode m)
Sets the selection highlight mode.
- Parameters
m – What the new highlight mode should be (see the SelectionHighlightMode enumeration for possible values)
-
int GetHighlightedRefListCount()
Retrieves the size of the list of highlighted objects
- Returns
size of highlighted list
-
void GetHighlightedRefList(HC_KEY *keys)
Copies the list of Geometry Reference keys from this selection item.
- Parameters
array – of Reference Geometry keys. Returned to user. Passed by reference always.
-
inline bool IsSegment()
Public Static Functions
-
static bool IsHighlighted(const HC_KEY key, HSelectionSet const *selection_set, int const incl_count, const HC_KEY incl_keys[])
Checks to see if an item is currently highlighted. If you do not have the HSmartSelItem object, but just have the keys and include list returned from HOOPS, you could use this method to find out if the key was selected.
- Parameters
key – HOOPS key to the item to be tested for selection.
selection_set – A pointer to the HOOPS selection set in which this is to be tested.
incl_count – Number of include keys in the item segment path.
incl_keys – An array of HOOPS keys of all the include keys in the item path.
- Returns
True if the item is currently highlighted, false if otherwise.
-
static bool IsRegionHighlighted(const HC_KEY key, HSelectionSet const *selection_set, int const incl_count, const HC_KEY incl_keys[], int region)
Checks to see if a region is currently highlighted. If you do not have the HSmartSelItem object, but just have the keys and include list returned from HOOPS, you could use this method to find out if the key was selected
- Parameters
key – HOOPS shell key to the item to be tested for selection.
selection_set – A pointer to the HOOPS selection set in which this is to be tested.
incl_count – Number of include keys in the item segment path.
incl_keys – An array of HOOPS keys of all the include keys in the item path.
region – The region number in the shell.
- Returns
True if the item is currently highlighted, false if otherwise.
-
HSmartSelItem(HC_KEY key, HSelectionSet *selection_set, int incl_count, HC_KEY incl_keys[])