53#include <Inventor/SbBasic.h>
54#include <Inventor/fields/SoFieldContainer.h>
55#include <Inventor/SoLists.h>
56#include <Inventor/SbString.h>
57#include <Inventor/SoType.h>
72class SoEngineOutputData;
160 SbName &outputName)
const;
182 virtual void evaluate() = 0;
187 void evaluateWrapper();
190 virtual void notify(SoNotList *list);
193 static void initClass();
194 static void exitClass();
197 virtual const SoEngineOutputData *getOutputData()
const = 0;
200 static void initClasses();
201 static void exitClasses();
204 virtual void writeInstance(
SoOutput *out);
211 SbBool shouldCopy()
const;
216 SbBool isNotifying()
const {
return notifying; }
225 virtual SbBool readInstance(
SoInput *in,
unsigned short flags);
230 virtual void inputChanged(
SoField *whichField);
234 static const SoFieldData **getInputDataPtr() {
return NULL; }
235 static const SoEngineOutputData **getOutputDataPtr() {
return NULL; }
238 void writeOutputTypes(
SoOutput *out);
242 static SoType classTypeId;
321 void setContainer(
SoEngine *eng) { container = eng; }
325 void removeConnection(
SoField *);
328 SoField * operator[](
int i)
const
329 {
return connections.get(i); }
334 void prepareToWrite()
const;
335 void doneWriting()
const;
Character string stored in a hash table.
int getLength() const
Returns number of pointers in list.
Base class for all engines.
static SoEngine * getByName(const SbName &name)
Looks up engine(s) by name.
SbBool getOutputName(const SoEngineOutput *output, SbName &outputName) const
Returns (in outputName) the name of the engine output (output).
virtual int getOutputs(SoEngineOutputList &list) const
Returns a list of outputs in this engine.
SoEngine * copy() const
Creates and returns an exact copy of the engine.
SoEngineOutput * getOutput(const SbName &outputName) const
Returns a reference to the engine output with the given name.
static SoType getClassTypeId()
Returns the type identifier for the SoEngine class.
static int getByName(const SbName &name, SoEngineList &list)
Looks up engine(s) by name.
Maintains a list of pointers to engines.
Class for all engine outputs.
int getNumConnections() const
Number of connections this output currently has.
SoType getConnectionType() const
Returns the type of field this output can connect to.
SbBool isEnabled() const
Returns TRUE if this output is currently enabled.
void enable(SbBool flag)
Enables or disables all connections from this output.
SoEngine * getContainer() const
Returns containing engine.
int getForwardConnections(SoFieldList &list) const
Returns the number of fields this output is writing to, and adds references to those fields to the gi...
Maintains a list of pointers to engine outputs.
Abstract base class for objects that contain fields.
Base class for all fields.
Maintains a list of pointers to fields.
Used to write Open Inventor data files.
Stores runtime type information.