SoProfile(3IV)NAMESoProfile (SoProf) - abstract base class for all profile nodes
INHERITS FROM
SoBase > SoFieldContainer > SoNode > SoProfileSYNOPSIS
#include <Inventor_c/nodes/SoProfile.h>
typedef SoProfile SoProf
enum SoProfileProfile {
SO_PROF_START_FIRST Start a new profile and remove any existing
profiles from the current list
SO_PROF_START_NEW Start a new profile and add it to the
current list
SO_PROF_ADD_TO_CURRENT Add to end of the last profile in the
current list
}
Fields from class SoProfile:
SoMFInt32 index
SoSFEnum linkage
Functions from class SoProfile:
SoType SoProfGetClassTypeId()
Functions from class SoNode:
void SoProfSetOverride(SoProf *this, SbBool state)
SbBool SoProfIsOverride(const SoProf *this)
SoNode * SoProfCopy(const SoProf *this, SbBool copyConnections
= FALSE)
SbBool SoProfAffectsState(const SoProf *this)
SoNode * SoProfGetByName(const char *name)
int SoProfGetByNameList(const char *name, SoNodeList
*list)
Functions from class SoFieldContainer:
void SoProfSetToDflts(SoProf *this)
SbBool SoProfHasDfltVals(const SoProf *this)
SbBool SoProfFldsAreEq(const SoProf *this, const
SoFieldContainer *fc)
void SoProfCopyFieldVals(SoProf *this, const
SoFieldContainer *fc, SbBool copyConnections =
FALSE)
SbBool SoProfSet(SoProf *this, const char *fieldDataString)
void SoProfGet(SoProf *this, SbString *fieldDataString)
Page 1SoProfile(3IV)
int SoProfGetFields(const SoProf *this, SoFieldList
*resultList)
SoField * SoProfGetField(const SoProf *this, const char
*fieldName)
SbBool SoProfGetFieldName(const SoProf *this, const SoField
*field, SbName *fieldName)
SbBool SoProfIsNotifyEnabled(const SoProf *this)
SbBool SoProfEnableNotify(SoProf *this, SbBool flag)
Functions from class SoBase:
void SoProfRef(SoProf *this)
void SoProfUnref(const SoProf *this)
void SoProfUnrefNoDelete(const SoProf *this)
void SoProfTouch(SoProf *this)
SoType SoProfGetTypeId(const SoProf *this)
SbBool SoProfIsOfType(const SoProf *this, SoType type)
void SoProfSetName(SoProf *this, const char *name)
SbName SoProfGetName(const SoProf *this)
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
SoMFInt32 index
Indices into profile coordinates.
SoSFEnum linkage
Specifies connectivity of profile curve with respect to profiles in
current list in state.
Page 2SoProfile(3IV)FUNCTIONS
SoType SoProfGetClassTypeId()
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
SoLinearProfile, SoNurbsProfile, SoNurbsSurface, SoProfileCoordinate2,
SoProfileCoordinate3, SoText3
Page 3