3ds Max C++ API Reference
ATSFileList Class Reference

ATS File List. More...

#include <IATSProvider.h>

+ Inheritance diagram for ATSFileList:

Public Member Functions

ATSExport ATSFileList ()
 Constructor. More...
 
virtual ATSExport ~ATSFileList ()
 Destructor. More...
 
virtual ATSExport ATSFileEntryCreateEntry (const MCHAR *szFile, ATSFileEntry *pEntryParent=NULL, ATSStatus dwFlagsIn=ATS::kATSStatusActive, ATSClientPtr pClientPtr=NULL)
 Create and add new ATSFileEntry. More...
 
virtual ATSExport ATSFileEntryCreateEntry (ATSFileEntry &atsFileEntry)
 Copy and add new ATSFileEntry. More...
 
virtual ATSExport bool RemoveEntry (ATSFileEntry *pEntry)
 Remove entry. More...
 
virtual ATSExport UINT NumEntries ()
 Number of entries. More...
 
virtual ATSExport bool RemoveEntry (UINT iIndex)
 Remove entry by index. More...
 
virtual ATSExport bool RemoveAll ()
 Remove all entries. More...
 
virtual ATSExport ATSFileEntryGetFileEntry (UINT iIndex)
 Get entry. More...
 
virtual ATSExport UINT BuildActiveList (ATSStatus dwFlagsIn=ATS::kATSStatusActive, bool bDepthFirstTraversal=false)
 Build an active ATSFileEntry list. More...
 
virtual ATSExport UINT AddActiveEntry (ATSFileEntry *pEntry)
 Add entry to active list. More...
 
virtual ATSExport bool RemoveActiveEntry (ATSFileEntry *pEntry)
 Remove active entry. More...
 
virtual ATSExport UINT NumActiveEntries ()
 Number of active entries. More...
 
virtual ATSExport ATSFileEntryGetActiveFileEntry (UINT iIndex)
 Get active entry. More...
 
virtual ATSExport UINT NumRootEntries ()
 Number of root entries. More...
 
virtual ATSExport ATSFileEntryGetRootEntry (UINT iIndex)
 Get root entry. More...
 

Protected Attributes

std::vector< ATSFileEntry * > mATSFiles
 
std::vector< ATSFileEntry * > mATSRoots
 
std::vector< ATSFileEntry * > mATSActiveFiles
 

Additional Inherited Members

- Static Public Member Functions inherited from MaxHeapOperators
static UtilExport voidoperator new (size_t size)
 Standard new operator used to allocate objects If there is insufficient memory, an exception will be thrown. More...
 
static UtilExport voidoperator new (size_t size, const std::nothrow_t &e)
 Standard new operator used to allocate objects if there is insufficient memory, NULL will be returned. More...
 
static UtilExport voidoperator new (size_t size, const char *filename, int line)
 New operator used to allocate objects that takes the filename and line number where the new was called If there is insufficient memory, an exception will be thrown. More...
 
static UtilExport voidoperator new (size_t size, int block_type, const char *filename, int line)
 New operator used to allocate objects that takes the type of memory, filename and line number where the new was called If there is insufficient memory, an exception will be thrown. More...
 
static UtilExport voidoperator new (size_t size, const std::nothrow_t &e, const char *filename, int line)
 New operator used to allocate objects that takes the filename and line number where the new was called If there is insufficient memory, NULL will be returned. More...
 
static UtilExport voidoperator new (size_t size, unsigned long flags)
 New operator used to allocate objects that takes extra flags to specify special operations If there is insufficient memory, an exception will be thrown. More...
 
static UtilExport voidoperator new (size_t size, const std::nothrow_t &e, unsigned long flags)
 New operator used to allocate objects that takes extra flags to specify special operations If there is insufficient memory, NULL will be returned. More...
 
static UtilExport voidoperator new[] (size_t size)
 New operator used to allocate arrays of objects If there is insufficient memory, an exception will be thrown. More...
 
static UtilExport voidoperator new[] (size_t size, const std::nothrow_t &e)
 New operator used to allocate arrays of objects If there is insufficient memory, NULL will be returned. More...
 
static UtilExport voidoperator new[] (size_t size, const char *filename, int line)
 New operator used to allocate arrays of objects If there is insufficient memory, an exception will be thrown. More...
 
static UtilExport voidoperator new[] (size_t size, int block_type, const char *filename, int line)
 New operator used to allocate arrays of objects. More...
 
static UtilExport voidoperator new[] (size_t size, const std::nothrow_t &e, const char *filename, int line)
 New operator used to allocate arrays of objects If there is insufficient memory, NULL will be returned. More...
 
static UtilExport voidoperator new[] (size_t size, unsigned long flags)
 New operator used to allocate arrays of objects If there is insufficient memory, an exception will be thrown. More...
 
static UtilExport voidoperator new[] (size_t size, const std::nothrow_t &e, unsigned long flags)
 New operator used to allocate arrays of objects If there is insufficient memory, NULL will be returned. More...
 
static UtilExport void operator delete (void *ptr)
 Standard delete operator used to deallocate an object If the pointer is invalid, an exception will be thrown. More...
 
static UtilExport void operator delete (void *ptr, const std::nothrow_t &e)
 Standard delete operator used to deallocate an object If the pointer is invalid, nothing will happen. More...
 
static UtilExport void operator delete (void *ptr, const char *filename, int line)
 Delete operator used to deallocate an object that takes the filename and line number where the delete was called If the pointer is invalid, an exception will be thrown. More...
 
static UtilExport void operator delete (void *ptr, int block_type, const char *filename, int line)
 Delete operator used to deallocate an object that takes the type of memory, filename and line number where the delete was called If the pointer is invalid, an exception will be thrown. More...
 
static UtilExport void operator delete (void *ptr, const std::nothrow_t &e, const char *filename, int line)
 Delete operator used to deallocate an object that takes the filename and line number where the delete was called If the pointer is invalid, nothing will happen. More...
 
static UtilExport void operator delete (void *ptr, unsigned long flags)
 Delete operator used to deallocate an object that takes extra flags to specify special operations If the pointer is invalid, an exception will be thrown. More...
 
static UtilExport void operator delete (void *ptr, const std::nothrow_t &e, unsigned long flags)
 Delete operator used to deallocate an object that takes extra flags to specify special operations If the pointer is invalid, nothing will happen. More...
 
static UtilExport void operator delete[] (void *ptr)
 Standard delete operator used to deallocate an array of objects If the pointer is invalid, an exception will be thrown. More...
 
static UtilExport void operator delete[] (void *ptr, const std::nothrow_t &e)
 Standard delete operator used to deallocate an array of objects If the pointer is invalid, nothing will happen. More...
 
static UtilExport void operator delete[] (void *ptr, const char *filename, int line)
 Delete operator used to deallocate an array of objects that takes the filename and line number where the delete was called If the pointer is invalid, an exception will be thrown. More...
 
static UtilExport void operator delete[] (void *ptr, int block_type, const char *filename, int line)
 Delete operator used to deallocate an array of objects that takes the type of memory, filename and line number where the delete was called If the pointer is invalid, an exception will be thrown. More...
 
static UtilExport void operator delete[] (void *ptr, const std::nothrow_t &e, const char *filename, int line)
 Delete operator used to deallocate an array of objects that takes the filename and line number where the delete was called If the pointer is invalid, nothing will happen. More...
 
static UtilExport void operator delete[] (void *ptr, unsigned long flags)
 Delete operator used to deallocate an array of objects that takes extra flags to specify special operations If the pointer is invalid, an exception will be thrown. More...
 
static UtilExport void operator delete[] (void *ptr, const std::nothrow_t &e, unsigned long flags)
 Delete operator used to deallocate an array of objects that takes extra flags to specify special operations If the pointer is invalid, an exception will be thrown. More...
 
static UtilExport voidoperator new (size_t size, void *placement_ptr)
 Placement new operator. More...
 
static UtilExport void operator delete (void *ptr, void *placement_ptr)
 Placement delete operator. More...
 
static UtilExport voidaligned_malloc (size_t size, size_t alignment)
 Allocates memory on a specified alignment boundary. More...
 
static UtilExport voidaligned_realloc (void *ptr, size_t size, size_t alignment)
 Reallocates memory on a specified alignment boundary. More...
 
static UtilExport void aligned_free (void *ptr)
 Frees a block of memory that was allocated with aligned_malloc/aligned_realloc. More...
 

Detailed Description

ATS File List.

ATSFileList is a list of ATSFileEntry objects. It maintains three lists: 1) List of ATSFileEntry objects added, 2) List of root ATSFileEntry objects (those without parents), and 3) List of Active ATSFileEntry objects as specified and order by BuildActiveList method.

See also
ATSFileEntry

Constructor & Destructor Documentation

◆ ATSFileList()

Constructor.

◆ ~ATSFileList()

virtual ATSExport ~ATSFileList ( )
virtual

Destructor.

Member Function Documentation

◆ CreateEntry() [1/2]

virtual ATSExport ATSFileEntry* CreateEntry ( const MCHAR szFile,
ATSFileEntry pEntryParent = NULL,
ATSStatus  dwFlagsIn = ATS::kATSStatusActive,
ATSClientPtr  pClientPtr = NULL 
)
virtual

Create and add new ATSFileEntry.

Parameters
[in]szFilestring containing filename
[in]pEntryParentdefault is NULL. Pointer to parent ATSFileEntry object
[in]dwFlagsIndefault is kATSStatusActive. ATSStatus value that specified initial In flags.
[in]pClientPtrdefault is NULL. Client defined pointer.
Returns
pointer to ATSFileEntry object or NULL if failure

◆ CreateEntry() [2/2]

virtual ATSExport ATSFileEntry* CreateEntry ( ATSFileEntry atsFileEntry)
virtual

Copy and add new ATSFileEntry.

Parameters
[in]atsFileEntryThis ATSFileEntry object is copied and added to the entry list.
Returns
pointer to ATSFileEntry object or NULL if failure

◆ RemoveEntry() [1/2]

virtual ATSExport bool RemoveEntry ( ATSFileEntry pEntry)
virtual

Remove entry.

Parameters
[in]pEntryPointer to ATSFileEntry object.
Returns
true if success, false if failure

◆ NumEntries()

virtual ATSExport UINT NumEntries ( )
virtual

Number of entries.

Returns
number of entries in file list

◆ RemoveEntry() [2/2]

virtual ATSExport bool RemoveEntry ( UINT  iIndex)
virtual

Remove entry by index.

Parameters
[in]iIndex0-based index into file entry list
Returns
true if success, false if failure

◆ RemoveAll()

virtual ATSExport bool RemoveAll ( )
virtual

Remove all entries.

Returns
true if success, false if failure

◆ GetFileEntry()

virtual ATSExport ATSFileEntry* GetFileEntry ( UINT  iIndex)
virtual

Get entry.

Parameters
[in]iIndex0-based index into file entry list
Returns
pointer to ATSFileEntry object or NULL if failure

◆ BuildActiveList()

virtual ATSExport UINT BuildActiveList ( ATSStatus  dwFlagsIn = ATS::kATSStatusActive,
bool  bDepthFirstTraversal = false 
)
virtual

Build an active ATSFileEntry list.

This method builds (or rebuilds) the active file list as defined by a status and traversal criteria.

Parameters
[in]dwFlagsIndefault kATSStatusActive. Only add file entries that contain this flag in their In flags.
[in]bDepthFirstTraversaldefault false. When false, the active file list will be generated by an inorder traversal of the file list. When true, the list will be generated using a depth first traversal as defined by the ATSFileEntry hierarchy. When performing IATSProvider in which dependent files need to be added or checked in first, the active file list should be built with bDepthFirstTraversal set to true.
Returns
number of files in active list

◆ AddActiveEntry()

virtual ATSExport UINT AddActiveEntry ( ATSFileEntry pEntry)
virtual

Add entry to active list.

Parameters
[in]pEntryPointer to ATSFileEntry object to add to active list.
Returns
number of files in active list

◆ RemoveActiveEntry()

virtual ATSExport bool RemoveActiveEntry ( ATSFileEntry pEntry)
virtual

Remove active entry.

Parameters
[in]pEntryPointer to ATSFileEntry object.
Returns
true if success, false if failure

◆ NumActiveEntries()

virtual ATSExport UINT NumActiveEntries ( )
virtual

Number of active entries.

Returns
number of active entries in file list

◆ GetActiveFileEntry()

virtual ATSExport ATSFileEntry* GetActiveFileEntry ( UINT  iIndex)
virtual

Get active entry.

Parameters
[in]iIndex0-based index into active file entry list
Returns
pointer to ATSFileEntry object or NULL if failure

◆ NumRootEntries()

virtual ATSExport UINT NumRootEntries ( )
virtual

Number of root entries.

Returns
number of root entries in file list

◆ GetRootEntry()

virtual ATSExport ATSFileEntry* GetRootEntry ( UINT  iIndex)
virtual

Get root entry.

Parameters
[in]iIndex0-based index into root file entry list
Returns
pointer to ATSFileEntry object or NULL if failure

Member Data Documentation

◆ mATSFiles

std::vector<ATSFileEntry*> mATSFiles
protected

◆ mATSRoots

std::vector<ATSFileEntry*> mATSRoots
protected

◆ mATSActiveFiles

std::vector<ATSFileEntry*> mATSActiveFiles
protected