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.
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
Fields Modifier and Type Field Description static intBODYSphere 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
Constructors Constructor Description Sphere()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
All Methods Instance Methods Concrete Methods Modifier and Type Method Description NodecloneNode(boolean forceDuplicate)Used to create a new instance of the node.voidduplicateNode(Node originalNode, boolean forceDuplicate)Copies all node information fromoriginalNodeinto the current node.AppearancegetAppearance(int partId)Gets the appearance of the specified part of the sphere.intgetDivisions()Returns the number of divisionsfloatgetRadius()Returns the radius of the sphereShape3DgetShape()Obtains Sphere's shape node that contains the geometry.Shape3DgetShape(int partId)Obtains Sphere's shape node that contains the geometry.voidsetAppearance(Appearance ap)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 Detail
-
BODY
public static final int BODY
Sphere shape identifier, used bygetShape.- See Also:
getShape(int), Constant Field Values
-
-
Constructor Detail
-
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
public Sphere(float radius, Appearance ap)Constructs a Sphere of a given radius and appearance. Normals are generated by default, texture coordinates are not.- Parameters:
radius- Radiusap- 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- 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
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.
-
-
Method Detail
-
getShape
public Shape3D getShape(int partId)
Obtains Sphere's shape node that contains the geometry. This allows users to modify the appearance or geometry.
-
getShape
public Shape3D getShape()
Obtains Sphere's shape node that contains the geometry.
-
setAppearance
public void setAppearance(Appearance ap)
Sets appearance of the Sphere.- Specified by:
setAppearancein classPrimitive
-
getAppearance
public Appearance getAppearance(int partId)
Gets the appearance of the specified part of the sphere.- Specified by:
getAppearancein 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
public Node cloneNode(boolean forceDuplicate)
Used to create a new instance of the node. This routine is called bycloneTreeto duplicate the current node.cloneNodeshould be overridden by any user subclassed objects. All subclasses must have theircloneNodemethod consist of the following lines:public Node cloneNode(boolean forceDuplicate) { UserSubClass usc = new UserSubClass(); usc.duplicateNode(this, forceDuplicate); return usc; }- Overrides:
cloneNodein classGroup- Parameters:
forceDuplicate- when set totrue, causes theduplicateOnCloneTreeflag to be ignored. Whenfalse, the value of each node'sduplicateOnCloneTreevariable 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 fromoriginalNodeinto the current node. This method is called from thecloneNodemethod which is, in turn, called by thecloneTreemethod.For any NodeComponent objects contained by the object being duplicated, each NodeComponent object's
duplicateOnCloneTreevalue 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 theforceDuplicateparameter in thecloneTreemethod totrue.- Overrides:
duplicateNodein classNode- Parameters:
originalNode- the original node to duplicate.forceDuplicate- when set totrue, causes theduplicateOnCloneTreeflag to be ignored. Whenfalse, the value of each node'sduplicateOnCloneTreevariable determines whether NodeComponent data is duplicated or copied.- See Also:
Node.cloneTree(),Node.cloneNode(boolean),NodeComponent.setDuplicateOnCloneTree(boolean)
-
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
-
-