SoCone(3IV)

SoCone (SoCone) - cone shape node

As shipped in IRIX 6.5.22. Added in IRIX 6.5.22.

NAME
     SoCone (SoCone) - cone shape node

INHERITS FROM
     SoBase > SoFieldContainer > SoNode > SoShape > SoCone

SYNOPSIS
     #include <Inventor_c/nodes/SoCone.h>

     enum SoConePart {
          SO_CONE_SIDES       The conical part
          SO_CONE_BOTTOM      The bottom circular face
          SO_CONE_ALL         All parts
     }

          Fields from class SoCone:

     SoSFBitMask         parts
     SoSFFloat           bottomRadius
     SoSFFloat           height

          Functions from class SoCone:

     SoCone *            SoConeCreate()
     void                SoConeAddPart(SoCone *this, SoConePart part)
     void                SoConeRemovePart(SoCone *this, SoConePart part)
     SbBool              SoConeHasPart(const SoCone *this, SoConePart part)
     SoType              SoConeGetClassTypeId()

          Functions from class SoNode:

     void                SoConeSetOverride(SoCone *this, SbBool state)
     SbBool              SoConeIsOverride(const SoCone *this)
     SoNode *            SoConeCopy(const SoCone *this, SbBool copyConnections
                              = FALSE)
     SbBool              SoConeAffectsState(const SoCone *this)
     SoNode *            SoConeGetByName(const char *name)
     int                 SoConeGetByNameList(const char *name, SoNodeList
                              *list)

          Functions from class SoFieldContainer:

     void                SoConeSetToDflts(SoCone *this)
     SbBool              SoConeHasDfltVals(const SoCone *this)
     SbBool              SoConeFldsAreEq(const SoCone *this, const
                              SoFieldContainer *fc)
     void                SoConeCopyFieldVals(SoCone *this, const
                              SoFieldContainer *fc, SbBool copyConnections =
                              FALSE)
     SbBool              SoConeSet(SoCone *this, const char *fieldDataString)
     void                SoConeGet(SoCone *this, SbString *fieldDataString)

     int                 SoConeGetFields(const SoCone *this, SoFieldList
                              *resultList)
     SoField *           SoConeGetField(const SoCone *this, const char
                              *fieldName)
     SbBool              SoConeGetFieldName(const SoCone *this, const SoField
                              *field, SbName *fieldName)
     SbBool              SoConeIsNotifyEnabled(const SoCone *this)
     SbBool              SoConeEnableNotify(SoCone *this, SbBool flag)

          Functions from class SoBase:

     void                SoConeRef(SoCone *this)
     void                SoConeUnref(const SoCone *this)
     void                SoConeUnrefNoDelete(const SoCone *this)
     void                SoConeTouch(SoCone *this)
     SoType              SoConeGetTypeId(const SoCone *this)
     SbBool              SoConeIsOfType(const SoCone *this, SoType type)
     void                SoConeSetName(SoCone *this, const char *name)
     SbName              SoConeGetName(const SoCone *this)


DESCRIPTION
     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.

FIELDS
     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.


FUNCTIONS
     SoCone *            SoConeCreate()
          Creates a cone node with default settings.

     void                SoConeAddPart(SoCone *this, SoConePart part)
     void                SoConeRemovePart(SoCone *this, SoConePart part)
          These are convenience functions that make it easy to turn on or off
          a part of the cone.

     SbBool              SoConeHasPart(const SoCone *this, SoConePart part)
          This convenience function returns whether a given part is on or off.

     SoType              SoConeGetClassTypeId()
          Returns type identifier for this class.


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

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

     SoGetBoundingBoxAction
          Computes the bounding box that encloses the cone.

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


FILE FORMAT/DEFAULTS
     Cone {
          parts         ALL
          bottomRadius  1
          height        2
     }

SEE ALSO
     SoConeDetail, SoCube, SoCylinder, SoSphere