SoCylinder(3IV)

SoCylinder - cylinder shape node

As shipped in IRIX 6.5.22. Added in IRIX 6.5.22.

NAME
     SoCylinder - cylinder shape node

INHERITS FROM
     SoBase > SoFieldContainer > SoNode > SoShape > SoCylinder

SYNOPSIS
     #include <Inventor/nodes/SoCylinder.h>

     enum Part {
          SoCylinder::SIDES   The cylindrical part
          SoCylinder::TOP     The top circular face
          SoCylinder::BOTTOM  The bottom circular face
          SoCylinder::ALL     All parts
     }

          Fields from class SoCylinder:

     SoSFBitMask         parts
     SoSFFloat           radius
     SoSFFloat           height

          Methods from class SoCylinder:

                         SoCylinder()
     void                addPart(SoCylinder::Part part)
     void                removePart(SoCylinder::Part part)
     SbBool              hasPart(SoCylinder::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 = 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 represents a simple capped cylinder centered around the y-axis.
     By default, the cylinder is centered at (0,0,0) and has a default size of
     -1 to +1 in all three dimensions. You can use the radius and height
     fields to create a cylinder with a different size.

     The cylinder 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 cylinder, the second
     is used for the top, and the third is used for the bottom. Otherwise, the
     first material is used for the entire cylinder.

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

FIELDS
     SoSFBitMask         parts
          Visible parts of cylinder.

     SoSFFloat           radius
     SoSFFloat           height
          Define the cylinder's height and radius; values must be greater than
          0.0.

METHODS
                         SoCylinder()
          Creates a cylinder node with default settings.

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

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

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


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

     SoRayPickAction
          Intersects the ray with the cylinder. The part of the cylinder that
          was picked is available from the SoCylinderDetail.

     SoGetBoundingBoxAction
          Computes the bounding box that encloses the cylinder.

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


FILE FORMAT/DEFAULTS
     Cylinder {
          parts   ALL
          radius  1
          height  2
     }

SEE ALSO
     SoCone, SoCube, SoCylinderDetail, SoSphere