Class representing Xref objects.
This interface groups functionality specific to xref objects. In order to access functionality common to all xref scene entities, use the IXRefItem interface. An xref object acts as a wrapper around the xrefed object (also referred to as the "source object"). For example, requests for evaluating the xref object (Eval) and finding its base object (FindBaseObject) are passed to the source object, as are requests for interfaces. Client or plugin code working with objects should not be required to write xref object specific code, unless the desired functionality is xref specific.
#include <iXrefObj.h>
Public Types |
|
enum | { kfpGetActiveFileName, kfpGetActiveObjName, kfpGetActiveRecord, kfpGetSourceObject } |
Public Member Functions |
|
virtual
const MaxSDK::AssetManagement::AssetUser & |
GetActiveFile () const =0 |
Retrieves the active source file. |
|
virtual const MCHAR * | GetActiveObjName () const =0 |
Retrieves the active source item name.
|
|
virtual IObjXRefRecord * | GetActiveRecord () const =0 |
Retrieves the active xref record this xref
object belongs to. |
|
virtual Object * | GetSourceObject (bool resolveNested=false, Tab< Modifier * > *modifiers=NULL) const =0 |
Retrieves the actual source object behind
the XRef. |
|
virtual Interface_ID | GetID () |
BEGIN_FUNCTION_MAP | RO_PROP_FN (kfpGetActiveFileName, FPGetActiveFileName, TYPE_FILENAME) |
RO_PROP_FN (kfpGetActiveObjName, GetActiveObjName, TYPE_STRING) | |
RO_PROP_FN (kfpGetActiveRecord, GetActiveRecord, TYPE_INTERFACE) | |
FN_2 (kfpGetSourceObject, TYPE_REFTARG, FPGetSourceObject, TYPE_bool, TYPE_REFTARG_TAB_BR) | |
virtual
END_FUNCTION_MAP FPInterfaceDesc * |
GetDesc () |
Static Public Member Functions |
|
static bool | Is_IXRefObject8 (Animatable &animatable) |
Allows to determine whethe a scene entity
implements this interface. |
|
static IXRefObject8 * | GetInterface (InterfaceServer &is) |
Retrieves the IXRefObject8 interface from
a scene entity. |
|
Static Public Attributes |
|
static FPInterfaceDesc | mFPInterfaceDesc |
Protected Member Functions |
|
virtual void | Init (const MaxSDK::AssetManagement::AssetUser &asset, const MSTR &oname, Object *ob, BOOL asProxy=FALSE)=0 |
virtual void | SetFile (const MaxSDK::AssetManagement::AssetUser &asset, BOOL proxy=FALSE, BOOL update=TRUE)=0 |
virtual void | SetObjName (MCHAR *name, BOOL proxy=FALSE)=0 |
virtual
const MaxSDK::AssetManagement::AssetUser & |
GetFile (BOOL proxy=FALSE) const =0 |
virtual MSTR | GetObjName (BOOL proxy=FALSE) const =0 |
virtual void | SetUseProxy (BOOL onOff, BOOL redraw=TRUE)=0 |
virtual void | SetRenderProxy (BOOL onOff)=0 |
virtual BOOL | GetUseProxy ()=0 |
virtual BOOL | GetRenderProxy ()=0 |
virtual
const MaxSDK::AssetManagement::AssetUser & |
GetCurFile () const =0 |
virtual const MSTR & | GetCurObjName () const =0 |
anonymous enum |
virtual const MaxSDK::AssetManagement::AssetUser& GetActiveFile | ( | ) | const [pure virtual] |
Retrieves the active source file.
The file currently used by the xref object could be the one where the source object comes from or the one where the proxy object comes from. Which file is currently used depends on the proxy settings of the xref object
virtual const MCHAR* GetActiveObjName | ( | ) | const [pure virtual] |
Retrieves the active source item name.
The object name currently used by the xref object could be the source or the proxy object name. Which object name currently used depends on the proxy settings of the xref object.
virtual IObjXRefRecord* GetActiveRecord | ( | ) | const [pure virtual] |
Retrieves the active xref record this xref object belongs to.
When the proxy object assigned to this xref object is active, this method returns the xref record that owns the xref proxy. Otherwise it returns the xref record that owns the original xref item.
virtual Object* GetSourceObject | ( | bool | resolveNested =
false , |
Tab< Modifier * > * | modifiers =
NULL |
||
) | const [pure virtual] |
Retrieves the actual source object behind the XRef.
[in] | resolveNested | - When set to true, the method will recursively resolve any nested xref objects, guaranteeing that the one being returned is NOT an xref object. When set to false, the source object is returned without attempting to resolve nesting. |
[in,out] | modifiers | - a pointer to a Tab<Modifier*> or NULL. If not NULL, the modifiers in the source object will be placed in the tab. |
bool Is_IXRefObject8 | ( | Animatable & | animatable | ) | [inline, static] |
Allows to determine whethe a scene entity implements this interface.
[in] | animatable | - Reference to scene entity |
{ return ((animatable.SuperClassID() == SYSTEM_CLASS_ID) && (animatable.ClassID() == XREFOBJ_CLASS_ID)); }
static IXRefObject8* GetInterface | ( | InterfaceServer & | is | ) | [inline, static] |
Retrieves the IXRefObject8 interface from a scene entity.
[in] | is | - Reference to scene entity |
{ return static_cast<IXRefObject8*>(is.GetInterface(IID_XREF_OBJECT8)); };
virtual Interface_ID GetID | ( | ) | [inline, virtual] |
Reimplemented from FPMixinInterface.
{ return IID_XREF_OBJECT8; }
BEGIN_FUNCTION_MAP RO_PROP_FN | ( | kfpGetActiveFileName | , |
FPGetActiveFileName | , | ||
TYPE_FILENAME | |||
) |
RO_PROP_FN | ( | kfpGetActiveObjName | , |
GetActiveObjName | , | ||
TYPE_STRING | |||
) |
RO_PROP_FN | ( | kfpGetActiveRecord | , |
GetActiveRecord | , | ||
TYPE_INTERFACE | |||
) |
FN_2 | ( | kfpGetSourceObject | , |
TYPE_REFTARG | , | ||
FPGetSourceObject | , | ||
TYPE_bool | , | ||
TYPE_REFTARG_TAB_BR | |||
) |
virtual END_FUNCTION_MAP FPInterfaceDesc* GetDesc | ( | ) | [inline, virtual] |
Implements FPInterface.
{ return &mFPInterfaceDesc; }
virtual void Init | ( | const MaxSDK::AssetManagement::AssetUser & | asset, |
const MSTR & | oname, | ||
Object * | ob, | ||
BOOL | asProxy =
FALSE |
||
) | [protected, pure virtual] |
Implements IXRefObject.
virtual void SetFile | ( | const MaxSDK::AssetManagement::AssetUser & | asset, |
BOOL | proxy = FALSE , |
||
BOOL | update =
TRUE |
||
) | [protected, pure virtual] |
Implements IXRefObject.
virtual void SetObjName | ( | MCHAR * | name, |
BOOL | proxy =
FALSE |
||
) | [protected, pure virtual] |
Implements IXRefObject.
virtual const MaxSDK::AssetManagement::AssetUser& GetFile | ( | BOOL | proxy = FALSE |
) | const [protected, pure virtual] |
Implements IXRefObject.
virtual MSTR GetObjName | ( | BOOL | proxy = FALSE |
) | const [protected, pure virtual] |
Implements IXRefObject.
virtual void SetUseProxy | ( | BOOL | onOff, |
BOOL | redraw =
TRUE |
||
) | [protected, pure virtual] |
Implements IXRefObject.
virtual void SetRenderProxy | ( | BOOL | onOff | ) | [protected, pure virtual] |
Implements IXRefObject.
virtual BOOL GetUseProxy | ( | ) | [protected, pure virtual] |
Implements IXRefObject.
virtual BOOL GetRenderProxy | ( | ) | [protected, pure virtual] |
Implements IXRefObject.
virtual const MaxSDK::AssetManagement::AssetUser& GetCurFile | ( | ) | const [protected, pure virtual] |
virtual const MSTR& GetCurObjName | ( | ) | const [protected, pure virtual] |