SoProfile(3IV)

SoProfile (SoProf) - abstract base class for all profile nodes

As shipped in IRIX 6.5.30. Added in IRIX 6.5.22.

NAME
     SoProfile (SoProf) - abstract base class for all profile nodes

INHERITS FROM
     SoBase > SoFieldContainer > SoNode > SoProfile

SYNOPSIS
     #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)
     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.

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