SONURBSPROFILE(3iv)
π SoNurbsProfile β the NURBS profile curve page, bestie edition π
okay so. we're in the SoNurbsProfile(3IV) manual page, and honestly? it's a short one, so grab your strawberry drink π and let's go, because this little node is doing a LOT of heavy lifting in the curve department.
πΈ NAME πΈ
SoNurbsProfile β NURBS profile curve. that's it. that's the whole name. iconic brevity, no notes. β¨
π¦ INHERITS FROM π¦
the whole family tree, and yes she comes from a long line of distinguished ancestors:
SoBase > SoFieldContainer > SoNode > SoProfile > SoNurbsProfile
so likeβ¦ she's a SoProfile, which is a SoNode, which is a SoFieldContainer, which is a SoBase. main character lineage fr fr π
β¨ SYNOPSIS β¨
first things first, you gotta include her:
#include <Inventor/nodes/SoNurbsProfile.h>
π Fields from class SoNurbsProfile
SoMFFloat knotVector
π Fields from class SoProfile
SoMFInt32 index
SoSFEnum linkage
π Methods from class SoNurbsProfile
SoNurbsProfile()
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 specifies a NURBS curve that gets used as a profile. and the way it works is basically the same way a standard SoNurbsCurve worksβ¦ except (and this is the key part, don't skip it π«Ά) the control points aren't just handed to you directly β they're constructed from the current set of profile coordinates, using the index field. that's the whole vibe. that's the plot. π
π FIELDS π
knotVector(SoMFFloat) β the knot vector for the NURBS curve. and bestie, it must be a list of non-decreasing floating point values. non-decreasing. we do not go backwards in this house. πβπβ
π METHODS π
SoNurbsProfile()β creates a NURBS profile curve node with default settings. fresh out the box, defaults intact, ready to slay. β¨static SoType getClassTypeId()β returns the type identifier for this class. it's giving "who am I" but in a bureaucratic sense. πͺͺ
π₯ ACTION BEHAVIOR π₯
the actions below all do the same cute little thing:
SoGLRenderActionSoCallbackActionSoRayPickAction
they all add a profile to the current traversal state. that's the move. that's the whole move. π
πΈ FILE FORMAT/DEFAULTS πΈ
here's what she looks like written down, defaults and all, verbatim, no cap:
NurbsProfile {
index 0
linkage START_FIRST
knotVector 0
}
π SEE ALSO π
go read these next, they're all in the same friend group:
SoLinearProfileSoNurbsCurveSoProfileCoordinate2SoProfileCoordinate3
quick reminder bestie: knotVector has to be non-decreasing. that's a real requirement, not a suggestion. don't come for me when it breaks. π
okay that's the whole page!! it came from the SoNurbsProfile(3IV) source/version, and the footer date area was lowkey empty (SoNurbsProfile(3IV)()), so likeβ¦ timeless, no date, forever iconic. πβ¨ go build something gorgeous with your NURBS, ily, bye π«Άππ¦
π¦ 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