Inventor/SoSubTypedClass.h File Reference
#include <Inventor/SoType.h>
Go to the source code of this file.
Defines |
#define | SO_TYPED_CLASS_INTERNAL_HEADER() |
#define | SO_TYPED_CLASS_HEADER() |
#define | SO_TYPED_CLASS_ABSTRACT_VARS(className) |
#define | SO_TYPED_CLASS_VARS(className) SO_TYPED_CLASS_ABSTRACT_VARS(className) |
#define | SO_TYPED_CLASS_INTERNAL_SOURCE(parent, className, classPrintName) |
#define | SO_TYPED_CLASS_SOURCE(parentClass, className, classPrintName) |
#define | SO_TYPED_CLASS_ABSTRACT_INTERNAL_SOURCE(className) SO_TYPED_CLASS_ABSTRACT_VARS(className) |
#define | SO_TYPED_CLASS_ABSTRACT_SOURCE(className, classPrintName, parentClass) |
#define | SO_TYPED_CLASS_ABSTRACT_INTERNAL_HEADER() |
#define | SO_TYPED_CLASS_ABSTRACT_HEADER() |
#define | SO_TYPED_CLASS_INIT_ABSTRACT_CLASS(className, classPrintName, parentClass) |
#define | SO_TYPED_CLASS_EXIT_ABSTRACT_CLASS(className) |
#define | SO_TYPED_CLASS_INIT_CLASS(className, classPrintName, parentClass) |
#define | SO_TYPED_CLASS_EXIT_CLASS(className) SO_TYPED_CLASS_EXIT_ABSTRACT_CLASS(className) |
Define Documentation
#define SO_TYPED_CLASS_ABSTRACT_HEADER |
( |
|
) |
|
#define SO_TYPED_CLASS_ABSTRACT_INTERNAL_HEADER |
( |
|
) |
|
Value:public: \
virtual SoType getTypeId() const = 0; \
static SoType getClassTypeId() { return m_classTypeId; } \
\
private: \
static SoType m_classTypeId; \
static SbBool m_isFirstTime
#define SO_TYPED_CLASS_ABSTRACT_INTERNAL_SOURCE |
( |
className |
|
) |
SO_TYPED_CLASS_ABSTRACT_VARS(className) |
#define SO_TYPED_CLASS_ABSTRACT_SOURCE |
( |
className, |
|
|
classPrintName, |
|
|
parentClass |
|
) |
|
#define SO_TYPED_CLASS_ABSTRACT_VARS |
( |
className |
|
) |
|
#define SO_TYPED_CLASS_EXIT_ABSTRACT_CLASS |
( |
className |
|
) |
|
Value:SoType::removeType(m_classTypeId.getName()); \
m_classTypeId = SoType::badType(); \
m_isFirstTime = TRUE;
#define SO_TYPED_CLASS_EXIT_CLASS |
( |
className |
|
) |
SO_TYPED_CLASS_EXIT_ABSTRACT_CLASS(className) |
#define SO_TYPED_CLASS_HEADER |
( |
|
) |
|
#define SO_TYPED_CLASS_INIT_ABSTRACT_CLASS |
( |
className, |
|
|
classPrintName, |
|
|
parentClass |
|
) |
|
Value:if (m_isFirstTime) \
{ \
if (parentClass::getClassTypeId() == SoType::badType() ) \
parentClass::initClass(); \
m_classTypeId = SoType::createType(parentClass::getClassTypeId(), \
classPrintName, \
NULL); \
m_isFirstTime = FALSE; \
}
#define SO_TYPED_CLASS_INIT_CLASS |
( |
className, |
|
|
classPrintName, |
|
|
parentClass |
|
) |
|
Value:if (m_isFirstTime) \
{ \
if (parentClass::getClassTypeId() == SoType::badType() ) \
parentClass::initClass(); \
m_classTypeId = SoType::createType(parentClass::getClassTypeId(), \
classPrintName, \
&className::createFromSoType); \
m_isFirstTime = FALSE; \
}
#define SO_TYPED_CLASS_INTERNAL_HEADER |
( |
|
) |
|
Value:public: \
SoType getTypeId() const; \
static SoType getClassTypeId(); \
static void *createFromSoType(SoType* dynamicType = NULL); \
private: \
static SoType m_classTypeId; \
static SbBool m_isFirstTime
#define SO_TYPED_CLASS_INTERNAL_SOURCE |
( |
parent, |
|
|
className, |
|
|
classPrintName |
|
) |
|
#define SO_TYPED_CLASS_SOURCE |
( |
parentClass, |
|
|
className, |
|
|
classPrintName |
|
) |
|