3ds Max C++ API Reference
|
Class for managing object xrefs. More...
#include <iXRefObjMgr8.h>
Public Member Functions | |
RO_PROP_FN (kfpRecordCount, RecordCount, TYPE_DWORD) | |
PROP_FNS (kfpGetDupObjNameAction, GetDupObjNameAction, kfpSetDupObjNameAction, SetDupObjNameAction, TYPE_ENUM) | |
PROP_FNS (kfpGetDupMtlNameAction, GetDupMtlNameAction, kfpSetDupMtlNameAction, SetDupMtlNameAction, TYPE_ENUM) | |
FN_1 (kfpGetRecord, TYPE_INTERFACE, GetRecord, TYPE_INDEX) | |
FN_1 (kfpFindRecord, TYPE_INTERFACE, FindRecord, TYPE_DWORD) | |
FN_1 (kfpRemoveRecordFromScene, TYPE_bool, FPRemoveRecordFromScene, TYPE_INTERFACE) | |
FN_1 (kfpMergeRecordIntoScene, TYPE_bool, FPMergeRecordIntoScene, TYPE_INTERFACE) | |
FN_2 (kfpSetRecordSrcFile, TYPE_bool, FPSetRecordSrcFile, TYPE_INTERFACE, TYPE_FILENAME) | |
FN_0 (kfpUpdateAllRecords, TYPE_bool, UpdateAllRecords) | |
FN_2 (kfpSetXRefItemSrcName, TYPE_bool, SetXRefItemSrcName, TYPE_REFTARG_BR, TYPE_STRING) | |
FN_2 (kfpSetProxyItemSrcName, TYPE_bool, SetProxyItemSrcName, TYPE_REFTARG_BR, TYPE_STRING) | |
FN_2 (kfpSetXRefItemSrcFile, TYPE_bool, FPSetXRefItemSrcFile, TYPE_REFTARG_BR, TYPE_FILENAME) | |
FN_2 (kfpSetProxyItemSrcFile, TYPE_bool, FPSetProxyItemSrcFile, TYPE_REFTARG_BR, TYPE_FILENAME) | |
FN_1 (kfpRemoveXRefsFromScene, TYPE_bool, RemoveXRefItemsFromScene, TYPE_REFTARG_TAB_BR) | |
FN_1 (kfpMergeXRefsIntoScene, TYPE_bool, MergeXRefItemsIntoScene, TYPE_REFTARG_TAB_BR) | |
FN_3 (kfpAddXRefItemsToXRefRecord, TYPE_bool, FPAddXRefItemsToXRefRecord, TYPE_INTERFACE, TYPE_bool, TYPE_STRING_TAB) | |
FN_5 (kfpAddXRefItemsFromFile, TYPE_INTERFACE, FPAddXRefItemsFromFile, TYPE_FILENAME, TYPE_bool, TYPE_STRING_TAB, TYPE_INT64_TAB, TYPE_ENUM_TAB_BR) | |
FN_2 (kfpCanCombineRecords, TYPE_bool, FPCanCombineRecords, TYPE_INTERFACE, TYPE_INTERFACE) | |
FN_1 (kfpCombineRecords, TYPE_INTERFACE, FPCombineRecords, TYPE_INTERFACE_TAB_BR) | |
VFN_1 (kfpApplyXRefMaterialsToXRefObjects, ApplyXRefMaterialsToXRefObjects, TYPE_REFTARG_TAB_BR) | |
FN_1 (kfpIsNodeXRefed, TYPE_INTERFACE, FPIsNodeXRefed, TYPE_INODE) | |
VFN_1 (kfpApplyXRefControllersToXRefObjects, ApplyXRefControllersToXRefObjects, TYPE_REFTARG_TAB_BR) | |
FN_1 (kfpResetXRefControllersPRSOffset, TYPE_bool, ResetXRefControllersPRSOffset, TYPE_REFTARG_TAB_BR) | |
FN_1 (kfpCanResetXRefControllersPRSOffset, TYPE_bool, CanResetXRefControllersPRSOffset, TYPE_REFTARG_BR) | |
PROP_FNS (kfpGetMergeTransforms, GetMergeTransforms, kfpSetMergeTransforms, SetMergeTransforms, TYPE_bool) | |
PROP_FNS (kfpGetMergeMaterials, GetMergeMaterials, kfpSetMergeMaterials, SetMergeMaterials, TYPE_bool) | |
PROP_FNS (kfpGetMergeManipulators, GetMergeManipulators, kfpSetMergeManipulators, SetMergeManipulators, TYPE_bool) | |
PROP_FNS (kfpGetMergeModifiers, GetMergeModifiers, kfpSetMergeModifiers, SetMergeModifiers, TYPE_ENUM) | |
PROP_FNS (kfpGetIncludeAll, GetIncludeAll, kfpSetIncludeAll, SetIncludeAll, TYPE_bool) | |
PROP_FNS (kfpGetAutoUpdate, GetAutoUpdate, kfpSetAutoUpdate, SetAutoUpdate, TYPE_bool) | |
XRef Record Management | |
Retrieves the number of object xref records | |
virtual unsigned int | RecordCount () const =0 |
virtual IObjXRefRecord * | GetRecord (unsigned int i) const =0 |
Retrieves the i-th xref record. | |
virtual IObjXRefRecord * | FindRecord (XRefRecordHandle xrefRecHandle) const =0 |
Retrieves an xref record based on its unique handle. | |
virtual bool | CanCombineRecords (const IObjXRefRecord &firstRecord, const IObjXRefRecord &secondRecord) const =0 |
Determines whether two xref records can be combined. | |
virtual IObjXRefRecord * | CombineRecords (Tab< IObjXRefRecord * > &xrefRecords)=0 |
Combines several xref records into one single record. | |
virtual bool | RemoveRecordFromScene (const IObjXRefRecord &xrefRecord)=0 |
Removes an xref record from the scene. | |
virtual bool | MergeRecordIntoScene (const IObjXRefRecord &xrefRecord)=0 |
Merges an xref record into the scene. | |
virtual bool | SetRecordSrcFile (IObjXRefRecord &xrefRecord, const MaxSDK::AssetManagement::AssetUser &srcFileName)=0 |
Sets a new file path and name for the specified xref record. | |
virtual bool | UpdateAllRecords ()=0 |
Updates all xref records. | |
XRef Item Management | |
XRefs objects from the specified source file. | |
virtual IObjXRefRecord * | AddXRefItemsFromFile (const MaxSDK::AssetManagement::AssetUser &srcFileName, bool promptObjNames, const Tab< const TCHAR * > *objNames, unsigned int xrefOptions, const Tab< INT64 > *nodeHandles=nullptr)=0 |
This method allows for xrefing scene entities from the specified source file. | |
virtual bool | AddXRefItemsToXRefRecord (IObjXRefRecord &xrefRecord, bool promptObjNames, const Tab< const MCHAR * > *objNames)=0 |
Adds new xref items to an existent xref record from the record's source file. | |
virtual bool | RemoveXRefItemsFromScene (const Tab< ReferenceTarget * > &xrefItems)=0 |
Removes the specified xref items from the scene. | |
virtual bool | MergeXRefItemsIntoScene (const Tab< ReferenceTarget * > &xrefItems)=0 |
Merges the specified xref items into the scene. | |
virtual void | ApplyXRefMaterialsToXRefObjects (const Tab< ReferenceTarget * > &objectXRefItems)=0 |
Applies or re-applies an xref material to a list of xref objects and reset its overide material. | |
virtual void | ApplyXRefControllersToXRefObjects (const Tab< ReferenceTarget * > &objectXRefItems)=0 |
Applies or re-applies an xref controller to a list of xref objects. | |
virtual bool | CanResetXRefControllersPRSOffset (ReferenceTarget &inXRefItem) const =0 |
Determines whether an Item can have its Offset matrix being reset. | |
virtual bool | ResetXRefControllersPRSOffset (const Tab< ReferenceTarget * > &inXRefItems)=0 |
Set XRef controllers' offset matrix back to identity, and if any, set the corresponding source controller's transformation matrix accordingly. | |
virtual bool | SetXRefItemSrcName (ReferenceTarget &xrefItem, const MCHAR *srcItemName)=0 |
Sets a new scene entity for the specified xref item. | |
virtual bool | SetProxyItemSrcName (ReferenceTarget &xrefProxy, const MCHAR *proxyName)=0 |
Sets a new scene entity for the specified xref proxy. | |
virtual bool | SetXRefItemSrcFile (ReferenceTarget &xrefItem, const MaxSDK::AssetManagement::AssetUser &srcAsset)=0 |
Sets a new file for the specified xref item. | |
virtual bool | SetProxyItemSrcFile (ReferenceTarget &xrefProxy, const MaxSDK::AssetManagement::AssetUser &proxyAsset)=0 |
Sets a new file for the specified xref proxy. | |
Miscellaneous | |
Gets the action taken during xrefing when a source object has a name that is already used by a main scene object. | |
virtual unsigned int | GetDupObjNameAction () const =0 |
virtual void | SetDupObjNameAction (unsigned int action)=0 |
Sets the action to be taken during xrefing when a source object has a name that is already used by a main scene object. | |
virtual unsigned int | GetDupMtlNameAction () const =0 |
Gets the action taken during xrefing when a source material has a name that is already used by a main scene material. | |
virtual void | SetDupMtlNameAction (unsigned int action)=0 |
Gets the action taken during xrefing when a source material has a name that is already used by a main scene material. | |
virtual IXRefObject8 * | IsNodeXRefed (INode &node) const =0 |
Determines if a node is xrefed. | |
XRef options | |
These functions affect the default settings for creating records through the UI.
SDK or maxscript methods to create xrefs (
Sets the option of merging the transform controller of nodes when xrefing objects. | |
virtual void | SetMergeTransforms (bool in_merge)=0 |
Merged controllers (as opposed to xref'd controllers) will be accessible and modifiable in the main scene. | |
virtual bool | GetMergeTransforms () const =0 |
Returns the current setting of whether the transform controllers of nodes are merged when xrefing objects. | |
virtual void | SetMergeMaterials (bool in_merge)=0 |
Sets the option of merging the materials of nodes when xrefing objects. | |
virtual bool | GetMergeMaterials () const =0 |
Returns the option of merging the material of nodes when xrefing objects. | |
virtual void | SetMergeManipulators (bool in_merge)=0 |
Sets the option of merging the manipulators of nodes when xrefing objects. | |
virtual bool | GetMergeManipulators () const =0 |
Returns the option of merging manipulators when xrefing objects. | |
virtual void | SetMergeModifiers (int in_merge)=0 |
Sets the option of merging the modifiers of nodes when xrefing objects. | |
virtual int | GetMergeModifiers () const =0 |
Sets the handling of modifiers of nodes when xrefing objects. | |
virtual void | SetIncludeAll (bool in_include)=0 |
Sets whether all nodes of a file will be added to a new xref record. | |
virtual bool | GetIncludeAll () const =0 |
Returns the option of whether all nodes of a file will be added to a new xref record. | |
virtual void | SetAutoUpdate (bool in_autoUpdate)=0 |
Sets whether the content of the xref record will update on source file update. | |
virtual bool | GetAutoUpdate () const =0 |
Returns the option of whether the content of the xref record will update on source file update. | |
![]() | |
CoreExport | FPInterfaceDesc () |
CoreExport | FPInterfaceDesc (Interface_ID id, const MCHAR *int_name, StringResID descr, ClassDesc *cd, ULONG flag,...) |
CoreExport | ~FPInterfaceDesc () |
virtual void | Init () |
LifetimeType | LifetimeControl () |
virtual BaseInterface * | GetInterface (Interface_ID id) |
CoreExport void | LoadDescriptor (Interface_ID id, const MCHAR *int_name, StringResID descr, ClassDesc *pCD, ULONG flag,...) |
CoreExport void | AppendFunction (int id,...) |
Add a new function to this interface descriptor. | |
CoreExport void | AppendProperty (int id,...) |
Add a new property to this interface descriptor. | |
CoreExport void | AppendEnum (int id,...) |
Add a new enum to this interface descriptor. | |
CoreExport void | SetClassDesc (ClassDesc *i_cd) |
CoreExport va_list | check_fn (va_list ap, int id) |
CoreExport va_list | scan_fn (va_list ap, int id, int index) |
CoreExport va_list | check_prop (va_list ap, int id) |
CoreExport va_list | scan_prop (va_list ap, int id, int index) |
CoreExport va_list | check_enum (va_list ap, EnumID id) |
CoreExport va_list | scan_enum (va_list ap, EnumID id, int index) |
FPInterfaceDesc * | GetDesc () |
Interface_ID | GetID () |
CoreExport FPFunctionDef * | GetFnDef (FunctionID fid) |
ActionTable * | GetActionTable () |
CoreExport void | EnableActions (BOOL onOff) |
virtual CoreExport HINSTANCE | HInstance () |
virtual CoreExport const MCHAR * | GetRsrcString (StringResID id) |
![]() | |
virtual BaseInterface * | GetInterface (Interface_ID id) |
virtual FPInterfaceDesc * | GetDesc ()=0 |
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. | |
UtilExport BaseInterface * | GetInterface (Interface_ID id) override |
virtual UtilExport Interface_ID | GetID () |
virtual LifetimeType | LifetimeControl () |
virtual bool | RegisterNotifyCallback (InterfaceNotifyCallback *incb) |
virtual void | UnRegisterNotifyCallback (InterfaceNotifyCallback *incb) |
virtual BaseInterface * | AcquireInterface () |
virtual void | ReleaseInterface () |
virtual void | DeleteInterface () |
virtual BaseInterface * | CloneInterface (void *remapDir=nullptr) |
![]() | |
virtual UtilExport | ~InterfaceServer () |
Destructor. | |
virtual UtilExport BaseInterface * | GetInterface (Interface_ID id) |
template<class InterfaceType > | |
InterfaceType * | GetTypedInterface () |
Static Public Member Functions | |
static IObjXRefManager8 * | GetInstance () |
Retrieves a pointer to the IObjXRefManager8 interface. | |
![]() | |
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. | |
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. | |
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. | |
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. | |
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. | |
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. | |
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. | |
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. | |
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. | |
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. | |
static UtilExport void * | operator new[] (size_t size, int block_type, const char *filename, int line) |
New operator used to allocate arrays of objects. | |
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. | |
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. | |
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. | |
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. | |
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. | |
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. | |
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. | |
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. | |
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. | |
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. | |
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. | |
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. | |
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. | |
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. | |
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. | |
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. | |
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. | |
static UtilExport void * | operator new (size_t size, void *placement_ptr) |
Placement new operator. | |
static UtilExport void | operator delete (void *ptr, void *placement_ptr) |
Placement delete operator. | |
static UtilExport void * | aligned_malloc (size_t size, size_t alignment) |
Allocates memory on a specified alignment boundary. | |
static UtilExport void * | aligned_realloc (void *ptr, size_t size, size_t alignment) |
Reallocates memory on a specified alignment boundary. | |
static UtilExport void | aligned_free (void *ptr) |
Frees a block of memory that was allocated with aligned_malloc/aligned_realloc. | |
Additional Inherited Members | |
![]() | |
Interface_ID | ID |
MSTR | internal_name |
StringResID | description |
ClassDesc * | cd |
USHORT | flags |
Tab< FPFunctionDef * > | functions |
Tab< FPPropDef * > | props |
Tab< FPEnum * > | enumerations |
MSPluginClass * | pc |
Rollout * | rollout |
ActionTable * | action_table |
![]() | |
static CoreExport FPInterfaceDesc | nullInterface |
![]() | |
CoreExport void | load_descriptor (Interface_ID id, const MCHAR *int_name, StringResID descr, ClassDesc *cd, USHORT flag, va_list ap) |
![]() | |
virtual FPStatus | _dispatch_fn (FunctionID fid, TimeValue t, FPValue &result, FPParams *p) |
Class for managing object xrefs.
This interface allows for creating, destroying and managing xref records and xref items. Scene entities such as objects and materials must be xrefed using methods of this interface. Information related to xref operation and the xref items (IXRefItem) themselves are stored in xref records (IObjXRefRecord). The object xref manager must also be used for modifying and deleting xref items and records, in order to ensure the consistency and validity of the remaining xref data. This interface is implemented by the system (3ds max). To obtain a pointer to the object xref manager, call IObjXRefManager8::GetInstace()
Terms used with xrefs:
anonymous enum |
Function IDs used by function publishing.
enum FPEnums |
IDs of enumeration types used by function published methods.
Enumerator | |
---|---|
kfpXrefOptions | |
kfpDupNodeNameActions | |
kfpDupMaterialNameActions | |
kfpXrefModifierOptions |
|
pure virtual |
|
pure virtual |
Retrieves the i-th xref record.
[in] | i | - The index of the xref record to retrieve. |
|
pure virtual |
Retrieves an xref record based on its unique handle.
[in] | xrefRecHandle | - The xref record handle based on which to retrieve an xref record. |
|
pure virtual |
Determines whether two xref records can be combined.
The specified xref records must meet the following criteria:
[in] | firstRecord | - The first record to be combined with the second one |
[in] | secondRecord | - The second record to be combined with the first one |
|
pure virtual |
Combines several xref records into one single record.
The xref items of all xref records that meet the criteria described at IObjXRefManager8::CanCombineRecords will be combined into the first xref record in the list that is a top level xref record. All resulting empty xref records will be deleted.
[in] | xrefRecords | - The xref records to be combined. |
|
pure virtual |
Removes an xref record from the scene.
All xref items of this record are removed from the scene and the record is destroyed.
[in] | xrefRecord | - The xref record to be removed |
|
pure virtual |
Merges an xref record into the scene.
All xref items of this record are merged into the scene and the record is destroyed.
[in] | xrefRecord | - The xref record to be merged |
|
pure virtual |
Sets a new file path and name for the specified xref record.
Call this method in order to change the source file of all xref items within a top-level (non-nested) xref record.
[in] | xrefRecord | - The top-level xref record to be changed. This xref record becomes invalid once this method returns, thus client code should not try to use it. |
[in] | srcFileName | - The path and name of the new source file. Must be a non-empty string. This method checks that the supplied file path and name is valid for xrefing. |
|
pure virtual |
Updates all xref records.
This method updates the up-to-date state of all xref records that are enabled and not auto-updating. Then it reloads all the records that are out-of-date, bringing them all up-to-date. Nested records are also reloaded.
|
pure virtual |
This method allows for xrefing scene entities from the specified source file.
The resulting xref items are stored in a new xref record. The xrefing of scene entities is driven by object names. Currently only objects and materials applied to objects can be xrefed. In order to xref objects from the source file, their names need to be specified via the objNames parameter. In order to xref all objects from the specified file, turn off prompting for objects to be xrefed and pass no object names (pass NULL as objNames or an empty list). This method uses the path resolution rules implemented by IPathConfigMgr::GetFullFilePath to resolve the supplied path for the source file name. It also checks whether the source file is valid for xrefing: it is not xrefed already directly or indirectly (as a nested xref record).
[in] | srcFileName | - The path and name of the file the objects to be xrefed live in. |
[in] | promptObjNames | - If true, the user can interactively specify the objects to get xrefed, and the objNames parameter is ignored. If false, the objNames parameter controls what gets xrefed. |
[in] | objNames | - A list with names of objects (nodes) to xref. If no names are specified or this parameter is NULL, the promptObjNames parameter controls the behaviour of the method. |
[in] | xrefOptions | - Options gouverning how objects are xrefed. See Object Xref Options for a full list of available options. |
[in] | nodeHandles | - A list with handleIds of objects (nodes) to xref. |
|
pure virtual |
Adds new xref items to an existent xref record from the record's source file.
In order to xref only certain objects, specify their name via the objNames parameter. In order to xref all objects not xrefed yet, leave the objNames parameter NULL. The xref options and the source file name of the specified xref record are used to create the new xref objects. New xref items can be added only to top-level xref records that are resolved (not unresolved). See IObjXRefRecord for a discussion of nested xref records.
[in] | xrefRecord- | The xref record to which the new xref objects will be added |
[in] | promptObjNames | - If true, the user can interactively specify the objects to get xrefed, and the objNames parameter is ignored. If false, the objNames parameter controls what gets xrefed. |
[in] | objNames | - A list with names of objects (nodes) to xref. If no names are specified or this parameter is NULL, all objects in the source file that aren't xrefed yet will get xrefed. Otherwise, the specified objects are xrefed only, whether already xrefed or not. |
|
pure virtual |
Removes the specified xref items from the scene.
This method simplifies the task of removing several xref items at once.
[in] | xrefItems | - The xref items to be removed from the scene |
|
pure virtual |
Merges the specified xref items into the scene.
This method merges the source scene entities of the specified xref items into the current scene by.
[in] | xrefItems | - The xref items to be merged into the scene |
|
pure virtual |
Applies or re-applies an xref material to a list of xref objects and reset its overide material.
This method iterates through the list of xref objects and applies/re-applies an xref material on each node that references each object. The override material of xref material is reset as well. The xref material that is applied will reference the material on the xref object's source. If an appropriate xref material already exists in the record that contains the xref object, it is re-used; otherwise, a new xref material is created and added to the record. Note: If the source object has no material, then this method will remove any existing material on the xref object's nodes.
[in] | objectXRefItems | - The xref objects on which the xref material is to be applied. |
|
pure virtual |
Applies or re-applies an xref controller to a list of xref objects.
This method iterates through the list of xref objects and applies/re-applies an xref controller on each node that references each object. The xref controller that is applied will reference the controller on the xref object's source. If an appropriate xref controller already exists in the record that contains the xref object, it is re-used; otherwise, a new xref controller is created and added to the record.
objectXRefItems | - The xref objects on which the xref controller is to be applied. |
|
pure virtual |
Determines whether an Item can have its Offset matrix being reset.
For this to be true, the given xref item must meet the following criteria:
inXRefItem | - The XRef item we want to test against. |
|
pure virtual |
Set XRef controllers' offset matrix back to identity, and if any, set the corresponding source controller's transformation matrix accordingly.
This method iterates through the list of XRef items, and for any non-nested XRef controller that is found, it will set its offset matrix back to identity. If the XRef controller is resolved, i.e. it has a source controller, it will also set this one's transformation matrix accordingly.
inXRefItems | - Collected set of XRef items. |
|
pure virtual |
Sets a new scene entity for the specified xref item.
Call this method in order to change the source scene entity being xrefed by an xref item. The specified scene entity will be xrefed from the scene the xref record owning the the specified xref item is pointing to.
[in] | xrefItem | - The xref item to be changed. XRef Atmospherics should not be passed as parameter. |
[in] | srcItemName | - The name of the new source entity. Must be a non-empty string |
|
pure virtual |
Sets a new scene entity for the specified xref proxy.
Call this method in order to change the proxy scene entity being xrefed by an xref proxy. The specified scene entity will be xrefed from the scene the xref record owning the the specified xref proxy is pointing to.
[in] | xrefProxy | - The xref proxy to be changed. |
[in] | proxyName | - The name of the new proxy scene entity. Must be a non-empty string |
|
pure virtual |
Sets a new file for the specified xref item.
Call this method in order to change the source file a scene entity is xrefed from. Xref records could be removed if they become empty as a result of executing this method.
[in] | xrefItem | - The xref item to be changed. |
[in] | srcAsset | - The new source file. This method checks that the supplied file is valid for xrefing. |
|
pure virtual |
Sets a new file for the specified xref proxy.
Call this method in order to change the file a proxy scene entity is xrefed from. Xref records could be removed if they become empty as a result of executing this method.
[in] | xrefProxy | - The xref proxy to be changed. |
[in] | proxyAsset | - The new proxy file. This method checks that the supplied file is valid for xrefing. |
|
pure virtual |
Sets the action to be taken during xrefing when a source object has a name that is already used by a main scene object.
[in] | action | - One of the action values listed under Duplicate Node Name Actions |
|
pure virtual |
Gets the action taken during xrefing when a source material has a name that is already used by a main scene material.
Gets the action taken during xrefing when a source material has a name that is already used by a main scene material.
[in] | action | - One of the action values listed under Duplicate Material Name Actions |
|
pure virtual |
Determines if a node is xrefed.
A node is considered to be xrefed if any part of it's geometry pipeline is xrefed.
[in] | node | - The node to be checked whether it's an xref |
|
pure virtual |
Merged controllers (as opposed to xref'd controllers) will be accessible and modifiable in the main scene.
Some references between merged and xref'd items of xref'd nodes may be lost.
[in] | in_merge | - whether nodes will have merged controllers in the main scene. |
|
pure virtual |
Returns the current setting of whether the transform controllers of nodes are merged when xrefing objects.
|
pure virtual |
Sets the option of merging the materials of nodes when xrefing objects.
Merged materials (as opposed to xref'd materials) will be accessible and modifiable in the main scene. Some references between merged and xref'd items of xref'd nodes may be lost.
[in] | in_merge | - whether nodes will have merged materials in the main scene. |
|
pure virtual |
Returns the option of merging the material of nodes when xrefing objects.
|
pure virtual |
Sets the option of merging the manipulators of nodes when xrefing objects.
Merged manipulators (as opposed to xrefed manipulators) will be accessible and modifiable in the main scene. Some references between merged and xrefed items of xref'd nodes may be lost.
[in] | in_merge | - whether nodes will have merged manipulators in the main scene. |
|
pure virtual |
Returns the option of merging manipulators when xrefing objects.
Sets the option of merging the modifiers of nodes when xrefing objects.
Merged modifiers (as opposed to xref'd modifiers) will be accessible and modifiable in the main scene. Some references between merged and xref'd items of xref'd nodes may be lost.
[in] | in_merge | - how modifiers will appear in the main scene. Possible values are (Object Xref Options ):
|
|
pure virtual |
Sets the handling of modifiers of nodes when xrefing objects.
|
pure virtual |
Sets whether all nodes of a file will be added to a new xref record.
Sets whether all nodes of a file will be added to a new xref record, or if the user will pick among the nodes in that scene through a dialog.
[in] | in_include | - whether all nodes will be added to the record. |
|
pure virtual |
Returns the option of whether all nodes of a file will be added to a new xref record.
|
pure virtual |
Sets whether the content of the xref record will update on source file update.
Sets whether the content of the xref record will update on source file update or only on demand.
[in] | in_autoUpdate | - whether the record udpdates automatically or on demand. |
|
pure virtual |
Returns the option of whether the content of the xref record will update on source file update.
|
inlinestatic |
Retrieves a pointer to the IObjXRefManager8 interface.
RO_PROP_FN | ( | kfpRecordCount | , |
RecordCount | , | ||
TYPE_DWORD | |||
) |
PROP_FNS | ( | kfpGetDupObjNameAction | , |
GetDupObjNameAction | , | ||
kfpSetDupObjNameAction | , | ||
SetDupObjNameAction | , | ||
TYPE_ENUM | |||
) |
PROP_FNS | ( | kfpGetDupMtlNameAction | , |
GetDupMtlNameAction | , | ||
kfpSetDupMtlNameAction | , | ||
SetDupMtlNameAction | , | ||
TYPE_ENUM | |||
) |
FN_1 | ( | kfpGetRecord | , |
TYPE_INTERFACE | , | ||
GetRecord | , | ||
TYPE_INDEX | |||
) |
FN_1 | ( | kfpFindRecord | , |
TYPE_INTERFACE | , | ||
FindRecord | , | ||
TYPE_DWORD | |||
) |
FN_1 | ( | kfpRemoveRecordFromScene | , |
TYPE_bool | , | ||
FPRemoveRecordFromScene | , | ||
TYPE_INTERFACE | |||
) |
FN_1 | ( | kfpMergeRecordIntoScene | , |
TYPE_bool | , | ||
FPMergeRecordIntoScene | , | ||
TYPE_INTERFACE | |||
) |
FN_2 | ( | kfpSetRecordSrcFile | , |
TYPE_bool | , | ||
FPSetRecordSrcFile | , | ||
TYPE_INTERFACE | , | ||
TYPE_FILENAME | |||
) |
FN_0 | ( | kfpUpdateAllRecords | , |
TYPE_bool | , | ||
UpdateAllRecords | |||
) |
FN_2 | ( | kfpSetXRefItemSrcName | , |
TYPE_bool | , | ||
SetXRefItemSrcName | , | ||
TYPE_REFTARG_BR | , | ||
TYPE_STRING | |||
) |
FN_2 | ( | kfpSetProxyItemSrcName | , |
TYPE_bool | , | ||
SetProxyItemSrcName | , | ||
TYPE_REFTARG_BR | , | ||
TYPE_STRING | |||
) |
FN_2 | ( | kfpSetXRefItemSrcFile | , |
TYPE_bool | , | ||
FPSetXRefItemSrcFile | , | ||
TYPE_REFTARG_BR | , | ||
TYPE_FILENAME | |||
) |
FN_2 | ( | kfpSetProxyItemSrcFile | , |
TYPE_bool | , | ||
FPSetProxyItemSrcFile | , | ||
TYPE_REFTARG_BR | , | ||
TYPE_FILENAME | |||
) |
FN_3 | ( | kfpAddXRefItemsToXRefRecord | , |
TYPE_bool | , | ||
FPAddXRefItemsToXRefRecord | , | ||
TYPE_INTERFACE | , | ||
TYPE_bool | , | ||
TYPE_STRING_TAB | |||
) |
FN_5 | ( | kfpAddXRefItemsFromFile | , |
TYPE_INTERFACE | , | ||
FPAddXRefItemsFromFile | , | ||
TYPE_FILENAME | , | ||
TYPE_bool | , | ||
TYPE_STRING_TAB | , | ||
TYPE_INT64_TAB | , | ||
TYPE_ENUM_TAB_BR | |||
) |
FN_2 | ( | kfpCanCombineRecords | , |
TYPE_bool | , | ||
FPCanCombineRecords | , | ||
TYPE_INTERFACE | , | ||
TYPE_INTERFACE | |||
) |
FN_1 | ( | kfpCombineRecords | , |
TYPE_INTERFACE | , | ||
FPCombineRecords | , | ||
TYPE_INTERFACE_TAB_BR | |||
) |
VFN_1 | ( | kfpApplyXRefMaterialsToXRefObjects | , |
ApplyXRefMaterialsToXRefObjects | , | ||
TYPE_REFTARG_TAB_BR | |||
) |
FN_1 | ( | kfpIsNodeXRefed | , |
TYPE_INTERFACE | , | ||
FPIsNodeXRefed | , | ||
TYPE_INODE | |||
) |
VFN_1 | ( | kfpApplyXRefControllersToXRefObjects | , |
ApplyXRefControllersToXRefObjects | , | ||
TYPE_REFTARG_TAB_BR | |||
) |
FN_1 | ( | kfpResetXRefControllersPRSOffset | , |
TYPE_bool | , | ||
ResetXRefControllersPRSOffset | , | ||
TYPE_REFTARG_TAB_BR | |||
) |
FN_1 | ( | kfpCanResetXRefControllersPRSOffset | , |
TYPE_bool | , | ||
CanResetXRefControllersPRSOffset | , | ||
TYPE_REFTARG_BR | |||
) |
PROP_FNS | ( | kfpGetMergeTransforms | , |
GetMergeTransforms | , | ||
kfpSetMergeTransforms | , | ||
SetMergeTransforms | , | ||
TYPE_bool | |||
) |
PROP_FNS | ( | kfpGetMergeMaterials | , |
GetMergeMaterials | , | ||
kfpSetMergeMaterials | , | ||
SetMergeMaterials | , | ||
TYPE_bool | |||
) |
PROP_FNS | ( | kfpGetMergeManipulators | , |
GetMergeManipulators | , | ||
kfpSetMergeManipulators | , | ||
SetMergeManipulators | , | ||
TYPE_bool | |||
) |
PROP_FNS | ( | kfpGetMergeModifiers | , |
GetMergeModifiers | , | ||
kfpSetMergeModifiers | , | ||
SetMergeModifiers | , | ||
TYPE_ENUM | |||
) |
PROP_FNS | ( | kfpGetIncludeAll | , |
GetIncludeAll | , | ||
kfpSetIncludeAll | , | ||
SetIncludeAll | , | ||
TYPE_bool | |||
) |
PROP_FNS | ( | kfpGetAutoUpdate | , |
GetAutoUpdate | , | ||
kfpSetAutoUpdate | , | ||
SetAutoUpdate | , | ||
TYPE_bool | |||
) |