Class Sphere
When a texture is applied to a Sphere, it is mapped CCW from the back of the sphere.
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
Sphere shape identifier, used bygetShape
.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
ConstructorsConstructorDescriptionSphere()
Constructs a default Sphere of radius of 1.0.Sphere
(float radius) Constructs a Sphere of a given radius.Sphere
(float radius, int primflags, int divisions) Constructs a Sphere of a given radius and number of divisions with additional parameters specified by the Primitive flags.Sphere
(float radius, int primflags, int divisions, Appearance ap) Constructs a customized Sphere of a given radius, number of divisions, and appearance, with additional parameters specified by the Primitive flags.Sphere
(float radius, int primflags, Appearance ap) Constructs a Sphere of a given radius and appearance with additional parameters specified by the Primitive flags.Sphere
(float radius, Appearance ap) Constructs a Sphere of a given radius 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 sphere.int
Returns the number of divisionsfloat
Returns the radius of the spheregetShape()
Obtains Sphere's shape node that contains the geometry.getShape
(int partId) Obtains Sphere's shape node that contains the geometry.void
Sets appearance of the Sphere.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 BODYSphere shape identifier, used bygetShape
.- See Also:
-
-
Constructor Details
-
Sphere
public Sphere(float radius) Constructs a Sphere of a given radius. Normals are generated by default, texture coordinates are not. The resolution defaults to 15 divisions along sphere's axes. Appearance defaults to white.- Parameters:
radius
- Radius
-
Sphere
public Sphere()Constructs a default Sphere of radius of 1.0. Normals are generated by default, texture coordinates are not. Resolution defaults to 15 divisions. Appearance defaults to white. -
Sphere
Constructs a Sphere of a given radius and appearance. Normals are generated by default, texture coordinates are not.- Parameters:
radius
- Radiusap
- Appearance
-
Sphere
Constructs a Sphere of a given radius and appearance with additional parameters specified by the Primitive flags.- Parameters:
radius
- Radiusprimflags
-ap
- appearance
-
Sphere
public Sphere(float radius, int primflags, int divisions) Constructs a Sphere of a given radius and number of divisions with additional parameters specified by the Primitive flags. Appearance defaults to white.- Parameters:
radius
- Radiusdivisions
- Divisionsprimflags
- Primflags
-
Sphere
Constructs a customized Sphere of a given radius, number of divisions, and appearance, with additional parameters specified by the Primitive flags. The resolution is defined in terms of number of subdivisions along the sphere's axes. More divisions lead to more finely tesselated objects.If the appearance is null, the sphere defaults to a white appearance.
-
-
Method Details
-
getShape
Obtains Sphere's shape node that contains the geometry. This allows users to modify the appearance or geometry. -
getShape
Obtains Sphere's shape node that contains the geometry. -
setAppearance
Sets appearance of the Sphere.- Specified by:
setAppearance
in classPrimitive
-
getAppearance
Gets the appearance of the specified part of the sphere.- Specified by:
getAppearance
in classPrimitive
- Parameters:
partId
- identifier for a given subpart of the sphere- 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 sphere- Since:
- Java 3D 1.2.1
-
getDivisions
public int getDivisions()Returns the number of divisions- Since:
- Java 3D 1.2.1
-