New way of dealing with sub object coordinate systems. More...
Functions |
|
virtual void | GetSubObjectCenters (SubObjAxisCallback *cb, TimeValue t, INode *node, ModContext *mc) |
When the user is in a sub-object selection
level, the system needs to get the reference coordinate system
definition from the current modifier being edited so that it can
display the axis. |
|
virtual void | GetSubObjectTMs (SubObjAxisCallback *cb, TimeValue t, INode *node, ModContext *mc) |
When the user is in a sub-object selection
level, the system needs to get the reference coordinate system
definition from the current modifier being edited so that it can
display the axis. |
|
virtual void | NotifyPreCollapse (INode *node, IDerivedObject *derObj, int index) |
This method is called before a modifier or
object is collapsed. |
|
virtual void | NotifyPostCollapse (INode *node, Object *obj, IDerivedObject *derObj, int index) |
This method is called after a modifier or
object is collapsed. |
|
virtual int | NumSubObjTypes () |
Objects and modifiers that support
subobjects have to overwrite this method - as well as
GetSubObjType() - and return a class derived from
ISubObjType in GetSubObjType(). |
|
virtual ISubObjType * | GetSubObjType (int i) |
Returns a pointer to the sub-object type for
the sub-object whose index is passed. |
|
virtual CoreExport int | GetSubObjectLevel () |
This method returns an integer which
indicates the current sub-object level of the modifier or base
object. |
New way of dealing with sub object coordinate systems.
Plug-in enumerates its centers or TMs and calls the callback once for each. NOTE:cb->Center() should be called the same number of times and in the same order as cb->TM() NOTE: The SubObjAxisCallback class is defined in animatable and used in both the controller version and this version of GetSubObjectCenters() and GetSubObjectTMs()
virtual void GetSubObjectCenters | ( | SubObjAxisCallback * | cb, |
TimeValue | t, | ||
INode * | node, | ||
ModContext * | mc | ||
) | [inline, virtual, inherited] |
When the user is in a sub-object selection level, the system needs to get the reference coordinate system definition from the current modifier being edited so that it can display the axis.
This method specifies the position of the center. The plug-in enumerates its centers and calls the callback cb once for each.
cb | The callback object whose methods may be called. See Class SubObjAxisCallback. |
t | The time to enumerate the centers. |
node | A pointer to the node. |
mc | A pointer to the ModContext. |
Reimplemented in PatchObject, SimpleMod, SplineShape, MSModifierXtnd, and MSSimpleModXtnd.
{}
virtual void GetSubObjectTMs | ( | SubObjAxisCallback * | cb, |
TimeValue | t, | ||
INode * | node, | ||
ModContext * | mc | ||
) | [inline, virtual, inherited] |
When the user is in a sub-object selection level, the system needs to get the reference coordinate system definition from the current modifier being edited so that it can display the axis.
This method returns the axis system of the reference coordinate system. The plug-in enumerates its TMs and calls the callback cb once for each. See Sub-Object Coordinate Systems.
cb | The callback object whose methods may be called. |
t | The time to enumerate the TMs. |
node | A pointer to the node. |
mc | A pointer to the ModContext. |
Reimplemented in PatchObject, SimpleMod, SplineShape, MSModifierXtnd, and MSSimpleModXtnd.
{}
virtual void NotifyPreCollapse | ( | INode * | node, |
IDerivedObject * | derObj, | ||
int | index | ||
) | [inline, virtual, inherited] |
This method is called before a modifier or object is collapsed.
node | Points to the node for the object being collapsed. |
derObj | If the object associated with node above is a Modifier this points to the derived object.If it's an object then this is NULL. |
index | If the object associated with node above is a Modifier this is the index of this modifier in the DerivedObject.. If it's an object then this is 0. |
{};
virtual void NotifyPostCollapse | ( | INode * | node, |
Object * | obj, | ||
IDerivedObject * | derObj, | ||
int | index | ||
) | [inline, virtual, inherited] |
This method is called after a modifier or object is collapsed.
node | Points to the node for the object being collapsed. |
obj | |
derObj | If the object associated with node above is a Modifier this points to the derived object. If it's an object then this is NULL. |
index | If the object associated with node above is a Modifier this is the index of this modifier in the DerivedObject. If it's an object then this is 0. |
{};
virtual int NumSubObjTypes | ( | ) | [inline, virtual, inherited] |
Objects and modifiers that support subobjects have to overwrite this method - as well as GetSubObjType() - and return a class derived from ISubObjType in GetSubObjType().
Developers can use the GenSubObjType for convenience. If the parameter passed into GetSubObjType is -1, the system requests a ISubObjType, for the current SubObjectLevel that flows up the modifier stack. If the subobject selection of the modifier or base object does not affect the subobj selection that flows up the stack, the method must return NULL. See meshsel.cpp for a sample implementation.
Reimplemented in PatchObject, SimpleMod, and SplineShape.
{ return 0;}
virtual ISubObjType* GetSubObjType | ( | int | i | ) | [inline, virtual, inherited] |
Returns a pointer to the sub-object type for the sub-object whose index is passed.
If the parameter i passed is -1 the system requests an ISubObjType for the current SubObjectLevel that flows up the modifier stack. If the subobject selection of the modifier or base object does not affect the sub-object selection that flows up the stack NULL must be returned. See the sample code in /MAXSDK/SAMPLES/MODIFIERS/MESHSEL.CPP.
i | The zero based index of the sub-object type to get. See the remarks above. |
Reimplemented in PatchObject, SimpleMod, and SplineShape.
{ return NULL; }
virtual CoreExport int GetSubObjectLevel | ( | ) | [virtual, inherited] |
This method returns an integer which indicates the current sub-object level of the modifier or base object.