SOPROFILE(3iv)
β¨ NAME β¨
hey bestie, welcome to the SoProfile(3IV) page π this is the abstract base class for all profile nodes β no cap.
πΈ INHERITS FROM πΈ
SoBase>SoFieldContainer>SoNode>SoProfile
π SYNOPSIS π
okay so here's the whole synopsis, copied exactly because we do not mess with code in this house:
#include <Inventor/nodes/SoProfile.h>
enum Profile {
SoProfile::START_FIRST Start a new profile and remove any
existing profiles from the current
list
SoProfile::START_NEW Start a new profile and add it to the
current list
SoProfile::ADD_TO_CURRENT Add to end of the last profile in the
current list
}
Fields from class SoProfile:
SoMFInt32 index
SoSFEnum linkage
Methods from class SoProfile:
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 π
so basically, this node is the abstract base class for all profile nodes, and profile nodes are the ones that define 2D curves. A profile is not itself geometry β it's the little helper that changes or delimits the geometry of something else. For an SoText3 node, the profile decides the cross-section of the side of each text character. For an SoNurbsSurface node, the profile is used to specify trim curves for the surface. it's giving backstage crew, not main character geometry, but the show literally cannot go on without it π
The current profile state can be one or more profiles, and each profile can be made up of one or more instances of SoProfile subclass nodes. Each profile node specifies β in the index field β a set of indices that refer to the current set of profile coordinates, specified using either an SoProfileCoordinate2 or an SoProfileCoordinate3 node. No profile curve should intersect itself or another profile curve. that's the rule, bestie.
Profiles are part of the state, just like all other properties. The state contains a current list of profiles. Depending on the linkage field, a profile can:
- clear the list and begin a new profile,
- begin a new profile at the end of those already in the list,
- or append to the last profile in the current list.
note: when appending profile B to the end of profile A, B must begin at the same 2D point at which A ends. no gaps, no glow-up, same point periodt.
π FIELDS π
SoMFInt32indexβ indices into profile coordinates. π―SoSFEnumlinkageβ specifies connectivity of profile curve with respect to profiles in current list in state. π
β¨ METHODS β¨
static SoType getClassTypeId()β returns type identifier for this class. π
π¦ ACTION BEHAVIOR π¦
SoGLRenderAction,SoCallbackAction,SoGetBoundingBoxAction,SoRayPickActionβ adds profile to current traversal state. β¨
π FILE FORMAT/DEFAULTS π
This is an abstract class. See the reference page of a derived class for the format and default values. π«Ά
π SEE ALSO π
SoLinearProfileSoNurbsProfileSoNurbsSurfaceSoProfileCoordinate2SoProfileCoordinate3SoText3
signing off from the SoProfile(3IV)() manual β source/version: SoProfile(3IV), date: the footer's date slot is empty, so no date listed. xoxo, stay iconic πβ¨
π¦ 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