Class DataClassDesc

3DS Max Plug-In SDK

Class DataClassDesc

See Also: Class ClassDesc, Class ClassEntry, Class BitmapIO, Class SceneImport, Class SceneExport.

class DataClassDesc : public ClassDesc

Description:

This class is available in release 3.0 and later only.

This is a "partial" class descriptor for classes in plug-ins described by Registry entries. The registry is a system-defined database that applications and system components use to store and retrieve configuration data. This class provides a "stub" or partial class description, as read from the Registry, which provides basic descriptive information about the class (which proves adequate for certain purposes). Proper use of the method ClassEntry::FullCD() ensures that the partial class description will be replaced by the full one, which includes the ClassDesc::Create() method and other functionality. Note: With the addition of delay-loaded plugins, the method ClassEntry::CD() may return a pointer to an instance of this class. This derived class implements Create() by returning NULL. Developers need to call FullCD() in order to ensure that the class is actually there.

For additional details see Class ClassEntry and the Advanced Topics section Deferred Loading of Plug-Ins.

Data Members:

public:

These data members are initialized from the Registry.

TSTR category;

The category string (ClassDesc::Category()).

DWORD classIDA;

The first ulong of the Class_ID (ClassDesc::ClassID()).

DWORD classIDB;

The second ulong of the Class_ID (ClassDesc::ClassID()).

DWORD superClassID;

The SuperClassID (ClassDesc::SuperClassID()).

TSTR className;

The class name (ClassDesc::ClassName()).

DWORD isPublic;

The ClassDesc::ISPublic() return value.

DWORD okToCreate;

The ClassDesc::OkToCreate() return value.

DWORD extCount;

Returns the number of file name extensions supported (SceneImport::ExtCount(),SceneExport::ExtCount(), BitmapIO::ExtCount()).

TSTR ext;

The file name extension (SceneImport::Ext(0), SceneExport::Ext(0), BitmapIO::Ext(0)).

TSTR shortDesc;

The short ASCII description (SceneImport::ShortDesc(), SceneExport::ShortDesc()).

TSTR longDesc;

The long ASCII description (SceneImport::LongDesc(), SceneExport::LongDesc()).

DWORD supportsOptions;

The export options (SceneExport::SupportsOptions()).

DWORD capability;

The BitmapIO module capability flags (BitmapIO::Capability()).

DWORD inputTypeA;

The first ulong of the Modifier::InputType() Class_ID.

DWORD inputTypeB;

The second ulong of the Modifier::InputType() Class_ID.

Methods:

public:

The following are the meaningful methods from the base class ClassDesc which are provided by this class. Other methods not listed have basically NULL (i.e. non-functional) implementations.

Prototype:

int IsPublic();

Remarks:

Returns the isPublic setting.

Prototype:

const TCHAR *ClassName();

Remarks:

Returns the class name for the plug-in (className).

Prototype:

SClass_ID SuperClassID();

Remarks:

Returns the SuperClassID (superClassID). Note: typedef ulong SClass_ID;

Prototype:

Class_ID ClassID();

Remarks:

Returns the Class_ID. This is Class_ID(classIDA, classIDB).

Prototype:

const TCHAR *Category();

Remarks:

Returns the category string.

Prototype:

BOOL OkToCreate(Interface *i);

Remarks:

Returns the okToCreate state.