SOCLIPPLANE(3iv)

πŸ’– SoClipPlane β€” bestie, it's a clipping plane node πŸ’–

okay so this is SoClipPlane(3IV) from the 3IV manual, and she is literally the girl who decides what part of your scene gets to exist. clipping queen. πŸ‘‘


✨ INHERITS FROM ✨

SoBase > SoFieldContainer > SoNode > SoClipPlane

so yeah, she's deep in the family tree β€” grandbaby of SoBase, and she inherited ALL the family drama (and all the methods, which we're gonna list, don't worry, we're not skipping a single one 🫢).


🌸 SYNOPSIS 🌸

#include <Inventor/nodes/SoClipPlane.h>

Fields from class SoClipPlane:

SoSFPlane           plane
SoSFBool            on

Methods from class SoClipPlane:

                     SoClipPlane()
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(SoType type) const
virtual void        setName(const SbName &name)
virtual SbName      getName() const

πŸ¦‹ DESCRIPTION πŸ¦‹

okay so here's the tea β˜•: this node clips all subsequent shapes in the scene graph to the half-space defined by the plane field.

"half-space"?? yes bestie, it's giving geometry. the half-space is the side of the plane in the direction of the plane normal. so like, imagine the plane sitting at the origin with its normal pointing down the positive X axis β€” everything in the negative X space gets clipped away. gone. not invited to the party. πŸ’€

and you can have any number of clipping planes active at the same time, which is lowkey iconic β€” although the graphics library may place a limit on this number during rendering. so like, don't go feral with it, the renderer has boundaries. πŸ™ˆ


πŸŽ€ FIELDS πŸŽ€

  • SoSFPlane plane β€” the plane defining the half-space. she's the one drawing the line, literally.
  • SoSFBool on β€” whether the clipping plane is active. is she on or is she off? that's the whole vibe check.

πŸ’… METHODS πŸ’…

  • SoClipPlane() β€” creates a clip plane node with default settings. a fresh baby, defaults and all ✨
  • static SoType getClassTypeId() β€” returns the type identifier for this class. it's her government name, iykyk.

πŸ”₯ ACTION BEHAVIOR πŸ”₯

SoGLRenderAction, SoCallbackAction, SoRayPickAction

adds the plane to the current list of clipping planes in the state. periodt. all three of these actions do it. no cap.


🌈 FILE FORMAT/DEFAULTS 🌈

ClipPlane {
    plane  1 0 0  0
    on     TRUE
}

look at her. defaults on, plane pointing down positive X with a zero offset. main character energy from day one πŸ‘‘


⭐ SEE ALSO ⭐

SoCamera, SoShapeHints


k that's the whole page bestie!! go forth and clip responsibly 🫢✨

this was SoClipPlane(3IV)() β€” the 3IV manual, she's a classic, and the date on this one is... blank, she's timeless like that πŸ’œ (no date given, no date needed, she's just That Girl)

mwah, study hard, drink water, and remember: the normal points the way, and the half-space behind it is over πŸ’…πŸŽ€