Class VolumeRenderer.RendererThread

java.lang.Object
  extended by java.lang.Thread
      extended by VolumeRenderer.RendererThread
All Implemented Interfaces:
java.lang.Runnable
Enclosing class:
VolumeRenderer

public class VolumeRenderer.RendererThread
extends java.lang.Thread


Nested Class Summary
 
Nested classes/interfaces inherited from class java.lang.Thread
java.lang.Thread.State, java.lang.Thread.UncaughtExceptionHandler
 
Field Summary
 
Fields inherited from class java.lang.Thread
MAX_PRIORITY, MIN_PRIORITY, NORM_PRIORITY
 
Constructor Summary
VolumeRenderer.RendererThread(Viewer viewer, int width, int height, double stepFactor)
          Creates a volume renderer thread.
VolumeRenderer.RendererThread(Viewer viewer, int width, int height, double stepFactor, int progressiveFactor)
          Creates a volume renderer thread.
VolumeRenderer.RendererThread(Viewer viewer, int width, int height, double stepFactor, int progressiveFactor, Viewer.VolumeMode volumeMode, Viewer.VolumeInterpolation volumeInterpolation, Viewer.ShadingMode shadingMode, short firstHitThreshold, double levoyMaxOpacity)
          Creates a volume renderer thread.
VolumeRenderer.RendererThread(Viewer viewer, int width, int height, double stepFactor, Viewer.VolumeMode volumeMode, Viewer.VolumeInterpolation volumeInterpolation, Viewer.ShadingMode shadingMode, short firstHitThreshold, double levoyMaxOpacity)
          Creates a volume renderer thread.
 
Method Summary
 void cancel()
          Cancels a thread's job.
 java.awt.image.BufferedImage getBufferedImage()
          Returns the computed image.
 VolumeRenderer.RendererThread getNextTurnRenderer()
          Returns the thread responsible for the next progressive refinement.
 boolean isTurnFinished()
          Determines if thread has done all his work.
 java.awt.image.BufferedImage render()
          Rendering algorithm.
 void run()
          The thread's job: Rendering an image in a chain of progressive refined images.
 
Methods inherited from class java.lang.Thread
activeCount, checkAccess, countStackFrames, currentThread, destroy, dumpStack, enumerate, getAllStackTraces, getContextClassLoader, getDefaultUncaughtExceptionHandler, getId, getName, getPriority, getStackTrace, getState, getThreadGroup, getUncaughtExceptionHandler, holdsLock, interrupt, interrupted, isAlive, isDaemon, isInterrupted, join, join, join, resume, setContextClassLoader, setDaemon, setDefaultUncaughtExceptionHandler, setName, setPriority, setUncaughtExceptionHandler, sleep, sleep, start, stop, stop, suspend, toString, yield
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Constructor Detail

VolumeRenderer.RendererThread

public VolumeRenderer.RendererThread(Viewer viewer,
                                     int width,
                                     int height,
                                     double stepFactor)
Creates a volume renderer thread.

Parameters:
viewer - Viewer.
width - Image width.
height - Image height.
stepFactor - Step factor for raycast algorithm.

VolumeRenderer.RendererThread

public VolumeRenderer.RendererThread(Viewer viewer,
                                     int width,
                                     int height,
                                     double stepFactor,
                                     int progressiveFactor)
Creates a volume renderer thread.

Parameters:
viewer - Viewer.
width - Image width.
height - Image height.
stepFactor - Step factor for raycast algorithm.
progressiveFactor - Progressive factor for faster rendering.

VolumeRenderer.RendererThread

public VolumeRenderer.RendererThread(Viewer viewer,
                                     int width,
                                     int height,
                                     double stepFactor,
                                     Viewer.VolumeMode volumeMode,
                                     Viewer.VolumeInterpolation volumeInterpolation,
                                     Viewer.ShadingMode shadingMode,
                                     short firstHitThreshold,
                                     double levoyMaxOpacity)
Creates a volume renderer thread.

Parameters:
viewer - Viewer.
width - Image width.
height - Image height.
stepFactor - Step factor for raycast algorithm.
volumeMode - Volume mode.
volumeInterpolation - Volume interpolation method.
shadingMode - Shading mode.
firstHitThreshold - Threshold for First Hit rendering method.
levoyMaxOpacity - Maximum Opacity used as termination condition for Levoy algorithm.

VolumeRenderer.RendererThread

public VolumeRenderer.RendererThread(Viewer viewer,
                                     int width,
                                     int height,
                                     double stepFactor,
                                     int progressiveFactor,
                                     Viewer.VolumeMode volumeMode,
                                     Viewer.VolumeInterpolation volumeInterpolation,
                                     Viewer.ShadingMode shadingMode,
                                     short firstHitThreshold,
                                     double levoyMaxOpacity)
Creates a volume renderer thread.

Parameters:
viewer - Viewer.
width - Image width.
height - Image height.
stepFactor - Step factor for raycast algorithm.
progressiveFactor - Progressive factor for faster rendering.
volumeMode - Volume mode.
volumeInterpolation - Volume interpolation method.
shadingMode - Shading mode.
firstHitThreshold - Threshold for First Hit rendering method.
levoyMaxOpacity - Maximum Opacity used as termination condition for Levoy algorithm.
Method Detail

isTurnFinished

public boolean isTurnFinished()
Determines if thread has done all his work.

Returns:
true, if the job is finished.

getNextTurnRenderer

public VolumeRenderer.RendererThread getNextTurnRenderer()
Returns the thread responsible for the next progressive refinement.

Returns:
If already started, thread for progressive refinement.

getBufferedImage

public java.awt.image.BufferedImage getBufferedImage()
Returns the computed image.

Returns:
Computed image, if the thread's job is finished.

cancel

public void cancel()
Cancels a thread's job.


run

public void run()
The thread's job: Rendering an image in a chain of progressive refined images.

Specified by:
run in interface java.lang.Runnable
Overrides:
run in class java.lang.Thread

render

public java.awt.image.BufferedImage render()
Rendering algorithm.

Returns:
Computed image, if rendering is not cancelled.