#include <archon/x3d/server/geometry.H>
Inheritance diagram for Archon::X3D::Cylinder:
Public Member Functions | |
const NodeType * | getType () const |
Cylinder (BackRef< ExecutionContext > c) | |
double | getHeight () const |
double | getRadius () const |
bool | getSide () const |
bool | getTop () const |
bool | getBottom () const |
int | intersect (const Math::Ray3 &, double &dist) const |
void | getNormalAndTexCoord (Vector3 hitPoint, int where, const Shape *, Vector3 *hitNormal, Vector2 *hitTexCoord) const |
void | render (bool texture, const Shape *shape, const RenderConfig *) |
Static Public Member Functions | |
static Ref< NodeBase > | instantiate (BackRef< ExecutionContext > c) |
Static Public Attributes | |
static const NodeType * | type = 0 |
Friends | |
void | initializeGeometryComponent () |
The Cylinder node specifies a capped cylinder centred at the origin of the local coordinate system and with a central axis oriented along the local Y-axis. The radius field specifies the radius of the cylinder and the height field specifies the height of the cylinder along the central axis. The default height is 2 and the default radius is 1.
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 X=0 plane. For the top and bottom caps, a circle is cut out of the unit texture squares centred at (0, +/- height/2, 0) with dimensions 2 x radius by 2 x radius. The top texture appears right side up when the top of the cylinder is tilted toward the +Z-axis, and the bottom texture appears right side up when the top of the cylinder is tilted toward the -Z-axis.
Definition at line 314 of file geometry.H.
|
Implements Archon::X3D::GeometryNode. Definition at line 474 of file geometry.C. References Archon::Math::intersectCylinder(). |