pl.webnet.JaTrac
Class Primitive

java.lang.Object
  |
  +--pl.webnet.JaTrac.TreeNode
        |
        +--pl.webnet.JaTrac.Primitive
All Implemented Interfaces:
XmlSettable
Direct Known Subclasses:
Rectangle, Sphere, Triangle

abstract class Primitive
extends TreeNode
implements XmlSettable

This class describes a generic primitive - ancestor of all object types that can be intersected by a ray.


Field Summary
(package private)  boolean castShadows
           
(package private)  pl.webnet.JaTrac.Point lastHitPoint
           
(package private)  pl.webnet.JaTrac.Intersection lastIntersection
           
(package private)  long mailbox
           
(package private)  pl.webnet.JaTrac.Mapping mapping
           
(package private)  java.lang.String name
           
(package private)  pl.webnet.JaTrac.Level parent
           
(package private)  boolean reflected
           
(package private) static pl.webnet.JaTrac.Level root
           
(package private)  boolean shadows
           
(package private)  pl.webnet.JaTrac.Spectrum spectrum
           
(package private)  boolean unshaded
           
 
Constructor Summary
Primitive()
           
 
Method Summary
 java.lang.String[] getAttachArray()
          Get object's attach array.
abstract  pl.webnet.JaTrac.BoundingBox getBoundingBox(pl.webnet.JaTrac.BoundingBox bx)
           
 pl.webnet.JaTrac.Mapping getMapping()
           
abstract  pl.webnet.JaTrac.Vec getNormal(pl.webnet.JaTrac.Point p)
          Compute normal vector at given point on object's surface.
 java.lang.String[] getParamArray()
          Get object's parameter array.
 pl.webnet.JaTrac.Spectrum getSpectrum()
           
 pl.webnet.JaTrac.Surface getSurface()
           
abstract  pl.webnet.JaTrac.Vec getTangent(pl.webnet.JaTrac.Point p, pl.webnet.JaTrac.Vec normal)
          Compute tangent vector at given point on object's surface.
 java.lang.Object initialize()
          Initialize object's internal state after setting all params from XML file.
abstract  int intersect(pl.webnet.JaTrac.Ray ray)
          Check if the ray intersects this primitive and compute intersection points as a value of t along the ray.
 void setName(java.lang.String name)
           
 void setParent(pl.webnet.JaTrac.Level parent)
           
static void setRoot(pl.webnet.JaTrac.Level root)
           
 void setSpectrum(pl.webnet.JaTrac.Spectrum s)
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

spectrum

pl.webnet.JaTrac.Spectrum spectrum

mapping

pl.webnet.JaTrac.Mapping mapping

shadows

boolean shadows

castShadows

boolean castShadows

reflected

boolean reflected

unshaded

boolean unshaded

lastIntersection

pl.webnet.JaTrac.Intersection lastIntersection

lastHitPoint

pl.webnet.JaTrac.Point lastHitPoint

mailbox

long mailbox

name

java.lang.String name

parent

pl.webnet.JaTrac.Level parent

root

static pl.webnet.JaTrac.Level root
Constructor Detail

Primitive

public Primitive()
Method Detail

intersect

public abstract int intersect(pl.webnet.JaTrac.Ray ray)
Check if the ray intersects this primitive and compute intersection points as a value of t along the ray.

Parameters:
ray - the ray to test against
Returns:
the number of intersections

getNormal

public abstract pl.webnet.JaTrac.Vec getNormal(pl.webnet.JaTrac.Point p)
Compute normal vector at given point on object's surface.

Parameters:
p - point (in world coordinates) on object's surface
Returns:
normal vector

getTangent

public abstract pl.webnet.JaTrac.Vec getTangent(pl.webnet.JaTrac.Point p,
                                                pl.webnet.JaTrac.Vec normal)
Compute tangent vector at given point on object's surface. Used for bump mapping.

Parameters:
p - point (in world coordinates) on object's surface
Returns:
normal vector

getBoundingBox

public abstract pl.webnet.JaTrac.BoundingBox getBoundingBox(pl.webnet.JaTrac.BoundingBox bx)

getSurface

public pl.webnet.JaTrac.Surface getSurface()

getMapping

public pl.webnet.JaTrac.Mapping getMapping()

getSpectrum

public pl.webnet.JaTrac.Spectrum getSpectrum()

setSpectrum

public void setSpectrum(pl.webnet.JaTrac.Spectrum s)

setName

public void setName(java.lang.String name)

getParamArray

public java.lang.String[] getParamArray()
Description copied from interface: XmlSettable
Get object's parameter array. The array maps XML element names to variable names and, if setting one variable is not enough, lists names of functions to call.

Specified by:
getParamArray in interface XmlSettable
Returns:
object's parameter array.

getAttachArray

public java.lang.String[] getAttachArray()
Description copied from interface: XmlSettable
Get object's attach array. The array specifies what functions to call to attach children nodes to this object.

Specified by:
getAttachArray in interface XmlSettable
Returns:
object's attach array.

initialize

public java.lang.Object initialize()
Description copied from interface: XmlSettable
Initialize object's internal state after setting all params from XML file. Called after element's end tag is encountered in XML file.

Specified by:
initialize in interface XmlSettable

setRoot

public static void setRoot(pl.webnet.JaTrac.Level root)

setParent

public void setParent(pl.webnet.JaTrac.Level parent)