SOSFNAME(3iv)

πŸ’– SoSFName πŸ’–

okay bestie, so this is the manual page for SoSFName from the 3IV manual set β€” yeah, the Open Inventor field girlies. she's a little niche, she's a little specific, and honestly? she ate. let's get into it πŸŽ€


✨ NAME ✨

SoSFName β€” a field containing a name 🏷️


🌸 INHERITS FROM 🌸

SoField > SoSField > SoSFName

like, the whole ancestry tree. she comes from a long line of fields and she's proud of it πŸ’…


πŸ¦‹ SYNOPSIS πŸ¦‹

#include <Inventor/fields/SoSFName.h>

Methods from class SoSFName:

void                setValue(const char *string)
static SoType       getClassTypeId()
virtual void        getTypeId() const
const SbName &      getValue() const
const SbName &      operator =(const SbName & newValue)
void                setValue(const SbName & newValue)
int                 operator ==(const SoSFName &f) const
int                 operator !=(const SoSFName &f) const

Methods from class SoField:

void                setIgnored(SbBool ignore)
SbBool              isIgnored() const
SbBool              isDefault() const
virtual SbBool      isOfType(SoType type) const
SbBool              set(const char *valueString)
void                get(SbString &valueString)
void                touch()
SbBool              connectFrom(SoField *fromField)
SbBool              connectFrom(SoEngineOutput *fromEngine)
void                disconnect()
SbBool              isConnected() const
SbBool              isConnectedFromField() const
SbBool              getConnectedField(SoField *&writingField) const
SbBool              isConnectedFromEngine() const
SbBool              getConnectedEngine(SoEngineOutput *&engineOutput)
                         const
void                enableConnection(SbBool flag)
SbBool              isConnectionEnabled() const
int                 getForwardConnections(SoFieldList &list) const
SoFieldContainer *  getContainer() const

πŸ’… DESCRIPTION πŸ’…

so basically, this is a field that holds a name. and when we say "names," we mean short little series of characters β€” the kind you'd use for labels or names β€” and here's the ✨tea✨: they get stored in a special table that's literally designed to make lookup and comparison go fast. it's giving efficiency, it's giving main character energy πŸƒβ€β™€οΈπŸ’¨

ngl though, for most purposes an SoSFString field is probably more appropriate. just saying. fr fr πŸ™ˆ

when it comes to writing them out, SoSFNames are written to file as a string of characters. and there's a rule, bestie, so listen up: names must begin with an underscore or an alphabetic character, and they must consist entirely of underscores, alphabetic characters, or numbers. no vibes-based exceptions, no exceptions periodt πŸ‘‘


🌈 METHODS 🌈

πŸŽ€ void setValue(const char *string)

set this field to the name equivalent to the given string. like, you hand her a string, she hands you back the name version πŸ’–

πŸŽ€ static SoType getClassTypeId()

πŸŽ€ virtual void getTypeId() const

returns the type for this class, or for a particular object of this class. classic type-checking behavior, we love to see it 🫢

πŸŽ€ const SbName & getValue() const

returns this field's value. that's it, that's the whole thing, iconic ⭐

πŸŽ€ const SbName & operator =(const SbName & newValue)

πŸŽ€ void setValue(const SbName & newValue)

sets this field to newValue. two ways in, same destination πŸšͺ✨

πŸŽ€ int operator ==(const SoSFName &f) const

πŸŽ€ int operator !=(const SoSFName &f) const

returns TRUE if f is of the same type and has the same value as this field. both conditions, no shortcuts, she's thorough like that πŸ’―


πŸ”₯ SEE ALSO πŸ”₯

  • SoField
  • SoSField
  • SoMFName

and that's the whole page, bestie!! this one's from the 3IV manual set, dated just like the rest of the SoSFName(3IV) family β€” no date drama, just the version tag riding along at the bottom of the page. go forth and name things responsibly πŸ¦‹πŸ’œπŸŽ€