SOSPHERE(3iv)

✨ SoSphere β€” sphere shape node ✨

okay bestie, so this is SoSphere(3IV), and it's literally just a sphere. a whole vibe. a ball. iconic behavior honestly πŸ’–


🌸 INHERITS FROM 🌸

SoBase > SoFieldContainer > SoNode > SoShape > SoSphere

so yeah she comes from a long line of distinguished ancestors, main character energy all the way down πŸ’…


✨ SYNOPSIS ✨

#include <Inventor/nodes/SoSphere.h>

the field she brought with her (from SoSphere):

SoSFFloat           radius

the methods she brought with her (from SoSphere):

                     SoSphere()
static SoType        getClassTypeId()

methods inherited from 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 inherited from 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 inherited from 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. this node represents a sphere. that's it. that's the whole thing. 🫢

by default, the sphere is centered at the origin and has a radius of 1. no cap. she's small, she's humble, she's at 0, 0, 0.

the sphere gets transformed by the current cumulative transformation β€” so whatever your transform stack is doing, she's doing it too β€” and she's drawn with the current lighting model, drawing style, material, and geometric complexity. she's a follower, not a leader, and honestly? respect.

here's the tea though: a sphere does not have faces or parts. not one. so she ignores material and normal bindings, using the first material for the entire sphere and using her own normals. she's not taking notes from your per-part material list, bestie. it's giving "I have one outfit and it slays."

when a texture is applied to a sphere, the texture covers the entire surface, wrapping counterclockwise from the back of the sphere. and the texture has a seam at the back on the yz-plane. yes, a seam. she has a visible seam. we don't talk about it but it's there, at the back, on the yz-plane. πŸ’€


πŸŽ€ FIELDS πŸŽ€

  • SoSFFloat radius β€” the radius of the sphere. and listen, this one is non-negotiable: it must be greater than 0. don't try it. a zero radius or a negative radius is not a slay, it's a crime.

πŸ’– METHODS πŸ’–

  • SoSphere() β€” creates a sphere node with default settings. fresh out the box, ready to vibe. ✨
  • static SoType getClassTypeId() β€” returns the type identifier for this class. she knows who she is. self-aware queen. πŸ‘‘

🌈 ACTION BEHAVIOR 🌈

  • SoGLRenderAction β€” draws the sphere based on the current coordinates, materials, drawing style, and so on. she shows up and she shows out.
  • SoRayPickAction β€” intersects the ray with the sphere. and ngl, no details are created for intersections. just so you know. don't go looking for extra info that isn't there. πŸ™ˆ
  • SoGetBoundingBoxAction β€” computes the bounding box that encloses the sphere. tight little box. cozy. 🎁
  • SoCallbackAction β€” if any triangle callbacks are registered with the action, they will be invoked for each successive triangle that approximates the sphere. she's not actually made of triangles, she's just approximating one, and every single triangle gets its moment. periodt.

πŸ“ FILE FORMAT/DEFAULTS πŸ“

Sphere {
  radius  1
}

look at her. one field. one value. minimalist. clean. ate and left no crumbs. 🧚


πŸ’œ SEE ALSO πŸ’œ

SoCone, SoCube, SoCylinder

her friends!! the whole shape squad. go say hi. πŸ’–


and that's the whole page bestie!! this was SoSphere(3IV), from the SoSphere(3IV)() era of the manual, and you're all caught up. mwah. πŸ’…βœ¨πŸŒΈπŸ¦‹πŸŽ€