CFx SDK Documentation  2022 SP0
Macros | Functions
daiRTTI.h File Reference
#include "daiSchema.h"
#include "daiEntity.h"

Go to the source code of this file.

Macros

#define OD_EXP_DECLARE_MEMBERS_GENERIC(ClassType, ClassName)
 
#define OD_EXP_DECLARE_MEMBERS(ClassName)    OD_EXP_DECLARE_MEMBERS_GENERIC(OdRxClass, ClassName)
 
#define OD_EXP_DEFINE_RTTI_MEMBERS_GENERIC(ClassType, ClassName, ParentClass)
 
#define OD_EXP_DEFINE_INIT_MEMBERS_GENERIC(ClassName, CREATE_CLASS_INSTANCE, CREATE_CLASS_INSTANCE2)
 
#define OD_EXP_DEFINE_RTTI_MEMBERS(ClassName, ParentClass)    OD_EXP_DEFINE_RTTI_MEMBERS_GENERIC(OdRxClass, ClassName, ParentClass)
 
#define OD_EXP_DEFINE_INIT_MEMBERS(SchemaName, ClassName, ParentClass, pseudoConsFn, DwgVer, MaintVer, nProxyFlags, szDWGClassName, szDxfName, szAppName, nCustomFlags)
 
#define OD_EXP_DEFINE_MEMBERS2(SchemaName, ClassName, ParentClass, pseudoConsFn, DwgVer, MaintVer, nProxyFlags, szDWGClassName, szDxfName, szAppName, nCustomFlags)
 
#define OD_EXP_DEFINE_PSEUDOCONSTRUCTOR(ClassName, DOCREATE)
 
#define OD_EXP_CONS_DEFINE_MEMBERS_ALTNAME(SchemaName, ClassName, ParentClass, szClassName, DOCREATE)
 
#define OD_EXP_CONS_DEFINE_MEMBERS(SchemaName, ClassName, ParentClass, DOCREATE)
 

Functions

DAI_EXPORT OdDAI::Entity * getOdDAIEntityClass (const OdString &szClassName, OdRxClass *pBaseClass, OdDAI::SchemaPtr expSchema, OdPseudoConstructorType pConstr=0, int DwgVer=0, int MaintVer=0, int nProxyFlags=0, const OdString &sDxfName=OdString::kEmpty, const OdString &sAppName=OdString::kEmpty, AppNameChangeFuncPtr fNameChangeFunc=NULL, int nCustomFlags=0, OdRxMemberCollectionConstructorPtr memberConstruct=0, void *userData=0)
 

Macro Definition Documentation

◆ OD_EXP_CONS_DEFINE_MEMBERS

#define OD_EXP_CONS_DEFINE_MEMBERS (   SchemaName,
  ClassName,
  ParentClass,
  DOCREATE 
)
Value:
\
OD_EXP_CONS_DEFINE_MEMBERS_ALTNAME(SchemaName,ClassName,ParentClass,OD_T(#ClassName),DOCREATE)
#define OD_T(x)
OdAnsiString SchemaName

Definition at line 186 of file daiRTTI.h.

◆ OD_EXP_CONS_DEFINE_MEMBERS_ALTNAME

#define OD_EXP_CONS_DEFINE_MEMBERS_ALTNAME (   SchemaName,
  ClassName,
  ParentClass,
  szClassName,
  DOCREATE 
)
Value:
\
OD_EXP_DEFINE_MEMBERS2(SchemaName,ClassName,ParentClass,ClassName::pseudoConstructor,0,0,0,szClassName,OdString::kEmpty,OdString::kEmpty,0) \
FIRSTDLL_EXPORT_STATIC static const OdString kEmpty
Definition: OdString.h:98
#define OD_EXP_DEFINE_PSEUDOCONSTRUCTOR(ClassName, DOCREATE)
Definition: daiRTTI.h:172

Definition at line 178 of file daiRTTI.h.

◆ OD_EXP_DECLARE_MEMBERS

#define OD_EXP_DECLARE_MEMBERS (   ClassName)     OD_EXP_DECLARE_MEMBERS_GENERIC(OdRxClass, ClassName)

Definition at line 95 of file daiRTTI.h.

◆ OD_EXP_DECLARE_MEMBERS_GENERIC

#define OD_EXP_DECLARE_MEMBERS_GENERIC (   ClassType,
  ClassName 
)

Headers declarations

Definition at line 50 of file daiRTTI.h.

◆ OD_EXP_DEFINE_INIT_MEMBERS

#define OD_EXP_DEFINE_INIT_MEMBERS (   SchemaName,
  ClassName,
  ParentClass,
  pseudoConsFn,
  DwgVer,
  MaintVer,
  nProxyFlags,
  szDWGClassName,
  szDxfName,
  szAppName,
  nCustomFlags 
)
Value:
ClassName, \
(/*getOdDAIEntityClass*/::newOdRxClass(szDWGClassName, ParentClass::desc()/*, g_pSchemaDef*/, pseudoConsFn, DwgVer, \
MaintVer, nProxyFlags, szDxfName, szAppName, NULL, nCustomFlags)), \
(/*getOdDAIEntityClass*/::newOdRxClass(szDWGClassName, ParentClass::desc()/*, g_pSchemaDef*/, pseudoConsFn, DwgVer, \
MaintVer, nProxyFlags, szDxfName, szAppName, pAppNameChangeCallback, nCustomFlags)))
#define NULL
Definition: GsProperties.h:177
FIRSTDLL_EXPORT OdRxClass * newOdRxClass(const OdString &sClassName, OdRxClass *pBaseClass, OdPseudoConstructorType pConstr=0, int DwgVer=0, int MaintVer=0, int nProxyFlags=0, const OdString &sDxfName=OdString::kEmpty, const OdString &sAppName=OdString::kEmpty, AppNameChangeFuncPtr fNameChangeFunc=NULL, int nCustomFlags=0)
#define OD_EXP_DEFINE_INIT_MEMBERS_GENERIC(ClassName, CREATE_CLASS_INSTANCE, CREATE_CLASS_INSTANCE2)
Definition: daiRTTI.h:113

Definition at line 151 of file daiRTTI.h.

◆ OD_EXP_DEFINE_INIT_MEMBERS_GENERIC

#define OD_EXP_DEFINE_INIT_MEMBERS_GENERIC (   ClassName,
  CREATE_CLASS_INSTANCE,
  CREATE_CLASS_INSTANCE2 
)

Definition at line 113 of file daiRTTI.h.

◆ OD_EXP_DEFINE_MEMBERS2

#define OD_EXP_DEFINE_MEMBERS2 (   SchemaName,
  ClassName,
  ParentClass,
  pseudoConsFn,
  DwgVer,
  MaintVer,
  nProxyFlags,
  szDWGClassName,
  szDxfName,
  szAppName,
  nCustomFlags 
)
Value:
\
OD_EXP_DEFINE_RTTI_MEMBERS(ClassName,ParentClass) \
OD_EXP_DEFINE_INIT_MEMBERS(SchemaName,ClassName,ParentClass,pseudoConsFn, \
DwgVer,MaintVer,nProxyFlags,szDWGClassName,szDxfName,szAppName,nCustomFlags)
#define OD_EXP_DEFINE_INIT_MEMBERS(SchemaName, ClassName, ParentClass, pseudoConsFn, DwgVer, MaintVer, nProxyFlags, szDWGClassName, szDxfName, szAppName, nCustomFlags)
Definition: daiRTTI.h:151

Definition at line 163 of file daiRTTI.h.

◆ OD_EXP_DEFINE_PSEUDOCONSTRUCTOR

#define OD_EXP_DEFINE_PSEUDOCONSTRUCTOR (   ClassName,
  DOCREATE 
)
Value:
\
OdRxObjectPtr ClassName::pseudoConstructor() { return OdRxObjectPtr(DOCREATE(ClassName)); }

Definition at line 172 of file daiRTTI.h.

◆ OD_EXP_DEFINE_RTTI_MEMBERS

#define OD_EXP_DEFINE_RTTI_MEMBERS (   ClassName,
  ParentClass 
)     OD_EXP_DEFINE_RTTI_MEMBERS_GENERIC(OdRxClass, ClassName, ParentClass)

Definition at line 148 of file daiRTTI.h.

◆ OD_EXP_DEFINE_RTTI_MEMBERS_GENERIC

#define OD_EXP_DEFINE_RTTI_MEMBERS_GENERIC (   ClassType,
  ClassName,
  ParentClass 
)
Value:
\
OdDAI::Entity* ClassName::g_pExpEntityDef = 0; \
ClassType* ClassName::g_pDesc = 0; \
ClassType* ClassName::desc() { return g_pDesc; } \
ClassType* ClassName::isA() const { return g_pDesc; } \
\
OdRxObject* ClassName::queryX(const OdRxClass* pClass) const { \
return ::odQueryXImpl<ClassName, ParentClass>(this, pClass); \
}

Cpp definitions

Definition at line 102 of file daiRTTI.h.

Function Documentation

◆ getOdDAIEntityClass()

DAI_EXPORT OdDAI::Entity* getOdDAIEntityClass ( const OdString szClassName,
OdRxClass pBaseClass,
OdDAI::SchemaPtr  expSchema,
OdPseudoConstructorType  pConstr = 0,
int  DwgVer = 0,
int  MaintVer = 0,
int  nProxyFlags = 0,
const OdString sDxfName = OdString::kEmpty,
const OdString sAppName = OdString::kEmpty,
AppNameChangeFuncPtr  fNameChangeFunc = NULL,
int  nCustomFlags = 0,
OdRxMemberCollectionConstructorPtr  memberConstruct = 0,
void userData = 0 
)