| java.lang.Object javax.media.j3d.SceneGraphObject javax.media.j3d.Node javax.media.j3d.Group com.sun.j3d.utils.geometry.Primitive com.sun.j3d.utils.geometry.Cylinder
Cylinder | public class Cylinder extends Primitive (Code) | | Cylinder is a geometry primitive defined with a radius and a height.
It is a capped cylinder centered at the origin with its central axis
aligned along the Y-axis.
When a texture is applied to a cylinder, the texture is applied to the
caps and the body different. A texture is mapped CCW from the back of the
body. The top and bottom caps are mapped such that the texture appears
front facing when the caps are rotated 90 degrees toward the viewer.
By default all primitives with the same parameters share their
geometry (e.g., you can have 50 shperes in your scene, but the
geometry is stored only once). A change to one primitive will
effect all shared nodes. Another implication of this
implementation is that the capabilities of the geometry are shared,
and once one of the shared nodes is live, the capabilities cannot
be set. Use the GEOMETRY_NOT_SHARED flag if you do not wish to
share geometry among primitives with the same parameters.
|
Constructor Summary | |
public | Cylinder() Constructs a default cylinder of radius of 1.0 and height
of 2.0. | public | Cylinder(float radius, float height) Constructs a default cylinder of a given radius and height. | public | Cylinder(float radius, float height, Appearance ap) Constructs a default cylinder of a given radius, height, and
appearance. | public | Cylinder(float radius, float height, int primflags, Appearance ap) Constructs a default cylinder of a given radius, height,
primitive flags and appearance. | public | Cylinder(float radius, float height, int primflags, int xdivision, int ydivision, Appearance ap) Constructs a customized cylinder of a given radius, height,
resolution (X and Y dimensions), and appearance. |
Method Summary | |
public Node | cloneNode(boolean forceDuplicate) Used to create a new instance of the node. | public void | duplicateNode(Node originalNode, boolean forceDuplicate) Copies all node information from originalNode into
the current node. | public Appearance | getAppearance(int partId) Gets the appearance of the specified part of the cylinder.
Parameters: partId - identifier for a given subpart of the cylinder The appearance object associated with the partID. | public float | getHeight() | public float | getRadius() | public Shape3D | getShape(int partId) Obtains the Shape3D node associated with a given part of the cylinder.
This allows users to modify the appearance or geometry
of individual parts. | public int | getXdivisions() | public int | getYdivisions() | public void | setAppearance(Appearance ap) Sets appearance of the cylinder. |
BODY | final public static int BODY(Code) | | Designates the body of the cylinder. Used by getShape .
See Also: Cylinder.getShape |
BOTTOM | final public static int BOTTOM(Code) | | Designates the bottom end-cap of the cylinder.
Used by getShape .
See Also: Cylinder.getShape |
MID_REZ_DIV_X | final static int MID_REZ_DIV_X(Code) | | |
MID_REZ_DIV_Y | final static int MID_REZ_DIV_Y(Code) | | |
TOP | final public static int TOP(Code) | | Designates the top end-cap of the cylinder.
Used by getShape .
See Also: Cylinder.getShape |
radiusheight | float radiusheight(Code) | | |
xdivisionsydivisions | int xdivisionsydivisions(Code) | | |
Cylinder | public Cylinder()(Code) | | Constructs a default cylinder of radius of 1.0 and height
of 2.0. Normals are generated by default, texture
coordinates are not. Resolution defaults to 15 divisions
along X axis and 1 along the Y axis.
|
Cylinder | public Cylinder(float radius, float height)(Code) | | Constructs a default cylinder of a given radius and height.
Normals are generated by default, texture coordinates are not.
Parameters: radius - Radius Parameters: height - Height |
Cylinder | public Cylinder(float radius, float height, Appearance ap)(Code) | | Constructs a default cylinder of a given radius, height, and
appearance. Normals are generated by default, texture
coordinates are not.
Parameters: radius - Radius Parameters: height - Height Parameters: ap - Appearance |
Cylinder | public Cylinder(float radius, float height, int primflags, Appearance ap)(Code) | | Constructs a default cylinder of a given radius, height,
primitive flags and appearance.
Parameters: radius - Radius Parameters: height - Height Parameters: primflags - Flags Parameters: ap - Appearance |
Cylinder | public Cylinder(float radius, float height, int primflags, int xdivision, int ydivision, Appearance ap)(Code) | | Constructs a customized cylinder of a given radius, height,
resolution (X and Y dimensions), and appearance. The
resolution is defined in terms of number of subdivisions
along the object's X axis (width) and Y axis (height). More divisions
lead to more finely tesselated objects.
Parameters: radius - Radius Parameters: height - Height Parameters: xdivision - Number of divisions along X direction. Parameters: ydivision - Number of divisions along height of cylinder. Parameters: primflags - Primitive flags. Parameters: ap - Appearance |
cloneNode | public Node cloneNode(boolean forceDuplicate)(Code) | | Used to create a new instance of the node. This routine is called
by cloneTree to duplicate the current node.
cloneNode should be overridden by any user subclassed
objects. All subclasses must have their cloneNode
method consist of the following lines:
public Node cloneNode(boolean forceDuplicate) {
UserSubClass usc = new UserSubClass();
usc.duplicateNode(this, forceDuplicate);
return usc;
}
Parameters: forceDuplicate - when set to true , causes theduplicateOnCloneTree flag to be ignored. Whenfalse , the value of each node'sduplicateOnCloneTree variable determines whetherNodeComponent data is duplicated or copied. See Also: Node.cloneTree See Also: Node.duplicateNode See Also: NodeComponent.setDuplicateOnCloneTree |
duplicateNode | public void duplicateNode(Node originalNode, boolean forceDuplicate)(Code) | | Copies all node information from originalNode into
the current node. This method is called from the
cloneNode method which is, in turn, called by the
cloneTree method.
For any NodeComponent objects
contained by the object being duplicated, each NodeComponent
object's duplicateOnCloneTree value is used to determine
whether the NodeComponent should be duplicated in the new node
or if just a reference to the current node should be placed in the
new node. This flag can be overridden by setting the
forceDuplicate parameter in the cloneTree
method to true .
Parameters: originalNode - the original node to duplicate. Parameters: forceDuplicate - when set to true , causes theduplicateOnCloneTree flag to be ignored. Whenfalse , the value of each node'sduplicateOnCloneTree variable determines whetherNodeComponent data is duplicated or copied. See Also: Node.cloneTree See Also: Node.cloneNode See Also: NodeComponent.setDuplicateOnCloneTree |
getAppearance | public Appearance getAppearance(int partId)(Code) | | Gets the appearance of the specified part of the cylinder.
Parameters: partId - identifier for a given subpart of the cylinder The appearance object associated with the partID. If aninvalid partId is passed in, null is returned. since: Java 3D 1.2.1 |
getHeight | public float getHeight()(Code) | | Returns the height of the cylinder
since: Java 3D 1.2.1 |
getRadius | public float getRadius()(Code) | | Returns the radius of the cylinder
since: Java 3D 1.2.1 |
getShape | public Shape3D getShape(int partId)(Code) | | Obtains the Shape3D node associated with a given part of the cylinder.
This allows users to modify the appearance or geometry
of individual parts.
Parameters: partId - The part to return (BODY, TOP, or BOTTOM). The Shape3D object associated with the partID. If aninvalid partId is passed in, null is returned. |
getXdivisions | public int getXdivisions()(Code) | | Returns the number divisions along the X direction
since: Java 3D 1.2.1 |
getYdivisions | public int getYdivisions()(Code) | | Returns the number of divisions along the height of the cylinder
since: Java 3D 1.2.1 |
setAppearance | public void setAppearance(Appearance ap)(Code) | | Sets appearance of the cylinder. This will set each part of the
cylinder (TOP,BOTTOM,BODY) to the same appearance. To set each
part's appearance separately, use getShape(partId) to get the
individual shape and call shape.setAppearance(ap).
|
Methods inherited from com.sun.j3d.utils.geometry.Primitive | protected void cacheGeometry(int kind, float a, float b, float c, int d, int e, int flags, GeomBuffer geo)(Code)(Java Doc) public static void clearGeometryCache()(Code)(Java Doc) public Appearance getAppearance()(Code)(Java Doc) abstract public Appearance getAppearance(int partId)(Code)(Java Doc) protected GeomBuffer getCachedGeometry(int kind, float a, float b, float c, int d, int e, int flags)(Code)(Java Doc) public int getNumTriangles()(Code)(Java Doc) public int getNumVertices()(Code)(Java Doc) public int getPrimitiveFlags()(Code)(Java Doc) abstract public Shape3D getShape(int partid)(Code)(Java Doc) public void setAppearance(int partid, Appearance ap)(Code)(Java Doc) abstract public void setAppearance(Appearance ap)(Code)(Java Doc) public void setAppearance()(Code)(Java Doc) public void setNumTriangles(int num)(Code)(Java Doc) public void setNumVertices(int num)(Code)(Java Doc) public void setPrimitiveFlags(int fl)(Code)(Java Doc) String strfloat(float x)(Code)(Java Doc)
|
|
|