of3d
Class FlowJScintillansRender

java.lang.Object
  |
  +--java.lang.Thread
        |
        +--VolumeJ.VJRenderer
              |
              +--VolumeJ.VJViewspaceRender
                    |
                    +--of3d.FlowJScintillansRender
All Implemented Interfaces:
java.lang.Runnable

public class FlowJScintillansRender
extends VJViewspaceRender

FlowJScintillansRender. Implements viewspace rendering for flow volumes in combination with regular static volumes. Flow volumes are displayed as scintillations, i.e small colored streaks with a direction and halo, coding for magnitude direction of the flow vector. Since scintillations are 'splatted' onto the viewport because they extend beyond the voxel they are located at, rendering has to proceed in viewspace order, i.e, first i, then j and then k (regular renders follow the ray all the way top termination) while here an array of rays is advanced one step at a time (thus allowing splatting). This class leans heavily on VJViewspaceRender Copyright (c) 1999-2002, Michael Abramoff. All rights reserved.


Fields inherited from class VolumeJ.VJViewspaceRender
osv, pixelSize, viewspace, viewspacePixel, vsv, vsvstep
 
Fields inherited from class VolumeJ.VJRenderer
classifier, COLORINT, cutout, depth, description, doDepthCueing, doPerspective, doPixeltracing, GRAYBYTE, height, interpolator, ioffset, joffset, koffset, m, message, mi, miLight, mLight, outputType, pixelms, pixels, running, sequenceNumber, shader, tracei, tracej, traceString, v, width
 
Fields inherited from class java.lang.Thread
inheritableThreadLocals, MAX_PRIORITY, MIN_PRIORITY, NORM_PRIORITY, threadLocals
 
Constructor Summary
FlowJScintillansRender(VJInterpolator interpolator, VJShader shader, VJClassifier classifier)
           
 
Method Summary
protected  void blendCompose(int index, VJValue value, VJGradient g, VJAlphaColor color, VJShade shade)
          Compose the classified voxel color into pixel.
protected  void blendComposeVector(int index, FlowJValue value, VJGradient g, VJAlphaColor color, VJShade shade)
          Scintillans rendering shows (a subset of) the vectors as halved, small colored elongated oriented Gaussian stretches (scintillations).
 
Methods inherited from class VolumeJ.VJViewspaceRender
desc, run
 
Methods inherited from class VolumeJ.VJRenderer
defaultViewport, getClassifier, getInterpolator, getPixels, getShader, getTimePerPixel, getTransformation, getViewport, getViewportHeight, getViewportWidth, getVolume, kill, minmax, newViewportBuffer, onTrace, setClassifier, setCutout, setDescription, setInterpolator, setMessage, setOutputColor, setOutputGrayscale, setPixel, setPixel, setSequenceNumber, setShader, setTransformation, setTransformation, setViewport, setVolume, trace, trace, traceWrite
 
Methods inherited from class java.lang.Thread
, activeCount, checkAccess, countStackFrames, currentThread, destroy, dumpStack, enumerate, getContextClassLoader, getName, getPriority, getThreadGroup, interrupt, interrupted, isAlive, isDaemon, isInterrupted, join, join, join, resume, setContextClassLoader, setDaemon, setName, setPriority, 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

FlowJScintillansRender

public FlowJScintillansRender(VJInterpolator interpolator,
                              VJShader shader,
                              VJClassifier classifier)
                       throws java.lang.Exception
Method Detail

blendCompose

protected void blendCompose(int index,
                            VJValue value,
                            VJGradient g,
                            VJAlphaColor color,
                            VJShade shade)
Compose the classified voxel color into pixel. Link to VJAlphaColor.blendComposeScalar() so that this method can be overloaded.
Overrides:
blendCompose in class VJViewspaceRender
Parameters:
index - the index of the current composited pixel (so far).
value - the voxel VJValue for the current voxel (needed by some subclasses).
g - the interpolated gradient for shading
color - contains the alpha value and the color (grayscale or RGB) of the classified values.
shade - is the effect of shading.

blendComposeVector

protected void blendComposeVector(int index,
                                  FlowJValue value,
                                  VJGradient g,
                                  VJAlphaColor color,
                                  VJShade shade)
Scintillans rendering shows (a subset of) the vectors as halved, small colored elongated oriented Gaussian stretches (scintillations). These scintillations emit their own light and are not shaded. Front to back alpha blending compositing.