C++ API Reference
|
I/O operations on scene files. More...
#include <MFileIO.h>
Public Types | |
enum | ReferenceMode { kLoadDefault, kLoadAllReferences, kLoadNoReferences } |
Specifies which references to load. More... | |
enum | MayaFileFormatVersion |
Specifies the unique identifier for official Maya file format versions. | |
enum | NamespaceMergeMethod { kRemoveNamespaceIfEmpty, kMergeNamespaceWithRootNamespace, kMergeNamespaceWithParentNamespace, kForceDeleteNamespaceContent } |
Specifies what to do with objects remaining in the file reference's namespace, when the file reference is removed. More... | |
enum | ExportType { kExportTypeAll, kExportTypeSelected, kExportTypeAnim, kExportTypeAnimFromReference, kExportTypeAsReference, kExportTypeEdits, kExportTypePrefObjects } |
Types of export operation. More... | |
Public Member Functions | |
MFileIO () | |
Default class constructor. | |
MFileIO (const MString &fileName) | |
Class constructor that sets the current active scene. More... | |
virtual | ~MFileIO () |
The class destructor. | |
Static Public Member Functions | |
static MString | currentFile () |
Return the name of the currently active scene. More... | |
static MStatus | setCurrentFile (const MString &fileName) |
Set the name of the current active scene. More... | |
static MString | fileType () |
Return the type of the current active scene. More... | |
static MStatus | getFileTypes (MStringArray &types) |
Returns an array of all the valid type names that Maya currently supports. More... | |
static MStatus | newFile (bool force=false) |
Set everything back to a new file state. More... | |
static MStatus | open (const MString &fileName, const char *type=NULL, bool force=false, ReferenceMode refMode=kLoadDefault, bool ignoreVersion=false) |
Open the given file, and set the current active scene to this file. More... | |
static MStatus | save (bool force=false) |
Save the contents of the current scene. More... | |
static MStatus | saveAs (const MString &fileName, const char *type=NULL, bool force=false) |
Save the contents of the current scene to the given file. More... | |
static MStatus | importFile (const MString &fileName, const char *type=NULL, bool preserveReferences=false, const char *nameSpace=NULL, bool ignoreVersion=false) |
Import the scene elements from the given file into the current scene. More... | |
static MStatus | exportSelected (const MString &fileName, const char *type=NULL, bool preserveReferences=false) |
Export all currently selected scene elements to the given file. More... | |
static MStatus | exportAll (const MString &fileName, const char *type=NULL, bool preserveReferences=false) |
Export the current scene to the given file. More... | |
static MStatus | exportAnimFromReference (const MString &fileName, const char *type=NULL) |
Export the animation from reference, to the specified file. More... | |
static MStatus | exportAnimFromReference (const MString &fileName, const MString &refNodeName, const char *type=NULL) |
Export the animation from the specified reference node, to the specified file. More... | |
static MStatus | exportSelectedAnimFromReference (const MString &fileName, const char *type=NULL) |
Export the selected animation from reference, to the specified file. More... | |
static MStatus | exportSelectedAnimFromReference (const MString &fileName, const MString &refNodeName, const char *type=NULL) |
Export the selected animation from reference, to the specified file. More... | |
static MStatus | exportAnim (const MString &fileName, const char *type=NULL) |
Export animation to the specified file. More... | |
static MStatus | exportSelectedAnim (const MString &fileName, const char *type=NULL) |
Export selected animation to the specified file. More... | |
static MStatus | exportAsReference (const MString &fileName, const char *type=NULL) |
Export the selected objects into a reference file. More... | |
static MStatus | getReferences (MStringArray &references, bool wantUnresolvedNames=false) |
Return an array of all the files referenced from the currently active scene. More... | |
static MStatus | getFiles (MStringArray &files, bool wantUnresolvedNames=false, bool wantReferencesOnly=false) |
Return an array of all the files used by the currently active scene. More... | |
static MStatus | getReferenceNodes (const MString &fileName, MStringArray &nodes) |
Return an array of all the nodes referenced by the given filename. More... | |
static MStatus | getReferenceNodes (const MString &fileName, MStringArray &nodes, bool dagPath) |
Introduced in 2023.0 More... | |
static MStatus | getReferenceNodes (const MString &fileName, MSelectionList &list) |
Return an array of all the nodes referenced by the given filename. More... | |
static MStatus | getReferenceConnectionsMade (const MString &fileName, MStringArray &connections) |
Return an array of attribute pairs representing connections made to nodes in the given referenced file. More... | |
static MStatus | getReferenceConnectionsBroken (const MString &fileName, MStringArray &connections) |
Return an array of attribute pairs representing connections broken to nodes in the given referenced file. More... | |
static MStatus | getReferenceConnectionsBroken (const MString &fileName, MPlugArray &srcPlugs, MPlugArray &destPlugs) |
Returns the source and destination plugs corresponding to all the connections broken between nodes in the given referenced file. More... | |
static MStatus | getReferenceConnectionsBroken (const MObject &node, MStringArray &connections, bool append=false, bool removeDuplicates=true) |
Returns an array of plug name pairs corresponding to the broken connections from referenced files, where those connections involved the specified node. More... | |
static MStatus | getReferenceConnectionsBroken (const MObject &node, MPlugArray &srcPlugs, MPlugArray &destPlugs, bool append=false, bool removeDuplicates=true) |
Returns arrays of source and destination plugs corresponding to the broken connections from referenced files, where those connections involved the specified node. More... | |
static MStatus | reference (const MString &fileName, bool deferReference=false, bool lockReference=false, const MString &nameSpace="") |
Add the given filename as a reference from the current file. More... | |
static MStatus | removeReference (const MString &fileName, NamespaceMergeMethod namespaceMergeMethod=kRemoveNamespaceIfEmpty) |
Remove the named file as a reference from the current file. More... | |
static bool | isReadingFile () |
Determine if Maya is currently in the middle of a file read operation. More... | |
static bool | isWritingFile () |
Determine if Maya is currently in the middle of a file write operation. More... | |
static bool | isOpeningFile () |
Determine if Maya is currently performing a file open operation. More... | |
static bool | isNewingFile () |
Determine if Maya is currently performing a "new" operation. More... | |
static bool | isSavingReference () |
Determine if Maya is currently in the middle of a save reference operation. More... | |
static bool | mustRenameToSave (MStatus *ReturnStatus=NULL) |
Scenes may be flagged as needing to be renamed before saving. More... | |
static MStatus | setMustRenameToSave (bool) |
This method enabled or disables a state where the current Maya scene must save to a different file name. More... | |
static MString | mustRenameToSaveMsg (MStatus *ReturnStatus=NULL) |
This method returns a string that is displayed when a user attempts to save a scene that was set to not overwrite itself. More... | |
static MStatus | setMustRenameToSaveMsg (const MString &) |
This method sets a string that is displayed when a user attempts to save a scene that was set to not overwrite itself. More... | |
static MString | beforeOpenFilename (MStatus *ReturnStatus=NULL) |
Retrieves the name of the file requested to be opened. More... | |
static MString | beforeImportFilename (MStatus *ReturnStatus=NULL) |
Retrieves the name of the file requested to be imported. More... | |
static MString | beforeSaveFilename (MStatus *ReturnStatus=NULL) |
Retrieves the name of the file requested to be saved. More... | |
static MString | beforeExportFilename (MStatus *ReturnStatus=NULL) |
Retrieves the name of the file requested to be exported. More... | |
static MString | beforeReferenceFilename (MStatus *ReturnStatus=NULL) |
Retrieves the name of the file requested to be referenced. More... | |
static MPxFileTranslator * | beforeOpenUserFileTranslator (MStatus *ReturnStatus=NULL) |
Retrieves the plug-in-defined file translator being used for file open, if any. More... | |
static MPxFileTranslator * | beforeImportUserFileTranslator (MStatus *ReturnStatus=NULL) |
Retrieves the plug-in-defined file translator being used for import, if any. More... | |
static MPxFileTranslator * | beforeSaveUserFileTranslator (MStatus *ReturnStatus=NULL) |
Retrieves the plug-in-defined file translator being used for file save, if any. More... | |
static MPxFileTranslator * | beforeExportUserFileTranslator (MStatus *ReturnStatus=NULL) |
Retrieves the plug-in-defined file translator being used for export, if any. More... | |
static MPxFileTranslator * | beforeReferenceUserFileTranslator (MStatus *ReturnStatus=NULL) |
Retrieves the plug-in-defined file translator being used for file reference, if any. More... | |
static ExportType | exportType (MStatus *ReturnStatus=NULL) |
Returns the type of export currently in progress. More... | |
static MString | getLastTempFile (MStatus *ReturnStatus=NULL) |
Returns the temp file used during file save. More... | |
static bool | getErrorStatus (MStatus *ReturnStatus=NULL) |
Returns the error status of the last file read. More... | |
static MStatus | resetError () |
Resets the error. More... | |
static MStatus | setError () |
Sets the internal errorIO flag. More... | |
static MString | loadReference (const MString &referenceFileName, MStatus *returnStatus=NULL) |
Loads the reference, referenced by the given reference node name and file name. More... | |
static MString | loadReferenceByNode (const MString &referenceNodeName, MStatus *returnStatus=NULL) |
Loads the reference, referenced by the given reference node name. More... | |
static MString | loadReferenceByNode (MObject &referenceNode, MStatus *returnStatus=NULL) |
Loads the reference, referenced by the given reference node object. More... | |
static MString | unloadReference (const MString &referenceFileName, MStatus *returnStatus=NULL) |
Unloads the reference, referenced by the given reference node and file. More... | |
static MString | unloadReferenceByNode (const MString &referenceNodeName, MStatus *returnStatus=NULL) |
Unloads the reference, referenced by the given reference node. More... | |
static MString | unloadReferenceByNode (MObject &referenceNode, MStatus *returnStatus=NULL) |
Unloads the reference, referenced by the given reference node. More... | |
static MString | getReferenceFileByNode (MObject &referenceNode, MStatus *returnStatus=NULL) |
Returns the name of the reference file, which contains the given reference node. More... | |
static MStatus | cleanReference (const MString &referenceNodeName, const char *editCommand=NULL, MStatus *returnStatus=NULL) |
This function removes the edits from the passed in reference node. More... | |
static MStatus | saveReference (const MString &referenceNodeName, MStatus *returnStatus=NULL) |
This function saves reference node edits and connections to reference file. More... | |
static MString | fileCurrentlyLoading () |
Return the name of the file currently being loaded. More... | |
static bool | isImportingFile () |
Determine if Maya is currently in the middle of a file import operation. More... | |
static bool | isReferencingFile () |
Determine if Maya is currently in the middle of a file reference operation. More... | |
static int | currentlyReadingFileVersion () |
Each Maya file format version has a unique integer identifier. More... | |
static int | latestMayaFileVersion () |
Each Maya file format version has a unique integer identifier. More... | |
static const char * | className () |
Returns the name of this class. More... | |
static MStatus | import (const MString &fileName, const char *type=NULL, bool preserveReferences=false, const char *nameSpace=NULL) |
Deprecated in 2019.0 More... | |
static const adsk::Data::Associations * | metadata (MStatus *ReturnStatus=NULL) |
Not available in Python. More... | |
static MStatus | setMetadata (const adsk::Data::Associations &) |
Not available in Python. More... | |
static MStatus | deleteMetadata () |
Not available in Python. More... | |
I/O operations on scene files.
Methods for opening, saving, importing, exporting and referencing files.
The MFileIO class provides a set of global functions that can be used to load and store scene elements into maya files. Methods are also provided to import elements from other files into the current scene, and export elements of the current scene into files. As well, references to other files can be created and removed.
This class implements only the most common operations from the full set possible with the MEL command "file." See the documentation of this command for a complete listing of all the possiblities. If more control is required than provided by this class, a MEL command can be constructed according to the instructions for the "file" command, and issued via the executeCommand method of the MGlobal class.
Note: Be cautious about using MFileIO::importFile, MFileIO::Save, MFIleIO::saveAs MFileIO::open, MFileIO::newFile and MFileIO::reference methods while any of MFileIO::isReadingFile, MFileIO::isWritingFile, MFileIO::isOpeningFile, MFileIO::isNewingFile, MFileIO::isSavingReference, MFileIO::isImportingFile or MFileIO::isReferencingFile are returning true as it might lead to inconsitent scenes or unpredictable results.
enum ReferenceMode |
enum NamespaceMergeMethod |
Specifies what to do with objects remaining in the file reference's namespace, when the file reference is removed.
enum ExportType |
Types of export operation.
Class constructor that sets the current active scene.
[in] | fileName | name of the new active scene |
|
static |
Return the name of the currently active scene.
Set the name of the current active scene.
[in] | fileName | the name of the new active scene. |
|
static |
Return the type of the current active scene.
|
static |
Returns an array of all the valid type names that Maya currently supports.
Only elements from this list are valid arguments for the type arguments to open, saveAs, import, exportSelected, and exportAll.
It should be noted that the results of this function will change as file translators that are implemented as plugins are loaded or unloaded.
The file types mayaAscii and mayaBinary will always be available.
[out] | types | a reference to an MStringArray which on return contains the list of supported file types. |
|
static |
Set everything back to a new file state.
Do not call this method while MFileIO::isNewingFile is returning true
[in] | force | succeed even if there are unsaved changes |
|
static |
Open the given file, and set the current active scene to this file.
If there are unsaved changes in the current scene, this operation will fail unless the force flag is set to true.
Do not call this method while MFileIO::isReadingFile or MFileIO::isOpeningFile is returning true.
Calling this method while MFileIO::isReferencingFile is returning true may lead to unpredictable results
[in] | fileName | name of the file to open |
[in] | type | if NULL, Maya will try to deduce the type of the file. if not NULL, it contains a file type to use when opening the file. |
[in] | force | succeed even if there are unsaved changes |
[in] | refMode | specify whether to load all references, no references, or the references that were loaded when the scene was saved. |
[in] | ignoreVersion | if true, then Maya will ignore the version number when opening the file |
|
static |
Save the contents of the current scene.
If there have been no changes to the scene since the last save, then this operation will succeed, but not actually rewrite the save file unless the force flag is set to true.
Calling this method while any of: MFileIO::isWritingFile, MFileIO::isNewingFile, MFileIO::isImportingFile or MFileIO::isReferencingFile are returning true may lead to unpredictable results
[in] | force | succeed even if there have been no changes |
Save the contents of the current scene to the given file.
If there have been no changes to the scene since the last save, then this operation will succeed, but not actually rewrite the save file unless the force flag is set to true.
Calling this method while any of: MFileIO::isWritingFile, MFileIO::isNewingFile, MFileIO::isImportingFile or MFileIO::isReferencingFile are returning true may lead to unpredictable results
[in] | fileName | name of the file to write to |
[in] | type | if NULL, Maya will write the file in mayaAscii format. if not NULL, it contains a file type to use when writing the file. |
[in] | force | succeed even if there have been no changes since the last save operation |
|
static |
Import the scene elements from the given file into the current scene.
This operation is similar to open, but instead of replacing the current scene with the one from the new file, it adds the elements from that file to the existing ones in the current scene.
Calling this method while MFileIO::isReferencingFile may lead to unpredictable results if the imported file contains references
[in] | fileName | name of the file from which to import objects |
[in] | type | if NULL, Maya will try to deduce the type of the file. If not NULL, it must contain a file type to use when importing the file. |
[in] | preserveReferences | Boolean to indicate whether the references need to be preserved. |
[in] | nameSpace | optional name of the namespace to use when importing objects. Use NULL for default of no namespace. |
[in] | ignoreVersion | Boolean to control whether to ignore version when importing a file. |
|
static |
Export all currently selected scene elements to the given file.
[in] | fileName | name of the file to which to export the objects |
[in] | type | if NULL, Maya will write the file in mayaAscii format. if not NULL, it contains a file type to use when writing the file. |
[in] | preserveReferences | Boolean to indicate whether the references need to be preserved. |
|
static |
Export the current scene to the given file.
[in] | fileName | name of the file to which to export the objects |
[in] | type | if NULL, Maya will write the file in mayaAscii format. if not NULL, it contains a file type to use when writing the file. |
[in] | preserveReferences | Boolean to indicate whether the references need to be preserved. |
Export the animation from reference, to the specified file.
[in] | fileName | name of the file to which the animation will be exported. |
[in] | type | if NULL, Maya will write the file in mayaAscii format. if not NULL, it contains a file type to use when writing the file. |
|
static |
Export the animation from the specified reference node, to the specified file.
[in] | fileName | name of the file to which the animation will be exported. |
[in] | refNodeName | name of the reference whose animation will be exported. |
[in] | type | if NULL, Maya will write the file in mayaAscii format. if not NULL, it contains a file type to use when writing the file. |
|
static |
Export the selected animation from reference, to the specified file.
[in] | fileName | name of the file to which the animation will be exported. |
[in] | type | if NULL, Maya will write the file in mayaAscii format. if not NULL, it contains a file type to use when writing the file. |
|
static |
Export the selected animation from reference, to the specified file.
[in] | fileName | name of the file to which the animation will be exported. |
[in] | refNodeName | name of the reference whose animation will be exported. |
[in] | type | if NULL, Maya will write the file in mayaAscii format. if not NULL, it contains a file type to use when writing the file. |
Export animation to the specified file.
[in] | fileName | name of the file to which the animation will be exported. |
[in] | type | if NULL, Maya will write the file in mayaAscii format. if not NULL, it contains a file type to use when writing the file. |
Export selected animation to the specified file.
[in] | fileName | name of the file to which the animation will be exported. |
[in] | type | if NULL, Maya will write the file in mayaAscii format. if not NULL, it contains a file type to use when writing the file. |
Export the selected objects into a reference file.
[in] | fileName | name of the file to which the selected objects will be exported as reference. |
[in] | type | if NULL, Maya will write the file in mayaAscii format. if not NULL, it contains a file type to use when writing the file. |
|
static |
Return an array of all the files referenced from the currently active scene.
[out] | references | a reference to an MStringArray which on return contains the list of referenced files. |
[in] | wantUnresolvedNames | specify if unresolved file names should be returned. Default is false. |
|
static |
Return an array of all the files used by the currently active scene.
Includes file references, file textures, cache files, image planes etc.
[out] | files | a reference to an MStringArray which on return contains the list of referenced files. |
[in] | wantUnresolvedNames | specify if unresolved file names should be returned. Default is false. |
[in] | wantReferencesOnly | specify if only file references should be returned. Setting this to true makes this function equivalent to MFileIO::getReferences(). Default is false. |
|
static |
Return an array of all the nodes referenced by the given filename.
The names returned will not include any dag paths.
[in] | fileName | an MString which contains the name of the referenced file. |
[out] | nodes | a reference to an MStringArray which on return contains the list of nodes in the referenced file. |
|
static |
Introduced in 2023.0
Return an array of all the nodes referenced by the given filename.
[in] | fileName | An MString which contains the name of the referenced file. |
[out] | nodes | A reference to an MStringArray which on return contains the list of nodes in the referenced file. |
[in] | dagPath | If true then the names of any dag objects returned will include as much of the dag path as is necessary to make the names unique. If false then the names returned will not include any dag paths. |
|
static |
Return an array of all the nodes referenced by the given filename.
[in] | fileName | an MString which contains the name of the referenced file. |
[out] | list | a reference to an MSelectionList which on return contains the list of nodes in the referenced file. |
|
static |
Return an array of attribute pairs representing connections made to nodes in the given referenced file.
The first element of the pair is the source attribute in the connection, and the second is the destination. These pairs correspond to the "connectAttr" statements in a scene file where changes to the referenced file occur after the referenced file has been opened.
[in] | fileName | an MString which contains the name of the referenced file. |
[out] | connections | a reference to an MStringArray which on return contains the source/destination connection pairs. |
|
static |
Return an array of attribute pairs representing connections broken to nodes in the given referenced file.
The first element of the pair is the source attribute in the connection, and the second is the destination. These pairs correspond to the "disconnectAttr" statements in a scene file where changes to the referenced file occur after the referenced file has been opened.
[in] | fileName | an MString which contains the name of the referenced file. |
[out] | connections | a reference to an MStringArray which on return contains the source/destination connection pairs. |
|
static |
Returns the source and destination plugs corresponding to all the connections broken between nodes in the given referenced file.
These pairs correspond to the "disconnectAttr" statements in a scene file where changes to the referenced file occur after the referenced file has been opened.
[in] | fileName | an MString which contains the name of the referenced file. |
[out] | srcPlugs | an MPlugArray which will receive the source plugs of each broken connection. |
[out] | destPlugs | an MPlugArray which contains the destination plugs of each broken connection. |
|
static |
Returns an array of plug name pairs corresponding to the broken connections from referenced files, where those connections involved the specified node.
To put it another way, if a referenced file contained a connection to the specified node when it was loaded, and that connection was later broken in the main scene, then the names of source and destination plugs for that connection will be returned.
The first element of the pair is the source plug in the connection, and the second is the destination. These pairs correspond to the "disconnectAttr" statements in a scene file where changes to the referenced file occur after the referenced file has been opened.
[in] | node | the node whose broken reference connections will be returned. |
[out] | connections | a reference to an MStringArray which on return contains the source/destination connection pairs. |
[in] | append | If true, the connection strings will be appended to the existing contents of the connections array. Otherwise the array will be cleared before the strings are added. |
[in] | removeDuplicates | If true then any connections which are already in the connections array will be ignored. Otherwise they will be added to the array again. |
|
static |
Returns arrays of source and destination plugs corresponding to the broken connections from referenced files, where those connections involved the specified node.
To put it another way, if a referenced file contained a connection to the specified node when it was loaded, and that connection was later broken in the main scene, then the source and destination plugs for that connection will be returned.
[in] | node | the node whose broken connections should be returned. |
[out] | srcPlugs | an MPlugArray which will receive the source plugs of each broken connection. |
[out] | destPlugs | an MPlugArray which will receive the destination plugs of each broken connection. |
[in] | append | if true, then srcPlugs and destPlugs will not be initially cleared, meaning that the plugs from any broken connections found will be appended after whatever is already in those arrays. This can be useful for building up an array of connections for several nodes. |
[in] | removeDuplicates | if the append parameter is true, then it is possible that some of the broken connections found for node will already exist in plug arrays. For example, if node A and node B have a broken reference connection between them, then they will both return that connection when passed to this method. Setting removeDuplicates true will cause these duplicate connections to only appear in the plug arrays once. |
|
static |
Add the given filename as a reference from the current file.
When a new file is opened, the contents of any files it references are read into the scene, however maya remembers that the elements came from the referenced file, and does not write them during a save operation. Instead the reference is written so the contents of the referenced file (which might have changed) will be read again when the scene is reloaded.
Calling this method while MFileIO::isReferencingFile is returning true may have unexpected results
[in] | fileName | name of the file to add as a reference. |
[in] | deferReference | boolean to indicate whether loading has to be deferred. |
[in] | lockReference | If true, all nodes and attributes from the referenced file will be locked. |
[in] | nameSpace | name space to add the contents of the referenced file to. If no namespace is provided, name-clashes will be resolved by prefixing with the filename. |
|
static |
Remove the named file as a reference from the current file.
[in] | fileName | name of the file to remove as a reference |
[in] | namespaceMergeMethod | what to do with objects remaining in the namespace after the file is removed: merge with parent namespace, merge with root namespace, delete all objects, or keep objects in the namespace (default). Merge with parent/root and delete all objects cannot be used if the reference resides in the root namespace. |
|
static |
Determine if Maya is currently in the middle of a file read operation.
File import operations and file reference operations are both also file read operations.
|
static |
Determine if Maya is currently in the middle of a file write operation.
|
static |
Determine if Maya is currently performing a file open operation.
This condition differs from isReadingFile() which is only true when were are actually reading the contents of the file from disk. In contrast, isOpeningFile() will be true during the pre-read operations such as the new operation to delete the current scene contents as well as post read-operations.
The isOpeningFile() method can be used in conjunction with isNewingFile() to determine if a "new" operation is currently being performed on behalf of an "open" operation.
Maya performs two types of "new" operations: 1) explicit "new" on account of a File>New or "file -new", and 2) implicit "new" due to file open. The isOpeningFile() method can be used in conjunction with isNewingFile() to determine if a "new" operation is currently being performed on behalf of an "open" operation. The following table lists how the isNewingFile() and isOpeningFile() methods can be used to determine the current state:
isNewingFile() returns false | isNewingFile() returns true | |
isOpeningFile() returns false | Maya is neither in new nor open | Maya is perfroming an explicit new (a File>New or file -new) |
isOpeningFile() returns true | Maya is opening a file, and is not currently performing a new | Maya is opening a file and is performing a new on behalf of the open |
Based on the above table, it is easy to see how the four distinct states can easily be detected.
|
static |
Determine if Maya is currently performing a "new" operation.
Maya performs two types of "new" operations: 1) explicit "new" on account of a File>New or "file -new", and 2) implicit "new" due to file open. The isOpeningFile() method can be used in conjunction with isNewingFile() to determine if a "new" operation is currently being performed on behalf of an "open" operation. The following table lists how the isNewingFile() and isOpeningFile() methods can be used to determine the current state:
isNewingFile() returns false | isNewingFile() returns true | |
isOpeningFile() returns false | Maya is neither in new nor open | Maya is perfroming an explicit new (a File>New or file -new) |
isOpeningFile() returns true | Maya is opening a file, and is not currently performing a new | Maya is opening a file and is performing a new on behalf of the open |
Based on the above table, it is easy to see how the four distinct states can easily be detected.
|
static |
Determine if Maya is currently in the middle of a save reference operation.
i.e. When you do File > Save Reference Edits from the Reference Editor or `file -saveReference`.
|
static |
Scenes may be flagged as needing to be renamed before saving.
The purpose is to prevent overwriting the original file, which may have had a significant change. Users will need to use save as to save the scene with a different file name.
This method returns true if the scene must be renamed before it can be saved.
[out] | ReturnStatus | The status. |
|
static |
This method enabled or disables a state where the current Maya scene must save to a different file name.
This can be used to prevent a user from overwriting the original scene if a particularly dangerous or experimental change was made.
If enabled, the user must use save as to save the scene to a different name.
Once the file is renamed, this state is cleared and the file may be saved.
[in] | rename | true, if the scene should be saved to a different name. |
This method returns a string that is displayed when a user attempts to save a scene that was set to not overwrite itself.
See the MFileIO::setMustRenameToSave() documentation.
If a custom message was not set, this method will return an empty string.
[out] | ReturnStatus | status |
This method sets a string that is displayed when a user attempts to save a scene that was set to not overwrite itself.
See the MFileIO::setMustRenameToSave() documentation.
To use the default error message, pass an empty string to this method.
[in] | errorMsg | The message to display when attempting a file save. |
Retrieves the name of the file requested to be opened.
This name can be retrieved from within the beforeOpenCheck and beforeOpen callback functions (that must be registered using MSceneMessage::addCallback() before the file is attempted to be opened). If called outside of these two callback functions the results are undefined.
[out] | ReturnStatus | Status code |
Retrieves the name of the file requested to be imported.
This name can be retrieved from within the beforeImportCheck and beforeImport callback functions (that must be registered using MSceneMessage::addCallback() before the file is attempted to be imported). If called outside of these two callback functions the results are undefined.
[out] | ReturnStatus | Status code |
Retrieves the name of the file requested to be saved.
This name can be retrieved from within the beforeSaveCheck and beforeSave callback functions (that must be registered using MSceneMessage::addCallback() before the file is attempted to be saved). If called outside of these two callback functions the results are undefined.
[out] | ReturnStatus | Status code |
Retrieves the name of the file requested to be exported.
This name can be retrieved from within the beforeExportCheck and beforeExport callback functions (that must be registered using MSceneMessage::addCallback() before the file is attempted to be exported). If called outside of these two callback functions the results are undefined.
[out] | ReturnStatus | Status code |
Retrieves the name of the file requested to be referenced.
This name can be retrieved from within the beforeRefenceCheck and beforeRefence callback functions (that must be registered using MSceneMessage::addCallback() before the file is attempted to be referenced). If called outside of these two callback functions the results are undefined.
[out] | ReturnStatus | Status code |
|
static |
Retrieves the plug-in-defined file translator being used for file open, if any.
If a standard Maya file translator (e.g. mayaAscii) is being used, returns NULL. The translator can be retrieved from within the beforeOpenCheck and beforeOpen callback functions (that must be registered using MSceneMessage::addCallback() before the file is attempted to be opened). If called outside of these two callback functions the results are undefined.
[out] | ReturnStatus | Status code |
|
static |
Retrieves the plug-in-defined file translator being used for import, if any.
If a standard Maya file translator (e.g. mayaAscii) is being used, returns NULL. The translator can be retrieved from within the beforeImportCheck and beforeImport callback functions (that must be registered using MSceneMessage::addCallback() before the file is attempted to be imported). If called outside of these two callback functions the results are undefined.
[out] | ReturnStatus | Status code |
|
static |
Retrieves the plug-in-defined file translator being used for file save, if any.
If a standard Maya file translator (e.g. mayaAscii) is being used, returns NULL. The translator can be retrieved from within the beforeSaveCheck and beforeSave callback functions (that must be registered using MSceneMessage::addCallback() before the file is attempted to be saved). If called outside of these two callback functions the results are undefined.
[out] | ReturnStatus | Status code |
|
static |
Retrieves the plug-in-defined file translator being used for export, if any.
If a standard Maya file translator (e.g. mayaAscii) is being used, returns NULL. The translator can be retrieved from within the beforeExportCheck and beforeExport callback functions (that must be registered using MSceneMessage::addCallback() before the file is attempted to be exported). If called outside of these two callback functions the results are undefined.
[out] | ReturnStatus | Status code |
|
static |
Retrieves the plug-in-defined file translator being used for file reference, if any.
If a standard Maya file translator (e.g. mayaAscii) is being used, returns NULL. The translator can be retrieved from within the beforeRefenceCheck and beforeRefence callback functions. (that must be registered using MSceneMessage::addCallback() before the file is attempted to be referenced). If called outside of these two callback functions the results are undefined.
[out] | ReturnStatus | Status code |
|
static |
Returns the type of export currently in progress.
The result is valid from the start of the kBeforeExportCheck callback through to the end of the kAfterExport callback, and for any callbacks which occur between them. See MSceneMessage for more information on these callbacks.
[out] | ReturnStatus | Status code |
Returns the temp file used during file save.
[out] | ReturnStatus | Status code |
|
static |
Returns the error status of the last file read.
Returns true if any error occurred during the last file read, else false is returned.
[out] | ReturnStatus | Status code |
|
static |
Resets the error.
|
static |
Sets the internal errorIO flag.
Setting this flag will trigger the display of the standard Maya file IO pop-up after a read or write operation. This method can be called during the MSceneMessage::kAfterFileRead callback.
Loads the reference, referenced by the given reference node name and file name.
[in] | referenceFileName | MString containing the name of the reference file. |
[out] | returnStatus | Status code |
|
static |
Loads the reference, referenced by the given reference node name.
[in] | referenceNodeName | MString, name of the reference node. |
[out] | returnStatus | Status of the operation. |
Loads the reference, referenced by the given reference node object.
[in] | referenceNode | MObject of the reference node. |
[out] | returnStatus | Status of the operation. |
Unloads the reference, referenced by the given reference node and file.
[in] | referenceFileName | MString containing the name of the reference file. |
[out] | returnStatus | Status of the operation. |
|
static |
Unloads the reference, referenced by the given reference node.
[in] | referenceNodeName | MString containing the name of the reference node. |
[out] | returnStatus | Status of the operation. |
Unloads the reference, referenced by the given reference node.
[in] | referenceNode | MObject containing the reference node. |
[out] | returnStatus | Status of the operation. |
Returns the name of the reference file, which contains the given reference node.
[in] | referenceNode | MObject containing the reference node. |
[out] | returnStatus | Status of the operation. |
|
static |
This function removes the edits from the passed in reference node.
The reference must be in an unloaded state.
[in] | referenceNodeName | Name of the reference node. |
[in] | editCommand | Name of the edit command to be cleaned. |
[out] | returnStatus | Status of the operation. |
This function saves reference node edits and connections to reference file.
[in] | referenceFileName | Name of the reference file. |
[out] | returnStatus | Status of the operation. |
|
static |
Return the name of the file currently being loaded.
|
static |
Determine if Maya is currently in the middle of a file import operation.
File import operations are a subset of file reading operations.
|
static |
Determine if Maya is currently in the middle of a file reference operation.
File reference operations are a subset of file reading operations.
|
static |
Each Maya file format version has a unique integer identifier.
Identifiers go up sequentially with each new file format.
This method returns the identifier for the version of the file that is currently being read into Maya.
|
static |
Each Maya file format version has a unique integer identifier.
This method returns the identifier for the file format version that will be saved by this version of Maya.
|
static |
Returns the name of this class.
|
static |
Deprecated in 2019.0
Not available in Python.
Import the scene elements from the given file into the current scene. This operation is similar to open, but instead of replacing the current scene with the one from the new file, it adds the elements from that file to the existing ones in the current scene.
[in] | fileName | name of the file from which to import objects |
[in] | type | if NULL, Maya will try to deduce the type of the file. if not NULL, it must contain the file type to use when importing the file. |
[in] | preserveReferences | Boolean to indicate whether the references need to be preserved. |
[in] | nameSpace | optional name of the namespace to use when importing objects. Use NULL for default of no namespace. |
|
static |
Not available in Python.
Get the metadata associated with the current file.
[out] | ReturnStatus | Status code. See below. |
|
static |
Not available in Python.
Replace the existing file metadata with the given values.
[in] | newMetadata | The new associated metadata for the current file |
|
static |
Not available in Python.
Remove all metadata from the current file.
Note that this will delete all of the file-level metadata so it should be used with caution. If you want to delete specific metadata Channels then get the Associations, delete the Channel(s) and then set the modified Associations back using the setMetadata() method.