Open Inventor Reference
MeVis/ThirdParty/Sources/Inventor/inventor/lib/database/include/Inventor/events/SoSubEvent.h File Reference

Go to the source code of this file.

Defines

#define SO_EVENT_HEADER()
 *** note: many of the macros use the "do { ... } while(0)" hack to define multiline blocks as a single statement of code that can be used anywhere and ended with a semicolon
#define SO__EVENT_VARS(className)   SoType className::classTypeId
 Macros to be called within the source file for an event subclass:
#define SO__EVENT_METHODS(className)
 Methods on the type.
#define SO_EVENT_SOURCE(className)
 These include all the definitions required at file scope.
#define SO_EVENT_INIT_CLASS(className, parentClass)
 This initializes the type identifer variables defined in SO_EVENT_HEADER .

Define Documentation

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

Definition at line 125 of file SoSubEvent.h.

#define SO__EVENT_VARS (   className)    SoType className::classTypeId

This declares the static variables defined in SO_EVENT_HEADER

Definition at line 116 of file SoSubEvent.h.

#define SO_EVENT_HEADER ( )
Value:
public:                                                                     \
    static SoType       getClassTypeId()        /* Returns class type id */   \
                                    { return classTypeId; }                   \
    virtual SoType      getTypeId() const;      /* Returns type id      */    \
  private:                                                                    \
    static SoType       classTypeId

Macros to be called within the class definition header for an event subclass:

These defines type-identifier and naming variables and methods that all subclasses and abstract subclasses must support.

Definition at line 97 of file SoSubEvent.h.

#define SO_EVENT_INIT_CLASS (   className,
  parentClass 
)
Value:
classTypeId =                                                             \
        SoType::createType(parentClass::getClassTypeId(),                     \
                   SO__QUOTE(className))

This macro should be called from within initClass(). The parentClass argument should be the class that this subclass is derived from.

Definition at line 153 of file SoSubEvent.h.

#define SO_EVENT_SOURCE (   className)
Value:
SO__EVENT_VARS(className);                                                \
    SO__EVENT_METHODS(className)

Definition at line 140 of file SoSubEvent.h.