HOldSelItem

Functions

HOldSelItem

~HOldSelItem

char const *

GetName

bool

Equals

bool

Highlight

bool

UnHighlight

bool

IsHighlighted

bool

Delete

bool

IsInstanced

int

GetIncludeCount

const HC_KEY *const

GetIncludeKeys

void

GetIncludeKeys

bool

QueryIncludeDependency

bool

UpdateIncludeDependency

Detailed Description

class HOldSelItem : public HSelectionItem

The HOldSelItem class implements selection using the old style highlighting which does not handle includes.

This class is purely provided for backward compatibility reasons and should be considered obsolete. HOldSelItem implement HSelectionItem interfaces using the old style of highlighting which couldn’t handle the multiply included segments/entities.

Public Functions

HOldSelItem(HC_KEY key, HSelectionSet *selection_set, char const *selection_path, HC_KEY include_key, HC_KEY includer_key)

Constructor

virtual ~HOldSelItem()
inline virtual char const *GetName() const
Returns

A character pointer denoting the name of operator.

virtual bool Equals(HSelectionItem const *i2) const
Parameters

i2 – An HOldSelItem object to be compared with this object

Returns

A true when the two selection elements are equal.

virtual bool Highlight()

Call this function to highlight the selection item

Returns

A true when the highlight is succesful

virtual bool UnHighlight()

Call this function to unhighlight the selection item

Returns

A true if the unhighlight is succesful

virtual bool IsHighlighted() const

Checks to see if an item is currently highlighted

Returns

true if the item is currently highlighted, false if not

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

A true if the delete is succesful

inline virtual bool IsInstanced() const

Checks to see if the selection item has any segments/geometry which might be potentially shared. In the old selection behaviour we never handled instancing. To preserve the behaviour, this returns false.

inline virtual int GetIncludeCount() const
Returns

A count of number of include keys in the include path. Old selection doesn’t deal with it.

inline virtual const HC_KEY *const GetIncludeKeys() const
Returns

An array to include keys. The return pointer is meant for read-only purpose Old selection doesn’t deal with it.

inline virtual void GetIncludeKeys(HC_KEY[]) 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 bool QueryIncludeDependency(HC_KEY include_key, HC_KEY &ret_dependent_key)

Finds out 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)

Call to selection item to update its selection data. Specifically the key which depended on the include key and have it replaced.

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