Class Box

java.lang.Object
  extended by Shape
      extended by Box
All Implemented Interfaces:
CloneableEx, java.lang.Cloneable, Persistent

public class Box
extends Shape

Represents a 6-sided box.

A Box is defined by a single point that represents the origin of the box and three vectors defining the length, width, and height of the box.


Constructor Summary
Box()
          Constructs a unit cube at the origin.
Box(javax.vecmath.Point3d origin, javax.vecmath.Vector3d length, javax.vecmath.Vector3d width, javax.vecmath.Vector3d height, SurfaceProperties surfaceProperties)
          Constructs a box with the specified parameters.
 
Method Summary
 java.lang.Object clone()
          Returns a copy of the object.
 javax.vecmath.Vector3d getHeight()
          Returns the height vector.
 javax.vecmath.Vector3d getLength()
          Returns the length vector.
 javax.vecmath.Point3d getOrigin()
          Returns the origin point.
 javax.vecmath.Vector3d getWidth()
          Returns the width vector.
 void load(DataParser dataParser)
          Loads data using the DataParser object.
 double nearestIntersectionTime(Ray3d ray)
          Gets the nearest intersection time between the specified ray and the shape.
 void setHeight(javax.vecmath.Vector3d height)
          Sets the height vector.
 void setLength(javax.vecmath.Vector3d length)
          Sets the length vector.
 void setOrigin(javax.vecmath.Point3d origin)
          Sets the origin point.
 void setWidth(javax.vecmath.Vector3d width)
          Sets the width vector.
 javax.vecmath.Vector3d surfaceNormal(javax.vecmath.Point3d point)
          Gets the surface normal at the specified point on the shape.
 
Methods inherited from class Shape
getSurfaceProperties, setSurfaceProperties
 
Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

Box

public Box()
Constructs a unit cube at the origin.


Box

public Box(javax.vecmath.Point3d origin,
           javax.vecmath.Vector3d length,
           javax.vecmath.Vector3d width,
           javax.vecmath.Vector3d height,
           SurfaceProperties surfaceProperties)
Constructs a box with the specified parameters.

Parameters:
origin - The origin point.
length - The length vector.
width - The width vector.
height - The height vector.
surfaceProperties - The surface properties of the box.
Method Detail

clone

public java.lang.Object clone()
Description copied from interface: CloneableEx
Returns a copy of the object.

Specified by:
clone in interface CloneableEx
Specified by:
clone in class Shape
Returns:
A copy of the object.

nearestIntersectionTime

public double nearestIntersectionTime(Ray3d ray)
Description copied from class: Shape
Gets the nearest intersection time between the specified ray and the shape.

Specified by:
nearestIntersectionTime in class Shape
Parameters:
ray - The ray to intersect with the shape.
Returns:
The nearest time of intersection.

surfaceNormal

public javax.vecmath.Vector3d surfaceNormal(javax.vecmath.Point3d point)
Description copied from class: Shape
Gets the surface normal at the specified point on the shape.

Specified by:
surfaceNormal in class Shape
Parameters:
point - The point on the surface of the shape.
Returns:
The surface normal of the point on the shape.

load

public void load(DataParser dataParser)
Description copied from interface: Persistent
Loads data using the DataParser object.

A class overrides this function to load data that has been parsed.

Specified by:
load in interface Persistent
Overrides:
load in class Shape
Parameters:
dataParser - The DataParser to load data from.

setOrigin

public void setOrigin(javax.vecmath.Point3d origin)
Sets the origin point.

Parameters:
origin - The origin to set.

getOrigin

public javax.vecmath.Point3d getOrigin()
Returns the origin point.

Returns:
The origin.

setLength

public void setLength(javax.vecmath.Vector3d length)
Sets the length vector.

Parameters:
length - The length to set.

getLength

public javax.vecmath.Vector3d getLength()
Returns the length vector.

Returns:
The length.

setWidth

public void setWidth(javax.vecmath.Vector3d width)
Sets the width vector.

Parameters:
width - The width to set.

getWidth

public javax.vecmath.Vector3d getWidth()
Returns the width vector.

Returns:
The width.

setHeight

public void setHeight(javax.vecmath.Vector3d height)
Sets the height vector.

Parameters:
height - The height to set.

getHeight

public javax.vecmath.Vector3d getHeight()
Returns the height vector.

Returns:
The height.