Inventor/elements/SoSubElement.h File Reference

#include <Inventor/elements/SoElement.h>

Go to the source code of this file.

Defines

#define SO_ELEMENT_ABSTRACT_HEADER(className)
#define SO_ELEMENT_HEADER(className)
#define SO__ELEMENT_ABSTRACT_VARS(className)
#define SO__ELEMENT_VARS(className)   SO__ELEMENT_ABSTRACT_VARS(className)
#define SO_ELEMENT_CHECK_INIT(className)
#define SO__ELEMENT_ABSTRACT_METHODS(className)
#define SO__ELEMENT_METHODS(className)
#define SO_ELEMENT_ABSTRACT_SOURCE(className)
#define SO_ELEMENT_SOURCE(className)
#define SO_ELEMENT_INIT_CLASS_CHECK_PARENT(className, parentClass)
#define SO_ELEMENT_INIT_ABSTRACT_CLASS_INTERNAL(className, parentClass)
#define SO_ELEMENT_INIT_ABSTRACT_CLASS(className, parentClass)   SO_ELEMENT_INIT_ABSTRACT_CLASS_INTERNAL(className, parentClass);
#define SO_ELEMENT_INIT_CLASS_INTERNAL(className, parentClass)
#define SO_ELEMENT_INIT_CLASS(className, parentClass)   SO_ELEMENT_INIT_CLASS_INTERNAL(className, parentClass);
#define SO_ELEMENT_EXIT_CLASS(className)

Define Documentation

#define SO__ELEMENT_ABSTRACT_METHODS ( className   ) 
Value:
\
className::className()                                                        \
{                                                                             \
  SO_ELEMENT_CHECK_INIT(className);                                    \
  commonInit() ;                                                              \
}                                                                             \
                                                                              \
SoType                                                                        \
className::getClassTypeId()                                                   \
{                                                                             \
  return classTypeId;                                                         \
}                                                                             \
                                                                              \
int                                                                           \
className::getClassStackIndex()                                               \
{                                                                             \
  return classStackIndex;                                                     \
}                                                                             \
                                                                              \
int                                                                           \
className::getClassStackIndexInternal() const                                 \
{                                                                             \
return className::classStackIndex;                                            \
}
#define SO__ELEMENT_ABSTRACT_VARS ( className   ) 
#define SO__ELEMENT_METHODS ( className   ) 
#define SO__ELEMENT_VARS ( className   )     SO__ELEMENT_ABSTRACT_VARS(className)
#define SO_ELEMENT_ABSTRACT_HEADER ( className   ) 
Value:
public:                                                                     \
                           \
    static SoType       getClassTypeId();                                     \
                                                                            \
    static int          getClassStackIndex();                                 \
  private:                                                          \
                                \
    virtual int         getClassStackIndexInternal() const;                   \
  private:                                                                  \
    className();                                                              \
  private:                                                                    \
    static int         classStackIndex;                      \
    static SoType      classTypeId
#define SO_ELEMENT_ABSTRACT_SOURCE ( className   ) 
#define SO_ELEMENT_CHECK_INIT ( className   ) 
Value:
{ \
  if (classTypeId.isBad()) { \
    className::initClass(); \
  } \
}
#define SO_ELEMENT_EXIT_CLASS ( className   ) 
Value:
SoType::removeType(classTypeId.getName()); \
  classTypeId = SoType::badType(); \
  classStackIndex = 0
#define SO_ELEMENT_HEADER ( className   ) 
Value:
SO_ELEMENT_ABSTRACT_HEADER(className);                                    \
  private:                                                                    \
    static void *createInstance(SoType* dynamicType = NULL)

Returns the type identifier for this class.

Returns the stack id for this element. \ Returns the stack id for this element.

#define SO_ELEMENT_INIT_ABSTRACT_CLASS ( className,
parentClass   )     SO_ELEMENT_INIT_ABSTRACT_CLASS_INTERNAL(className, parentClass);
#define SO_ELEMENT_INIT_ABSTRACT_CLASS_INTERNAL ( className,
parentClass   ) 
#define SO_ELEMENT_INIT_CLASS ( className,
parentClass   )     SO_ELEMENT_INIT_CLASS_INTERNAL(className, parentClass);
#define SO_ELEMENT_INIT_CLASS_CHECK_PARENT ( className,
parentClass   ) 
#define SO_ELEMENT_INIT_CLASS_INTERNAL ( className,
parentClass   ) 
Value:
SO_ELEMENT_INIT_CLASS_CHECK_PARENT(className, parentClass); \
    classTypeId = SoType::createType( parentClass::getClassTypeId(), \
                                      SO__QUOTE(className), \
                                      &className::createInstance); \
    if (classStackIndex == 0) \
    { \
      if (parentClass::getClassStackIndex() < 0) \
        classStackIndex = createStackIndex(classTypeId); \
      else \
        classStackIndex = parentClass::getClassStackIndex(); \
    }
#define SO_ELEMENT_SOURCE ( className   ) 

Open Inventor by FEI reference manual, generated on 19 Aug 2019
Copyright © FEI S.A.S. All rights reserved.
http://www.openinventor.com/