Open Inventor Reference
|
#include <Inventor/engines/SoEngine.h>
#include <Inventor/engines/SoOutputData.h>
#include <Inventor/errors/SoDebugError.h>
#include <Inventor/fields/SoFieldData.h>
Go to the source code of this file.
Macros | |
#define | SO__ENGINE_CHECK_INIT(className) |
Debugging macros called by other macros in this file. | |
#define | SO__ENGINE_CHECK_CONSTRUCT(where) |
#define | SO_ENGINE_ABSTRACT_HEADER(className) |
Macros to be called within the class definition header: | |
#define | SO_ENGINE_HEADER(className) |
#define | SO__ENGINE_ABSTRACT_VARS(className) |
This declares the static variables defined in SO_ENGINE_HEADER. | |
#define | SO__ENGINE_VARS(className) SO__ENGINE_ABSTRACT_VARS(className) |
#define | SO__ENGINE_ABSTRACT_METHODS(className) |
These implement the methods defined in SO_ENGINE_HEADER. | |
#define | SO__ENGINE_METHODS(className) |
#define | SO_ENGINE_SOURCE(className) |
Macros to be called within the source file for a engine subclass: | |
#define | SO_ENGINE_ABSTRACT_SOURCE(className) |
#define | SO__ENGINE_INIT_CLASS(className, classPrintName, parentClass) |
Internal initialization macros. | |
#define | SO__ENGINE_INIT_ABSTRACT_CLASS(className, classPrintName, parent) |
#define | SO_ENGINE_INIT_CLASS(className, parentClass, parentPrintClass) |
This initializes the type identifer variables This macro should be called from within initClass(). | |
#define | SO_ENGINE_INIT_ABSTRACT_CLASS(className, parent, parentPrintClass) |
#define | SO_ENGINE_CONSTRUCTOR(className) |
Macro to be called within each constructor. | |
#define | SO_ENGINE_IS_FIRST_INSTANCE() (firstInstance == TRUE) |
This is a boolean value that can be tested in constructors. | |
#define | SO_ENGINE_ADD_INPUT(inputName, defValue) |
This adds the info for an input to the SoFieldData and sets the default value for it. | |
#define | SO_ENGINE_ADD_OUTPUT(outputName, type) |
This adds the info for an output to the SoEngineOutputData. | |
#define | SO_ENGINE_DEFINE_ENUM_VALUE(enumType, enumValue) |
This registers a value of an enum type. | |
#define | SO_ENGINE_OUTPUT(outputName, type, code) |
This takes care of writing the value to all connected outputs. | |
#define SO__ENGINE_ABSTRACT_METHODS | ( | className | ) |
Definition at line 194 of file SoSubEngine.h.
#define SO__ENGINE_ABSTRACT_VARS | ( | className | ) |
Definition at line 178 of file SoSubEngine.h.
#define SO__ENGINE_CHECK_CONSTRUCT | ( | where | ) |
Definition at line 132 of file SoSubEngine.h.
#define SO__ENGINE_CHECK_INIT | ( | className | ) |
Definition at line 131 of file SoSubEngine.h.
#define SO__ENGINE_INIT_ABSTRACT_CLASS | ( | className, | |
classPrintName, | |||
parent | |||
) |
Definition at line 251 of file SoSubEngine.h.
#define SO__ENGINE_INIT_CLASS | ( | className, | |
classPrintName, | |||
parentClass | |||
) |
Definition at line 242 of file SoSubEngine.h.
#define SO__ENGINE_METHODS | ( | className | ) |
Definition at line 214 of file SoSubEngine.h.
#define SO__ENGINE_VARS | ( | className | ) | SO__ENGINE_ABSTRACT_VARS(className) |
Definition at line 186 of file SoSubEngine.h.
#define SO_ENGINE_ABSTRACT_HEADER | ( | className | ) |
These defines type-identifier and naming variables and methods that all engines and abstract engines must support
Definition at line 146 of file SoSubEngine.h.
#define SO_ENGINE_ABSTRACT_SOURCE | ( | className | ) |
Definition at line 233 of file SoSubEngine.h.
#define SO_ENGINE_ADD_INPUT | ( | inputName, | |
defValue | |||
) |
The parameters are as follows: inputName: the name of the input (as a member) defValue: the default value enclosed in parentheses
For example,
SO_ENGINE_ADD_INPUT(vector1, (0, 0, 0)); SO_ENGINE_ADD_INPUT(triggerTime, (0.0));
adds info about inputs named vector1 and triggerTime with the given default values. The inputs must be public member variables of a type derived from SoField.
Definition at line 324 of file SoSubEngine.h.
#define SO_ENGINE_ADD_OUTPUT | ( | outputName, | |
type | |||
) |
The parameters are as follows: fieldName: the name of the output (as a member) type: the type of the output (name of SoField subclass)
For example,
SO_ENGINE_ADD_OUTPUT(result, SoSFVec3f); SO_ENGINE_ADD_OUTPUT(hour, SoSFInt32);
adds info about outputs named result and int32_t that can be hooked up to fields of the given type. The outputs must be public member variables of type SoEngineOutput.
Definition at line 350 of file SoSubEngine.h.
#define SO_ENGINE_CONSTRUCTOR | ( | className | ) |
Definition at line 286 of file SoSubEngine.h.
#define SO_ENGINE_DEFINE_ENUM_VALUE | ( | enumType, | |
enumValue | |||
) |
enumType: the name of the enum type enumValue: the name of a value of that enum type
If a engine defines an enum, each of the enum's values should be registered using this macro. For example:
[ in MyFunc.h file: ] class MyFunc { ... enum Chipmunk { ALVIN, SIMON, THEODORE }; ... } [ in constructor MyFunc::MyFunc(): ] SO_ENGINE_DEFINE_ENUM_VALUE(Chipmunk, ALVIN); SO_ENGINE_DEFINE_ENUM_VALUE(Chipmunk, SIMON); SO_ENGINE_DEFINE_ENUM_VALUE(Chipmunk, THEODORE);
Definition at line 381 of file SoSubEngine.h.
#define SO_ENGINE_HEADER | ( | className | ) |
Definition at line 166 of file SoSubEngine.h.
#define SO_ENGINE_INIT_ABSTRACT_CLASS | ( | className, | |
parent, | |||
parentPrintClass | |||
) |
Definition at line 274 of file SoSubEngine.h.
#define SO_ENGINE_INIT_CLASS | ( | className, | |
parentClass, | |||
parentPrintClass | |||
) |
The parentClass argument should be the class that this subclass is derived from.
Definition at line 265 of file SoSubEngine.h.
#define SO_ENGINE_IS_FIRST_INSTANCE | ( | ) | (firstInstance == TRUE) |
Definition at line 305 of file SoSubEngine.h.
#define SO_ENGINE_OUTPUT | ( | outputName, | |
type, | |||
code | |||
) |
This should be called in the evaluate() routine.
Definition at line 394 of file SoSubEngine.h.
#define SO_ENGINE_SOURCE | ( | className | ) |
Definition at line 229 of file SoSubEngine.h.