Provided by: inventor-doc_2.1.5-10-18_all bug

NAME

       SoVertexShape — abstract base class for all vertex-based shape nodes

INHERITS FROM

       SoBase > SoFieldContainer > SoNode > SoShape > SoVertexShape

SYNOPSIS

       #include <Inventor/nodes/SoVertexShape.h>

          Fields from class SoVertexShape:

     SoSFNode            vertexProperty

          Methods from class SoVertexShape:

     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 vertex-based shape (geometry)  nodes.  It  is
       used  as  a  repository  for  convenience  functions  for subclasses and to provide a type
       identifier to make it easy to determine whether a shape is vertex-based. It  contains  one
       public field, the SoVertexProperty field.

       All  subclasses of this node draw objects constructed from vertices. If the vertexProperty
       field is non-null and there are coordinates in the associated vertex property  node,  then
       those  coordinates are used. Otherwise the objects are drawn using the current coordinates
       in the state. The coordinates of the shape are transformed by the  current  transformation
       matrix and are drawn with the current light model and drawing style.

       Subclasses  that  construct polygons from vertices may not render or pick correctly if any
       of their polygons are self-intersecting or non-planar.

       All vertex shape subclasses use the bounding box of the shape to determine default texture
       coordinates.  The longest dimension of the bounding box defines the S coordinates, and the
       next longest defines the T coordinates. The value of the S coordinate ranges from 0 to  1,
       from  one  end of the bounding box to the other. The T coordinate ranges between 0 and the
       ratio of the second greatest dimension of the bounding box to the greatest dimension.

       When a vertex-based shape is picked with an SoRayPickAction, a detail is always  returned.
       If  the  shape  is  composed  of  faces  (such  as  SoFaceSet  or  SoTriangleStripSet), an
       SoFaceDetail is returned.  If the shape is composed of line segments (such as  SoLineSet),
       an  SoLineDetail  is returned. If the shape is composed of points (such as SoPointSet), an
       SoPointDetail is returned. Note that the type of detail returned is not  affected  by  the
       current drawing style.

       Similarly,  each  class  of  vertex-based  shape  invokes  appropriate  callbacks if those
       callbacks are registered with the SoCallbackAction. Shapes made of faces  invoke  triangle
       callbacks  for  each  generated  triangle.   (Faces  may  be  triangulated to create these
       triangles.) Shapes made of line segments invoke line segment callbacks for  each  segment,
       and shapes made of points invoke point callbacks.

       The  subclass  SoIndexedShape  is a base class for vertex-based shapes that index into the
       current set of coordinates. The subclass SoNonIndexedShape is a  base  class  for  vertex-
       based shapes that use the current coordinates in order.

FIELDS

     SoSFNode            vertexProperty
          vertex property node.

METHODS

     static SoType       getClassTypeId()
          Returns type identifier for this class.

FILE FORMAT/DEFAULTS

       This  is  an  abstract class. See the reference page of a derived class for the format and
       default values.

SEE ALSO

       SoIndexedShape, SoNonIndexedShape, SoVertexProperty

                                                                             SoVertexShape(3IV)()