Open Inventor Release 2023.2.3
 
Loading...
Searching...
No Matches
SoSubAction.h File Reference

Go to the source code of this file.

Macros

#define SO_ACTION_HEADER(className)
 
#define SO_ACTION_HEADER_WITH_DEF(className)    SO_ACTION_HEADER(className)
 
#define SO__ACTION_VARS(className)
 
#define SO_ACTION_SOURCE(className)
 
#define SO_ACTION_AUTOINIT_SOURCE(className, parentClass)
 
#define SO_ACTION_INIT_CLASS_CHECK_PARENT(className, parentClass)
 
#define SO_ACTION_INIT_CLASS_INTERNAL(className, parentClass)
 
#define SO_ACTION_INIT_CLASS(className, parentClass)    SO_ACTION_INIT_CLASS_INTERNAL(className, parentClass)
 
#define SO_ACTION_EXIT_CLASS(className)
 
#define SO__ACTION_CHECK_INIT(className)
 
#define SO_ACTION_CONSTRUCTOR(className)    SO__ACTION_CHECK_INIT(className);
 
#define SO_ACTION_ADD_METHOD(nodeClass, method)    addMethod(nodeClass::getClassTypeId(), method)
 
#define SO__ACTION_ELEMENTS_METHODS(className)
 
#define SO__ACTION_METHODS(className)
 
#define SO__ACTION_AUTOINIT_METHODS(className, parentClass)
 

Functions

virtual const SoEnabledElementsList & getEnabledElements () const
 

Macro Definition Documentation

◆ SO__ACTION_AUTOINIT_METHODS

#define SO__ACTION_AUTOINIT_METHODS (   className,
  parentClass 
)
Value:
SoType \
className::getClassTypeId() \
{ \
if (!classTypeIdIsSet) { \
SO_ACTION_INIT_CLASS(className, parentClass); \
} \
return classTypeId; \
} \
\
SoType \
className::getTypeId() const \
{ \
if (classTypeIdIsSet == FALSE) { \
SO_ACTION_INIT_CLASS(className, parentClass); \
} \
return classTypeId; \
} \
\
SO__ACTION_ELEMENTS_METHODS(className)
#define FALSE
Possible value of SbBool.
Definition SbBase.h:75

Definition at line 294 of file SoSubAction.h.

◆ SO__ACTION_CHECK_INIT

#define SO__ACTION_CHECK_INIT (   className)
Value:
{ \
if (classTypeId.isBad()) { \
className::initClass(); \
} \
}
SbBool isBad() const
Returns TRUE if the type is a bad type.

Definition at line 209 of file SoSubAction.h.

◆ SO__ACTION_ELEMENTS_METHODS

#define SO__ACTION_ELEMENTS_METHODS (   className)

Definition at line 240 of file SoSubAction.h.

◆ SO__ACTION_METHODS

#define SO__ACTION_METHODS (   className)
Value:
SoType \
className::getClassTypeId() \
{ \
return classTypeId; \
} \
\
SoType \
className::getTypeId() const \
{ \
return classTypeId; \
} \
\
SO__ACTION_ELEMENTS_METHODS(className)

Definition at line 273 of file SoSubAction.h.

◆ SO__ACTION_VARS

#define SO__ACTION_VARS (   className)
Value:
SoEnabledElementsList *className::enabledElements = NULL; \
SoActionMethodList *className::methods = NULL; \
SoType className::classTypeId; \
SbBool className::classTypeIdIsSet = FALSE
Stores runtime type information.
Definition SoType.h:98
int SbBool
Boolean type.
Definition SbBase.h:87

Definition at line 108 of file SoSubAction.h.

◆ SO_ACTION_ADD_METHOD

#define SO_ACTION_ADD_METHOD (   nodeClass,
  method 
)     addMethod(nodeClass::getClassTypeId(), method)

Definition at line 232 of file SoSubAction.h.

◆ SO_ACTION_AUTOINIT_SOURCE

#define SO_ACTION_AUTOINIT_SOURCE (   className,
  parentClass 
)
Value:
SO__ACTION_AUTOINIT_METHODS(className, parentClass)
#define SO__ACTION_VARS(className)

Definition at line 122 of file SoSubAction.h.

◆ SO_ACTION_CONSTRUCTOR

#define SO_ACTION_CONSTRUCTOR (   className)     SO__ACTION_CHECK_INIT(className);

Definition at line 222 of file SoSubAction.h.

◆ SO_ACTION_EXIT_CLASS

#define SO_ACTION_EXIT_CLASS (   className)
Value:
SoType::removeType(classTypeId.getName()); \
classTypeId = SoType::badType(); \
if (enabledElements) \
{ \
delete enabledElements; \
enabledElements = NULL; \
} \
if (methods) \
{ \
delete methods; \
methods = NULL; \
} \
classTypeIdIsSet = FALSE
static SoType badType()
Returns an always-illegal type.
Definition SoType.h:124
SbName getName() const
Returns the name associated with a type.

Definition at line 180 of file SoSubAction.h.

◆ SO_ACTION_HEADER

#define SO_ACTION_HEADER (   className)
Value:
public: \ \
virtual SoType getTypeId() const; \ \
static SoType getClassTypeId(); \
private:\
static void addMethod(SoType t, SoActionMethod* method); \
\
static void enableElement(SoType t, int stkIndex); \
\
virtual SoType getTypeId() const
Returns the type identifier for this specific instance.

Definition at line 69 of file SoSubAction.h.

◆ SO_ACTION_HEADER_WITH_DEF

#define SO_ACTION_HEADER_WITH_DEF (   className)     SO_ACTION_HEADER(className)

Definition at line 95 of file SoSubAction.h.

◆ SO_ACTION_INIT_CLASS

#define SO_ACTION_INIT_CLASS (   className,
  parentClass 
)     SO_ACTION_INIT_CLASS_INTERNAL(className, parentClass)

Definition at line 154 of file SoSubAction.h.

◆ SO_ACTION_INIT_CLASS_CHECK_PARENT

#define SO_ACTION_INIT_CLASS_CHECK_PARENT (   className,
  parentClass 
)
Value:
if (parentClass::getClassTypeId().isBad()) \
parentClass::initClass()

Definition at line 141 of file SoSubAction.h.

◆ SO_ACTION_INIT_CLASS_INTERNAL

#define SO_ACTION_INIT_CLASS_INTERNAL (   className,
  parentClass 
)
Value:
enabledElements = new SoEnabledElementsList(parentClass::enabledElements); \
methods = new ::SoActionMethodList(parentClass::methods); \
SO_ACTION_INIT_CLASS_CHECK_PARENT(className, parentClass); \
classTypeId = SoType::createType(parentClass::getClassTypeId(), \
SO__QUOTE(className), NULL); \
classTypeIdIsSet = TRUE;
#define TRUE
Possible value of SbBool.
Definition SbBase.h:77

Definition at line 146 of file SoSubAction.h.

◆ SO_ACTION_SOURCE

#define SO_ACTION_SOURCE (   className)
Value:
SO__ACTION_METHODS(className)

Definition at line 118 of file SoSubAction.h.

Function Documentation

◆ getEnabledElements()

virtual const SoEnabledElementsList & getEnabledElements ( ) const
virtual