Inventor/actions/SoSubAction.h File Reference

#include <Inventor/actions/SoAction.h>
#include <Inventor/SbString.h>
#include <Inventor/errors/SoDebugError.h>

Go to the source code of this file.

Defines

#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

Variables

static SoEnabledElementsList * enabledElements
static SoActionMethodList * methods
static SoType classTypeId

Define Documentation

#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 SO__ACTION_CHECK_INIT ( className   ) 
Value:
{ \
  if (classTypeId.isBad()) { \
    className::initClass(); \
  } \
}
#define SO__ACTION_ELEMENTS_METHODS ( className   ) 
#define SO__ACTION_METHODS ( className   ) 
Value:
SoType \
className::getClassTypeId() \
{ \
  return classTypeId; \
} \
 \
SoType \
className::getTypeId() const \
{ \
  return classTypeId; \
} \
\
SO__ACTION_ELEMENTS_METHODS(className)
#define SO__ACTION_VARS ( className   ) 
Value:
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   ) 
#define SO_ACTION_CONSTRUCTOR ( className   )     SO__ACTION_CHECK_INIT(className);
#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
#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); \
\
#define SO_ACTION_HEADER_WITH_DEF ( className   )     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   ) 
Value:
if (parentClass::getClassTypeId().isBad())                             \
    parentClass::initClass()
#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 SO_ACTION_SOURCE ( className   ) 

Function Documentation

virtual const SoEnabledElementsList& getEnabledElements (  )  const [virtual]

Returns the type identifier for this specific instance.

Returns the type identifier for this class.


Variable Documentation

SoType classTypeId [static]
SoEnabledElementsList* enabledElements [static]
SoActionMethodList* methods [static]

Open Inventor Toolkit reference manual, generated on 25 Feb 2021
Copyright © Thermo Fisher Scientific All rights reserved.
http://www.openinventor.com/