Class Cone
If the GENERATE_TEXTURE_COORDS flag is set, the texture coordinates are generated such that the texture gets mapped onto the cone similarly to how it gets mapped onto a cylinder, the difference being the top cap is nonexistent.
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.
-
Field Summary
FieldsModifier and TypeFieldDescriptionstatic final int
Designates the body of the cone.static final int
Designates the end-cap of the cone.Fields inherited from class com.sun.j3d.utils.geometry.Primitive
ENABLE_APPEARANCE_MODIFY, ENABLE_GEOMETRY_PICKING, GENERATE_NORMALS, GENERATE_NORMALS_INWARD, GENERATE_TEXTURE_COORDS, GENERATE_TEXTURE_COORDS_Y_UP, GEOMETRY_NOT_SHARED
Fields inherited from class javax.media.j3d.Group
ALLOW_CHILDREN_EXTEND, ALLOW_CHILDREN_READ, ALLOW_CHILDREN_WRITE, ALLOW_COLLISION_BOUNDS_READ, ALLOW_COLLISION_BOUNDS_WRITE
Fields inherited from class javax.media.j3d.Node
ALLOW_AUTO_COMPUTE_BOUNDS_READ, ALLOW_AUTO_COMPUTE_BOUNDS_WRITE, ALLOW_BOUNDS_READ, ALLOW_BOUNDS_WRITE, ALLOW_COLLIDABLE_READ, ALLOW_COLLIDABLE_WRITE, ALLOW_LOCAL_TO_VWORLD_READ, ALLOW_LOCALE_READ, ALLOW_PARENT_READ, ALLOW_PICKABLE_READ, ALLOW_PICKABLE_WRITE, ENABLE_COLLISION_REPORTING, ENABLE_PICK_REPORTING
-
Constructor Summary
ConstructorsConstructorDescriptionCone()
Constructs a default Cone of radius of 1.0 and height of 2.0.Cone
(float radius, float height) Constructs a default Cone of a given radius and height.Cone
(float radius, float height, int primflags, int xdivision, int ydivision, Appearance ap) Constructs a customized Cone of a given radius, height, flags, resolution (X and Y dimensions), and appearance.Cone
(float radius, float height, int primflags, Appearance ap) Constructs a default cone of a given radius, height, primitive flags, and appearance.Cone
(float radius, float height, Appearance ap) Constructs a default cone of a given radius, height, and appearance. -
Method Summary
Modifier and TypeMethodDescriptioncloneNode
(boolean forceDuplicate) Used to create a new instance of the node.void
duplicateNode
(Node originalNode, boolean forceDuplicate) Copies all node information fromoriginalNode
into the current node.getAppearance
(int partId) Gets the appearance of the specified part of the cone.float
Returns the height of the conefloat
Returns the radius of the conegetShape
(int partId) Obtains the Shape3D node associated with one of the parts of the cone (the body or the cap).int
Returns the number divisions along the X directionint
Returns the number of divisions along the height of the conevoid
Sets appearance of the cone.Methods inherited from class com.sun.j3d.utils.geometry.Primitive
cacheGeometry, clearGeometryCache, getAppearance, getCachedGeometry, getNumTriangles, getNumVertices, getPrimitiveFlags, setAppearance, setAppearance, setNumTriangles, setNumVertices, setPrimitiveFlags
Methods inherited from class javax.media.j3d.Group
addChild, getAllChildren, getAlternateCollisionTarget, getChild, getCollisionBounds, indexOfChild, insertChild, moveTo, numChildren, removeAllChildren, removeChild, removeChild, setAlternateCollisionTarget, setChild, setCollisionBounds
Methods inherited from class javax.media.j3d.Node
cloneTree, cloneTree, cloneTree, cloneTree, cloneTree, cloneTree, getBounds, getBoundsAutoCompute, getCollidable, getLocale, getLocalToVworld, getLocalToVworld, getParent, getPickable, setBounds, setBoundsAutoCompute, setCollidable, setPickable
Methods inherited from class javax.media.j3d.SceneGraphObject
clearCapability, clearCapabilityIsFrequent, duplicateSceneGraphObject, getCapability, getCapabilityIsFrequent, getName, getUserData, isCompiled, isLive, setCapability, setCapabilityIsFrequent, setName, setUserData, toString, updateNodeReferences
-
Field Details
-
BODY
public static final int BODYDesignates the body of the cone. Used bygetShape
.- See Also:
-
CAP
public static final int CAPDesignates the end-cap of the cone. Used bygetShape
.- See Also:
-
-
Constructor Details
-
Cone
public Cone()Constructs a default Cone of radius of 1.0 and height of 2.0. Resolution defaults to 15 divisions along X and axis and 1 along the Y axis. Normals are generated, texture coordinates are not. -
Cone
public Cone(float radius, float height) Constructs a default Cone of a given radius and height. Normals are generated, texture coordinates are not.- Parameters:
radius
- Radiusheight
- Height
-
Cone
Constructs a default cone of a given radius, height, and appearance. Normals are generated, texture coordinates are not.- Parameters:
radius
- Radiusheight
- Heightap
- Appearance- Since:
- Java 3D 1.2.1
-
Cone
Constructs a default cone of a given radius, height, primitive flags, and appearance.- Parameters:
radius
- Radiusheight
- Heightprimflags
- Primitive flagsap
- Appearance
-
Cone
Constructs a customized Cone of a given radius, height, flags, 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 finer tesselated objects.If appearance is null, the default white appearance will be used.
- Parameters:
radius
- Radiusheight
- Heightxdivision
- Number of divisions along X direction.ydivision
- Number of divisions along the height of cone.primflags
- flagsap
- Appearance
-
-
Method Details
-
getShape
Obtains the Shape3D node associated with one of the parts of the cone (the body or the cap). This allows users to modify the appearance or geometry of individual parts. -
setAppearance
Sets appearance of the cone. This will set each part of the cone (cap & 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).- Specified by:
setAppearance
in classPrimitive
-
getAppearance
Gets the appearance of the specified part of the cone.- Specified by:
getAppearance
in classPrimitive
- Parameters:
partId
- identifier for a given subpart of the cone- Returns:
- The appearance object associated with the partID. If an invalid partId is passed in, null is returned.
- Since:
- Java 3D 1.2.1
-
cloneNode
Used to create a new instance of the node. This routine is called bycloneTree
to duplicate the current node.cloneNode
should be overridden by any user subclassed objects. All subclasses must have theircloneNode
method consist of the following lines:public Node cloneNode(boolean forceDuplicate) { UserSubClass usc = new UserSubClass(); usc.duplicateNode(this, forceDuplicate); return usc; }
-
duplicateNode
Copies all node information fromoriginalNode
into the current node. This method is called from thecloneNode
method which is, in turn, called by thecloneTree
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 theforceDuplicate
parameter in thecloneTree
method totrue
.- Overrides:
duplicateNode
in classNode
- Parameters:
originalNode
- the original node to duplicate.forceDuplicate
- when set totrue
, causes theduplicateOnCloneTree
flag to be ignored. Whenfalse
, the value of each node'sduplicateOnCloneTree
variable determines whether NodeComponent data is duplicated or copied.- See Also:
-
getRadius
public float getRadius()Returns the radius of the cone- Since:
- Java 3D 1.2.1
-
getHeight
public float getHeight()Returns the height of the cone- Since:
- Java 3D 1.2.1
-
getXdivisions
public int getXdivisions()Returns the number divisions along the X direction- Since:
- Java 3D 1.2.1
-
getYdivisions
public int getYdivisions()Returns the number of divisions along the height of the cone- Since:
- Java 3D 1.2.1
-