SoProfile — abstract base class for all profile nodes
Contents
Action Behavior
SoGLRenderAction,SoCallbackAction,SoGetBoundingBoxAction,SoRayPickAction
Adds profile to current traversal state.
Description
This node is the abstract base class for all profile nodes, which define 2D curves. A profile is not
itself geometry, but is used to change or delimit the geometry of something else. For an SoText3 node,
the profile determines 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.
The current profile state can consist of one or more profiles, each of which 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.
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 that when appending profile B to the end of profile A, B must begin at the same 2D point at which A
ends.
Fields
SoMFInt32index
Indices into profile coordinates.
SoSFEnumlinkage
Specifies connectivity of profile curve with respect to profiles in current list in state.
File Format/Defaults
This is an abstract class. See the reference page of a derived class for the format and default values.
Inherits From
SoBase > SoFieldContainer > SoNode > SoProfile
Methods
staticSoTypegetClassTypeId()
Returns type identifier for this class.
Name
SoProfile — abstract base class for all profile nodes
See Also
SoLinearProfile,SoNurbsProfile,SoNurbsSurface,SoProfileCoordinate2,SoProfileCoordinate3,SoText3SoProfile(3IV)()
Synopsis
#include<Inventor/nodes/SoProfile.h>enumProfile{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:
SoMFInt32indexSoSFEnumlinkage
Methods from class SoProfile:
staticSoTypegetClassTypeId()
Methods from class SoNode:
voidsetOverride(SbBoolstate)SbBoolisOverride()constSoNode*copy(SbBoolcopyConnections=FALSE)constvirtualSbBoolaffectsState()conststaticSoNode*getByName(constSbName&name)staticintgetByName(constSbName&name,SoNodeList&list)
Methods from class SoFieldContainer:
voidsetToDefaults()SbBoolhasDefaultValues()constSbBoolfieldsAreEqual(constSoFieldContainer*fc)constvoidcopyFieldValues(constSoFieldContainer*fc,SbBoolcopyConnections=FALSE)SbBoolset(constchar*fieldDataString)voidget(SbString&fieldDataString)virtualintgetFields(SoFieldList&resultList)constvirtualSoField*getField(constSbName&fieldName)constSbBoolgetFieldName(constSoField*field,SbName&fieldName)constSbBoolisNotifyEnabled()constSbBoolenableNotify(SbBoolflag)
Methods from class SoBase:
voidref()voidunref()constvoidunrefNoDelete()constvoidtouch()virtualSoTypegetTypeId()constSbBoolisOfType(SoTypetype)constvirtualvoidsetName(constSbName&name)virtualSbNamegetName()const