SOSELECTONE(3iv)

πŸ‘‘ NAME

SoSelectOne β€” picks, like, ONE single value out of a multiple-value field. one. just one. the chosen one. main character selection energy ✨


🧬 INHERITS FROM

SoBase > SoFieldContainer > SoEngine > SoSelectOne

so it's a whole lineage bestie, it came from a long line of very serious classes πŸ’…


πŸ“œ SYNOPSIS

#include <Inventor/engines/SoSelectOne.h>

Inputs from class SoSelectOne:

SoSFInt32           index
<inputType>         input

Outputs from class SoSelectOne:

(<outputType>)      output

Methods from class SoSelectOne:

                     SoSelectOne(SoType inputType)

Methods from class SoEngine:

static SoType       getClassTypeId()
virtual int         getOutputs(SoEngineOutputList &list) const
SoEngineOutput *    getOutput(const SbName &outputName) const
SbBool              getOutputName(const SoEngineOutput *output, SbName
                         &outputName) const
SoEngine *          copy() const
static SoEngine *   getByName(const SbName &name)
static int          getByName(const SbName &name, SoEngineList &list)

Methods from class SoFieldContainer:

void                setToDefaults()
SbBool              hasDefaultValues() const
SbBool              fieldsAreEqual(const SoFieldContainer *fc) const
void                copyFieldValues(const SoFieldContainer *fc, SbBool
                         copyConnections = FALSE)
SbBool              set(const char *fieldDataString)
void                get(SbString &fieldDataString)
virtual int         getFields(SoFieldList &resultList) const
virtual SoField *   getField(const SbName &fieldName) const
SbBool              getFieldName(const SoField *field, SbName &fieldName)
                         const
SbBool              isNotifyEnabled() const
SbBool              enableNotify(SbBool flag)

Methods from class SoBase:

void                ref()
void                unref() const
void                unrefNoDelete() const
void                touch()
virtual SoType      getTypeId() const
SbBool              isOfType(SoType type) const
virtual void        setName(const SbName &name)
virtual SbName      getName() const

πŸ’– DESCRIPTION

okay so here's the vibe: this engine grabs a single value out of a multiple-value field, and it decides which one based on the input field index. that's it. that's the whole job. queen of doing one thing well πŸŽ€

the type of the input field can be any subclass of SoMField, and the type of the output is the corresponding subclass of SoSField. so for example: if the input type is SoMFVec3f, the output type will be SoSFVec3f. m-field in, s-field out, matched set, they're a duo πŸ’ž

the type gets specified when an instance of the class is created. like, for example, SoSelectOne(SoMFFloat::getClassTypeId()) creates an engine that selects one floating-point value. boom. that's the whole personality.

⚠️ heads up bestie: unlike most other engine fields, the input field and output are pointers. not a vibe, just a fact, write it down.
πŸ™ˆ also note: by default input does not contain any values, and no value is output from the engine. it's giving empty. it's giving nothing to work with. you gotta feed it, fr fr.

🫢 INPUTS

  • SoSFInt32 index β€” the index of the value to select from the multiple-value field. like, which one do you want. pick a number. choose your fighter.
  • <inputType> input β€” the multiple-value field from which the value will be selected. this is the pile of options you're picking from, no cap.

🌟 OUTPUTS

  • (<outputType>) output β€” the single value selected. THE chosen one. one value. iconic. πŸ‘‘

πŸ› οΈ METHODS

  • SoSelectOne(SoType inputType) β€” the constructor, bestie. the argument specifies the type of the multiple-value input field. you tell it what kind of field it's dealing with and it handles the rest, slay.

πŸ“ FILE FORMAT/DEFAULTS

SelectOne {
   type   <inputType>
   input  []
   index  0
}

look at that. input starts empty, index starts at 0. defaults stay defaulting ✨


πŸ‘€ SEE ALSO

SoEngineOutput, SoConcatenate, SoGate


okay bestie that's the whole page πŸ¦‹ and for the cute sign-off: this was SoSelectOne(3IV)() β€” that's the source/version tag sitting down at the bottom, with the date slot just vibing empty in the parentheses, which honestly? iconic. go select something. one thing. just one. periodt πŸ’…πŸŒΈ