#include <Inventor/actions/SoAction.h>
#include <Inventor/SbString.h>
#include <Inventor/errors/SoDebugError.h>
Go to the source code of this file.
#define SO__ACTION_AUTOINIT_METHODS | ( | className, | |||
parentClass | ) |
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 SO__ACTION_CHECK_INIT | ( | className | ) |
{ \ if (classTypeId.isBad()) { \ className::initClass(); \ } \ }
#define SO__ACTION_ELEMENTS_METHODS | ( | className | ) |
#define SO__ACTION_METHODS | ( | className | ) |
SoType \ className::getClassTypeId() \ { \ return classTypeId; \ } \ \ SoType \ className::getTypeId() const \ { \ return classTypeId; \ } \ \ SO__ACTION_ELEMENTS_METHODS(className)
#define SO__ACTION_VARS | ( | className | ) |
SoEnabledElementsList *className::enabledElements = NULL; \ SoActionMethodList *className::methods = NULL; \ SoType className::classTypeId; \ SbBool className::classTypeIdIsSet = FALSE
#define SO_ACTION_ADD_METHOD | ( | nodeClass, | |||
method | ) | addMethod(nodeClass::getClassTypeId(), method) |
#define SO_ACTION_AUTOINIT_SOURCE | ( | className, | |||
parentClass | ) |
SO__ACTION_VARS(className); \ SO__ACTION_AUTOINIT_METHODS(className, parentClass)
#define SO_ACTION_EXIT_CLASS | ( | className | ) |
SoType::removeType(classTypeId.getName()); \ classTypeId = SoType::badType(); \ if (enabledElements) \ { \ delete enabledElements; \ enabledElements = NULL; \ } \ if (methods) \ { \ delete methods; \ methods = NULL; \ } \ classTypeIdIsSet = FALSE
#define SO_ACTION_HEADER | ( | className | ) |
#define SO_ACTION_INIT_CLASS | ( | className, | |||
parentClass | ) | SO_ACTION_INIT_CLASS_INTERNAL(className, parentClass) |
#define SO_ACTION_INIT_CLASS_CHECK_PARENT | ( | className, | |||
parentClass | ) |
if (parentClass::getClassTypeId().isBad()) \
parentClass::initClass()
#define SO_ACTION_INIT_CLASS_INTERNAL | ( | className, | |||
parentClass | ) |
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 SO_ACTION_SOURCE | ( | className | ) |
virtual const SoEnabledElementsList& getEnabledElements | ( | ) | const [virtual] |
Returns the type identifier for this specific instance.
Returns the type identifier for this class.
SoType classTypeId [static] |
SoEnabledElementsList* enabledElements [static] |
SoActionMethodList* methods [static] |