This reference page is linked to from the following overview topics: XRef Scenes and Objects.
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:
#include <iXRefObjMgr8.h>
Public Types |
|
enum | { kfpRecordCount, kfpGetRecord, kfpFindRecord, kfpRemoveRecordFromScene, kfpMergeRecordIntoScene, kfpSetRecordSrcFile, kfpUpdateAllRecords, kfpSetXRefItemSrcName, kfpSetProxyItemSrcName, kfpSetXRefItemSrcFile, kfpSetProxyItemSrcFile, kfpRemoveXRefsFromScene, kfpMergeXRefsIntoScene, kfpAddXRefItemsToXRefRecord, kfpAddXRefItemsFromFile, kfpCanCombineRecords, kfpCombineRecords, kfpApplyXRefMaterialsToXRefObjects, kfpGetDupObjNameAction, kfpSetDupObjNameAction, kfpGetDupMtlNameAction, kfpSetDupMtlNameAction, kfpIsNodeXRefed, kfpApplyXRefControllersToXRefObjects, kfpResetXRefControllersPRSOffset, kfpCanResetXRefControllersPRSOffset, kfpGetMergeTransforms, kfpSetMergeTransforms, kfpGetMergeMaterials, kfpSetMergeMaterials, kfpGetMergeManipulators, kfpSetMergeManipulators, kfpGetMergeModifiers, kfpSetMergeModifiers, kfpGetIncludeAll, kfpSetIncludeAll, kfpGetAutoUpdate, kfpSetAutoUpdate } |
Function IDs used by function publishing. More... |
|
enum | FPEnums { kfpXrefOptions, kfpDupNodeNameActions, kfpDupMaterialNameActions, kfpXrefModifierOptions } |
IDs of enumeration types used by function published methods. More... |
|
Public Member Functions |
|
BEGIN_FUNCTION_MAP | 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_4 (kfpAddXRefItemsFromFile, TYPE_INTERFACE, FPAddXRefItemsFromFile, TYPE_FILENAME, TYPE_bool, TYPE_STRING_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
|
|
virtual unsigned int | RecordCount () const =0 |
Retrieves the number of object xref records.
|
|
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
|
|
virtual IObjXRefRecord * | AddXRefItemsFromFile (const MaxSDK::AssetManagement::AssetUser &srcFileName, bool promptObjNames, const Tab< MCHAR * > *objNames, unsigned int xrefOptions)=0 |
XRefs objects from the specified source
file. |
|
virtual bool | AddXRefItemsToXRefRecord (IObjXRefRecord &xrefRecord, bool promptObjNames, const Tab< 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. |
|
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
|
|
virtual unsigned int | GetDupObjNameAction () const =0 |
Gets the action taken during xrefing when a
source object has a name that is already used by a master scene
object. |
|
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 master
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 master 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 master 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 (
|
|
virtual void | SetMergeTransforms (bool in_merge)=0 |
Sets the option of merging the transform
controller of nodes when xrefing objects. |
|
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 the material
of nodes 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 merging the material
of nodes when xrefing objects. |
|
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 merging the material
of nodes when xrefing objects. |
|
Static Public Member Functions |
|
static IObjXRefManager8 * | GetInstance () |
Retrieves a pointer to the IObjXRefManager8 interface.
|
anonymous enum |
Function IDs used by function publishing.
{ kfpRecordCount, kfpGetRecord, kfpFindRecord, kfpRemoveRecordFromScene, kfpMergeRecordIntoScene, kfpSetRecordSrcFile, kfpUpdateAllRecords, kfpSetXRefItemSrcName, kfpSetProxyItemSrcName, kfpSetXRefItemSrcFile, kfpSetProxyItemSrcFile, kfpRemoveXRefsFromScene, kfpMergeXRefsIntoScene, kfpAddXRefItemsToXRefRecord, kfpAddXRefItemsFromFile, kfpCanCombineRecords, kfpCombineRecords, kfpApplyXRefMaterialsToXRefObjects, kfpGetDupObjNameAction, kfpSetDupObjNameAction, kfpGetDupMtlNameAction, kfpSetDupMtlNameAction, kfpIsNodeXRefed, kfpApplyXRefControllersToXRefObjects, kfpResetXRefControllersPRSOffset, kfpCanResetXRefControllersPRSOffset, // Nicolas Leonard April 5, 06 kfpGetMergeTransforms, kfpSetMergeTransforms, kfpGetMergeMaterials, kfpSetMergeMaterials, kfpGetMergeManipulators, kfpSetMergeManipulators, kfpGetMergeModifiers, kfpSetMergeModifiers, kfpGetIncludeAll, kfpSetIncludeAll, kfpGetAutoUpdate, kfpSetAutoUpdate, };
enum FPEnums |
IDs of enumeration types used by function published methods.
virtual unsigned int RecordCount | ( | ) | const [pure virtual] |
Retrieves the number of object xref records.
virtual IObjXRefRecord* GetRecord | ( | unsigned int | i | ) | const [pure virtual] |
Retrieves the i-th xref record.
[in] | i | - The index of the xref record to retrieve. |
virtual IObjXRefRecord* FindRecord | ( | XRefRecordHandle | xrefRecHandle | ) | const [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. |
virtual bool CanCombineRecords | ( | const IObjXRefRecord & | firstRecord, |
const IObjXRefRecord & | secondRecord | ||
) | const [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 |
virtual IObjXRefRecord* CombineRecords | ( | Tab< IObjXRefRecord * > & | xrefRecords | ) | [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. |
virtual bool RemoveRecordFromScene | ( | const IObjXRefRecord & | xrefRecord | ) | [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 |
virtual bool MergeRecordIntoScene | ( | const IObjXRefRecord & | xrefRecord | ) | [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 |
virtual bool SetRecordSrcFile | ( | IObjXRefRecord & | xrefRecord, |
const MaxSDK::AssetManagement::AssetUser & | srcFileName | ||
) | [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. |
virtual bool UpdateAllRecords | ( | ) | [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.
virtual IObjXRefRecord* AddXRefItemsFromFile | ( | const MaxSDK::AssetManagement::AssetUser & | srcFileName, |
bool | promptObjNames, | ||
const Tab< MCHAR * > * | objNames, | ||
unsigned int | xrefOptions | ||
) | [pure virtual] |
XRefs objects from the specified source file.
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. |
virtual bool AddXRefItemsToXRefRecord | ( | IObjXRefRecord & | xrefRecord, |
bool | promptObjNames, | ||
const Tab< MCHAR * > * | objNames | ||
) | [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. |
virtual bool RemoveXRefItemsFromScene | ( | const Tab< ReferenceTarget * > & | xrefItems | ) | [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 |
virtual bool MergeXRefItemsIntoScene | ( | const Tab< ReferenceTarget * > & | xrefItems | ) | [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 |
virtual void ApplyXRefMaterialsToXRefObjects | ( | const Tab< ReferenceTarget * > & | objectXRefItems | ) | [pure virtual] |
Applies or re-applies an xref material to a list of xref objects.
This method iterates through the list of xref objects and applies/re-applies an xref material on each node that references each object. 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. |
virtual void ApplyXRefControllersToXRefObjects | ( | const Tab< ReferenceTarget * > & | objectXRefItems | ) | [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. |
virtual bool CanResetXRefControllersPRSOffset | ( | ReferenceTarget & | inXRefItem | ) | const [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. |
virtual bool ResetXRefControllersPRSOffset | ( | const Tab< ReferenceTarget * > & | inXRefItems | ) | [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. |
virtual bool SetXRefItemSrcName | ( | ReferenceTarget & | xrefItem, |
const MCHAR * | srcItemName | ||
) | [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 |
virtual bool SetProxyItemSrcName | ( | ReferenceTarget & | xrefProxy, |
const MCHAR * | proxyName | ||
) | [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 |
virtual bool SetXRefItemSrcFile | ( | ReferenceTarget & | xrefItem, |
const MaxSDK::AssetManagement::AssetUser & | srcAsset | ||
) | [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. |
virtual bool SetProxyItemSrcFile | ( | ReferenceTarget & | xrefProxy, |
const MaxSDK::AssetManagement::AssetUser & | proxyAsset | ||
) | [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. |
virtual unsigned int GetDupObjNameAction | ( | ) | const [pure virtual] |
Gets the action taken during xrefing when a source object has a name that is already used by a master scene object.
virtual void SetDupObjNameAction | ( | unsigned int | action | ) | [pure virtual] |
Sets the action to be taken during xrefing when a source object has a name that is already used by a master scene object.
[in] | action | - One of the action values listed under Duplicate Node Name Actions |
virtual unsigned int GetDupMtlNameAction | ( | ) | const [pure virtual] |
Gets the action taken during xrefing when a source material has a name that is already used by a master scene material.
virtual void SetDupMtlNameAction | ( | unsigned int | action | ) | [pure virtual] |
Gets the action taken during xrefing when a source material has a name that is already used by a master scene material.
[in] | action | - One of the action values listed under Duplicate Material Name Actions |
virtual IXRefObject8* IsNodeXRefed | ( | INode & | node | ) | const [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 |
virtual void SetMergeTransforms | ( | bool | in_merge | ) | [pure virtual] |
Sets the option of merging the transform controller of nodes when xrefing objects.
Merged controllers (as opposed to xref'd controllers) will be accessible and modifiable in the master 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 master scene. |
virtual bool GetMergeTransforms | ( | ) | const [pure virtual] |
Returns the current setting of whether the transform controllers of nodes are merged when xrefing objects.
virtual void SetMergeMaterials | ( | bool | in_merge | ) | [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 master 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 master scene. |
virtual bool GetMergeMaterials | ( | ) | const [pure virtual] |
Returns the option of merging the material of nodes when xrefing objects.
virtual void SetMergeManipulators | ( | bool | in_merge | ) | [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 master 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 master scene. |
virtual bool GetMergeManipulators | ( | ) | const [pure virtual] |
Returns the option of merging the material of nodes when xrefing objects.
virtual void SetMergeModifiers | ( | int | in_merge | ) | [pure virtual] |
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 master 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 master scene. Possible
values are (Object Xref Options ):
|
virtual int GetMergeModifiers | ( | ) | const [pure virtual] |
Sets the handling of modifiers of nodes when xrefing objects.
virtual void SetIncludeAll | ( | bool | in_include | ) | [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. |
virtual bool GetIncludeAll | ( | ) | const [pure virtual] |
Returns the option of merging the material of nodes when xrefing objects.
virtual void SetAutoUpdate | ( | bool | in_autoUpdate | ) | [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. |
virtual bool GetAutoUpdate | ( | ) | const [pure virtual] |
Returns the option of merging the material of nodes when xrefing objects.
static IObjXRefManager8* GetInstance | ( | ) | [inline, static] |
Retrieves a pointer to the IObjXRefManager8 interface.
{ return static_cast<IObjXRefManager8*>(GetCOREInterface(IID_OBJ_XREF_MGR8)); }
BEGIN_FUNCTION_MAP 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_4 | ( | kfpAddXRefItemsFromFile | , |
TYPE_INTERFACE | , | ||
FPAddXRefItemsFromFile | , | ||
TYPE_FILENAME | , | ||
TYPE_bool | , | ||
TYPE_STRING_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 | |||
) |