3ds Max C++ API Reference
ExclList Class Reference

#include <excllist.h>

+ Inheritance diagram for ExclList:

Public Member Functions

 ExclList ()
 
void SetFlag (ULONG f, BOOL b=1)
 
BOOL TestFlag (ULONG f) const
 
int Count () const
 
CoreExport INodeoperator[] (const int i)
 
CoreExport void Set (int i, INode *node)
 
CoreExport ExclListoperator= (const ExclList &e)
 
CoreExport ExclListoperator= (const NameTab &n)
 
CoreExport int FindNode (INode *node)
 
CoreExport int AddNode (INode *node)
 
CoreExport void RemoveNode (INode *node)
 
CoreExport void RemoveNode (int i)
 
CoreExport void SetSize (int num)
 
void SetCount (int num)
 
CoreExport IOResult Load (ILoad *iload)
 
CoreExport IOResult Save (ISave *isave)
 
CoreExport void OnMerge (IMergeManager *imm)
 
- Public Member Functions inherited from InterfaceServer
virtual UtilExport ~InterfaceServer ()
 Destructor. More...
 
virtual UtilExport BaseInterfaceGetInterface (Interface_ID id)
 
template<class InterfaceType >
InterfaceType * GetTypedInterface ()
 

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

See also
Class INode, Class ILoad, Class ISave, Class IMergeManager

Description:
This class represents an exclusion list and is a direct parallel to the NameTab, and converting from using one to the other is fairly simple.

Constructor & Destructor Documentation

◆ ExclList()

ExclList ( )
inline
Remarks
Constructor.
#define NT_AFFECT_SHADOWCAST
Definition: ExcludeListConstants.h:13
#define NT_AFFECT_ILLUM
Definition: ExcludeListConstants.h:12

Member Function Documentation

◆ SetFlag()

void SetFlag ( ULONG  f,
BOOL  b = 1 
)
inline
Remarks
Sets the specified flag to the specified value.
Parameters:
ULONG f

The flag(s) to set. One or more of the following values:

NT_INCLUDE

This bit is used to indicate "Include" mode.

NT_AFFECT_ILLUM

This bit is used to indicate the "Illumination" check box in the exclusion list dialog.

NT_AFFECT_SHADOWCAST

This bit is used to indicate the "Shadow Casting" check box in the exclusion list dialog.

BOOL b=1

The value to set.
49 { if (b) flags|=f; else flags &= ~f; }

◆ TestFlag()

BOOL TestFlag ( ULONG  f) const
inline
Remarks
Returns TRUE if the specified flag(s) are set; otherwise FALSE.
Parameters:
ULONG f

The flag(s) to set. One or more of the following values:

NT_INCLUDE

This bit is used to indicate "Include" mode.

NT_AFFECT_ILLUM

This bit is used to indicate the "Illumination" check box in the exclusion list dialog.

NT_AFFECT_SHADOWCAST

This bit is used to indicate the "Shadow Casting" check box in the exclusion list dialog.
63 { return (flags&f)?1:0; }

◆ Count()

int Count ( ) const
inline
Remarks
This method returns the number of handles in the table.
66 { return handles.Count(); }
int Count() const
Retrieves the number of items in the Tab.
Definition: tab.h:219

◆ operator[]()

CoreExport INode* operator[] ( const int  i)
Remarks
Index operator.

◆ Set()

CoreExport void Set ( int  i,
INode node 
)
Remarks
This method allows you to set a specified entry in the table to the specified node.
Parameters:
int i

The index in the table.

INode *node

The node to set.

◆ operator=() [1/2]

CoreExport ExclList& operator= ( const ExclList e)
Remarks
Assignment operator.

◆ operator=() [2/2]

CoreExport ExclList& operator= ( const NameTab n)
Remarks
Assignment operator.

◆ FindNode()

CoreExport int FindNode ( INode node)
Remarks
Returns the index of the node passed; otherwise returns -1.
Parameters:
INode *node

The node to find.

◆ AddNode()

CoreExport int AddNode ( INode node)
Remarks
Appends the specified node to the end of the list.
Parameters:
INode *node

The node to add.
Returns
Returns the number of items in the list prior to appending.

◆ RemoveNode() [1/2]

CoreExport void RemoveNode ( INode node)
Remarks
Removes thes node from the list.
Parameters:
INode *node

The node to remove.

◆ RemoveNode() [2/2]

CoreExport void RemoveNode ( int  i)
Remarks
Removes the 'i-th' name from the list.
Parameters:
int i

Specifies the index of the node to remove.

◆ SetSize()

CoreExport void SetSize ( int  num)
Remarks
Sets the size of the list. If the new size is smaller than the current size entries are deleted.
Parameters:
int num

Specifies the size of the list.

◆ SetCount()

void SetCount ( int  num)
inline
Remarks
Sets the size of the list. If the new size is smaller than the current size entries are deleted.
Parameters:
int num

Specifies the size of the list.
114 { SetSize(num); }
CoreExport void SetSize(int num)

◆ Load()

CoreExport IOResult Load ( ILoad iload)
Remarks
Loads this ExclList from disk.
Parameters:
ILoad *iload

This class provides methods to load data from disk.
See also
I/O Results.

◆ Save()

CoreExport IOResult Save ( ISave isave)
Remarks
Saves this ExclList to disk.
Parameters:
ISave *isave

This class provides methods to save data to disk.
See also
I/O Results.

◆ OnMerge()

CoreExport void OnMerge ( IMergeManager imm)
Remarks
This method takes care of setting the merge manager interface.
Parameters:
IMergeManager* imm

A pointer to the merge manager interface.