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


       SoCone — cone shape node


       SoBase > SoFieldContainer > SoNode > SoShape > SoCone


       #include <Inventor/nodes/SoCone.h>

     enum Part {
          SoCone::SIDES       The conical part
          SoCone::BOTTOM      The bottom circular face
          SoCone::ALL         All parts

          Fields from class SoCone:

     SoSFBitMask         parts
     SoSFFloat           bottomRadius
     SoSFFloat           height

          Methods from class SoCone:

     void                addPart(SoCone::Part part)
     void                removePart(SoCone::Part part)
     SbBool              hasPart(SoCone::Part part) const
     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 =
     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


       This node represents a simple cone whose central axis  is  aligned  with  the  y-axis.  By
       default,  the  cone  is  centered  at  (0,0,0)  and  has  a  size of -1 to +1 in all three
       directions. The cone has a radius of 1 at the bottom and a height of 2, with its  apex  at
       1. The cone has two parts: the sides and the bottom.

       The  cone  is  transformed  by the current cumulative transformation and is drawn with the
       current lighting model, drawing style, material, and geometric complexity.

       If the current material  binding  is  PER_PART  or  PER_PART_INDEXED,  the  first  current
       material  is  used  for  the  sides  of  the  cone, and the second is used for the bottom.
       Otherwise, the first material is used for the entire cone.

       When a texture is applied to a cone, it is applied differently to the sides and bottom. On
       the  sides,  the  texture  wraps counterclockwise (from above) starting at the back of the
       cone. The texture has a vertical seam at the back,  intersecting  the  yz-plane.  For  the
       bottom,  a  circle is cut out of the texture square and applied to the cone's base circle.
       The texture appears right side up when the top of the cone is tilted away from the camera.


     SoSFBitMask         parts
          Visible parts of cone.

     SoSFFloat           bottomRadius
     SoSFFloat           height
          These define the cone's height and the radius  of  the  base  circle;  values  must  be
          greater than 0.0.


          Creates a cone node with default settings.

     void                addPart(SoCone::Part part)
     void                removePart(SoCone::Part part)
          These are convenience functions that make it easy to turn on or off a part of the cone.

     SbBool              hasPart(SoCone::Part part) const
          This convenience function returns whether a given part is on or off.

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


          Draws cone based on the current coordinates, materials, drawing style, and so on.

          Intersects  the  ray  with  the cone. The part of the cone that was picked is available
          from the SoConeDetail.

          Computes the bounding box that encloses the cone.

          If any triangle callbacks are registered with the action, they will be invoked for each
          successive triangle that approximates the cone.


       Cone {
          parts         ALL
          bottomRadius  1
          height        2


       SoConeDetail, SoCube, SoCylinder, SoSphere