|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
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.Box
Box is a geometry primitive created with a given length, width, and height. It is centered at the origin. By default, it lies within the bounding box, [-1,-1,-1] and [1,1,1]. When a texture is applied to a box, it is map CCW like on a Cylinder. A texture is mapped CCW from the back of the body. The top and bottom faces are mapped such that the texture appears front facing when the faces are rotated 90 toward the viewer.
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 | |
static int |
BACK
Used to designate the back side of the box when using getShape(). |
static int |
BOTTOM
Used to designate the bottom side of the box when using getShape(). |
static int |
FRONT
Used to designate the front side of the box when using getShape(). |
static int |
LEFT
Used to designate the left side of the box when using getShape(). |
static int |
RIGHT
Used to designate the right side of the box when using getShape(). |
static int |
TOP
Used to designate the top side of the box when using getShape(). |
Fields inherited from class com.sun.j3d.utils.geometry.Primitive |
ENABLE_APPEARANCE_MODIFY, ENABLE_GEOMETRY_PICKING, GENERATE_NORMALS, GENERATE_NORMALS_INWARD, GENERATE_TEXTURE_COORDS, 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_PICKABLE_READ, ALLOW_PICKABLE_WRITE, ENABLE_COLLISION_REPORTING, ENABLE_PICK_REPORTING |
Constructor Summary | |
Box()
Constructs a default box of 1.0 in all dimensions. |
|
Box(float xdim,
float ydim,
float zdim,
Appearance ap)
Constructs a box of a given dimension and appearance. |
|
Box(float xdim,
float ydim,
float zdim,
int primflags,
Appearance ap)
|
|
Box(float xdim,
float ydim,
float zdim,
int primflags,
Appearance ap,
int numTexUnit)
Constructs a box of a given dimension, flags, and appearance. |
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. |
Appearance |
getAppearance(int partId)
Gets the appearance of the specified part of the box. |
Shape3D |
getShape(int partId)
Gets one of the faces (Shape3D) from the box that contains the geometry and appearance. |
float |
getXdimension()
Returns the X-dimension size of the Box |
float |
getYdimension()
Returns the Y-dimension size of the Box |
float |
getZdimension()
Returns the Z-dimension size of the Box |
void |
setAppearance(Appearance ap)
Sets appearance of the box. |
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, 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, getLocalToVworld, getLocalToVworld, getParent, getPickable, setBounds, setBoundsAutoCompute, setCollidable, setPickable |
Methods inherited from class javax.media.j3d.SceneGraphObject |
clearCapability, clearCapabilityIsFrequent, duplicateSceneGraphObject, getCapability, getCapabilityIsFrequent, getUserData, isCompiled, isLive, setCapability, setCapabilityIsFrequent, setUserData, updateNodeReferences |
Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Field Detail |
public static final int FRONT
getShape(int)
,
Constant Field Valuespublic static final int BACK
getShape(int)
,
Constant Field Valuespublic static final int RIGHT
getShape(int)
,
Constant Field Valuespublic static final int LEFT
getShape(int)
,
Constant Field Valuespublic static final int TOP
getShape(int)
,
Constant Field Valuespublic static final int BOTTOM
getShape(int)
,
Constant Field ValuesConstructor Detail |
public Box()
public Box(float xdim, float ydim, float zdim, Appearance ap)
xdim
- X-dimension size.ydim
- Y-dimension size.zdim
- Z-dimension size.ap
- Appearancepublic Box(float xdim, float ydim, float zdim, int primflags, Appearance ap, int numTexUnit)
xdim
- X-dimension size.ydim
- Y-dimension size.zdim
- Z-dimension size.primflags
- primitive flags.ap
- Appearancepublic Box(float xdim, float ydim, float zdim, int primflags, Appearance ap)
Method Detail |
public Shape3D getShape(int partId)
getShape
in class Primitive
partId
- The part to return.
public void setAppearance(Appearance ap)
setAppearance
in class Primitive
public Appearance getAppearance(int partId)
getAppearance
in class Primitive
public 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(javax.media.j3d.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 getXdimension()
public float getYdimension()
public float getZdimension()
|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |