SONONINDEXEDSHAPE(3iv)
β¨ NAME β¨
SoNonIndexedShape β the abstract base class for all non-indexed, vertex-based shapes π
𧬠INHERITS FROM π§¬
SoBase > SoFieldContainer > SoNode > SoShape > SoVertexShape > SoNonIndexedShape
like... it's the whole ancestry tree bestie, all the way down π
π SYNOPSIS π
#include <Inventor/nodes/SoNonIndexedShape.h>
Fields from class SoNonIndexedShape:
SoSFInt32 startIndex
Fields from class SoVertexShape:
SoSFNode vertexProperty
Methods from class SoNonIndexedShape:
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 listen π«Ά β this node is the abstract base class for every vertex-based shape that ISN'T built from indices. The iconic trio of examples: SoFaceSet, SoLineSet, and SoQuadMesh. no cap π
Every single subclass of SoNonIndexedShape builds its objects using the coordinates that live in the vertexProperty field (that's the one it inherited from SoVertexShape, iykyk), or else it just grabs the current inherited coordinates. And the startIndex field β the one this very class defines? Yeah, it's obsolete now. It's only hanging around here for compatibility with ancient files and programs. it's giving legacy code energy fr fr π
The subclass is the one who decides what to do with this coordinate and any that come after it. The shape gets drawn with the current lighting model and drawing style, and it's transformed by the current transformation matrix. main character behavior honestly β¨
Now for the important part, bestie β material, normal, and texture coordinate bindings for shapes derived from this class ignore any index specifications. Like, a binding value of PER_FACE_INDEXED gets treated exactly the same way as PER_FACE, and so on down the line. it simply does not care π
And if there aren't enough values in the current coordinates, material, or texture coordinates? Errors will occur. Not a vibe check, an actual error. be careful πΈ
πΈ FIELDS πΈ
SoSFInt32 startIndexβ the obsolete field, kept around purely for compatibility reasons, periodt. It's the index of the first coordinate of the shape. she's retired but still on the payroll π
π METHODS π
static SoType getClassTypeId()β returns the type identifier for this class. your girl's official ID card π
π¦ FILE FORMAT/DEFAULTS π¦
This is an abstract class, so there's nothing to show here β go peek at the reference page of a derived class if you want the format and the default values. she's abstract, she doesn't do defaults β¨
π SEE ALSO π
SoFaceSet, SoIndexedShape, SoLineSet, SoPointSet, SoQuadMesh, SoTriangleStripSet, SoVertexProperty
and that's the whole page bestie!! π this was SoNonIndexedShape(3IV) from the SoNonIndexedShape(3IV)() manual β go forth and slay your vertex-based shapes, ily π«Άπ
π¦ 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