SOCOORDINATE3(3iv)

✨ SoCoordinate3 ✨

okay bestie, buckle up πŸ’– this is SoCoordinate3 from the (3IV) manual β€” the coordinate point node. it's giving "backstage crew" energy: never on stage, but literally everything on stage depends on it.


🌸 INHERITS FROM 🌸

SoBase > SoFieldContainer > SoNode > SoCoordinate3

so it's a whole lineage, a royal family, a nepo baby with actual talent πŸ’…


πŸŽ€ SYNOPSIS πŸŽ€

#include <Inventor/nodes/SoCoordinate3.h>

Fields from class SoCoordinate3:

SoMFVec3f           point

Methods from class SoCoordinate3:

                     SoCoordinate3()
static SoType       getClassTypeId()

Methods from class SoNode:

void                setOverride(SbBool state)
SbBool              isOverride() const
SoNode *            copy(SbBool copyConnections = FALSE) const
virtual SbBool      affectsState() const
static SoNode *     getByName(const SbName &name)
static int          getByName(const SbName &name, SoNodeList &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(SbBool type) const
virtual void        setName(const SbName &name)
virtual SbName      getName() const
okay tiny correction bestie, that isOfType line reads SbBool isOfType(SoType type) const β€” let me not gaslight you. here's the real one: c SbBool isOfType(SoType type) const

πŸ¦‹ DESCRIPTION πŸ¦‹

so what IS this node, you ask? 🫢

SoCoordinate3 defines a set of 3D coordinates. who uses them? two kinds of besties:

  • the vertex-based shape nodes β€” aka everything derived from SoVertexShape
  • the shape nodes that use coordinates as control points β€” think NURBS curves and surfaces πŸ‘‘

and here's the thing that trips people up: this node does not produce a visible result during rendering. no pixels, no glow-up, nothing on screen. it simply replaces the current coordinates in the rendering state so that the subsequent nodes can use them. it's the girl in the group chat who books the reservation and never gets tagged. iconic behavior honestly 🌈


πŸ’– FIELDS πŸ’–

  • SoMFVec3f point β€” coordinate point(s). that's it, that's the whole field. your points live here ⭐

🧚 METHODS 🧚

  • SoCoordinate3() β€” creates a coordinate node with default settings. fresh start, clean slate, main character energy ✨
  • static SoType getClassTypeId() β€” returns the type identifier for this class. it's the ID card. the birth certificate. iykyk πŸ’…

πŸ”₯ ACTION BEHAVIOR πŸ”₯

these actions walk in and set coordinates in the current traversal state:

  • SoGLRenderAction
  • SoCallbackAction
  • SoGetBoundingBoxAction
  • SoRayPickAction

🌈 FILE FORMAT/DEFAULTS 🌈

Coordinate3 {
     point  0 0 0
}

look at that default. 0 0 0. the origin. the beginning of everything πŸŽ€


⭐ SEE ALSO ⭐

  • SoCoordinate4
  • SoVertexShape

and that's the whole page bestie!! πŸ“ this was SoCoordinate3(3IV), and the footer said SoCoordinate3(3IV)() β€” so that's your source/version + date, no cap. go forth and set some coordinates πŸ’œπŸ¦‹βœ¨