CFx SDK Documentation  2023 SP0
Classes | Macros | Typedefs | Functions
TfObject.h File Reference
#include "TD_PackPush.h"
#include "RxObject.h"
#include "RxIterator.h"
#include "TfVariant.h"
#include "TfObjectReactor.h"
#include "DbStubPtrArray.h"
#include "Gi/GiDrawable.h"

Go to the source code of this file.

Classes

class  OdTfAttributesContainer
 
class  OdTfPropertiesContainer
 
class  OdTfClass
 
class  OdTfProperty
 
class  OdTfAttribute
 
class  OdTfObject
 

Macros

#define ODTF_CREATE_ATTRIBUTE(Name, value)    reuslt.push_back(::newOdTfAttribute(OD_T(#Name), pObject, value));
 
#define ODTF_DEFINE_ATTRIBUTES_CONSTRUCTOR(Name, ATTRIBUTES_LIST)
 
#define ODTF_CREATE_PROPERTY_NO_ATTRS(PropertyName, type, gettterFn, setterFn, defaultItemFn)
 
#define ODTF_DEFINE_PROPERTIES_CONSTRUCTOR(ClassName, PROPERTIES_LIST)
 
#define ODTF_DECLARE_MEMBERS(ClassName)    ODRX_DECLARE_MEMBERS_GENERIC(OdTfClass, ClassName)
 
#define ODTF_DEFINE_RTTI_MEMBERS(ClassName, ParentClass)    ODRX_DEFINE_RTTI_MEMBERS_GENERIC(OdTfClass, ClassName, ParentClass)
 
#define ODTF_DEFINE_INIT_MEMBERS(ClassName, ParentClass, attrsConsFn, propsConsFn, pseudoConsFn, szClassName)
 
#define ODTF_DEFINE_MEMBERS2(ClassName, ParentClass, attrsConsFn, propsConsFn, pseudoConsFn, szClassName)
 
#define ODTF_NO_CONS_NO_ATTRS_NO_PROPS_DEFINE_MEMBERS(ClassName, ParentClass)
 
#define ODTF_NO_CONS_NO_ATTRS_PROPS_DEFINE_MEMBERS(ClassName, ParentClass, PROPERTIES_LIST)
 
#define ODTF_CONS_NO_ATTRS_PROPS_DEFINE_MEMBERS(ClassName, ParentClass, PROPERTIES_LIST, DOCREATE)
 
#define ODTF_CONS_NO_ATTRS_NO_PROPS_DEFINE_MEMBERS(ClassName, ParentClass, DOCREATE)
 

Typedefs

typedef OdSmartPtr< OdTfAttributesContainerOdTfAttributesContainerPtr
 
typedef OdSmartPtr< OdTfPropertiesContainerOdTfPropertiesContainerPtr
 
typedef OdSmartPtr< OdTfClassOdTfClassPtr
 
typedef OdSmartPtr< OdTfPropertyOdTfPropertyPtr
 
typedef OdSmartPtr< OdTfAttributeOdTfAttributePtr
 
typedef OdSmartPtr< OdTfObjectOdTfObjectPtr
 
typedef OdArray< OdTfProperty * >(* OdTfPropertiesConstructorType) (OdTfClass *)
 
typedef OdArray< OdTfAttribute * >(* OdTfAttributesConstructorType) (OdRxObject *)
 
typedef OdResult(* OdTfPropertyGetterType) (const OdTfObject *, OdTfVariant &)
 
typedef OdResult(* OdTfPropertySetterType) (OdTfObject *, const OdTfVariant &)
 
typedef OdTfVariant(* OdTfVariantConstructorType) ()
 

Functions

TFCORE_EXPORT OdTfClassnewOdTfClass (const OdString &name, OdRxClass *pBaseClass, OdTfAttributesConstructorType pAttrsConstr, OdTfPropertiesConstructorType pPropsConstr, OdPseudoConstructorType pConstr, bool bRegister=true)
 
TFCORE_EXPORT OdTfClasscreateOdTfClass ()
 
TFCORE_EXPORT OdTfClassinitOdTfClass (OdTfClass *pClass, const OdString &name, OdRxClass *pBaseClass, const OdArray< OdTfAttribute * > &attributes, const OdArray< OdTfProperty * > &properties, OdPseudoConstructorType pConstr, bool bRegister=true)
 
TFCORE_EXPORT OdTfPropertynewOdTfProperty (const OdString &name, OdTfClass *pOwner, OdTfVariant::Type type, OdTfAttributesConstructorType pAttrsConstr, OdTfVariantConstructorType pDefaultValueConstructor, OdTfPropertyGetterType pGetter, OdTfPropertySetterType pSetter)
 
TFCORE_EXPORT OdTfPropertycreateOdTfProperty ()
 
TFCORE_EXPORT OdTfPropertyinitOdTfProperty (OdTfProperty *pProp, const OdString &name, OdTfClass *pOwner, OdTfVariant::Type type, const OdArray< OdTfAttribute * > &attributes, OdTfVariantConstructorType pDefaultValueConstructor, OdTfPropertyGetterType pGetter, OdTfPropertySetterType pSetter)
 
TFCORE_EXPORT OdTfAttributenewOdTfAttribute (const OdString &name, OdRxObject *pOwner, const OdTfVariant &value)
 

Macro Definition Documentation

◆ ODTF_CONS_NO_ATTRS_NO_PROPS_DEFINE_MEMBERS

#define ODTF_CONS_NO_ATTRS_NO_PROPS_DEFINE_MEMBERS (   ClassName,
  ParentClass,
  DOCREATE 
)
Value:
ODTF_DEFINE_MEMBERS2(ClassName, ParentClass, NULL, NULL, \
ClassName::pseudoConstructor, OD_T(#ClassName)) \
ODRX_DEFINE_PSEUDOCONSTRUCTOR(ClassName, DOCREATE)
#define NULL
Definition: GsProperties.h:177
#define OD_T(x)
#define ODRX_DEFINE_PSEUDOCONSTRUCTOR(ClassName, DOCREATE)
Definition: RxObject.h:232
#define ODTF_DEFINE_MEMBERS2(ClassName, ParentClass, attrsConsFn, propsConsFn, pseudoConsFn, szClassName)
Definition: TfObject.h:75

Definition at line 107 of file TfObject.h.

◆ ODTF_CONS_NO_ATTRS_PROPS_DEFINE_MEMBERS

#define ODTF_CONS_NO_ATTRS_PROPS_DEFINE_MEMBERS (   ClassName,
  ParentClass,
  PROPERTIES_LIST,
  DOCREATE 
)
Value:
ODTF_DEFINE_PROPERTIES_CONSTRUCTOR(ClassName, PROPERTIES_LIST) \
ODTF_DEFINE_MEMBERS2(ClassName, ParentClass, NULL, \
ClassName##propertiesConstructor, \
ClassName::pseudoConstructor, OD_T(#ClassName)) \
ODRX_DEFINE_PSEUDOCONSTRUCTOR(ClassName, DOCREATE)
#define ODTF_DEFINE_PROPERTIES_CONSTRUCTOR(ClassName, PROPERTIES_LIST)
Definition: TfObject.h:53

Definition at line 98 of file TfObject.h.

◆ ODTF_CREATE_ATTRIBUTE

#define ODTF_CREATE_ATTRIBUTE (   Name,
  value 
)     reuslt.push_back(::newOdTfAttribute(OD_T(#Name), pObject, value));

Definition at line 36 of file TfObject.h.

◆ ODTF_CREATE_PROPERTY_NO_ATTRS

#define ODTF_CREATE_PROPERTY_NO_ATTRS (   PropertyName,
  type,
  gettterFn,
  setterFn,
  defaultItemFn 
)
Value:
result.push_back(::newOdTfProperty( \
OD_T(#PropertyName), pClass, static_cast<OdTfVariant::Type>(type), NULL, \
defaultItemFn, gettterFn, setterFn));
TFCORE_EXPORT OdTfProperty * newOdTfProperty(const OdString &name, OdTfClass *pOwner, OdTfVariant::Type type, OdTfAttributesConstructorType pAttrsConstr, OdTfVariantConstructorType pDefaultValueConstructor, OdTfPropertyGetterType pGetter, OdTfPropertySetterType pSetter)
GLuint GLsizei GLsizei GLint GLenum * type
Definition: gles2_ext.h:274

Definition at line 47 of file TfObject.h.

◆ ODTF_DECLARE_MEMBERS

#define ODTF_DECLARE_MEMBERS (   ClassName)     ODRX_DECLARE_MEMBERS_GENERIC(OdTfClass, ClassName)

Definition at line 61 of file TfObject.h.

◆ ODTF_DEFINE_ATTRIBUTES_CONSTRUCTOR

#define ODTF_DEFINE_ATTRIBUTES_CONSTRUCTOR (   Name,
  ATTRIBUTES_LIST 
)
Value:
static OdArray<OdTfAttribute*> Name##AttributesConstructor( \
OdRxObject* pObject) { \
OdArray<OdTfAttribute*> result; \
ATTRIBUTES_LIST(ODTF_CREATE_ATTRIBUTE) \
return result; \
}
#define ODTF_CREATE_ATTRIBUTE(Name, value)
Definition: TfObject.h:36

Definition at line 39 of file TfObject.h.

◆ ODTF_DEFINE_INIT_MEMBERS

#define ODTF_DEFINE_INIT_MEMBERS (   ClassName,
  ParentClass,
  attrsConsFn,
  propsConsFn,
  pseudoConsFn,
  szClassName 
)
Value:
ClassName, (::newOdTfClass(szClassName, ParentClass::desc(), \
attrsConsFn, propsConsFn, pseudoConsFn)), \
(::newOdTfClass(szClassName, ParentClass::desc(), attrsConsFn, \
propsConsFn, pseudoConsFn)))
#define ODRX_DEFINE_INIT_MEMBERS_GENERIC(ClassName, CREATE_CLASS_INSTANCE, CREATE_CLASS_INSTANCE2)
Definition: RxObject.h:173
TFCORE_EXPORT OdTfClass * newOdTfClass(const OdString &name, OdRxClass *pBaseClass, OdTfAttributesConstructorType pAttrsConstr, OdTfPropertiesConstructorType pPropsConstr, OdPseudoConstructorType pConstr, bool bRegister=true)

Definition at line 67 of file TfObject.h.

◆ ODTF_DEFINE_MEMBERS2

#define ODTF_DEFINE_MEMBERS2 (   ClassName,
  ParentClass,
  attrsConsFn,
  propsConsFn,
  pseudoConsFn,
  szClassName 
)
Value:
\
ODTF_DEFINE_RTTI_MEMBERS(ClassName, ParentClass) \
ODTF_DEFINE_INIT_MEMBERS(ClassName, ParentClass, attrsConsFn, propsConsFn, \
pseudoConsFn, szClassName)

Definition at line 75 of file TfObject.h.

◆ ODTF_DEFINE_PROPERTIES_CONSTRUCTOR

#define ODTF_DEFINE_PROPERTIES_CONSTRUCTOR (   ClassName,
  PROPERTIES_LIST 
)
Value:
static OdArray<OdTfProperty*> ClassName##propertiesConstructor( \
OdTfClass* pClass) { \
OdArray<OdTfProperty*> result; \
PROPERTIES_LIST(ODTF_CREATE_PROPERTY_NO_ATTRS); \
return result; \
}
#define ODTF_CREATE_PROPERTY_NO_ATTRS(PropertyName, type, gettterFn, setterFn, defaultItemFn)
Definition: TfObject.h:47

Definition at line 53 of file TfObject.h.

◆ ODTF_DEFINE_RTTI_MEMBERS

#define ODTF_DEFINE_RTTI_MEMBERS (   ClassName,
  ParentClass 
)     ODRX_DEFINE_RTTI_MEMBERS_GENERIC(OdTfClass, ClassName, ParentClass)

Definition at line 64 of file TfObject.h.

◆ ODTF_NO_CONS_NO_ATTRS_NO_PROPS_DEFINE_MEMBERS

#define ODTF_NO_CONS_NO_ATTRS_NO_PROPS_DEFINE_MEMBERS (   ClassName,
  ParentClass 
)
Value:
\
ODTF_DEFINE_MEMBERS2(ClassName, ParentClass, NULL, NULL, NULL, \
OD_T(#ClassName)) \
#define EMPTY_CONSTR(ClassName)
Definition: RxObject.h:140

Definition at line 82 of file TfObject.h.

◆ ODTF_NO_CONS_NO_ATTRS_PROPS_DEFINE_MEMBERS

#define ODTF_NO_CONS_NO_ATTRS_PROPS_DEFINE_MEMBERS (   ClassName,
  ParentClass,
  PROPERTIES_LIST 
)
Value:
ODTF_DEFINE_PROPERTIES_CONSTRUCTOR(ClassName, PROPERTIES_LIST) \
ODTF_DEFINE_MEMBERS2(ClassName, ParentClass, NULL, \
ClassName##propertiesConstructor, NULL, \
OD_T(#ClassName)) \

Definition at line 89 of file TfObject.h.

Typedef Documentation

◆ OdTfAttributePtr

Definition at line 198 of file TfObject.h.

◆ OdTfAttributesConstructorType

typedef OdArray<OdTfAttribute*>(* OdTfAttributesConstructorType) (OdRxObject *)

Definition at line 348 of file TfObject.h.

◆ OdTfAttributesContainerPtr

Definition at line 124 of file TfObject.h.

◆ OdTfClassPtr

Definition at line 159 of file TfObject.h.

◆ OdTfObjectPtr

Definition at line 341 of file TfObject.h.

◆ OdTfPropertiesConstructorType

typedef OdArray<OdTfProperty*>(* OdTfPropertiesConstructorType) (OdTfClass *)

Definition at line 347 of file TfObject.h.

◆ OdTfPropertiesContainerPtr

Definition at line 145 of file TfObject.h.

◆ OdTfPropertyGetterType

typedef OdResult(* OdTfPropertyGetterType) (const OdTfObject *, OdTfVariant &)

Definition at line 349 of file TfObject.h.

◆ OdTfPropertyPtr

Definition at line 185 of file TfObject.h.

◆ OdTfPropertySetterType

typedef OdResult(* OdTfPropertySetterType) (OdTfObject *, const OdTfVariant &)

Definition at line 351 of file TfObject.h.

◆ OdTfVariantConstructorType

typedef OdTfVariant(* OdTfVariantConstructorType) ()

Definition at line 353 of file TfObject.h.

Function Documentation

◆ createOdTfClass()

TFCORE_EXPORT OdTfClass* createOdTfClass ( )

◆ createOdTfProperty()

TFCORE_EXPORT OdTfProperty* createOdTfProperty ( )

◆ initOdTfClass()

TFCORE_EXPORT OdTfClass* initOdTfClass ( OdTfClass pClass,
const OdString name,
OdRxClass pBaseClass,
const OdArray< OdTfAttribute * > &  attributes,
const OdArray< OdTfProperty * > &  properties,
OdPseudoConstructorType  pConstr,
bool  bRegister = true 
)

◆ initOdTfProperty()

TFCORE_EXPORT OdTfProperty* initOdTfProperty ( OdTfProperty pProp,
const OdString name,
OdTfClass pOwner,
OdTfVariant::Type  type,
const OdArray< OdTfAttribute * > &  attributes,
OdTfVariantConstructorType  pDefaultValueConstructor,
OdTfPropertyGetterType  pGetter,
OdTfPropertySetterType  pSetter 
)

◆ newOdTfAttribute()

TFCORE_EXPORT OdTfAttribute* newOdTfAttribute ( const OdString name,
OdRxObject pOwner,
const OdTfVariant value 
)

◆ newOdTfClass()

TFCORE_EXPORT OdTfClass* newOdTfClass ( const OdString name,
OdRxClass pBaseClass,
OdTfAttributesConstructorType  pAttrsConstr,
OdTfPropertiesConstructorType  pPropsConstr,
OdPseudoConstructorType  pConstr,
bool  bRegister = true 
)

◆ newOdTfProperty()

TFCORE_EXPORT OdTfProperty* newOdTfProperty ( const OdString name,
OdTfClass pOwner,
OdTfVariant::Type  type,
OdTfAttributesConstructorType  pAttrsConstr,
OdTfVariantConstructorType  pDefaultValueConstructor,
OdTfPropertyGetterType  pGetter,
OdTfPropertySetterType  pSetter 
)