net.sf.j3d.threeD.raytracer.network
Class RayTracingJob

java.lang.Object
  extended by net.sf.j3d.threeD.raytracer.network.RayTracingJob
All Implemented Interfaces:
SceneLoader

public class RayTracingJob
extends Object
implements SceneLoader

A RayTracingJob object provides an implementation of net.sf.j3d.network.Job that renders a section of an image.

Author:
Mike Murray

Nested Class Summary
static class RayTracingJob.RayTracingOutputHandler
           
 
Field Summary
static String htmlPost
           
static String htmlPre
           
 boolean local
           
static boolean verboseRender
           
 
Constructor Summary
RayTracingJob()
          Constructs a new RayTracingJob object.
RayTracingJob(String sceneUri, int x, int y, int dx, int dy, int w, int h, int ssw, int ssh, long jobId)
          Constructs a new RayTracingJob object.
 
Method Summary
 String encode()
           
 boolean equals(Object o)
           
static RayTracingJob.RayTracingOutputHandler getDefaultOutputHandler()
           
 Scene getScene()
           
 long getTaskId()
           
 String getTaskString()
           
 int hashcode()
           
 Scene loadScene(String uri)
           
static RGB[][] processOutput(RayTracingJobOutput data, RGB[][] image, int x, int y, int dx, int dy)
           
static boolean removeSceneCache(String s)
           
 void run()
           
 void set(String key, String value)
           
 void setCameraDirection(double x, double y, double z)
           
 void setCameraLocation(double x, double y, double z)
           
 void setFocalLength(double f)
           
 void setProjectionHeight(double h)
           
 void setProjectionWidth(double w)
           
 void setSceneLoader(String loader)
           
 String toString()
           
 
Methods inherited from class java.lang.Object
getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Field Detail

htmlPre

public static final String htmlPre
See Also:
Constant Field Values

htmlPost

public static final String htmlPost
See Also:
Constant Field Values

verboseRender

public static boolean verboseRender

local

public boolean local
Constructor Detail

RayTracingJob

public RayTracingJob()
Constructs a new RayTracingJob object.


RayTracingJob

public RayTracingJob(String sceneUri,
                     int x,
                     int y,
                     int dx,
                     int dy,
                     int w,
                     int h,
                     int ssw,
                     int ssh,
                     long jobId)
Constructs a new RayTracingJob object.

Parameters:
sceneUri - URI pointing to XML scene data.
x - X coordinate of upper left corner of the section to be rendered.
y - Y coordinate of upper left corner of the section to be rendered.
dx - Width of section to be rendered.
dy - Height of section to be rendered.
w - Width of whole image.
h - Height of whole image.
ssw - Supersample width.
ssh - Supersample height.
jobId - Unique id for this job (often the time in ms is used)
Method Detail

getDefaultOutputHandler

public static RayTracingJob.RayTracingOutputHandler getDefaultOutputHandler()

processOutput

public static RGB[][] processOutput(RayTracingJobOutput data,
                                    RGB[][] image,
                                    int x,
                                    int y,
                                    int dx,
                                    int dy)

removeSceneCache

public static boolean removeSceneCache(String s)

getScene

public Scene getScene()
Returns:
The scene referenced by this RayTracingJob object.

loadScene

public Scene loadScene(String uri)
                throws MalformedURLException,
                       IOException
Specified by:
loadScene in interface SceneLoader
Throws:
MalformedURLException
IOException

setSceneLoader

public void setSceneLoader(String loader)

setProjectionWidth

public void setProjectionWidth(double w)

setProjectionHeight

public void setProjectionHeight(double h)

setFocalLength

public void setFocalLength(double f)

setCameraLocation

public void setCameraLocation(double x,
                              double y,
                              double z)

setCameraDirection

public void setCameraDirection(double x,
                               double y,
                               double z)

encode

public String encode()
See Also:
net.sf.j3d.network.Job#encode()

set

public void set(String key,
                String value)
See Also:
net.sf.j3d.network.Job#set(java.lang.String, java.lang.String)

run

public void run()
See Also:
Runnable.run()

getTaskId

public long getTaskId()
See Also:
net.sf.j3d.network.Job#getTaskId()

getTaskString

public String getTaskString()

hashcode

public int hashcode()

equals

public boolean equals(Object o)
Overrides:
equals in class Object

toString

public String toString()
Overrides:
toString in class Object