Class ExclList

3DS Max Plug-In SDK

Class ExclList

See Also: Class INode, Class ILoad, Class ISave, Class IMergeManager

class ExclList : public InterfaceServer

Description:

This class is available in release 4.0 and later only.

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.

Methods:

public:

Prototype:

ExclList();

Remarks:

Constructor.

Prototype:

void SetFlag(ULONG f, BOOL b=1);

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.

Prototype:

BOOL TestFlag(ULONG f);

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.

Prototype:

int Count();

Remarks:

This method returns the number of handles in the table.

Prototype:

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.

Prototype:

int FindNode(INode *node);

Remarks:

Returns the index of the node passed; otherwise returns -1.

Parameters:

INode *node

The node to find.

Prototype:

int AddNode(INode *node);

Remarks:

Appends the specified node to the end of the list.

Parameters:

INode *node

The node to add.

Return Value:

Returns the number of items in the list prior to appending.

Prototype:

void RemoveNode(INode *node);

Remarks:

Removes thes node from the list.

Parameters:

INode *node

The node to remove.

Prototype:

void RemoveNode(int i);

Remarks:

Removes the 'i-th' name from the list.

Parameters:

int i

Specifies the index of the node to remove.

Prototype:

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.

Prototype:

SetCount(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.

Prototype:

IOResult Load(ILoad *iload);

Remarks:

Loads this ExclList from disk.

Parameters:

ILoad *iload

This class provides methods to load data from disk.

Return Value:

See Also: List of IO Results.

Prototype:

IOResult Save(ISave *isave);

Remarks:

Saves this ExclList to disk.

Parameters:

ISave *isave

This class provides methods to save data to disk.

Return Value:

See Also: List of IO Results.

Prototype:

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.

Prototype:

INode* operator[] (const int i);

Remarks:

Index operator.

Prototype:

ExclList& operator=(const ExclList& e);

Remarks:

Assignment operator.

Prototype:

ExclList& operator=(const NameTab& n);

Remarks:

Assignment operator.