de.grogra.imp3d
Class VolumeBuilderBase

java.lang.Object
  extended by de.grogra.imp3d.VolumeBuilderBase
Direct Known Subclasses:
FluxVolumeBuilder, VolumeBuilder

public abstract class VolumeBuilderBase
extends java.lang.Object

A VolumeBuilderBase is used to build volumes.

Author:
Dietger van Antwerpen
See Also:
#VolumeBuilder

Field Summary
 float epsilon
           
protected  PolygonizationCache polyCache
           
 
Constructor Summary
VolumeBuilderBase(PolygonizationCache polyCache, float epsilon)
           
 
Method Summary
 FrustumBase buildBaseFrustum(float height, float baseRadius, float topRadius, boolean baseClosed, boolean topClosed, float scaleV, Matrix4d t)
           
 Cube buildBox(float halfWidth, float halfLength, float height, Matrix4d t)
           
 Frustum buildFrustum(float height, float baseRadius, float topRadius, boolean baseClosed, boolean topClosed, float scaleV, Matrix4d t)
           
 Square buildParallelogram(float axis, Vector3f secondAxis, float scaleU, float scaleV, Matrix4d t)
           
 HalfSpace buildPlane(Matrix4d t)
           
 MeshVolume buildPolygons(Polygonizable pz, java.lang.Object obj, boolean asNode, Matrix4d t)
           
 Sphere buildSphere(float radius, Matrix4d t)
           
 Supershape buildSupershape(float a, float b, float m1, float n11, float n12, float n13, float m2, float n21, float n22, float n23, Matrix4d t)
           
protected abstract  Matrix4d getCurrentTransformation()
           
protected  Matrix4d getTransformation(Matrix4d t)
           
 void setInvTransformation(TransformableVolume v, Matrix4d t, double dz)
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

epsilon

public final float epsilon

polyCache

protected PolygonizationCache polyCache
Constructor Detail

VolumeBuilderBase

public VolumeBuilderBase(PolygonizationCache polyCache,
                         float epsilon)
Method Detail

buildBaseFrustum

public FrustumBase buildBaseFrustum(float height,
                                    float baseRadius,
                                    float topRadius,
                                    boolean baseClosed,
                                    boolean topClosed,
                                    float scaleV,
                                    Matrix4d t)

buildBox

public Cube buildBox(float halfWidth,
                     float halfLength,
                     float height,
                     Matrix4d t)

buildFrustum

public Frustum buildFrustum(float height,
                            float baseRadius,
                            float topRadius,
                            boolean baseClosed,
                            boolean topClosed,
                            float scaleV,
                            Matrix4d t)

buildParallelogram

public Square buildParallelogram(float axis,
                                 Vector3f secondAxis,
                                 float scaleU,
                                 float scaleV,
                                 Matrix4d t)

buildPlane

public HalfSpace buildPlane(Matrix4d t)

buildPolygons

public MeshVolume buildPolygons(Polygonizable pz,
                                java.lang.Object obj,
                                boolean asNode,
                                Matrix4d t)

buildSphere

public Sphere buildSphere(float radius,
                          Matrix4d t)

buildSupershape

public Supershape buildSupershape(float a,
                                  float b,
                                  float m1,
                                  float n11,
                                  float n12,
                                  float n13,
                                  float m2,
                                  float n21,
                                  float n22,
                                  float n23,
                                  Matrix4d t)

getCurrentTransformation

protected abstract Matrix4d getCurrentTransformation()

getTransformation

protected Matrix4d getTransformation(Matrix4d t)

setInvTransformation

public void setInvTransformation(TransformableVolume v,
                                 Matrix4d t,
                                 double dz)