-
首页
-
C4D R23.110 C++ SDK
ComponentDescriptor Class Reference
系统
#include <objectbase.h>
详细描述
ComponentDescriptor
describes a component implementation (created by MAXON_COMPONENT and MAXON_COMPONENT_ONLY_REGISTER) at runtime. It is an EntityDefinition object, the component descriptor can be published as an object via MAXON_DECLARATION.
构造函数 & 析构函数文档编制
◆
ComponentDescriptor()
[1/4]
◆
~ComponentDescriptor()
◆
ComponentDescriptor()
[2/4]
Constructs the
ComponentDescriptor
object and adds it to the definition list of the current translation unit.
Class
C is used as implementation class of the component.
-
参数
-
[in]
|
ctype
|
Dummy parameter, this is only needed to determine template parameter C.
|
[in]
|
cid
|
The unique component identifier.
|
[in]
|
unit
|
The translation unit containing the component implementation.
|
[in]
|
file
|
Source file name.
|
[in]
|
flags
|
PROXY may be set here.
|
[in]
|
registry
|
Dummy parameter to pass the registry.
|
-
Template Parameters
-
C
|
Implementation class of the component.
|
◆
ComponentDescriptor()
[3/4]
◆
ComponentDescriptor()
[4/4]
成员函数文档编制
◆
GetId()
const
Id
& GetId
|
(
|
|
)
|
const
|
Returns the component identifier of this descriptor.
-
返回
-
Unique identifier.
◆
Initialize()
Result
<void> Initialize
|
(
|
const
Id
&
|
cause
|
)
|
const
|
Initializes the component descriptor. This is invoked by the object system after all other entity objects on which the component depends have been initialized. If the descriptor has been initialized already, or if such a previous attempt failed, no further initialization is done. All references to the descriptor object (given by MAXON_DECLARATION) will be initialized, too.
-
参数
-
[in]
|
cause
|
Identifier of another entity which caused the initialization of this descriptor. This is only for informative purpose.
|
-
返回
-
Success of initialization.
◆
NullValue()
◆
ToString()
◆
GetDefinition()
const EntityDefinition& GetDefinition
|
(
|
|
)
|
const
|
◆
GetClassProxy()
◆
GetInterfaces()
const
Block
<const InterfaceReference* const>& GetInterfaces
|
(
|
|
)
|
const
|
◆
GetFlags()
EntityBase::FLAGS GetFlags
|
(
|
|
)
|
const
|
◆
GetSize()
◆
Construct()
Used by the constructors to initialize function pointers and other implementation-specific values from the component implementation class C.
-
Template Parameters
-
C
|
Implementation class of the component.
|
Friends And Related Function Documentation
◆
ObjectModel
friend class ObjectModel
|
friend
|
◆
ObjectInterface
◆
PrivateSuperCallBase
friend class PrivateSuperCallBase
|
friend
|
◆
ClassInfo
friend class ClassInfo
|
friend
|
◆
ClassImpl
friend class ClassImpl
|
friend
|
◆
VirtualInterfaceInfo
friend class VirtualInterfaceInfo
|
friend
|
◆
VirtualInterfaceVersion
friend struct VirtualInterfaceVersion
|
friend
|
Member Data Documentation
◆
GetDescribeIO
◆
_super
EntityDefinition _super
|
private
|
Base definition object.
◆
_construct
void(* _construct(void *component)
|
private
|
Constructor of component.
◆
_destruct
void(* _destruct(void *component)
|
private
|
Destructor of component.
◆
_init
Result
<void>(* _init(void *component)
|
|
private
|
Pointer for InitComponent function.
◆
_free
void(* _free(void *component)
|
private
|
Pointer for FreeComponent function.
◆
_copyFrom
Result
<void>(* _copyFrom(void *destComp, const void *srcObject)
|
|
private
|
Pointer for CopyFrom function.
◆
_constructMTable
Pointer for ConstructMTable function of component implementation class.
◆
_initImplementation
Result
<void>(* _initImplementation()
|
|
private
|
Pointer for InitImplementation function of component implementation class.
◆
_freeImplementation
void(* _freeImplementation()
|
private
|
Pointer for FreeImplementation function of component implementation class.
◆
_describeIO
This function is used to describe the component for I/O operations.
◆
_interfaces
Block
<const InterfaceReference* const> _interfaces
|
|
private
|
The list of implemented interfaces (excluding base interfaces).
◆
_size
Size of component object data.
◆
_alignment
Alignment of component object data.
◆
_superMTableSize
Size of super-vtable of component.
◆
_hashCode
Hash code of component descriptor. This will be less than ClassInfo::HASH_TABLE_SIZE.
◆
_selfPtrOffset
Offset of the self pointer within the component.
◆
_simpleMTableSize
Size of the simple method table if this component implements a simple virtual interface, 0 otherwise.
◆
_registry
Id
of a registry at which this component descriptor shall be registered.
◆
_classProxy
For a proxy component, this points to the corresponding class proxy component.
◆
_implementedMethods
void* _implementedMethods
|
private
|
Pointer to internal information about the set of implemented methods.
◆
_supercalls
Singly-linked list of super calls which are needed by this component.