193 static int maxCoords;
203 int curParts, numSides, numSections;
213 int &numSides,
int &numSections,
217 void getSize(
float &rad,
float &hHeight)
const;
221 bool sendNormals,
bool doTextures);
225 bool sendNormals,
bool doTextures);
#define SoEXTENDER
Provide inline template functions for abs, swap, min, max, and clamp.
#define INVENTOR_API
Disable some annoying warnings on MSVC 6.
#define SO_NODE_HEADER(className)
Non-abstract classes have everything abstract classes have, plus a way to create an instance.
Abstract base class for all actions.
void addPart(SoCylinder::Part part)
Turns on/off a part of the cylinder. (Convenience functions)
bool hasPart(SoCylinder::Part part) const
Returns whether a given part is on or off. (Convenience function)
virtual void computeBBox(SoAction *action, SbBox3f &box, SbVec3f ¢er)
Computes bounding box of cylinder.
SoSFInt32 sides
Defines how many sides are used for tesselation.
SoSFBitMask parts
Visible parts of cylinder.
virtual void rayPick(SoRayPickAction *action)
Implements picking along a ray by intersecting the ray with each primitive generated by subclass.
SoSFFloat height
Size in y dimension.
SoSFInt32 sections
Defines how many sections are used for tesselation.
void removePart(SoCylinder::Part part)
SoCylinder()
Creates a cylinder node with default settings.
virtual void GLRender(SoGLRenderAction *action)
Implements actions.
SoSFFloat radius
Radius in x and z dimensions.
virtual void generatePrimitives(SoAction *action)
Generates triangles representing a cylinder.
Renders a scene graph using OpenGL.
Intersects objects with a ray cast into scene.
Single-value field containing a set of bit flags.
Field containing a floating-point value.
Field containing a int32_t integer.
Abstract base class for all shape nodes.
Helper struct used by primitive types like cube, sphere, ...