Interface implemented by the XRef controller.
The XRef controller is a wrapper that allows the user to retrieve a pointer to the "source controller".
#include <iXrefCtrl.h>
Public Types |
|
enum | { kfpGetSourceCtrl, kfpResetOffsetTM } |
Public Member Functions |
|
virtual Control * | GetSourceCtrl (bool resolveNestedXRef=false) const =0 |
Retrieves the source controller, i.e., the
actual controller behind the XRef. |
|
virtual FPInterfaceDesc * | GetIXRefCtrlDesc ()=0 |
Returns the function publishing descriptor
for the XRef Controller. |
|
virtual void | ResetOffsetTM ()=0 |
If the XRefCtrl is not nested, set its
offset matrix back to identity, and if it is resolved, i.e., it has
a Source controller, set this one's transformation matrix
accordingly. |
|
virtual Interface_ID | GetID () |
virtual FPInterfaceDesc * | GetDesc () |
BEGIN_FUNCTION_MAP | FN_1 (kfpGetSourceCtrl, TYPE_CONTROL, GetSourceCtrl, TYPE_bool) |
VFN_0 (kfpResetOffsetTM, ResetOffsetTM) | |
Static Public Member Functions |
|
static bool | Is_IXRefCtrl (Animatable &animatable) |
Determines whether it is safe to cast an
Animatable to an
IXRefCtrl.
|
|
static IXRefCtrl * | GetInterface (InterfaceServer &is) |
Retrieves the IXRefCtrl
interface from a scene entity. |
anonymous enum |
{ kfpGetSourceCtrl, kfpResetOffsetTM, };
bool Is_IXRefCtrl | ( | Animatable & | animatable | ) | [inline, static] |
Determines whether it is safe to cast an Animatable to an IXRefCtrl.
[in] | animatable | - The animatable to test. |
{ return ((animatable.SuperClassID() == CTRL_MATRIX3_CLASS_ID) && (animatable.ClassID() == XREFCTRL_CLASS_ID)); }
IXRefCtrl * GetInterface | ( | InterfaceServer & | is | ) | [inline, static] |
Retrieves the IXRefCtrl interface from a scene entity.
is | - Reference to scene entity |
{ return static_cast<IXRefCtrl*>(is.GetInterface(IID_XREF_CTRL)); }
virtual Control* GetSourceCtrl | ( | bool | resolveNestedXRef =
false |
) | const [pure virtual] |
Retrieves the source controller, i.e., the actual controller behind the XRef.
resolveNestedXRef | - When set to true, the method will recursively resolve any nested XRef controllers, guaranteeing that the one being returned is NOT an XRef controller. When set to false, the source is returned directly without attempting to resolve nesting. |
virtual FPInterfaceDesc* GetIXRefCtrlDesc | ( | ) | [pure virtual] |
Returns the function publishing descriptor for the XRef Controller.
This method is needed in order to avoid multiple inheritance problems.
virtual void ResetOffsetTM | ( | ) | [pure virtual] |
If the XRefCtrl is not nested, set its offset matrix back to identity, and if it is resolved, i.e., it has a Source controller, set this one's transformation matrix accordingly.
virtual Interface_ID GetID | ( | ) | [inline, virtual] |
Reimplemented from FPMixinInterface.
{return IID_XREF_CTRL;}
virtual FPInterfaceDesc* GetDesc | ( | ) | [inline, virtual] |
Implements FPInterface.
{return GetIXRefCtrlDesc();}
BEGIN_FUNCTION_MAP FN_1 | ( | kfpGetSourceCtrl | , |
TYPE_CONTROL | , | ||
GetSourceCtrl | , | ||
TYPE_bool | |||
) |
VFN_0 | ( | kfpResetOffsetTM | , |
ResetOffsetTM | |||
) |