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);
243 void updateForwardConnections();
245 static SoType classTypeId;
324 void setContainer(
SoEngine *eng) { container = eng; }
328 void removeConnection(
SoField *);
331 SoField * operator[](
int i)
const
332 {
return connections.get(i); }
337 void prepareToWrite()
const;
338 void doneWriting()
const;
343 virtual bool updateConnection()
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.