logo
Free, unlimited AI code reviews that run on commit
git-lrc git-lrc GitHub Install Now We'd appreciate a star git-lrc - Free, unlimited AI code reviews that run on commit | Product Hunt git-lrc - Free, unlimited AI code reviews that run on commit | Product Hunt

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

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

SoSFNodevertexProperty
          vertex property node.

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 > SoShape > SoVertexShape

Methods

staticSoTypegetClassTypeId()
          Returns type identifier for this class.

Name

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

See Also

SoIndexedShape,SoNonIndexedShape,SoVertexPropertySoVertexShape(3IV)()

Synopsis

#include<Inventor/nodes/SoVertexShape.h>

          Fields from class SoVertexShape:

     SoSFNodevertexProperty

          Methods from class SoVertexShape:

     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

See Also