Public Member Functions | |
APICOMPData () | |
Public Attributes | |
IDType | fFamily |
The ID of the family to which the component belongs (eg 'shdr'). | |
IDType | fClass |
The unique ID (within its family) of the component class (eg 'schk'). | |
TMCString63 | fName |
The name of the component class (eg "Checker Shader"). | |
TMCString63 | fSubFamilyName |
The name of the sub family to which that component class belongs (eg "Pattern Functions"). | |
int32 | fVersion |
The version of the component (1 if it is the only version). | |
TMCString31 | fVersionStr |
The string representation of the version number. | |
TMCString255 | fComment |
Additionnal data that can be used by the UI (generally for Carrara shaders). | |
int32 | fAPIVersion |
The Carrara API version number the component class uses. |
Represents the 'COMP' resource.
Along with the GUID resource, it defines a Component Class (see also TComponentClassInfo) that is a description of the C++ class in your extension.
When the application calls your MakeCOMObject() function to create a new C++ instance of your C++ class, we also say that it creates a new Component Instance of your Component Class. Sometimes "class" or "instance" is omited in the documentation, but the context should tell you whether we're talking about the class or the instance of a component.
Component Classes are grouped into Compoment Families. A Family is associated with a particular C++ interface that all the component classes of the family must implement (eg the Shaders family is associated with I3DExShader).
Within a family, Component Classes are grouped into sub families. This is only used to enhance the user interface (generally to group related Component Classes into a sub menu like "Pattern Functions"). Sub families are identified by the fSubFamilyName field.
To handle versioning, it is allowed to have two Component Classes with the same ID (fClass), as long as they have different version numbers (fVersion). By default, the application will instanciate the latest version of a Componment class. But when reading an old file, the old instance will be created and used. A "Component Super Class" is simply the list of all the different versions of a Component Class.
APICOMPData::APICOMPData | ( | ) | [inline] |
int32 APICOMPData::fAPIVersion |
The Carrara API version number the component class uses.
The unique ID (within its family) of the component class (eg 'schk').
Additionnal data that can be used by the UI (generally for Carrara shaders).
The ID of the family to which the component belongs (eg 'shdr').
The name of the component class (eg "Checker Shader").
The name of the sub family to which that component class belongs (eg "Pattern Functions").
int32 APICOMPData::fVersion |
The version of the component (1 if it is the only version).
The string representation of the version number.