Class ClassEntry

3DS Max Plug-In SDK

Class ClassEntry

See Also: Class DllDir, Class SubClassList, Class ClassDesc, Class DataClassDesc, Class Class_ID.

class ClassEntry

Description:

This class is available in release 2.0 and later only.

This class provides information about a class in the SubClassList table of classes. This is information such as the class ID, category, public status, usage count, etc.

All methods of this class are implemented by the system.

Methods:

Prototype:

ClassDesc *CD();

Remarks:

Returns a pointer to the class descriptror for this entry. Note: With the addition of deferred-loaded plug-ins introduced in 3ds max 3.0, this method may return a pointer to an instance of class DataClassDesc (a sub-class of ClassDesc). A developer can tell if the returned class is a DataClassDesc object if ClassEntry::IsLoaded() returns FALSE. This derived class implements ClassDesc::Create() by returning NULL. Developers need to call ClassEntry::FullCD() in order to ensure that the class is actually present. Developers can call this method to retrieve data about the plug-in without forcing a load. It may also be called to get a 'full' ClassDesc if it is known that the plug-in is loaded (IsLoaded() returns TRUE).

Prototype:

ClassDesc *FullCD();

Remarks:

This method is available in release 3.0 and later only.

This method fetches the class descriptor from a class entry. Unlike CD() above, this method will load the relevant DLL if its loading was deferred, and will return a pointer to the loaded class descriptor. See Deferred Loaded of Plug-Ins for more details.

Prototype:

int IsPublic();

Remarks:

Returns nonzero if the class is public; otherwise zero. Non-public classes are those that are meant for private use by other plug-ins.

Prototype:

Class_ID ClassID();

Remarks:

Returns the Class_ID of the entry.

Prototype:

TSTR &ClassName();

Remarks:

Returns the class name of the entry.

Prototype:

TSTR &Category();

Remarks:

Returns a reference to the category string for this entry.

Prototype:

int UseCount();

Remarks:

Returns the number of instance of this class used in 3ds max.

Prototype:

void IncUseCount();

Remarks:

This is used internally to increment the usage count for this entry.

Prototype:

void SetUseCount(int i);

Remarks:

This is used internally to set the usage count for this entry.

Prototype:

int IsAccType(int accType);

Remarks:

Returns nonzero if this entry matches the specifed access type; otherwise zero.

Parameters:

int accType

One of the following values:

ACC_PUBLIC - public classes

ACC_PRIVATE - non-public classes

Prototype:

int DllNumber();

Remarks:

Returns the index into the master DLL list of this entry.

Prototype:

bool IsLoaded();

Remarks:

This method is available in release 3.0 and later only.

Returns TRUE if loaded; otherwise FALSE.

Prototype:

int ClassNumber();

Remarks:

This method is available in release 3.0 and later only.

Returns the index of the class within the DLL

Prototype:

void Set(ClassDesc *cld, int dllN, int index);

Remarks:

This method is used internally.

Prototype:

int GetScroll();

Remarks:

This method is used internally.

Prototype:

void SetScroll(int s);

Remarks:

This method is used internally.

Prototype:

BOOL GetPageState(int i);

Remarks:

This method is used internally.

Prototype:

void SetPageState(int i,BOOL state);

Remarks:

This method is used internally.

Operators:

Prototype:

ClassEntry& operator=(const ClassEntry &ce);

Remarks:

Assignment operator.

Prototype:

int operator==(const ClassEntry &ce) const;

Remarks:

Equality operator.