com.sun.j3d.utils.geometry
Class Box
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
- public class Box
- extends Primitive
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.
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 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. |
Shape3D |
getShape(int partId)
Gets one of the faces (Shape3D) from the box that contains the
geometry and appearance. |
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,
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 |
FRONT
public static final int FRONT
- Used to designate the front side of the box when using
getShape().
- See Also:
getShape(int)
BACK
public static final int BACK
- Used to designate the back side of the box when using
getShape().
- See Also:
getShape(int)
RIGHT
public static final int RIGHT
- Used to designate the right side of the box when using
getShape().
- See Also:
getShape(int)
LEFT
public static final int LEFT
- Used to designate the left side of the box when using
getShape().
- See Also:
getShape(int)
TOP
public static final int TOP
- Used to designate the top side of the box when using
getShape().
- See Also:
getShape(int)
BOTTOM
public static final int BOTTOM
- Used to designate the bottom side of the box when using
getShape().
- See Also:
getShape(int)
Box
public Box()
- Constructs a default box of 1.0 in all dimensions.
Box
public Box(float xdim,
float ydim,
float zdim,
Appearance ap)
- Constructs a box of a given dimension and appearance.
- Parameters:
xdim
- X-dimension size.ydim
- Y-dimension size.zdim
- Z-dimension size.ap
- Appearance
Box
public Box(float xdim,
float ydim,
float zdim,
int primflags,
Appearance ap,
int numTexUnit)
- Constructs a box of a given dimension, flags, and appearance.
- Parameters:
xdim
- X-dimension size.ydim
- Y-dimension size.zdim
- Z-dimension size.primflags
- primitive flags.ap
- Appearance
Box
public Box(float xdim,
float ydim,
float zdim,
int primflags,
Appearance ap)
getShape
public Shape3D getShape(int partId)
- Gets one of the faces (Shape3D) from the box that contains the
geometry and appearance. This allows users to modify the
appearance or geometry of individual parts.
- Overrides:
- getShape in class Primitive
- Parameters:
partId
- The part to return.- Returns:
- The Shape3D object associated with the partID. If an
invalid partId is passed in, null is returned.
setAppearance
public void setAppearance(Appearance ap)
- Sets appearance of the box. This will set each face of the
box to the same appearance. To set each face's appearance
separately, use getShape(partId) to get the
individual shape and call shape.setAppearance(ap).
- 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)