The HSmartSelItem - selection item which can handle instancing.
More...
#include <HSelectionItem.h>
|
virtual bool | Delete () |
|
virtual bool | Equals (const HSelectionItem *i2) const |
|
virtual const HC_KEY * | GetFullPathKeys (HBaseView *view) |
|
virtual void | GetFullPathKeys (HBaseView *view, HC_KEY *path) |
|
void | GetHighlightedRefList (HC_KEY *keys) |
|
int | GetHighlightedRefListCount () |
|
virtual const int | GetHighlightMode () |
|
virtual int | GetIncludeCount () const |
|
virtual const HC_KEY *const | GetIncludeKeys () const |
|
virtual void | GetIncludeKeys (HC_KEY *includes) const |
|
virtual const char * | GetName () const |
|
virtual bool | Highlight () |
|
| HSmartSelItem (HC_KEY key, HSelectionSet *selection_set, int incl_count, HC_KEY *incl_keys) |
|
| HSmartSelItem (HC_KEY key, HSelectionSet *selection_set, int incl_count, HC_KEY *incl_keys, bool is_segment) |
|
virtual bool | IsHighlighted () const |
|
virtual bool | IsInstanced () const |
|
bool | IsSegment () |
|
virtual bool | QueryIncludeDependency (HC_KEY include_key, HC_KEY &ret_dependent_key) |
|
virtual void | SetHighlightMode (HSelectionHighlightMode m) |
|
virtual bool | UnHighlight () |
|
virtual bool | UpdateIncludeDependency (HC_KEY include_key, HC_KEY dependent_key, HC_KEY replacement_key) |
|
void | UpdateIncludePath (int incl_count, HC_KEY *incl_keys) |
|
virtual int | GetFullPathCount (HBaseView *view) |
|
virtual HC_KEY | GetKey () const |
|
virtual HC_KEY | GetSegmentKey () const |
|
float | GetTimeStamp () |
|
| HSelectionItem (HC_KEY key, HSelectionSet *selection_set) |
|
void | SetTimeStamp (float now) |
|
|
struct vlist_s * | m_pSelKeyList |
|
HC_KEY * | m_FullPath |
| The include path plus the selection item and view key. If the object is not a HSmartSelItem, the path may be incomplete.
|
|
int | m_FullPathCount |
| The length of the m_FullPath array of keys including the selection item and view key.
|
|
HC_KEY | m_key |
| The HOOPS key to the selection element.
|
|
HSelectionSet * | m_pSelectionSet |
| The selection set which owns this selection item.
|
|
float | m_TimeStamp |
| Time the item was created. Used for sorting the selection list.
|
|
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.
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::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. |
void HSmartSelItem::AddHighlightedRefKey |
( |
HC_KEY |
key | ) |
|
|
protected |
Adds a Reference Geometry key to the list of highlighted objects
- Parameters
-
the | reference geometry key of a highlighted object |
virtual bool HSmartSelItem::Delete |
( |
| ) |
|
|
virtual |
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.
Implements HSelectionItem.
Reimplemented in HSubentitySelItem.
void HSmartSelItem::FixIncludePath |
( |
| ) |
|
|
protected |
Ensure the include path is correct for the type of highlighting performed
- 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).
- Parameters
-
view | The HBaseView in which this item is selected. |
Reimplemented from HSelectionItem.
virtual void HSmartSelItem::GetFullPathKeys |
( |
HBaseView * |
view, |
|
|
HC_KEY * |
path |
|
) |
| |
|
virtual |
- 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. |
Reimplemented from HSelectionItem.
HC_KEY HSmartSelItem::GetHighlightedRefKey |
( |
| ) |
|
|
protected |
Dequeues a Reference Geometry key from the list of highlighted objects
- Returns
- the reference geometry key of a highlighted object
void HSmartSelItem::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. |
int HSmartSelItem::GetHighlightedRefListCount |
( |
| ) |
|
Retrieves the size of the list of highlighted objects
- Returns
- size of highlighted list
virtual const int HSmartSelItem::GetHighlightMode |
( |
| ) |
|
|
inlinevirtual |
- Returns
- The selection highlight mode.
virtual int HSmartSelItem::GetIncludeCount |
( |
| ) |
const |
|
inlinevirtual |
- Returns
- The number of include keys in the include path.
Implements HSelectionItem.
virtual const HC_KEY* const HSmartSelItem::GetIncludeKeys |
( |
| ) |
const |
|
inlinevirtual |
- Returns
- An array to include keys. The return pointer is for read-only purpose.
Implements HSelectionItem.
References HC_KEY.
virtual void HSmartSelItem::GetIncludeKeys |
( |
HC_KEY * |
includes | ) |
const |
|
virtual |
- 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. |
Implements HSelectionItem.
virtual const char* HSmartSelItem::GetName |
( |
| ) |
const |
|
inlinevirtual |
virtual bool HSmartSelItem::Highlight |
( |
| ) |
|
|
virtual |
virtual bool HSmartSelItem::IsHighlighted |
( |
| ) |
const |
|
virtual |
Checks to see if an item is currently highlighted.
- Returns
- True if the item is currently highlighted, false if otherwise.
Implements HSelectionItem.
static bool HSmartSelItem::IsHighlighted |
( |
const HC_KEY |
key, |
|
|
const HSelectionSet * |
selection_set, |
|
|
const int |
incl_count, |
|
|
const HC_KEY * |
incl_keys |
|
) |
| |
|
static |
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.
virtual bool HSmartSelItem::IsInstanced |
( |
| ) |
const |
|
virtual |
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.
Implements HSelectionItem.
static bool HSmartSelItem::IsRegionHighlighted |
( |
const HC_KEY |
key, |
|
|
const HSelectionSet * |
selection_set, |
|
|
const int |
incl_count, |
|
|
const HC_KEY * |
incl_keys, |
|
|
int |
region |
|
) |
| |
|
static |
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.
virtual bool HSmartSelItem::QueryIncludeDependency |
( |
HC_KEY |
include_key, |
|
|
HC_KEY & |
ret_dependent_key |
|
) |
| |
|
virtual |
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.
Implements HSelectionItem.
Sets the selection highlight mode.
- Parameters
-
m | What the new highlight mode should be (see the SelectionHighlightMode enumeration for possible values) |
virtual bool HSmartSelItem::UnHighlight |
( |
| ) |
|
|
virtual |
virtual bool HSmartSelItem::UpdateIncludeDependency |
( |
HC_KEY |
include_key, |
|
|
HC_KEY |
dependent_key, |
|
|
HC_KEY |
replacement_key |
|
) |
| |
|
virtual |
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.
Implements HSelectionItem.
void HSmartSelItem::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 |
The documentation for this class was generated from the following file: