.TH "Engine Classes" 3 "Sat Oct 12 2013" "Version 4.0.0a" "Coin" \" -*- nroff -*- .ad l .nh .SH NAME Engine Classes \- .SS "Classes" .in +1c .ti -1c .RI "class \fBSoBoolOperation\fP" .br .RI "\fIThe \fBSoBoolOperation\fP engine evaluates expressions of boolean logic\&. .PP The multivalue fields \fBSoBoolOperation::a\fP and \fBSoBoolOperation::b\fP are combined according to the operations set in \fBSoBoolOperation::operation\fP, with the resulting \fCTRUE\fP or \fCFALSE\fP value set on \fBSoBoolOperation::output\fP\&. \fP" .ti -1c .RI "class \fBSoCalculator\fP" .br .RI "\fIGeneral purpose calculator for floats and 3D float vectors\&. .PP The \fBSoCalculator\fP uses the values from the input fields (which are either single floating point values or vectors) as variables in the free-form engine expressions and places the results on the output fields\&. \fP" .ti -1c .RI "class \fBSoComposeMatrix\fP" .br .RI "\fIThe \fBSoComposeMatrix\fP class is used to compose a matrix from miscellaneous transformations\&. \fP" .ti -1c .RI "class \fBSoComposeRotation\fP" .br .RI "\fIThe \fBSoComposeRotation\fP class is used to compose rotations from angle and axis\&. .PP Simple usage example: \fP" .ti -1c .RI "class \fBSoComposeRotationFromTo\fP" .br .RI "\fIThe \fBSoComposeRotationFromTo\fP class is used to compose rotations based on from and to vectors\&. \fP" .ti -1c .RI "class \fBSoComposeVec2f\fP" .br .RI "\fIThe \fBSoComposeVec2f\fP class is used to compose 2D vectors from two floats\&. \fP" .ti -1c .RI "class \fBSoComposeVec3f\fP" .br .RI "\fIThe \fBSoComposeVec3f\fP class is used to compose 3D vectors from floats\&. \fP" .ti -1c .RI "class \fBSoComposeVec4f\fP" .br .RI "\fIThe \fBSoComposeVec4f\fP class is used to compose 4D vectors from four floats\&. \fP" .ti -1c .RI "class \fBSoComputeBoundingBox\fP" .br .RI "\fIThe \fBSoComputeBoundingBox\fP class is used to calculate a bounding box\&. .PP This engine is simply a wrapper around the \fBSoGetBoundingBoxAction\fP, for a convenient way of having automatic updating of some data in the scene graph which is dependent on the bounding box of some other part of the scene\&. \fP" .ti -1c .RI "class \fBSoConcatenate\fP" .br .RI "\fIThe \fBSoConcatenate\fP class is used to concatenate several inputs into one output\&. .PP Takes all the values from the 10 input multivalue fields in turn and concatenates them into the multivalue output\&. \fP" .ti -1c .RI "class \fBSoCounter\fP" .br .RI "\fIThe \fBSoCounter\fP class is an integer counter engine\&. .PP The engine counts from its \fImin\fP value to its \fImax\fP value, adding the value of \fIstep\fP each time \fItrigger\fP is touched\&. \fP" .ti -1c .RI "class \fBSoDecomposeMatrix\fP" .br .RI "\fIThe \fBSoDecomposeMatrix\fP class is used to decompose a matrix into simple transformations\&. \fP" .ti -1c .RI "class \fBSoDecomposeRotation\fP" .br .RI "\fIThe \fBSoDecomposeRotation\fP class is used to decompose a rotation into angle and axis\&. \fP" .ti -1c .RI "class \fBSoDecomposeVec2f\fP" .br .RI "\fIThe \fBSoDecomposeVec2f\fP class is used to decompose 2D vectors into two floats\&. \fP" .ti -1c .RI "class \fBSoDecomposeVec3f\fP" .br .RI "\fIThe \fBSoDecomposeVec3f\fP class is used to decompose 3D vectors into three floats\&. \fP" .ti -1c .RI "class \fBSoDecomposeVec4f\fP" .br .RI "\fIThe \fBSoDecomposeVec4f\fP class is used to decompose 4D vectors into four floats\&. \fP" .ti -1c .RI "class \fBSoElapsedTime\fP" .br .RI "\fIThe \fBSoElapsedTime\fP class is a controllable time source engine\&. .PP The additional functionality provided by this engine versus just connecting to the realTime global field is the ability to control the speed of the time source plus logic to reset, stop and restart it\&. \fP" .ti -1c .RI "class \fBSoEngine\fP" .br .RI "\fI\fBSoEngine\fP is the base class for Coin engines\&. .PP Engines enables the application programmers to make complex connections between fields\&. \fP" .ti -1c .RI "class \fBSoEngineOutput\fP" .br .RI "\fIThe \fBSoEngineOutput\fP class is the output slots in \fBSoEngine\fP instances\&. .PP \fBSoEngineOutput\fP has methods for convenient handling of the connections made from \fBSoEngine\fP objects to \fBSoField\fP objects\&. \fP" .ti -1c .RI "class \fBSoFieldConverter\fP" .br .RI "\fIThe \fBSoFieldConverter\fP class is the abstract base class for field converters\&. .PP When fields of different types are attempted connected, the Coin library tries to find a field converter class which can be inserted between them, acting as a filter converting values from the master field to values matching the type of the slave field\&. \fP" .ti -1c .RI "class \fBSoGate\fP" .br .RI "\fIThe \fBSoGate\fP class is used to selectively copy values from input to output\&. .PP This engine will forward values from the \fBSoGate::input\fP field to the \fBSoGate::output\fP field when the \fBSoGate::enable\fP field is \fCTRUE\fP\&. \fP" .ti -1c .RI "class \fBSoHeightMapToNormalMap\fP" .br .RI "\fIEngine for computing a normal map from a height map\&. \fP" .ti -1c .RI "class \fBSoInterpolate\fP" .br .RI "\fIThe \fBSoInterpolate\fP class is the base class for all interpolator engines\&. .PP Interpolators are used to linearly interpolate between two values\&. \fP" .ti -1c .RI "class \fBSoInterpolateFloat\fP" .br .RI "\fIThe \fBSoInterpolateFloat\fP class is used to interpolate two floating point values\&. \fP" .ti -1c .RI "class \fBSoInterpolateRotation\fP" .br .RI "\fIThe \fBSoInterpolateRotation\fP class is used to interpolate between two rotations\&. \fP" .ti -1c .RI "class \fBSoInterpolateVec2f\fP" .br .RI "\fIThe \fBSoInterpolateVec2f\fP class is used to interpolate between pairs of 2D vectors\&. \fP" .ti -1c .RI "class \fBSoInterpolateVec3f\fP" .br .RI "\fIThe \fBSoInterpolateVec3f\fP class is used to interpolate between pairs of 3D vectors\&. \fP" .ti -1c .RI "class \fBSoInterpolateVec4f\fP" .br .RI "\fIThe \fBSoInterpolateVec4f\fP class is used to interpolate between pairs of 4D vectors\&. \fP" .ti -1c .RI "class \fBSoNodeEngine\fP" .br .RI "\fI\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\&. \fP" .ti -1c .RI "class \fBSoOneShot\fP" .br .RI "\fIThe \fBSoOneShot\fP class is a timer that runs for a configurable time and then stops\&. \fP" .ti -1c .RI "class \fBSoOnOff\fP" .br .RI "\fIThe \fBSoOnOff\fP engine is a simple on/off switch\&. \fP" .ti -1c .RI "class \fBSoEngineOutputData\fP" .br .RI "\fIThe \fBSoEngineOutputData\fP class is a container for a prototype set of outputs\&. .PP This class is instantiated once for each class of objects which use outputs, and which needs to be able to import and export them\&. \fP" .ti -1c .RI "class \fBSoSelectOne\fP" .br .RI "\fIThe \fBSoSelectOne\fP class is used to select one value from a set of values\&. .PP The output field will be the index'th value of the input multivalue field\&. \fP" .ti -1c .RI "class \fBSoTexture2Convert\fP" .br .RI "\fIAbstract base class for texture filtering engines\&. \fP" .ti -1c .RI "class \fBSoTimeCounter\fP" .br .RI "\fIThe \fBSoTimeCounter\fP class is an integer counter engine\&. .PP The \fBSoTimeCounter\fP engine is by default connected to the realTime global field, and does stepwise updates on the \fBSoTimeCounter::output\fP field according to the field settings\&. \fP" .ti -1c .RI "class \fBSoTransformVec3f\fP" .br .RI "\fIThe \fBSoTransformVec3f\fP class transforms 3D vectors by a matrix\&. \fP" .ti -1c .RI "class \fBSoTriggerAny\fP" .br .RI "\fIThe \fBSoTriggerAny\fP class is a fan-in engine for triggers\&. .PP When any one of the input triggers are 'pulsed', any field connected as a slave to the engine output will be notified\&. \fP" .ti -1c .RI "class \fBSoEngineList\fP" .br .RI "\fIThe \fBSoEngineList\fP class is a container for \fBSoEngine\fP objects\&. .PP As this class inherits \fBSoBaseList\fP, referencing and dereferencing will default be done on the objects at \fBappend()\fP, \fBremove()\fP, \fBinsert()\fP etc\&. \fP" .ti -1c .RI "class \fBSoEngineOutputList\fP" .br .RI "\fIThe \fBSoEngineOutputList\fP class is a container for \fBSoEngineOutput\fP objects\&. \fP" .in -1c .SH "Detailed Description" .PP Engines are scene based objects that convert between field values of various types or performs computations on them\&. The most versatile engine is the \fBSoCalculator\fP engine, which you can write your own mathematical expressions to to get it to do almost anything\&. The other engines are more custom-tailored for specific purposes\&. .SH "Author" .PP Generated automatically by Doxygen for Coin from the source code\&.