SoSelectOne — selects one value from a multiple-value field.
Contents
Description
This engine selects a single value from a multiple-value field, based on the input field index. The type
of the input field can be any subclass of SoMField, and the type of the output is the corresponding
subclass of SoSField. For example, if the input type is SoMFVec3f, the output type will be SoSFVec3f.
The type is specified when an instance of the class is created. For example,
SoSelectOne(SoMFFloat::getClassTypeId()) creates an engine that selects one floating-point value.
Note that unlike most other engine fields, the input field and output are pointers. Note also that by
default input does not contain any values, and no value is output from the engine.
File Format/Defaults
SelectOne{type<inputType>input[]index0}Inherits From
SoBase > SoFieldContainer > SoEngine > SoSelectOne
Inputs
SoSFInt32index
Index of the value to select from the multiple-value field.
<inputType>input
The multiple-value field from which the value will be selected.
Methods
SoSelectOne(SoTypeinputType)
Constructor. The argument specifies the type of the multiple-value input field.
Name
SoSelectOne — selects one value from a multiple-value field.
Outputs
(<outputType>)output
The single value selected.
See Also
SoEngineOutput,SoConcatenate,SoGateSoSelectOne(3IV)()
Synopsis
#include<Inventor/engines/SoSelectOne.h>
Inputs from class SoSelectOne:
SoSFInt32index<inputType>input
Outputs from class SoSelectOne:
(<outputType>)output
Methods from class SoSelectOne:
SoSelectOne(SoTypeinputType)
Methods from class SoEngine:
staticSoTypegetClassTypeId()virtualintgetOutputs(SoEngineOutputList&list)constSoEngineOutput*getOutput(constSbName&outputName)constSbBoolgetOutputName(constSoEngineOutput*output,SbName&outputName)constSoEngine*copy()conststaticSoEngine*getByName(constSbName&name)staticintgetByName(constSbName&name,SoEngineList&list)
Methods from class SoFieldContainer:
voidsetToDefaults()SbBoolhasDefaultValues()constSbBoolfieldsAreEqual(constSoFieldContainer*fc)constvoidcopyFieldValues(constSoFieldContainer*fc,SbBoolcopyConnections=FALSE)SbBoolset(constchar*fieldDataString)voidget(SbString&fieldDataString)virtualintgetFields(SoFieldList&resultList)constvirtualSoField*getField(constSbName&fieldName)constSbBoolgetFieldName(constSoField*field,SbName&fieldName)constSbBoolisNotifyEnabled()constSbBoolenableNotify(SbBoolflag)
Methods from class SoBase:
voidref()voidunref()constvoidunrefNoDelete()constvoidtouch()virtualSoTypegetTypeId()constSbBoolisOfType(SoTypetype)constvirtualvoidsetName(constSbName&name)virtualSbNamegetName()const