Bouncy Castle Rendering Toolkit 1.0

org.bouncycastle.graphics.rt.objects
Class Blobby

java.lang.Object
  |
  +--org.bouncycastle.graphics.rt.Renderable
        |
        +--org.bouncycastle.graphics.rt.Bounded
              |
              +--org.bouncycastle.graphics.rt.objects.Blobby
All Implemented Interfaces:
ColorCalculator, NormalCalculator, Partitionable, Traceable

public class Blobby
extends Bounded
implements NormalCalculator

Based on, "ray tracing implicit surfaces resulting from the summation of bounded volume polynomial functions", By David Tonnesen, Tech Report no 89003, Rensselear Design Research Center, Rensselaer Polytechnic Institute, Troy, Nw York, 12180.

Example:

      <Blobby color="1, 0, 0" threshold="0.5">
        <Metaball center="-1.0, 0.0, -4.0" radius="1.0" strength="0.8"/>
        <Metaball center="0.0, 0.0, -4.0" radius="1.0" strength="0.8"/>
        <Metaball center="1.0, 0.0, -4.0" radius="1.0" strength="0.8"/>
      </Blobby>
 

Document Type Definition:

     <!ENTITY %Color3f "CDATA">
     <!ENTITY %Float   "CDATA">

     <!ELEMENT Blobby (Metaball)+ >
     <!ATTLIST Blobby
         color        %Color3f; "1, 1, 1"
         threshold    %Float;   "1">
 


Fields inherited from class org.bouncycastle.graphics.rt.Bounded
bBox
 
Fields inherited from class org.bouncycastle.graphics.rt.Renderable
color, objToRay, rayToObj, selfShadowing, shader
 
Constructor Summary
Blobby()
           
 
Method Summary
static Blobby getInstance(RMLReader in)
           
 void getN(Hit hit, Vector3f n)
          set the normal for this hit point (object space) in hd the value is returned in n
 HitList intersections(Ray r)
           
 boolean isIntersected(Ray r)
           
 boolean isObjectIntersected(Ray r)
           
 boolean isShadowing(Ray r)
           
protected  void processObject(java.lang.Object obj)
           
protected  void processParameters(ParametersMap params)
           
 
Methods inherited from class org.bouncycastle.graphics.rt.Bounded
bBox, setBBox, setBBox, transform
 
Methods inherited from class org.bouncycastle.graphics.rt.Renderable
createObjectSpaceRay, getColor, getColor, getShader, isSelfShadowing, readObject, setColor, setColor, setSelfShadowing, setShader, toObjectSpace, toObjectSpace, transformNormal
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

Blobby

public Blobby()
Method Detail

getInstance

public static Blobby getInstance(RMLReader in)
                          throws java.io.IOException

processParameters

protected void processParameters(ParametersMap params)
Overrides:
processParameters in class Renderable

processObject

protected void processObject(java.lang.Object obj)
Overrides:
processObject in class Renderable

getN

public void getN(Hit hit,
                 Vector3f n)
Description copied from interface: NormalCalculator
set the normal for this hit point (object space) in hd the value is returned in n
Specified by:
getN in interface NormalCalculator

isObjectIntersected

public boolean isObjectIntersected(Ray r)

isIntersected

public boolean isIntersected(Ray r)
Overrides:
isIntersected in class Bounded

intersections

public HitList intersections(Ray r)

isShadowing

public boolean isShadowing(Ray r)
Overrides:
isShadowing in class Bounded

Bouncy Castle Rendering Toolkit 1.0