com.sun.j3d.utils.geometry
Class Sphere
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.Sphere
- public class Sphere
- extends Primitive
Sphere is a geometry primitive created with a given radius and resolution.
It is centered at the origin.
When a texture is applied to a Sphere, it is mapped CCW from the back
of the sphere.
Field Summary |
static int |
BODY
Sphere shape identifier, used by getShape . |
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_PICKABLE_READ,
ALLOW_PICKABLE_WRITE,
ENABLE_COLLISION_REPORTING,
ENABLE_PICK_REPORTING |
Constructor Summary |
Sphere()
Constructs a default Sphere of radius of 1.0. |
Sphere(float radius)
Constructs a Sphere of a given radius. |
Sphere(float radius,
Appearance ap)
Constructs a Sphere of a given radius and appearance. |
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,
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. |
Method Summary |
Node |
cloneNode(boolean forceDuplicate)
Used to create a new instance of the node. |
void |
duplicateNode(Node originalNode,
boolean forceDuplicate)
Copies all node information from originalNode into
the current node. |
Shape3D |
getShape()
Obtains Sphere's shape node that contains the geometry. |
Shape3D |
getShape(int partId)
Obtains Sphere's shape node that contains the geometry. |
void |
setAppearance(Appearance ap)
Sets appearance of the Sphere. |
Methods inherited from class com.sun.j3d.utils.geometry.Primitive |
cacheGeometry,
getAppearance,
getCachedGeometry,
getNumTriangles,
getNumVertices,
getPrimitiveFlags,
setAppearance,
setAppearance,
setNumTriangles,
setNumVertices,
setPrimitiveFlags |
Methods inherited from class javax.media.j3d.Group |
addChild,
getAllChildren,
getAlternateCollisionTarget,
getChild,
getCollisionBounds,
insertChild,
moveTo,
numChildren,
removeChild,
setAlternateCollisionTarget,
setChild,
setCollisionBounds |
Methods inherited from class javax.media.j3d.Node |
cloneTree,
cloneTree,
cloneTree,
cloneTree,
cloneTree,
cloneTree,
getBounds,
getBoundsAutoCompute,
getCollidable,
getLocalToVworld,
getLocalToVworld,
getParent,
getPickable,
setBounds,
setBoundsAutoCompute,
setCollidable,
setPickable |
Methods inherited from class java.lang.Object |
clone,
equals,
finalize,
getClass,
hashCode,
notify,
notifyAll,
toString,
wait,
wait,
wait |
BODY
public static final int BODY
- Sphere shape identifier, used by
getShape
.
- See Also:
getShape(int)
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.
Resolution defaults to 15 divisions. Appearance defaults to white.
Sphere
public Sphere(float radius,
Appearance ap)
- Constructs a Sphere of a given radius and appearance.
- Parameters:
radius
- Radiusappearance
- Appearance
Sphere
public Sphere(float radius,
int primflags,
Appearance ap)
- Constructs a Sphere of a given radius and appearance with
additional parameters specified by the Primitive flags.
- Parameters:
radius
- Radiusflags
- 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
public 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. 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.
getShape
public Shape3D getShape(int partId)
- Obtains Sphere's shape node that contains the geometry.
This allows users to modify the appearance or geometry.
- Overrides:
- getShape in class Primitive
- Parameters:
partId
- The part to return (must be BODY for Spheres)- Returns:
- The Shape3D object associated with the partId. If an
invalid partId is passed in, null is returned.
getShape
public Shape3D getShape()
- Obtains Sphere's shape node that contains the geometry.
setAppearance
public void setAppearance(Appearance ap)
- Sets appearance of the Sphere.
- Overrides:
- setAppearance in class Primitive
cloneNode
public Node cloneNode(boolean forceDuplicate)
- 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;
}
- Overrides:
- cloneNode in class Group
- Parameters:
forceDuplicate
- when set to true
, causes the
duplicateOnCloneTree
flag to be ignored. When
false
, the value of each node's
duplicateOnCloneTree
variable determines whether
NodeComponent data is duplicated or copied.- See Also:
Node.cloneTree()
,
Node.duplicateNode(javax.media.j3d.Node, boolean)
,
NodeComponent.setDuplicateOnCloneTree(boolean)
duplicateNode
public void duplicateNode(Node originalNode,
boolean forceDuplicate)
- 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
.
- Overrides:
- duplicateNode in class Node
- Parameters:
originalNode
- the original node to duplicate.forceDuplicate
- when set to true
, causes the
duplicateOnCloneTree
flag to be ignored. When
false
, the value of each node's
duplicateOnCloneTree
variable determines whether
NodeComponent data is duplicated or copied.- See Also:
Node.cloneTree()
,
Node.cloneNode(boolean)
,
NodeComponent.setDuplicateOnCloneTree(boolean)