Generic interface that represents an xrefed scene entity.
This interface exposes services common to all xref scene entities. 3rd party plugins do not need to derive from this interface. Support for xrefing different plugin categories is provided by the system (3ds Max). Each plugin category that supports xrefing is modeled as a class that implements this interface.
Xref items can be created and modified via the Object XRef Manager (IObjXRefManager8), and live in xref records (IObjXRefRecord). An xref item can live in one and only one xref record.
Sub-object animation of a scene entity is maintained when the scene entity is xrefed. Transform animation of a scene entity such as a node is brought into the master file, but is not updated when the xref record is updated.
In order to retrieve this interface from a scene entity, one must call either IXRefItem::GetInterface with a reference to a scene entity (Object, Atmospherics, etc.),
- See also
- IObjXRefManager8, IObjXRefRecord
|
virtual Interface_ID | GetID () |
|
| PROP_FNS (kfpGetSrcFileName, FPGetSrcFileName, kfpSetSrcFileName, FPSetSrcFileName, TYPE_FILENAME) |
|
| PROP_FNS (kfpGetSrcItemName, GetSrcItemName, kfpSetSrcItemName, FPSetSrcItemName, TYPE_STRING) |
|
| RO_PROP_FN (kfpGetXRefRecord, GetXRefRecord, TYPE_INTERFACE) |
|
| RO_PROP_FN (kfpIsUnresolved, IsUnresolved, TYPE_bool) |
|
| RO_PROP_FN (kfpIsNested, IsNested, TYPE_bool) |
|
| FN_1 (kfpGetSrcItem, TYPE_REFTARG, GetSrcItem, TYPE_bool) |
|
| FN_1 (kfpGetParentItems, TYPE_DWORD, GetParentItems, TYPE_REFTARG_TAB_BR) |
|
| FN_1 (kfpGetRootItems, TYPE_DWORD, GetRootItems, TYPE_REFTARG_TAB_BR) |
|
| FN_1 (kfpGetChildItems, TYPE_DWORD, GetChildItems, TYPE_REFTARG_TAB_BR) |
|
| VFN_1 (kfpGetNodes, FPGetNodes, TYPE_INODE_TAB_BR) |
|
virtual FPInterfaceDesc * | GetDesc () |
|
|
The following methods give access to the properties of xref items.
These properties are allowed to be modified only via methods of IObjXRefManager8 in order to ensure the integrity of xref items and records where they are stored.
|
virtual const MaxSDK::AssetManagement::AssetUser & | GetSrcFile () const =0 |
| Retrieves the file asset that the source scene entity comes from. More...
|
|
virtual const MCHAR * | GetSrcItemName () const =0 |
| Retrieves the name of the source scene entity. More...
|
|
virtual ReferenceTarget * | GetSrcItem (bool resolveNested=false) const =0 |
| Retrieves the source scene entity xrefed by this xref item. More...
|
|
virtual bool | IsUnresolved () const =0 |
| Allows to verify whether the xref item is unresolved. More...
|
|
virtual IObjXRefRecord * | GetXRefRecord () const =0 |
| Retrieves the xref record this xref item belongs to. More...
|
|
virtual void | GetNodes (INodeTab &xrefNodes) const =0 |
| Retrieves the nodes associated with this xref item. More...
|
|
|
When xrefing scene entities that are themselves xrefs, nested xref items are created.
The following methods allow working with nested xref items.
|
virtual unsigned int | GetParentItems (Tab< ReferenceTarget * > &parentItems) const =0 |
| Retrieves the xref items under which this xref item is nested. More...
|
|
virtual unsigned int | GetChildItems (Tab< ReferenceTarget * > &childItems) const =0 |
| Returns the list of every xref item for which GetParentItem() would return 'this'. More...
|
|
virtual unsigned int | GetRootItems (Tab< ReferenceTarget * > &rootItems) const =0 |
| Retrieves the root (top-level) xref items of this xref item. More...
|
|
virtual bool | IsNested () const =0 |
| Checks whether this xref item is a nested one. More...
|
|
| FPMixinInterface () |
|
virtual LifetimeType | LifetimeControl () |
|
virtual CoreExport bool | RegisterNotifyCallback (InterfaceNotifyCallback *incb) |
|
virtual void | UnRegisterNotifyCallback (InterfaceNotifyCallback *incb) |
|
CoreExport | ~FPMixinInterface () |
|
virtual BaseInterface * | GetInterface (Interface_ID id) |
|
virtual FPInterfaceDesc * | GetDescByID (Interface_ID id) |
|
virtual CoreExport FPStatus | Invoke (FunctionID fid, TimeValue t=0, FPParams *params=NULL) |
|
virtual FPStatus | Invoke (FunctionID fid, FPParams *params) |
|
virtual CoreExport FPStatus | Invoke (FunctionID fid, TimeValue t, FPValue &result, FPParams *params=NULL) |
|
virtual FPStatus | Invoke (FunctionID fid, FPValue &result, FPParams *params=NULL) |
|
virtual CoreExport FunctionID | FindFn (const MCHAR *name) |
|
virtual CoreExport BOOL | IsEnabled (FunctionID actionID) |
|
virtual CoreExport BOOL | IsChecked (FunctionID actionID) |
|
virtual CoreExport BOOL | IsVisible (FunctionID actionID) |
|
virtual CoreExport FunctionID | GetIsEnabled (FunctionID actionID) |
|
virtual CoreExport FunctionID | GetIsChecked (FunctionID actionID) |
|
virtual CoreExport FunctionID | GetIsVisible (FunctionID actionID) |
|
virtual ActionTable * | GetActionTable () |
|
virtual void | EnableActions (BOOL onOff) |
|
virtual UtilExport | ~BaseInterface () |
| Destructor. More...
|
|
virtual BaseInterface * | AcquireInterface () |
|
virtual void | ReleaseInterface () |
|
virtual void | DeleteInterface () |
|
virtual BaseInterface * | CloneInterface (void *remapDir=NULL) |
|
virtual UtilExport | ~InterfaceServer () |
| Destructor. More...
|
|
|
static bool | IsIXRefItem (InterfaceServer &is) |
| Allows to determine whether a scene entity implements this interface. More...
|
|
static IXRefItem * | GetInterface (InterfaceServer &is) |
| Retrieves the IXRefItem interface from a scene entity. More...
|
|
static UtilExport void * | operator new (size_t size) |
| Standard new operator used to allocate objects If there is insufficient memory, an exception will be thrown. More...
|
|
static UtilExport void * | operator new (size_t size, const std::nothrow_t &e) |
| Standard new operator used to allocate objects if there is insufficient memory, NULL will be returned. More...
|
|
static UtilExport void * | operator new (size_t size, const char *filename, int line) |
| New operator used to allocate objects that takes the filename and line number where the new was called If there is insufficient memory, an exception will be thrown. More...
|
|
static UtilExport void * | operator new (size_t size, int block_type, const char *filename, int line) |
| New operator used to allocate objects that takes the type of memory, filename and line number where the new was called If there is insufficient memory, an exception will be thrown. More...
|
|
static UtilExport void * | operator new (size_t size, const std::nothrow_t &e, const char *filename, int line) |
| New operator used to allocate objects that takes the filename and line number where the new was called If there is insufficient memory, NULL will be returned. More...
|
|
static UtilExport void * | operator new (size_t size, unsigned long flags) |
| New operator used to allocate objects that takes extra flags to specify special operations If there is insufficient memory, an exception will be thrown. More...
|
|
static UtilExport void * | operator new (size_t size, const std::nothrow_t &e, unsigned long flags) |
| New operator used to allocate objects that takes extra flags to specify special operations If there is insufficient memory, NULL will be returned. More...
|
|
static UtilExport void * | operator new[] (size_t size) |
| New operator used to allocate arrays of objects If there is insufficient memory, an exception will be thrown. More...
|
|
static UtilExport void * | operator new[] (size_t size, const std::nothrow_t &e) |
| New operator used to allocate arrays of objects If there is insufficient memory, NULL will be returned. More...
|
|
static UtilExport void * | operator new[] (size_t size, const char *filename, int line) |
| New operator used to allocate arrays of objects If there is insufficient memory, an exception will be thrown. More...
|
|
static UtilExport void * | operator new[] (size_t size, int block_type, const char *filename, int line) |
| New operator used to allocate arrays of objects. More...
|
|
static UtilExport void * | operator new[] (size_t size, const std::nothrow_t &e, const char *filename, int line) |
| New operator used to allocate arrays of objects If there is insufficient memory, NULL will be returned. More...
|
|
static UtilExport void * | operator new[] (size_t size, unsigned long flags) |
| New operator used to allocate arrays of objects If there is insufficient memory, an exception will be thrown. More...
|
|
static UtilExport void * | operator new[] (size_t size, const std::nothrow_t &e, unsigned long flags) |
| New operator used to allocate arrays of objects If there is insufficient memory, NULL will be returned. More...
|
|
static UtilExport void | operator delete (void *ptr) |
| Standard delete operator used to deallocate an object If the pointer is invalid, an exception will be thrown. More...
|
|
static UtilExport void | operator delete (void *ptr, const std::nothrow_t &e) |
| Standard delete operator used to deallocate an object If the pointer is invalid, nothing will happen. More...
|
|
static UtilExport void | operator delete (void *ptr, const char *filename, int line) |
| Delete operator used to deallocate an object that takes the filename and line number where the delete was called If the pointer is invalid, an exception will be thrown. More...
|
|
static UtilExport void | operator delete (void *ptr, int block_type, const char *filename, int line) |
| Delete operator used to deallocate an object that takes the type of memory, filename and line number where the delete was called If the pointer is invalid, an exception will be thrown. More...
|
|
static UtilExport void | operator delete (void *ptr, const std::nothrow_t &e, const char *filename, int line) |
| Delete operator used to deallocate an object that takes the filename and line number where the delete was called If the pointer is invalid, nothing will happen. More...
|
|
static UtilExport void | operator delete (void *ptr, unsigned long flags) |
| Delete operator used to deallocate an object that takes extra flags to specify special operations If the pointer is invalid, an exception will be thrown. More...
|
|
static UtilExport void | operator delete (void *ptr, const std::nothrow_t &e, unsigned long flags) |
| Delete operator used to deallocate an object that takes extra flags to specify special operations If the pointer is invalid, nothing will happen. More...
|
|
static UtilExport void | operator delete[] (void *ptr) |
| Standard delete operator used to deallocate an array of objects If the pointer is invalid, an exception will be thrown. More...
|
|
static UtilExport void | operator delete[] (void *ptr, const std::nothrow_t &e) |
| Standard delete operator used to deallocate an array of objects If the pointer is invalid, nothing will happen. More...
|
|
static UtilExport void | operator delete[] (void *ptr, const char *filename, int line) |
| Delete operator used to deallocate an array of objects that takes the filename and line number where the delete was called If the pointer is invalid, an exception will be thrown. More...
|
|
static UtilExport void | operator delete[] (void *ptr, int block_type, const char *filename, int line) |
| Delete operator used to deallocate an array of objects that takes the type of memory, filename and line number where the delete was called If the pointer is invalid, an exception will be thrown. More...
|
|
static UtilExport void | operator delete[] (void *ptr, const std::nothrow_t &e, const char *filename, int line) |
| Delete operator used to deallocate an array of objects that takes the filename and line number where the delete was called If the pointer is invalid, nothing will happen. More...
|
|
static UtilExport void | operator delete[] (void *ptr, unsigned long flags) |
| Delete operator used to deallocate an array of objects that takes extra flags to specify special operations If the pointer is invalid, an exception will be thrown. More...
|
|
static UtilExport void | operator delete[] (void *ptr, const std::nothrow_t &e, unsigned long flags) |
| Delete operator used to deallocate an array of objects that takes extra flags to specify special operations If the pointer is invalid, an exception will be thrown. More...
|
|
static UtilExport void * | operator new (size_t size, void *placement_ptr) |
| Placement new operator. More...
|
|
static UtilExport void | operator delete (void *ptr, void *placement_ptr) |
| Placement delete operator. More...
|
|
static UtilExport void * | aligned_malloc (size_t size, size_t alignment) |
| Allocates memory on a specified alignment boundary. More...
|
|
static UtilExport void * | aligned_realloc (void *ptr, size_t size, size_t alignment) |
| Reallocates memory on a specified alignment boundary. More...
|
|
static UtilExport void | aligned_free (void *ptr) |
| Frees a block of memory that was allocated with aligned_malloc/aligned_realloc. More...
|
|