public class Sphere extends Primitive
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.
Modifier and Type | Field and Description |
---|---|
static int |
BODY
Sphere shape identifier, used by
getShape . |
ENABLE_APPEARANCE_MODIFY, ENABLE_GEOMETRY_PICKING, GENERATE_NORMALS, GENERATE_NORMALS_INWARD, GENERATE_TEXTURE_COORDS, GENERATE_TEXTURE_COORDS_Y_UP, GEOMETRY_NOT_SHARED
ALLOW_CHILDREN_EXTEND, ALLOW_CHILDREN_READ, ALLOW_CHILDREN_WRITE, ALLOW_COLLISION_BOUNDS_READ, ALLOW_COLLISION_BOUNDS_WRITE
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 and Description |
---|
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.
|
Modifier and Type | Method and Description |
---|---|
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. |
Appearance |
getAppearance(int partId)
Gets the appearance of the specified part of the sphere.
|
int |
getDivisions()
Returns the number of divisions
|
float |
getRadius()
Returns the radius of the sphere
|
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.
|
cacheGeometry, clearGeometryCache, getAppearance, getCachedGeometry, getNumTriangles, getNumVertices, getPrimitiveFlags, setAppearance, setAppearance, setNumTriangles, setNumVertices, setPrimitiveFlags
addChild, getAllChildren, getAlternateCollisionTarget, getChild, getCollisionBounds, indexOfChild, insertChild, moveTo, numChildren, removeAllChildren, removeChild, removeChild, setAlternateCollisionTarget, setChild, setCollisionBounds
cloneTree, cloneTree, cloneTree, cloneTree, cloneTree, cloneTree, getBounds, getBoundsAutoCompute, getCollidable, getLocale, getLocalToVworld, getLocalToVworld, getParent, getPickable, setBounds, setBoundsAutoCompute, setCollidable, setPickable
clearCapability, clearCapabilityIsFrequent, duplicateSceneGraphObject, getCapability, getCapabilityIsFrequent, getName, getUserData, isCompiled, isLive, setCapability, setCapabilityIsFrequent, setName, setUserData, toString, updateNodeReferences
public static final int BODY
getShape
.getShape(int)
,
Constant Field Valuespublic Sphere(float radius)
radius
- Radiuspublic Sphere()
public Sphere(float radius, Appearance ap)
radius
- Radiusap
- Appearancepublic Sphere(float radius, int primflags, Appearance ap)
radius
- Radiusprimflags
- ap
- appearancepublic Sphere(float radius, int primflags, int divisions)
radius
- Radiusdivisions
- Divisionsprimflags
- Primflagspublic Sphere(float radius, int primflags, int divisions, Appearance ap)
If the appearance is null, the sphere defaults to a white appearance.
public Shape3D getShape(int partId)
public Shape3D getShape()
public void setAppearance(Appearance ap)
setAppearance
in class Primitive
public Appearance getAppearance(int partId)
getAppearance
in class Primitive
partId
- identifier for a given subpart of the spherepublic Node cloneNode(boolean forceDuplicate)
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; }
cloneNode
in class Group
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.Node.cloneTree()
,
Node.duplicateNode(org.scijava.java3d.Node, boolean)
,
NodeComponent.setDuplicateOnCloneTree(boolean)
public void duplicateNode(Node originalNode, boolean forceDuplicate)
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
.
duplicateNode
in class Node
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.Node.cloneTree()
,
Node.cloneNode(boolean)
,
NodeComponent.setDuplicateOnCloneTree(boolean)
public float getRadius()
public int getDivisions()
Copyright © 2016–2022 SciJava. All rights reserved.