SoCylinder(3IV)NAMESoCylinder (SoCyl) - cylinder shape node
INHERITS FROM
SoBase > SoFieldContainer > SoNode > SoShape > SoCylinderSYNOPSIS
#include <Inventor_c/nodes/SoCylinder.h>
typedef SoCylinder SoCyl
enum SoCylinderPart {
SO_CYL_SIDES The cylindrical part
SO_CYL_TOP The top circular face
SO_CYL_BOTTOM The bottom circular face
SO_CYL_ALL All parts
}
Fields from class SoCylinder:
SoSFBitMask parts
SoSFFloat radius
SoSFFloat height
Functions from class SoCylinder:
SoCylinder * SoCylCreate()
void SoCylAddPart(SoCyl *this, SoCylPart part)
void SoCylRemovePart(SoCyl *this, SoCylPart part)
SbBool SoCylHasPart(const SoCyl *this, SoCylPart part)
SoType SoCylGetClassTypeId()
Functions from class SoNode:
void SoCylSetOverride(SoCyl *this, SbBool state)
SbBool SoCylIsOverride(const SoCyl *this)
SoNode * SoCylCopy(const SoCyl *this, SbBool copyConnections =
FALSE)
SbBool SoCylAffectsState(const SoCyl *this)
SoNode * SoCylGetByName(const char *name)
int SoCylGetByNameList(const char *name, SoNodeList
*list)
Functions from class SoFieldContainer:
void SoCylSetToDflts(SoCyl *this)
SbBool SoCylHasDfltVals(const SoCyl *this)
SbBool SoCylFldsAreEq(const SoCyl *this, const
SoFieldContainer *fc)
void SoCylCopyFieldVals(SoCyl *this, const
SoFieldContainer *fc, SbBool copyConnections =
FALSE)
Page 1SoCylinder(3IV)
SbBool SoCylSet(SoCyl *this, const char *fieldDataString)
void SoCylGet(SoCyl *this, SbString *fieldDataString)
int SoCylGetFields(const SoCyl *this, SoFieldList
*resultList)
SoField * SoCylGetField(const SoCyl *this, const char
*fieldName)
SbBool SoCylGetFieldName(const SoCyl *this, const SoField
*field, SbName *fieldName)
SbBool SoCylIsNotifyEnabled(const SoCyl *this)
SbBool SoCylEnableNotify(SoCyl *this, SbBool flag)
Functions from class SoBase:
void SoCylRef(SoCyl *this)
void SoCylUnref(const SoCyl *this)
void SoCylUnrefNoDelete(const SoCyl *this)
void SoCylTouch(SoCyl *this)
SoType SoCylGetTypeId(const SoCyl *this)
SbBool SoCylIsOfType(const SoCyl *this, SoType type)
void SoCylSetName(SoCyl *this, const char *name)
SbName SoCylGetName(const SoCyl *this)
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.
Page 2SoCylinder(3IV)
SoSFFloat radius
SoSFFloat height
Define the cylinder's height and radius; values must be greater than
0.0.
FUNCTIONSSoCylinder * SoCylCreate()
Creates a cylinder node with default settings.
void SoCylAddPart(SoCyl *this, SoCylPart part)
void SoCylRemovePart(SoCyl *this, SoCylPart part)
These are convenience functions that make it easy to turn on or off
a part of the cylinder.
SbBool SoCylHasPart(const SoCyl *this, SoCylPart part)
This convenience function returns whether a given part is on or off.
SoType SoCylGetClassTypeId()
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
Page 3