3ds Max C++ API Reference
|
Provides access to application path configuration functionality. More...
#include <IPathConfigMgr.h>
Public Member Functions | |
virtual bool | LoadPathConfiguration (const MCHAR *filename)=0 |
Loads a path configuration file. | |
virtual bool | MergePathConfiguration (const MCHAR *filename)=0 |
Merges a path configuration file. | |
virtual bool | SavePathConfiguration (const MCHAR *filename)=0 |
Saves out the current path configuration to the specified file. | |
virtual const MCHAR * | GetDir (int which) const =0 |
Returns the default directory for the specified ID. | |
virtual bool | SetDir (int which, const MCHAR *dir)=0 |
Sets the default directory. | |
virtual int | GetPlugInEntryCount () const =0 |
Returns the number of plugin path entries in PLUGIN.INI. | |
virtual const MCHAR * | GetPlugInDesc (int i) const =0 |
Returns the description string for the given entry number. | |
virtual const MCHAR * | GetPlugInDir (int i) const =0 |
Returns the directory string for the given entry number. | |
virtual int | GetAssetDirCount (MaxSDK::AssetManagement::AssetType assetType) const =0 |
Returns the number of assetType directories in path. | |
virtual const MCHAR * | GetAssetDir (int i, MaxSDK::AssetManagement::AssetType assetType) const =0 |
Returns the ith assetType directory in path. | |
virtual bool | AddAssetDir (const MCHAR *dir, MaxSDK::AssetManagement::AssetType assetType)=0 |
Adds an assetType path to the list. | |
virtual bool | AddAssetDir (const MCHAR *dir, MaxSDK::AssetManagement::AssetType assetType, int update)=0 |
Adds an assetType path to the list. | |
virtual bool | DeleteAssetDir (int i, MaxSDK::AssetManagement::AssetType assetType, int update)=0 |
Deletes an assetType path. | |
virtual bool | AddSessionAssetDir (const MCHAR *dir, MaxSDK::AssetManagement::AssetType assetType, int update)=0 |
Adds a session path. | |
virtual int | GetSessionAssetDirCount (MaxSDK::AssetManagement::AssetType assetType) const =0 |
Returns the number of assetType session directories in path. | |
virtual const MCHAR * | GetSessionAssetDir (int i, MaxSDK::AssetManagement::AssetType assetType) const =0 |
Returns the assetType session directory in path. | |
virtual bool | DeleteSessionAssetDir (int i, MaxSDK::AssetManagement::AssetType assetType, int update)=0 |
Deletes a session path. | |
virtual int | GetCurAssetDirCount (MaxSDK::AssetManagement::AssetType assetType) const =0 |
Gets the combined total of session and permanent paths. | |
virtual const MCHAR * | GetCurAssetDir (int i, MaxSDK::AssetManagement::AssetType assetType) const =0 |
Gets the ith assetType directory. | |
virtual void | UpdateAssetSection (MaxSDK::AssetManagement::AssetType assetType)=0 |
Forces an update on the application. | |
virtual MSTR | GetMAXIniFile () const =0 |
Returns the name of the .ini file used by 3ds Max. | |
virtual bool | GetResolveUNC () const =0 |
Returns the Preferences --> Files [Convert networked file paths to UNC] property. | |
virtual void | SetResolveUNC (bool aFlag)=0 |
Sets the Preferences --> Files [Convert networked file paths to UNC] property. | |
virtual bool | GetResolveToRelative () const =0 |
Returns the Preferences --> Files [Convert local file paths to Relative] property If this method returns true, then paths selected as assets will automatically be converted to their relative equivalents, made relative to the current Project Folder setting. | |
virtual void | SetResolveToRelative (bool aFlag)=0 |
Sets the Preferences --> Files [Convert local file paths to Relative] property If this flag is set to true, then paths selected as assets will automatically be converted to their relative equivalents, made relative to the current Project Folder setting. | |
virtual void | NormalizePathAccordingToSettings (MaxSDK::Util::Path &aPath) const =0 |
Will Normalize this absolute path according to the current application settings. | |
virtual void | AppendSlash (MCHAR *path) const =0 |
This function appends a slash character to the end of the path passed unless one already exists. | |
virtual void | RemoveSlash (MCHAR *path) const =0 |
This function removes the slash character from the end of the path passed if present. | |
virtual void | AppendSlash (MSTR &path) const =0 |
This function appends a slash character to the end of the path passed unless one already exists. | |
virtual void | RemoveSlash (MSTR &path) const =0 |
This function removes the slash character from the end of the path passed if present. | |
virtual bool | IsUsingProfileDirectories () const =0 |
Checks whether the application is configured to use User Profile directories. | |
virtual bool | IsUsingRoamingProfiles () const =0 |
Checks whether the application is configured to use roaming profiles. | |
virtual bool | CreateDirectoryHierarchy (const MaxSDK::Util::Path &aPath) const =0 |
Creates a hierarchy of directories. | |
virtual bool | DoesFileExist (const MaxSDK::Util::Path &aPath, bool ignoreMissingPathCache=false) const =0 |
Checks if a file or directory exists in the location pointed to by the absolute path parameter, potentially considering the missing file cache. | |
virtual void | RecordInputAsset (const MaxSDK::AssetManagement::AssetUser &originalPath, AssetEnumCallback &nameEnum, DWORD vflags) const =0 |
Searches for the given path and records the path in the NameEnum according to its ability to resolve the path and if missing only is set in the flags. | |
virtual void | RecordOutputAsset (const MaxSDK::AssetManagement::AssetUser &originalAsset, AssetEnumCallback &nameEnum, DWORD vflags) const =0 |
Converts the given path to absolute and records the path in the AssetEnum according to its ability to resolve the path and if missing only is set in the flags. | |
virtual const MaxSDK::Util::Path & | GetCurrentProjectFolder () const =0 |
Returns the current Project Folder folder. | |
virtual bool | SetCurrentProjectFolder (const MaxSDK::Util::Path &aDirectory)=0 |
Sets the current Project Folder folder. | |
virtual bool | SetSessionProjectFolder (const MaxSDK::Util::Path &aDirectory)=0 |
Sets a Project Folder which will be used for this application session only. | |
virtual bool | DoProjectSetupSteps () const =0 |
Initiates the steps to choose and setup a default 3ds Max project. | |
virtual bool | DoProjectSetupStepsUsingDirectory (const MaxSDK::Util::Path &aDirectory) const =0 |
Initiates the steps to set up a default 3ds Max project without prompting the user. | |
virtual bool | DoSetProjectFolderSteps () const =0 |
Initiates the steps to set an existing 3ds Max project folder as the active project folder. | |
virtual bool | DoSetProjectFolderStepsUsingDirectory (const MaxSDK::Util::Path &aDirectory) const =0 |
Initiates the steps to set an existing 3ds Max project folder as the active project folder without prompting the user. | |
virtual bool | IsProjectFolder (const MaxSDK::Util::Path &aDirectoryToCheck) const =0 |
Will check for the existence of a project in a folder. | |
virtual MaxSDK::Util::Path | GetProjectFolderPath (const MaxSDK::Util::Path &aProjectRoot) const =0 |
Will return the fully-qualified path of the project file, given the root folder of an existing project. | |
virtual MaxSDK::Util::Path | GetCurrentProjectFolderPath () const =0 |
Returns the file path of the current project file, if it exists. | |
virtual void | MakePathRelativeToProjectFolder (MaxSDK::Util::Path &aPath) const =0 |
Converts an absolute path into a path that is relative to the current Project Folder. | |
virtual int | GetProjectSubDirectoryCount () const =0 |
Gets a count of the number of Project directories. | |
virtual const MCHAR * | GetProjectSubDirectory (int aIndex) const =0 |
Returns a project directory according to an index, not an ID This method will return a Project directory by index, rather than by ID. | |
virtual void | AddProjectDirectoryCreateFilter (int aID)=0 |
Adds an ID to a persistent internal filter table. | |
virtual void | RemoveAllProjectDirectoryCreateFilters ()=0 |
Removes all IDs from a persistent internal filter table. | |
virtual void | RemoveProjectDirectoryCreateFilter (int aID)=0 |
Removes an ID from a persistent internal filter table. | |
virtual void | GetProjectDirectoryCreateFilters (Tab< int > &filterIDs)=0 |
Returns a Tab of the IDs in the persistent internal filter table. | |
Public Member Functions inherited from FPInterfaceDesc | |
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) |
Public Member Functions inherited from FPInterface | |
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) |
Public Member Functions inherited from BaseInterface | |
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) |
Public Member Functions inherited from InterfaceServer | |
virtual UtilExport | ~InterfaceServer () |
Destructor. | |
virtual UtilExport BaseInterface * | GetInterface (Interface_ID id) |
template<class InterfaceType > | |
InterfaceType * | GetTypedInterface () |
Static Public Member Functions | |
static CoreExport IPathConfigMgr * | GetPathConfigMgr () |
Returns the single instance of this manager. | |
Static Public Member Functions inherited from MaxHeapOperators | |
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 | |
Public Types inherited from BaseInterface | |
enum | LifetimeType { noRelease , immediateRelease , wantsRelease , serverControlled } |
Public Attributes inherited from FPInterfaceDesc | |
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 Public Attributes inherited from FPInterface | |
static CoreExport FPInterfaceDesc | nullInterface |
Protected Member Functions inherited from FPInterfaceDesc | |
CoreExport void | load_descriptor (Interface_ID id, const MCHAR *int_name, StringResID descr, ClassDesc *cd, USHORT flag, va_list ap) |
Protected Member Functions inherited from FPInterface | |
virtual FPStatus | _dispatch_fn (FunctionID fid, TimeValue t, FPValue &result, FPParams *p) |
Provides access to application path configuration functionality.
Note that the terms "map paths" and "External Files" (as seen in the UI) are used interchangeably below. This class provides access to all exposed path configuration functionality, including loading and saving of path configuration files. Should be used in lieu of Interface for path-related operations.
To access the single IPathConfigMgr instance, call the static function IPathConfigMgr::GetPathConfigMgr().
|
pure virtual |
Loads a path configuration file.
Loads a path configuration file and returns true if paths are loaded successfully.
[in] | filename | The fully-qualified path of the file to be loaded. |
|
pure virtual |
Merges a path configuration file.
Merges a path configuration file and returns true if paths are merged successfully. A merge differs from a load in that map, xref and plugin directories are appended to the list instead of the list being overwritten. File IO paths are simply overwritten, as is the case with load.
[in] | filename | The fully-qualified path of the file to be loaded. |
|
pure virtual |
Saves out the current path configuration to the specified file.
[in] | filename | The fully-qualified path of the file to which paths are saved. |
Returns the default directory for the specified ID.
[in] | which | APP_XXX_DIR directory ID. For the complete list see MaxDirectories.h. |
Sets the default directory.
[in] | which | The index of the directory to set. For the complete list see MaxDirectories.h. |
[in] | dir | The new default directory. |
|
pure virtual |
Returns the number of plugin path entries in PLUGIN.INI.
Returns the description string for the given entry number.
[in] | i | entry number |
Returns the directory string for the given entry number.
[in] | i | entry number |
|
pure virtual |
Returns the number of assetType directories in path.
[in] | assetType | specifies which type of count you are looking for examples of assetType include kBitmapAsset, kXRefAsset, kVideoPost, etc |
|
pure virtual |
Returns the ith assetType directory in path.
[in] | i | index of path to get |
[in] | assetType | specifies the directory category from which to get the directory. examples of assetType include kBitmapAsset, kXRefAsset, kVideoPost, etc |
|
pure virtual |
Adds an assetType path to the list.
[in] | dir | directory to add |
[in] | assetType | specifies the directory category to which the new directory should be added. examples of assetType include kBitmapAsset, kXRefAsset, kVideoPost, etc |
|
pure virtual |
Adds an assetType path to the list.
[in] | dir | directory to add |
[in] | assetType | specifies the directory category to which the new directory should be added. examples of assetType include kBitmapAsset, kXRefAsset, kVideoPost, etc |
[in] | update | Should the .ini file containing the paths be updated with the defined search paths for the assetType after the add? |
|
pure virtual |
Deletes an assetType path.
Deletes a assetType path from the path list.
[in] | i | Directory to delete. |
[in] | assetType | Specifies the asset type associated with this path? examples of assetType include kBitmapAsset, kXRefAsset, kVideoPost, etc |
[in] | update | Should the .ini file containing the paths be updated with the defined search paths for the assetType after the delete? |
|
pure virtual |
Adds a session path.
Adds a session path to the path list. Session paths are not persistent, meaning they are lost when the application shuts down.
[in] | dir | Directory to add. |
[in] | assetType | Specifies which category of search directories should be used. examples of assetType include kBitmapAsset, kXRefAsset, kVideoPost, etc |
[in] | update | Should the .ini file containing the paths be updated with the defined search paths for the assetType after the add? |
|
pure virtual |
Returns the number of assetType session directories in path.
[in] | assetType | specifies which type of count looking for examples of assetType include kBitmapAsset, kXRefAsset, kVideoPost, etc |
|
pure virtual |
Returns the assetType session directory in path.
[in] | i | index of path to get |
[in] | assetType | specifies which type of asset directory you are looking for examples of assetType include kBitmapAsset, kXRefAsset, kVideoPost, etc |
|
pure virtual |
Deletes a session path.
Deletes a session path in the path list. Session paths are not persistent, meaning they are lost when the application shuts down.
[in] | i | Index for the directory to delete. |
[in] | assetType | specifies which type of asset directory you are looking for examples of assetType include kBitmapAsset, kXRefAsset, kVideoPost, etc |
[in] | update | Should the .ini file containing the paths be updated with the defined search paths for the assetType after the delete? |
|
pure virtual |
Gets the combined total of session and permanent paths.
These methods provide access to the combined list of permanent and temporary (session) dirs, therefore the current total set of directories for a particular asset type.
[in] | assetType | specifies which type of count looking for examples of assetType include kBitmapAsset, kXRefAsset, kVideoPost, etc |
|
pure virtual |
Gets the ith assetType directory.
Gets ith directory. Session paths are enumerated before permanent paths.
[in] | i | index to return |
[in] | assetType | specifies which type asset directory you are looking for examples of assetType include kBitmapAsset, kXRefAsset, kVideoPost, etc |
|
pure virtual |
Forces an update on the application.
Forces the application to update itself with the currently set path.
[in] | assetType | specifies which type asset type directories to update examples of assetType include kBitmapAsset, kXRefAsset, kVideoPost, etc |
|
pure virtual |
Returns the name of the .ini file used by 3ds Max.
|
pure virtual |
Returns the Preferences --> Files [Convert networked file paths to UNC] property.
If this method returns true, then paths will automatically be converted to their UNC representation if the path originates from a mapped drive.
|
pure virtual |
Sets the Preferences --> Files [Convert networked file paths to UNC] property.
If this flag is set to true, then paths will automatically be converted to their UNC representation if the path originates from a mapped drive.
[in] | aFlag | If paths should automatically be resolved to their UNC equivalents |
|
pure virtual |
Returns the Preferences --> Files [Convert local file paths to Relative] property If this method returns true, then paths selected as assets will automatically be converted to their relative equivalents, made relative to the current Project Folder setting.
|
pure virtual |
Sets the Preferences --> Files [Convert local file paths to Relative] property If this flag is set to true, then paths selected as assets will automatically be converted to their relative equivalents, made relative to the current Project Folder setting.
[in] | aFlag | if asset paths should be made relative |
|
pure virtual |
Will Normalize this absolute path according to the current application settings.
Normalizes the passed-in path according to current application settings. The passed in path must be absolute to be normalized. Relative paths are ignored. Currently, the path will be normalized according to the two settings in the application that determine whether a path should automatically be converted to to a path relative to the current application Project Folder, and, if not, whether the absolute path should be converted to its UNC equivalent.
[in,out] | aPath | The path to normalize |
This function appends a slash character to the end of the path passed unless one already exists.
[in,out] | path | The path name to append. If NULL, no operation. |
This function removes the slash character from the end of the path passed if present.
[in,out] | path | The path name to append. If NULL, no operation. |
This function appends a slash character to the end of the path passed unless one already exists.
[in,out] | path | The path name to append. |
This function removes the slash character from the end of the path passed if present.
[in,out] | path | The path name to append. If NULL, no operation. |
|
pure virtual |
Checks whether the application is configured to use User Profile directories.
|
pure virtual |
Checks whether the application is configured to use roaming profiles.
Assuming that the application is configured to use User Profiles (see IsUsingProfileDirectories()) , determines whether paths are set to store information in the roaming profile location (i.e. /Documents and Data/<username>/Application Data...) or whether they are stored in the per-user Local Settings for the machine. (i.e. /Documents and Data/<username>/Local Settings/Application Data...)
|
pure virtual |
Creates a hierarchy of directories.
This method will ensure that a hierarchy of directories exists. For example, if Path object representing "C:/A/B/C/D" is passed to this method, then this method will create A, B, C, and D, if they do not exist.
[in] | aPath | A Path object representing the directory hierarchy to create, if needed. This path must be absolute, and it's length cannot exceed 249 characters. |
|
pure virtual |
Checks if a file or directory exists in the location pointed to by the absolute path parameter, potentially considering the missing file cache.
Checks for the existence of a file or directory pointed to by the absolute Path parameter.
[in] | aPath | An absolute path to check for existence. Note that the disk is accessed to check for its existence, so checking paths (especially on network drives) may incur a performance cost. |
ignoreMissingPathCache | If true, testing does not consider whether the file's path may be in the missing path cache. |
|
pure virtual |
Searches for the given path and records the path in the NameEnum according to its ability to resolve the path and if missing only is set in the flags.
Calls SearchForExternalFiles on the specified path, and if the path resolves to an existing file, and FILE_ENUM_MISSING_ONLY is not set, records the asset in the AssetEnumCallback. If the path is not resolved and the flags are set with FILE_ENUM_MISSING_ONLY, it records the original path in the callback.
This is intended to be the default asset registration policy for calls to EnumAuxFiles on input-only assets when not using IAssetAccessor.
originalPath | The asset path as listed in the asset tracking system. |
nameEnum | The AssetEnumCallback in which to register this asset. |
vflags | If FILE_ENUM_MISSING_ONLY is set, only paths that cannot be resolved to existing files will be recorded. If the FILE_ENUM_MISSING_ONLY is not set, only found files will be recorded. |
|
pure virtual |
Converts the given path to absolute and records the path in the AssetEnum according to its ability to resolve the path and if missing only is set in the flags.
Calls Path.ConvertToAbsolute on the specified path, and if the path resolves to an existing file, and FILE_ENUM_MISSING_ONLY is not set, records the asset in the AssetEnumCallback. If the path is not resolved and the flags are set with FILE_ENUM_MISSING_ONLY, it records the original path in the callback.
This is intended to be the default asset registration policy for calls to EnumAuxFiles for write assets when not using IAssetAccessor.
originalAsset | The asset as listed in the asset tracking system. |
nameEnum | The AssetEnumCallback in which to register this asset. |
vflags | If FILE_ENUM_MISSING_ONLY is set, only paths that cannot be resolved to existing files will be recorded. If the FILE_ENUM_MISSING_ONLY is not set, only found files will be recorded. |
|
pure virtual |
Returns the current Project Folder folder.
Gets the current Project Folder setting in 3ds Max. This is the setting to which newly created relative paths are set relative to. Though this setting is also accessible by calling
it is highly recommended that this method be used to access this value.
|
pure virtual |
Sets the current Project Folder folder.
Sets the current Project Folder setting in 3ds Max. This is the setting to which newly created relative paths are set relative to. Though this setting can also be set by calling
it is highly recommended that this method be used to change this value, as other steps to adjust the environment may be taken internally.
[in] | aDirectory | The folder to which the Project Folder should be set. This value must be an absolute path. If the folder path does not exist, 3ds Max will attempt to create it. |
|
pure virtual |
Sets a Project Folder which will be used for this application session only.
Sets a session-only path as the current Project Folder. This value does not persist if the application is shut down. The previous Project Folder setting will not be overwritten and will be the default setting upon future boot-ups. Calls to GetCurrentProjectFolder() will resolve to this session Project Folder, and relative paths will resolve themselves relative to this new value. The only difference is that this value is not persistent across sessions.
[in] | aDirectory | The folder to which the Project Folder should be set. This value must be an absolute path. |
|
pure virtual |
Initiates the steps to choose and setup a default 3ds Max project.
This call will initiate the workflow for allowing a user to choose and create a default project. In effect, this method will launch the "CreateDefaultProject" macroscript. The user will be prompted to browse to a new directory.
|
pure virtual |
Initiates the steps to set up a default 3ds Max project without prompting the user.
This call will initiate the workflow for setting up a default project. In effect, this method will launch the "CreateDefaultProject" macroscript. It will use the passed in parameter as the new Project Folder.
[in] | aDirectory | The directory that will be the new root of the project. This path must be absolute. |
|
pure virtual |
Initiates the steps to set an existing 3ds Max project folder as the active project folder.
This call will initiate the workflow for allowing a user to choose an existing 3ds Max project folder as the active project folder. In effect, this method will launch the "SetProjectFolder" macroscript. The user will be prompted to browse to an existing directory.
|
pure virtual |
Initiates the steps to set an existing 3ds Max project folder as the active project folder without prompting the user.
This call will set an existing 3ds Max project folder as the active project folder. In effect, this method will launch the "SetProjectFolder" macroscript. It will use the passed in parameter as the new Project Folder to set active.
[in] | aDirectory | The directory that will be set as the active project folder. This path must be absolute. |
|
pure virtual |
Will check for the existence of a project in a folder.
Given a folder path, will check if a project exists in that folder. A project exists if a .mxp file exists in that path.
[in] | aDirectoryToCheck | An absolute path to check for the existence of a project. |
|
pure virtual |
Will return the fully-qualified path of the project file, given the root folder of an existing project.
Given a project root of a project which exists, will return the .mxp file for that project. Normally the .mxp filename is the same name as the project root folder, but if that file does not exist, then the first file that matches the "*.mxp" pattern will be returned.
[in] | aProjectRoot | The path of the root of a project to check. |
|
pure virtual |
Returns the file path of the current project file, if it exists.
Gets the project file path of the current project, if it exists.
|
pure virtual |
Converts an absolute path into a path that is relative to the current Project Folder.
Converts an absolute path into a path that is relative to the current Project Folder. If the path cannot be made relative (if it is rooted on a different drive, for instance), then it is left untouched. A path parameter which already relative is also left untouched.
[in,out] | aPath | A mutable absolute Path which will be converted to a relative path, if possible. |
|
pure virtual |
Gets a count of the number of Project directories.
This method will return a count of the directories listed in the Configure User Paths... -> File IO dialog.
Returns a project directory according to an index, not an ID This method will return a Project directory by index, rather than by ID.
This is to allow an SDK user to iterate over the list of Project directories. The directories are sorted by Description and are ordered alphanumerically.
[in] | aIndex | The index value of the directory to return, which must be between 0 and GetProjectSubDirectoryCount()-1. |
Adds an ID to a persistent internal filter table.
Adds a File IO ID to an internal filter table that is referenced when creating a Project setup. Folders added to this list (by their ID) are NOT created when creating a Project workspace.
[in] | aID | An ID for a folder to not include in the Project workspace creating process. |
|
pure virtual |
Removes all IDs from a persistent internal filter table.
Removes all File IO IDs from an internal filter table that is referenced when creating a Project setup. Folders added to this list (by their ID) are NOT created when creating a Project workspace.
Removes an ID from a persistent internal filter table.
Removes a File IO ID from an internal filter table that is referenced when creating a Project setup. Folders added to this list (by their ID) are NOT created when creating a Project workspace.
[in] | aID | An ID for a folder to not include in the Project workspace creating process. |
|
static |
Returns the single instance of this manager.
Gets the single instance of this class.