.TH "SoNodeEngine" 3 "Thu May 29 2014" "Version 4.0.0a" "Coin" \" -*- nroff -*- .ad l .nh .SH NAME SoNodeEngine \- .PP \fBSoNodeEngine\fP is the base class for Coin node engines\&. .PP Node engines have the same functionality as normal engines, except that they inherit \fBSoNode\fP, which makes it possible to insert node engines in the scene graph\&. .SH SYNOPSIS .br .PP .PP \fC#include \fP .PP Inherits \fBSoNode\fP\&. .PP Inherited by \fBSoVRMLInterpolator\fP, and \fBSoVRMLTimeSensor\fP\&. .SS "Public Member Functions" .in +1c .ti -1c .RI "void \fBevaluateWrapper\fP (void)" .br .ti -1c .RI "virtual int \fBgetOutputs\fP (\fBSoEngineOutputList\fP &l) const " .br .ti -1c .RI "\fBSoEngineOutput\fP * \fBgetOutput\fP (const \fBSbName\fP &outputname) const " .br .ti -1c .RI "SbBool \fBgetOutputName\fP (const \fBSoEngineOutput\fP *output, \fBSbName\fP &outputname) const " .br .ti -1c .RI "virtual const \fBSoEngineOutputData\fP * \fBgetOutputData\fP (void) const =0" .br .ti -1c .RI "SbBool \fBisNotifying\fP (void) const " .br .ti -1c .RI "virtual void \fBnotify\fP (\fBSoNotList\fP *nl)" .br .ti -1c .RI "virtual void \fBwriteInstance\fP (\fBSoOutput\fP *out)" .br .in -1c .SS "Static Public Member Functions" .in +1c .ti -1c .RI "static void \fBinitClass\fP (void)" .br .ti -1c .RI "static \fBSoType\fP \fBgetClassTypeId\fP (void)" .br .in -1c .SS "Protected Member Functions" .in +1c .ti -1c .RI "\fBSoNodeEngine\fP (void)" .br .ti -1c .RI "virtual \fB~SoNodeEngine\fP (void)" .br .ti -1c .RI "virtual void \fBevaluate\fP (void)=0" .br .ti -1c .RI "virtual SbBool \fBreadInstance\fP (\fBSoInput\fP *in, unsigned short flags)" .br .ti -1c .RI "virtual void \fBinputChanged\fP (\fBSoField\fP *which)" .br .ti -1c .RI "void \fBwriteOutputTypes\fP (\fBSoOutput\fP *out)" .br .in -1c .SS "Static Protected Member Functions" .in +1c .ti -1c .RI "static const \fBSoFieldData\fP ** \fBgetFieldDataPtr\fP (void)" .br .ti -1c .RI "static const \fBSoEngineOutputData\fP ** \fBgetOutputDataPtr\fP (void)" .br .in -1c .SS "Additional Inherited Members" .SH "Detailed Description" .PP \fBSoNodeEngine\fP is the base class for Coin node engines\&. .PP Node engines have the same functionality as normal engines, except that they inherit \fBSoNode\fP, which makes it possible to insert node engines in the scene graph\&. The main rationale for this class is to simplify the implementation of VRML interpolator nodes, which are in a sense engines embedded in the shape of ordinary nodes\&. .PP This abstract superclass will likely be of no interest to the Coin application programmer, and you can safely ignore it\&. .PP Be aware that this class is an extension for Coin, and it is not available in the original SGI Open Inventor v2\&.1 API\&. .SH "Constructor & Destructor Documentation" .PP .SS "SoNodeEngine::SoNodeEngine (void)\fC [protected]\fP" Default constructor\&. .SS "SoNodeEngine::~SoNodeEngine (void)\fC [protected]\fP, \fC [virtual]\fP" Destructor\&. .SH "Member Function Documentation" .PP .SS "void SoNodeEngine::evaluateWrapper (void)" Triggers an engine evaluation\&. .SS "int SoNodeEngine::getOutputs (\fBSoEngineOutputList\fP &l) const\fC [virtual]\fP" Adds all outputs to list\&. Returns the number of outputs added to the list\&. .SS "\fBSoEngineOutput\fP * SoNodeEngine::getOutput (const \fBSbName\fP &outputname) const" Returns the output with name \fIoutputname\fP, or \fCNULL\fP if no such output exists\&. .SS "SbBool SoNodeEngine::getOutputName (const \fBSoEngineOutput\fP *output, \fBSbName\fP &outputname) const" Sets to the name of \fIoutput\fP\&. Returns \fCFALSE\fP if no such output is contained within the engine instance\&. .SS "const \fBSoEngineOutputData\fP * SoNodeEngine::getOutputData (void) const\fC [pure virtual]\fP" \fIThis API member is considered internal to the library, as it is not likely to be of interest to the application programmer\&.\fP .PP Implemented in \fBSoVRMLTimeSensor\fP, \fBSoVRMLPositionInterpolator\fP, \fBSoVRMLColorInterpolator\fP, \fBSoVRMLOrientationInterpolator\fP, \fBSoVRMLCoordinateInterpolator\fP, \fBSoVRMLInterpolator\fP, \fBSoVRMLNormalInterpolator\fP, and \fBSoVRMLScalarInterpolator\fP\&. .SS "SbBool SoNodeEngine::isNotifying (void) const" Returns whether we're in a notification process\&. This is needed to avoid double notification when an engine enables outputs during \fBinputChanged()\fP\&. .SS "void SoNodeEngine::notify (\fBSoNotList\fP *l)\fC [virtual]\fP" Notifies all auditors for this instance when changes are made\&. .PP Reimplemented from \fBSoNode\fP\&. .PP Reimplemented in \fBSoVRMLTimeSensor\fP\&. .SS "void SoNodeEngine::writeInstance (\fBSoOutput\fP *out)\fC [virtual]\fP" Writes all the fields contained in this instance to the output stream within \fIout\fP\&. .PP This method is solely called from the write methods of fields\&. .PP Either from \fBSoField\fP if the write is done because of a field-to-field connection, or from one of the fields which may actually write \fBSoFieldContainer\fP instances, i\&.e\&. \fBSoSFNode\fP, \fBSoMFNode\fP, \fBSoSFEngine\fP, \fBSoMFEngine\fP, \fBSoSFPath\fP and \fBSoMFPath\fP\&. .PP This method, in addition to the ordinary \fBwrite()\fP method of \fBSoNode\fP, needs to be present since the fields don't have a write action instance in their writeValue() method, and \fBwriteInstance()\fP will create a new \fBSoWriteAction\fP and call continueToApply() on it\&. .PP Reimplemented from \fBSoNode\fP\&. .SS "void SoNodeEngine::evaluate (void)\fC [protected]\fP, \fC [pure virtual]\fP" \fIThis API member is considered internal to the library, as it is not likely to be of interest to the application programmer\&.\fP .SS "SbBool SoNodeEngine::readInstance (\fBSoInput\fP *in, unsigned shortflags)\fC [protected]\fP, \fC [virtual]\fP" This method is mainly intended for internal use during file import operations\&. .PP It reads a definition of an instance from the input stream \fIin\fP\&. The input stream state points to the start of a serialized / persistant representation of an instance of this class type\&. .PP \fCTRUE\fP or \fCFALSE\fP is returned, depending on if the instantiation and configuration of the new object of this class type went ok or not\&. The import process should be robust and handle corrupted input streams by returning \fCFALSE\fP\&. .PP \fIflags\fP is used internally during binary import when reading user extension nodes, group nodes or engines\&. .PP Reimplemented from \fBSoNode\fP\&. .SS "void SoNodeEngine::inputChanged (\fBSoField\fP *which)\fC [protected]\fP, \fC [virtual]\fP" Called when an input is changed\&. The default method does nothing, but subclasses may override this method to do the The Right Thing when a specific field is changed\&. .PP Reimplemented in \fBSoVRMLTimeSensor\fP\&. .SS "const \fBSoFieldData\fP ** SoNodeEngine::getFieldDataPtr (void)\fC [static]\fP, \fC [protected]\fP" Returns the \fBSoFieldData\fP class which holds information about inputs in this engine\&. .SS "const \fBSoEngineOutputData\fP ** SoNodeEngine::getOutputDataPtr (void)\fC [static]\fP, \fC [protected]\fP" Returns the \fBSoEngineOutputData\fP class which holds information about the outputs in this engine\&. .SS "void SoNodeEngine::writeOutputTypes (\fBSoOutput\fP *out)\fC [protected]\fP" Writes the types of engine outputs for extension engines (i\&.e\&. engines not built in to Coin)\&. .SH "Author" .PP Generated automatically by Doxygen for Coin from the source code\&.