The overall process of sub-object selection relies upon the implementation of several methods in the modifier. These methods are from class BaseObject
. These involve selecting, identifying, moving, rotating and scaling sub-object components. These methods are:
BaseObject::ClearSelection
() - This method is called to clear the selection for the given sub-object level. All sub-object elements of this type should be deselected.BaseObject::SelectSubComponent
() - This method is called to change the selection state of the component identified by hitRec
.BaseObject::SubObjectIndex
() - Returns the index of the sub-object element identified by the HitRecord``hitRec
. The sub-object index identifies a sub-object component. The relationship between the index and the component is established by the modifier. For example, an edit modifier may allow the user to select a group of faces and these groups of faces may be identified as group 0, group 1, group 2, etc. Given a hit record that identifies a face, the edit modifier's implementation of this method would return the group index that the face belonged to.BaseObject::CloneSelSubComponents
() - This method is called to make a copy of the selected sub-object components.BaseObject::Move
() - When this method is called the plug-in should respond by moving its selected sub-object components.BaseObject::Rotate
() - When this method is called the plug-in should respond by rotating its selected sub-object components.BaseObject::Scale
() - When this method is called the plug-in should respond by scaling its selected sub-object components.