Scroll to navigation

SoProfile(3IV)() SoProfile(3IV)()

NAME

SoProfile — abstract base class for all profile nodes

INHERITS FROM

SoBase > SoFieldContainer > SoNode > SoProfile

SYNOPSIS

#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

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.
 

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

SoLinearProfile, SoNurbsProfile, SoNurbsSurface, SoProfileCoordinate2, SoProfileCoordinate3, SoText3