SoSFEnum(3)
π SoSFEnum(3) π
okay so bestie, welcome to the Coin manual page for SoSFEnum(3). buckle up, we're reading a manpage together and it's actually kind of iconic. π
πΈ NAME πΈ
SoSFEnum β the SoSFEnum class is a container for an enum value. that's it, that's the whole job. one tiny box, one enum, immaculate vibes. π
β¨ SYNOPSIS β¨
#include <Inventor/fields/SoSFEnum.h>
Inherits SoSField.
Inherited by SoSFBitMask.
π«Ά Public Member Functions
virtual SoType getTypeId (void) constvirtual void copyFrom (const SoField &field)const SoSFEnum & operator= (const SoSFEnum &field)virtual SbBool isSame (const SoField &field) constint getValue (void) constvoid setValue (int newvalue)int operator= (int newvalue)int operator== (const SoSFEnum &field) constint operator!= (const SoSFEnum &field) constvoid setValue (const SbName name)void setEnums (const int num, const int *vals, const SbName *names)int getNumEnums (void) constint getEnum (const int idx, SbName &name) const
π Public Member Functions inherited from SoSField
virtual ~SoSField ()
π Public Member Functions inherited from SoField
virtual ~SoField ()void setIgnored (SbBool ignore)SbBool isIgnored (void) constvoid setDefault (SbBool defaultVal)SbBool isDefault (void) constSbBool isOfType (const SoType type) constvoid enableConnection (SbBool flag)SbBool isConnectionEnabled (void) constSbBool connectFrom (SoEngineOutput *master, SbBool notnotify=FALSE, SbBool append=FALSE)SbBool appendConnection (SoEngineOutput *master, SbBool notnotify=FALSE)void disconnect (SoEngineOutput *engineoutput)SbBool isConnectedFromEngine (void) constSbBool getConnectedEngine (SoEngineOutput *&master) constSbBool connectFrom (SoField *master, SbBool notnotify=FALSE, SbBool append=FALSE)SbBool appendConnection (SoField *master, SbBool notnotify=FALSE)void disconnect (SoField *field)SbBool isConnectedFromField (void) constSbBool getConnectedField (SoField *&master) constint getNumConnections (void) constint getForwardConnections (SoFieldList &slavelist) constint getConnections (SoFieldList &masterlist) constvoid disconnect (void)SbBool isConnected (void) constvoid setContainer (SoFieldContainer *cont)SoFieldContainer * getContainer (void) constSbBool set (const char *valuestring)void get (SbString &valuestring)SbBool shouldWrite (void) constvirtual void touch (void)virtual void startNotify (void)virtual void notify (SoNotList *nlist)SbBool enableNotify (SbBool on)SbBool isNotifyEnabled (void) constvoid addAuditor (void *f, SoNotRec::Type type)void removeAuditor (void *f, SoNotRec::Type type)int operator== (const SoField &f) constint operator!= (const SoField &f) constvirtual void connectionStatusChanged (int numconnections)SbBool isReadOnly (void) constvirtual void fixCopy (SbBool copyconnections)virtual SbBool referencesCopy (void) constvoid copyConnection (const SoField *fromfield)virtual SbBool read (SoInput *input, const SbName &name)virtual void write (SoOutput *out, const SbName &name) constvirtual void countWriteRefs (SoOutput *out) constvoid setFieldType (int type)int getFieldType (void) constSbBool getDirty (void) constvoid setDirty (SbBool dirty)void evaluate (void) const
β Static Public Member Functions
static void * createInstance (void)static SoType getClassTypeId (void)static void initClass (void)
β Static Public Member Functions inherited from SoSField
static void initClass (void)static SoType getClassTypeId (void)static void atexit_cleanup (void)
β Static Public Member Functions inherited from SoField
static void initClass (void)static void initClasses (void)static void cleanupClass (void)static SoType getClassTypeId (void)
π§ Protected Member Functions
virtual SbBool findEnumValue (const SbName &name, int &val)virtual SbBool findEnumName (int value, const SbName *&name) const
π§ Protected Member Functions inherited from SoSField
SoSField (void)
π§ Protected Member Functions inherited from SoField
SoField (void)void valueChanged (SbBool resetdefault=TRUE)virtual void evaluateConnection (void) constvirtual SbBool readConnection (SoInput *in)virtual void writeConnection (SoOutput *out) constSbBool isDestructing (void) constvirtual SoNotRec createNotRec (SoBase *cont)
π Protected Attributes
int valueint numEnumsint * enumValuesSbName * enumNamesSbBool legalValuesSet
π Additional Inherited Members
- Public Types inherited from
SoFieldenum FieldType { NORMAL_FIELD = 0, EVENTIN_FIELD, EVENTOUT_FIELD, EXPOSED_FIELD }
π DETAILED DESCRIPTION π
The SoSFEnum class is a container for an enum value. (yes we said that in NAME, it's a whole thing, it's giving consistency π
)
This field is used where nodes, engines or other field containers needs to store one particular value out of an enumerated set.
A field of this type stores its value to file as the symbolic name, rather than the actual integer value. symbolic name supremacy, honestly.
SoSFEnum instances are initialized on an instance basis, usually in the constructor of the field container with the macros SO_NODE_DEFINE_ENUM_VALUE(enumtype, symbolvalue) and SO_NODE_SET_SF_ENUM_TYPE(enumfield, enumtype) for nodes, or for engines; SO_ENGINE_DEFINE_ENUM_VALUE() and SO_ENGINE_SET_SF_ENUM_TYPE().
Example initialization from the constructor of the SoCone class:
SO_NODE_DEFINE_ENUM_VALUE(Part, SIDES);
SO_NODE_DEFINE_ENUM_VALUE(Part, BOTTOM);
SO_NODE_DEFINE_ENUM_VALUE(Part, ALL);
SO_NODE_SET_SF_ENUM_TYPE(parts, Part);
See also π
SoMFEnum, SoSFBitMask
π§ MEMBER FUNCTION DOCUMENTATION π§
void * SoSFEnum::createInstance (void ) [static]
This API member is considered internal to the library, as it is not likely to be of interest to the application programmer.
Creates a new instance of the class type corresponding to the SoType object.
SoType SoSFEnum::getClassTypeId (void ) [static]
This static method returns the SoType object associated with objects of this class.
SoType SoSFEnum::getTypeId (void ) const [virtual]
Returns the type identification of an object derived from a class inheriting SoField. This is used for runtime type checking and "downward" casting.
Implements SoField.
Reimplemented in SoSFBitMask.
void SoSFEnum::copyFrom (const SoField & f) [virtual]
Copy value(s) from f into this field. f must be of the same type as this field.
Implements SoField.
Reimplemented in SoSFBitMask.
SbBool SoSFEnum::isSame (const SoField & f) const [virtual]
Check for equal type and value(s).
Implements SoField.
Reimplemented in SoSFBitMask.
void SoSFEnum::initClass (void ) [static]
Internal method called upon initialization of the library (from SoDB::init()) to set up the type system.
void SoSFEnum::setValue (const SbName name)
Set the value of this field by specifying an enumeration string value.
void SoSFEnum::setEnums (const int num, const int * vals, const SbName * names)
Makes a set of num enumeration names map to integer values, given by vals.
int SoSFEnum::getNumEnums (void ) const
Returns the number of enum names the SoSFEnum object understands.
Note that this API method is not part of the original SGI Inventor 2.1 API, and is an extension specific to Coin.
This function is an extension for Coin, and it is not available in the original SGI Open Inventor v2.1 API.
Since
Coin 2.0
int SoSFEnum::getEnum (const int idx, SbName & name) const
Returns the value of the Nth enum this SoSFEnum object understands, and mutates name to contain the Nth enum's name.
Note that this API method is not part of the original SGI Inventor 2.1 API, and is an extension specific to Coin.
This function is an extension for Coin, and it is not available in the original SGI Open Inventor v2.1 API.
Since
Coin 2.0
SbBool SoSFEnum::findEnumValue (const SbName & name, int & val) [protected], [virtual]
Return in val the enumeration value which matches the given enumeration name.
Returns TRUE if name is a valid enumeration string, otherwise FALSE.
SbBool SoSFEnum::findEnumName (int valuearg, const SbName *& name) const [protected], [virtual]
Set the enumeration name which matches the given enumeration value.
Returns TRUE if value is a valid enumeration value, otherwise FALSE.
ποΈ MEMBER DATA DOCUMENTATION ποΈ
int SoSFEnum::numEnums [protected]
Number of enumeration mappings.
int* SoSFEnum::enumValues [protected]
Array of enumeration values. Maps 1-to-1 with the enumNames.
SbName* SoSFEnum::enumNames [protected]
Array of enumeration names. Maps 1-to-1 with the enumValues.
SbBool SoSFEnum::legalValuesSet [protected]
Is TRUE if a set of enum name-to-value mappings has been set.
βοΈ AUTHOR βοΈ
Generated automatically by Doxygen for Coin from the source code.
π«Ά and that's the whole page, bestie. go forth and enum responsibly.
Version 4.0.10 β Thu Jun 25 2026 00:00:00 β SoSFEnum(3) πβ¨π
π¦ where this page comes from
- fedora 43: Coin4-devel 4.0.10-1.fc43 Β· BSD-3-Clause AND GPL-3.0-or-later
- fedora 43: Coin4-devel 4.0.10-1.fc43 Β· BSD-3-Clause AND GPL-3.0-or-later
- fedora 44: Coin4-devel 4.0.10-1.fc44 Β· BSD-3-Clause AND GPL-3.0-or-later
- fedora 44: Coin4-devel 4.0.10-1.fc44 Β· BSD-3-Clause AND GPL-3.0-or-later
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash on : a language model's rewrite of the original, under its terms