SOCUBE(3iv)
π SoCube β the cube shape node π
okay bestie, welcome to the SoCube(3IV) page, the lil manual entry that's about to make cubes your whole personality. buckle up π
π NAME
SoCube β cube shape node. yes literally just a cube. and yet. iconic.
𧬠INHERITS FROM
SoBase > SoFieldContainer > SoNode > SoShape > SoCube
it's giving royal lineage fr fr, the whole family tree showed up π
β¨ SYNOPSIS
#include <Inventor/nodes/SoCube.h>
Fields from class SoCube:
SoSFFloat width
SoSFFloat height
SoSFFloat depth
Methods from class SoCube:
SoCube()
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
like that's the whole roster, no crumbs left behind π
πΈ DESCRIPTION
so this node? it's a cuboid aligned with the coordinate axes. that's the whole job. by default the cube is centered at (0,0,0) and measures 2 units in each dimension, going from -1 to +1. cute, symmetrical, balanced, main character energy tbh β¨
the cube gets transformed by the current cumulative transformation, and it's drawn with the current lighting model, drawing style, material, and geometric complexity. so whatever vibe the scene has going on, the cube is matching it. slay.
now listen, if the current material binding is PER_PART, PER_PART_INDEXED, PER_FACE, or PER_FACE_INDEXED, then materials get bound to the faces of the cube in this order: front, back, left, right, top, and bottom. write that order down bestie, it matters π
textures? they're applied individually to each face of the cube β the entire texture goes on each face, no tiling shenanigans. and the orientation is very specific, so pay attention:
- on the front, back, right, and left sides, the texture is applied right side up. easy.
- on the top, the texture appears right side up when the top of the cube is tilted toward the camera.
- on the bottom, the texture appears right side up when the top of the cube is tilted away from the camera.
that's the tea. no cap π«
π FIELDS
SoSFFloat width,SoSFFloat height,SoSFFloat depthβ sizes in the x, y, and z dimensions, respectively. so width = x, height = y, depth = z. that's it, that's the trio π¦
π METHODS
SoCube()β creates a cube node with default settings. fresh cube, default settings, ready to go β¨static SoType getClassTypeId()β returns the type identifier for this class. it's the "who am i" of classes πͺͺ
π₯ ACTION BEHAVIOR
SoGLRenderActionβ draws the cube based on the current coordinates, materials, drawing style, and so on. the glow-up happens here πSoRayPickActionβ intersects the ray with the cube. the face of the cube that was picked is available from theSoCubeDetail. so you can find out which face got clicked, obsessed πSoGetBoundingBoxActionβ computes the bounding box that encloses the cube. wrapping it up in a lil box πSoCallbackActionβ if any triangle callbacks are registered with the action, they will be invoked for each successive triangle that approximates the cube. every single one. no skipping π§
π FILE FORMAT/DEFAULTS
Cube {
width 2
height 2
depth 2
}
yes bestie, everything defaults to 2. the symmetry. the consistency. periodt π
π SEE ALSO
SoCone, SoCubeDetail, SoCylinder, SoSphere
the whole shape squad, go read them too π«Ά
okay that's the whole page!! this was the SoCube(3IV) manual, so whenever you see SoCube(3IV)() floatin' around at the bottom of a manpage, that's just this exact vibe check, documented and dated and everything ππ go build a cube bestie, you got this π
π¦ where this page comes from
- debian bookworm: inventor-doc 2.1.5-10+dfsg-2 Β· LGPL-2.0-or-later
- debian trixie: inventor-doc 2.1.6+ds-2 Β· LGPL-2.0-or-later
- ubuntu jammy: inventor-doc 2.1.5-10-24
- ubuntu noble: inventor-doc 2.1.5-10+dfsg-2.1build2 Β· LGPL-2.0-or-later
- ubuntu questing: inventor-doc 2.1.6+ds-2
- ubuntu resolute: inventor-doc 2.1.6.1+ds-1 Β· LGPL-2.0-or-later
- ubuntu stonking: inventor-doc 2.1.6.1+ds-1 Β· LGPL-2.0-or-later
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash on : a language model's rewrite of the original, under its terms