Overview | Package | Class | Tree | Index | Help
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

## de.grogra.imp3d
Class VolumeBuilder

    java.lang.Object
      de.grogra.imp3d.VolumeBuilderBase
          de.grogra.imp3d.VolumeBuilder

All Implemented Interfaces:
  RenderState

    public abstract class VolumeBuilder

extends VolumeBuilderBase
implements RenderState

Field Summary

Fields inherited from class de.grogra.imp3d.VolumeBuilderBase
`epsilon, polyCache`

Fields inherited from interface de.grogra.imp3d.RenderState
`CURRENT_HIGHLIGHT`

Constructor Summary
`VolumeBuilder(PolygonizationCache polyCache, float epsilon)`

Method Summary
`protected abstract void` | `addVolume(Volume v, Matrix4d t, Shader s)`
`void` | `drawBox(float halfWidth, float halfLength, float height, Shader s, int highlight, Matrix4d t)`
`void` | `drawFrustum(float height, float baseRadius, float topRadius, boolean baseClosed, boolean topClosed, float scaleV, Shader s, int highlight, Matrix4d t)`
`void` | `drawLine(Tuple3f start, Tuple3f end, Tuple3f color, int highlight, Matrix4d t)`
`void` | `drawParallelogram(float axis, Vector3f secondAxis, float scaleU, float scaleV, Shader s, int highlight, Matrix4d t)`
`void` | `drawPlane(Shader s, int highlight, Matrix4d t)`
`void` | `drawPoint(Tuple3f location, int pixelSize, Tuple3f color, int highlight, Matrix4d t)`
`void` | `drawPointCloud(float[] locations, float pointSize, Tuple3f color, int highlight, Matrix4d t)` Draw a set of points.
`void` | `drawPolygons(Polygonizable pz, java.lang.Object obj, boolean asNode, Shader s, int highlight, Matrix4d t)`
`void` | `drawRectangle(int x, int y, int w, int h, Tuple3f color)`
`void` | `drawSphere(float radius, Shader s, int highlight, Matrix4d t)`
`void` | `drawString(int x, int y, java.lang.String text, java.awt.Font font, Tuple3f color)`
`void` | `drawSupershape(float a, float b, float m1, float n11, float n12, float n13, float m2, float n21, float n22, float n23, Shader s, int highlight, Matrix4d t)` Draw a supershape around the origin (0/0/0).
`float` | `estimateScaleAt(Tuple3f point)`
`void` | `fillRectangle(int x, int y, int w, int h, Tuple3f color)`
`int` | `getCurrentHighlight()`
`java.awt.FontMetrics` | `getFontMetrics(java.awt.Font font)`
`Pool` | `getPool()`
`boolean` | `getWindowPos(Tuple3f location, Tuple2f out)` Computes the window coordinates in pixels of a location in the current object coordinates.

Methods inherited from class de.grogra.imp3d.VolumeBuilderBase
`buildBaseFrustum, buildBox, buildFrustum, buildParallelogram, buildPlane, buildPolygons, buildSphere, buildSupershape, getCurrentTransformation, getTransformation, setInvTransformation`

Methods inherited from class java.lang.Object
`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

Methods inherited from interface de.grogra.imp3d.RenderState
`getCurrentShader, getRenderGraphState`

Constructor Detail

### VolumeBuilder

    public VolumeBuilder(PolygonizationCache polyCache,
                         float epsilon)

Method Detail

### addVolume

    protected abstract void addVolume(Volume v,
                                      Matrix4d t,
                                      Shader s)

### drawBox

    public void drawBox(float halfWidth,
                        float halfLength,
                        float height,
                        Shader s,
                        int highlight,
                        Matrix4d t)

  Specified by:
    `drawBox` in interface `RenderState`

### drawFrustum

    public void drawFrustum(float height,
                            float baseRadius,
                            float topRadius,
                            boolean baseClosed,
                            boolean topClosed,
                            float scaleV,
                            Shader s,
                            int highlight,
                            Matrix4d t)

  Specified by:
    `drawFrustum` in interface `RenderState`

### drawLine

    public void drawLine(Tuple3f start,
                         Tuple3f end,
                         Tuple3f color,
                         int highlight,
                         Matrix4d t)

  Specified by:
    `drawLine` in interface `RenderState`

### drawParallelogram

    public void drawParallelogram(float axis,
                                  Vector3f secondAxis,
                                  float scaleU,
                                  float scaleV,
                                  Shader s,
                                  int highlight,
                                  Matrix4d t)

  Specified by:
    `drawParallelogram` in interface `RenderState`

### drawPlane

    public void drawPlane(Shader s,
                          int highlight,
                          Matrix4d t)

  Specified by:
    `drawPlane` in interface `RenderState`

### drawPoint

    public void drawPoint(Tuple3f location,
                          int pixelSize,
                          Tuple3f color,
                          int highlight,
                          Matrix4d t)

  Specified by:
    `drawPoint` in interface `RenderState`

### drawPointCloud

    public void drawPointCloud(float[] locations,
                               float pointSize,
                               Tuple3f color,
                               int highlight,
                               Matrix4d t)

  Description copied from interface: `RenderState`
  Draw a set of points. The array locations contains a sequence of points given as triples of floats for x, y and z position of each point. If the same reference for the array location is passed in the implementation might assume that the contents of the array are the same as well. This is necessary for GLDisplay, for instance, to ensure a performant implementation. The class PointCloud ensures that this is the case.

  Specified by:
    `drawPointCloud` in interface `RenderState`
  Parameters:
    `locations` - array containing a sequence (x,y,z) of points
    `pointSize` - size of the point on screen
    `color` - color of the point
    `t` - transformation of the point cloud

### drawPolygons

    public void drawPolygons(Polygonizable pz,
                             java.lang.Object obj,
                             boolean asNode,
                             Shader s,
                             int highlight,
                             Matrix4d t)

  Specified by:
    `drawPolygons` in interface `RenderState`

### drawRectangle

    public void drawRectangle(int x,
                              int y,
                              int w,
                              int h,
                              Tuple3f color)

  Specified by:
    `drawRectangle` in interface `RenderState`

### drawSphere

    public void drawSphere(float radius,
                           Shader s,
                           int highlight,
                           Matrix4d t)

  Specified by:
    `drawSphere` in interface `RenderState`

### drawString

    public void drawString(int x,
                           int y,
                           java.lang.String text,
                           java.awt.Font font,
                           Tuple3f color)

  Specified by:
    `drawString` in interface `RenderState`

### drawSupershape

    public void drawSupershape(float a,
                               float b,
                               float m1,
                               float n11,
                               float n12,
                               float n13,
                               float m2,
                               float n21,
                               float n22,
                               float n23,
                               Shader s,
                               int highlight,
                               Matrix4d t)

  Description copied from interface: `RenderState`
  Draw a supershape around the origin (0/0/0). An implementation of Johan Gielis's Superformula which was published in the American Journal of Botany 90(3): 333–338. 2003. INVITED SPECIAL PAPER A GENERIC GEOMETRIC TRANSFORMATION THAT UNIFIES A WIDE RANGE OF NATURAL AND ABSTRACT SHAPES

  Specified by:
    `drawSupershape` in interface `RenderState`
    `t` - transformation of the point cloud

### estimateScaleAt

    public float estimateScaleAt(Tuple3f point)

  Specified by:
    `estimateScaleAt` in interface `RenderState`

### fillRectangle

    public void fillRectangle(int x,
                              int y,
                              int w,
                              int h,
                              Tuple3f color)

  Specified by:
    `fillRectangle` in interface `RenderState`

### getCurrentHighlight

    public int getCurrentHighlight()

  Specified by:
    `getCurrentHighlight` in interface `RenderState`

### getFontMetrics

    public java.awt.FontMetrics getFontMetrics(java.awt.Font font)

  Specified by:
    `getFontMetrics` in interface `RenderState`

### getPool

    public Pool getPool()

  Specified by:
    `getPool` in interface `RenderState`

### getWindowPos

    public boolean getWindowPos(Tuple3f location,
                                Tuple2f out)

  Description copied from interface: `RenderState`
  Computes the window coordinates in pixels of a location in the current object coordinates.

  Specified by:
    `getWindowPos` in interface `RenderState`
  Parameters:
    `location` - a location in local object coordinates
    `out` - the computed window coordinates are placed in here
  Returns:
    `true` iff the window coordinates are valid (i.e., the location is in the clipping region)

Overview | Package | Class | Tree | Index | Help
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD