SOGATE(3iv)

✨ SoGate ✨

okay bestie, welcome to SoGate(3IV) β€” that's the page name and she lives in section 3IV of the manual. she's an engine, she's dramatic, she's a gate, and she's about to change your whole scene. πŸŽ€


🌸 NAME 🌸

SoGate β€” selectively copies its input to its output. that's it, that's the girl. she's a gate and she decides what gets through. πŸ’…


πŸ¦‹ INHERITS FROM πŸ¦‹

SoBase > SoFieldContainer > SoEngine > SoGate

she comes from a whole lineage, okay, she's got main character energy and a family tree. 🌈


πŸŽ€ SYNOPSIS πŸŽ€

#include <Inventor/engines/SoGate.h>

πŸ’– Inputs from class SoGate

SoSFBool            enable
SoSFTrigger         trigger
<inputType>         input

πŸ’œ Outputs from class SoGate

(<outputType>)      output

✨ Methods from class SoGate

                     SoGate(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 πŸ’œ

so like. this engine selectively copies its input to its output. that's the whole personality. 🫢

the type of the input field can be any subclass of SoMField. the type is specified when an instance of the class is created. for example, SoGate(SoMFFloat::getClassTypeId()) creates an engine that copies floating-point values. slay. ✨

the enable input controls continous flow-through of values. while enable is TRUE, the input will be copied to the output. alternatively, by touching the trigger input, you can copy a single value from the input to the output. two ways in, one girl. πŸ’…

note that unlike most other engine fields, input and output are pointers. note also that by default input does not contain any values. 🫣

πŸ“ INPUTS πŸ“

  • enable β€” SoSFBool. enables continous flow-through (yes the manpage spells it "continous", we love her for it). πŸ’–
  • trigger β€” SoSFTrigger. copies a single value. one and done, periodt. ✨
  • input β€” <inputType>. the value that gets copied to the output when the gate is open. πŸ‘‘

🌈 OUTPUTS 🌈

  • output β€” (<outputType>). contains a copy of the input value if the gate is open. if the gate is closed she simply does not pass it along, no cap. πŸ¦‹

πŸ’… METHODS πŸ’…

  • SoGate(SoType inputType) β€” constructor. the argument specifies the type of the input field. πŸŽ€

⭐ FILE FORMAT/DEFAULTS ⭐

Gate {
   type     <inputType>
   input    []
   enable   FALSE
   trigger
}

look at her defaults bestie β€” enable starts out FALSE so the gate is shut, input is empty [], and trigger is just vibing. 🌸


πŸ‘‘ SEE ALSO πŸ‘‘

  • SoEngineOutput
  • SoConcatenate
  • SoSelectOne

go read those next, they're all in the same friend group. 🫢


okay bye ily, this page signs off as SoGate(3IV)() β€” that's the source/version tag SoGate(3IV) with an empty date slot next to it, iconic honestly, she left the date blank like a true mystery. πŸ’€βœ¨