Field Classes

The fields are the data containers in the scene graph. Nodes and engines all use fields to store their public data. More...

## Classes

class | SoField
| The SoField class is the top-level abstract base class for fields. More...
class | SoFieldData
| The SoFieldData class is a container for a prototype set of fields. More...
class | SoMFBitMask
| The SoMFBitMask class is a container for a set of bitmasks. More...
class | SoMFBool
| The SoMFBool class is a container for SbBool values. More...
class | SoMFColor
| The SoMFColor class is a container for SbColor values. More...
class | SoMFColorRGBA
| The SoMFColorRGBA class is a container for SbColor4f values. More...
class | SoMFDouble
| The SoMFDouble class is a container for double float precision point values. More...
class | SoMFEngine
| The SoMFEngine class is a container for engines. More...
class | SoMFEnum
| The SoMFEnum class is a container for a set of enumerated values. More...
class | SoMFFloat
| The SoMFFloat class is a container for floating point values. More...
class | SoMFInt32
| The SoMFInt32 class is a container for 32-bit integer values. More...
class | SoMFMatrix
| The SoMFMatrix class is a container for SbMatrix values. More...
class | SoMFName
| The SoMFName class is a container for SbName values. More...
class | SoMFNode
| The SoMFNode class is a container for nodes. More...
class | SoMFPath
| The SoMFPath class is a container for paths. More...
class | SoMFPlane
| The SoMFPlane class is a container for SbPlane values. More...
class | SoMFRotation
| The SoMFRotation class is a container for SbRotation values. More...
class | SoMFShort
| The SoMFShort class is a container for short integer values. More...
class | SoMFString
| The SoMFString class is a container for SbString values. More...
class | SoMFTime
| The SoMFTime class is a container for SbTime values. More...
class | SoMFUInt32
| The SoMFUInt32 class is a container for 32-bit unsigned integer values. More...
class | SoMFUShort
| The SoMFUShort class is a container for unsigned short integer values. More...
class | SoMFVec2b
| The SoMFVec2b class is a container for SbVec2b vectors. More...
class | SoMFVec2s
| The SoMFVec2s class is a container for SbVec2s vectors. More...
class | SoMFVec2i32
| The SoMFVec2i32 class is a container for SbVec2i32 vectors. More...
class | SoMFVec2f
| The SoMFVec2f class is a container for SbVec2f vectors. More...
class | SoMFVec2d
| The SoMFVec2d class is a container for SbVec2d vectors. More...
class | SoMFVec3b
| The SoMFVec3b class is a container for SbVec3b vectors. More...
class | SoMFVec3s
| The SoMFVec3s class is a container for SbVec3s vectors. More...
class | SoMFVec3i32
| The SoMFVec3i32 class is a container for SbVec3i32 vectors. More...
class | SoMFVec3f
| The SoMFVec3f class is a container for SbVec3f vectors. More...
class | SoMFVec3d
| The SoMFVec3d class is a container for SbVec3d vectors. More...
class | SoMFVec4b
| The SoMFVec4b class is a container for SbVec4b vectors. More...
class | SoMFVec4ub
| The SoMFVec4ub class is a container for SbVec4ub vectors. More...
class | SoMFVec4s
| The SoMFVec4s class is a container for SbVec4s vectors. More...
class | SoMFVec4us
| The SoMFVec4us class is a container for SbVec4us vectors. More...
class | SoMFVec4i32
| The SoMFVec4i32 class is a container for SbVec4i32 vectors. More...
class | SoMFVec4ui32
| The SoMFVec4ui32 class is a container for SbVec4ui32 vectors. More...
class | SoMFVec4f
| The SoMFVec4f class is a container for SbVec4f vectors. More...
class | SoMFVec4d
| The SoMFVec4d class is a container for SbVec4d vectors. More...
class | SoMField
| The SoMField class is the base class for fields which can contain multiple values. More...
class | SoSFBitMask
| The SoSFBitMask class is a container for a set of bit flags. More...
class | SoSFBool
| The SoSFBool class is a container for an SbBool value. More...
class | SoSFBox2s
| The SoSFBox2s class is a container for an SbBox2s vector. More...
class | SoSFBox2i32
| The SoSFBox2i32 class is a container for an SbBox2i32 vector. More...
class | SoSFBox2f
| The SoSFBox2f class is a container for an SbBox2f vector. More...
class | SoSFBox2d
| The SoSFBox2d class is a container for an SbBox2d vector. More...
class | SoSFBox3s
| The SoSFBox3s class is a container for an SbBox3s vector. More...
class | SoSFBox3i32
| The SoSFBox3i32 class is a container for an SbBox3i32 vector. More...
class | SoSFBox3f
| The SoSFBox3f class is a container for an SbBox3f vector. More...
class | SoSFBox3d
| The SoSFBox3d class is a container for an SbBox3d vector. More...
class | SoSFColor
| The SoSFColor class is a container for an SbColor value. More...
class | SoSFColorRGBA
| The SoSFColorRGBA class is a container for an SbColor4f value. More...
class | SoSFDouble
| The SoSFDouble class is a container for a double precision floating point value. More...
class | SoSFEngine
| The SoSFEngine class is a container for a single engine. More...
class | SoSFEnum
| The SoSFEnum class is a container for an enum value. More...
class | SoSFFloat
| The SoSFFloat class is a container for a floating point value. More...
class | SoSFImage
| The SoSFImage class is used to store pixel images. More...
class | SoSFImage3
| The SoSFImage3 class is used to store 3D (volume) images. More...
class | SoSFInt32
| The SoSFInt32 class is a container for a 32-bit integer value. More...
class | SoSFMatrix
| The SoSFMatrix class is a container for an SbMatrix. More...
class | SoSFName
| The SoSFName class is a container for an SbName. More...
class | SoSFNode
| The SoSFNode class is a container for a single node. More...
class | SoSFPath
| The SoSFPath class is a container for a single path. More...
class | SoSFPlane
| The SoSFPlane class is a container for an SbPlane value. More...
class | SoSFRotation
| The SoSFRotation class is a container for an SbRotation. More...
class | SoSFShort
| The SoSFShort class is a container for a short integer value. More...
class | SoSFString
| The SoSFString class is a container for an SbString. More...
class | SoSFTime
| The SoSFTime class is a container for an SbTime value. More...
class | SoSFTrigger
| The SoSFTrigger class is the "void" class used for detecting field changes. More...
class | SoSFUInt32
| The SoSFUInt32 class is a container for a 32-bit unsigned integer value. More...
class | SoSFUShort
| The SoSFUShort class is a container for a unsigned short integer value. More...
class | SoSFVec2b
| The SoSFVec2b class is a container for an SbVec2b vector. More...
class | SoSFVec2s
| The SoSFVec2s class is a container for an SbVec2s vector. More...
class | SoSFVec2i32
| The SoSFVec2i32 class is a container for an SbVec2i32 vector. More...
class | SoSFVec2f
| The SoSFVec2f class is a container for an SbVec2f vector. More...
class | SoSFVec2d
| The SoSFVec2d class is a container for an SbVec2d vector. More...
class | SoSFVec3b
| The SoSFVec3b class is a container for an SbVec3b vector. More...
class | SoSFVec3s
| The SoSFVec3s class is a container for an SbVec3s vector. More...
class | SoSFVec3i32
| The SoSFVec3i32 class is a container for an SbVec3i32 vector. More...
class | SoSFVec3f
| The SoSFVec3f class is a container for an SbVec3f vector. More...
class | SoSFVec3d
| The SoSFVec3d class is a container for an SbVec3d vector. More...
class | SoSFVec4b
| The SoSFVec4b class is a container for an SbVec4b vector. More...
class | SoSFVec4ub
| The SoSFVec4ub class is a container for an SbVec4ub vector. More...
class | SoSFVec4s
| The SoSFVec4s class is a container for an SbVec4s vector. More...
class | SoSFVec4us
| The SoSFVec4us class is a container for an SbVec4us vector. More...
class | SoSFVec4i32
| The SoSFVec4i32 class is a container for an SbVec4i32 vector. More...
class | SoSFVec4ui32
| The SoSFVec4ui32 class is a container for an SbVec4ui32 vector. More...
class | SoSFVec4f
| The SoSFVec4f class is a container for an SbVec4f vector. More...
class | SoSFVec4d
| The SoSFVec4d class is a container for an SbVec4d vector. More...
class | SoSField
| The SoSField class is the base class for fields which contains only a single value. More...
class | SoFieldList
| The SoFieldList class is a container for pointers to SoField objects. More...

## Detailed Description

The fields are the data containers in the scene graph. Nodes and engines all use fields to store their public data.

Fields can be inter-connected, causing changes at one location in a scene graph to cause other parts of the scene graph to automatically also get updated. Direct field-to-field connections will cause values to get duplicated, while field connections together with engines can create complex networks for such updating that include mathematical computations and logical operations. Field connections are uni-directional, but setting up a connection in both directions will cause a bi-directional connection.

Fields are first divided into two groups; "single fields" and "multi fields". Single-fields contain just one value, while multi-fields can contain many values or even none at all.

Besides fields that are part of nodes, you also have "global fields". The "realtime" field is one such field.

The fields in VRML97 nodes have additional semantics. Some are "event_in" and some are "event_out", listening for events or triggering events. "event_in" events should not be read from, and "event_out" fields should not be written to.