org.osm2world.core.target.common
Class AbstractTarget<R extends Renderable>

Object
  extended by AbstractTarget<R>
All Implemented Interfaces:
Target<R>
Direct Known Subclasses:
ObjTarget, POVRayTarget, PrimitiveTarget

public abstract class AbstractTarget<R extends Renderable>
extends Object
implements Target<R>

superclass for Target implementations that defines some of the required methods using others. Extending it reduces the number of methods that have to be provided by the implementation


Constructor Summary
AbstractTarget()
           
 
Method Summary
 void beginObject(WorldObject object)
          announces the begin of the draw* calls for a WorldObject.
 void drawBox(Material material, VectorXYZ frontLowerLeft, VectorXYZ rightVector, VectorXYZ upVector, VectorXYZ backVector)
          draws a box with outward-facing polygons
 void drawColumn(Material material, Integer corners, VectorXYZ base, double height, double radiusBottom, double radiusTop, boolean drawBottom, boolean drawTop)
          draws a column with outward-facing polygons around a point.
 void drawPolygon(Material material, VectorXYZ... vs)
           
 void drawTriangleFan(Material material, List<? extends VectorXYZ> vs)
           
 void drawTriangleStrip(Material material, List<? extends VectorXYZ> vs)
           
 void drawTriangleStrip(Material material, VectorXYZ... vectors)
           
 
Methods inherited from class Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 
Methods inherited from interface Target
drawTriangles, drawTrianglesWithNormals, getRenderableType, render
 

Constructor Detail

AbstractTarget

public AbstractTarget()
Method Detail

beginObject

public void beginObject(WorldObject object)
Description copied from interface: Target
announces the begin of the draw* calls for a WorldObject. This allows targets to group them, if desired. Otherwise, this can be ignored.

Specified by:
beginObject in interface Target<R extends Renderable>

drawBox

public void drawBox(Material material,
                    VectorXYZ frontLowerLeft,
                    VectorXYZ rightVector,
                    VectorXYZ upVector,
                    VectorXYZ backVector)
Description copied from interface: Target
draws a box with outward-facing polygons

Specified by:
drawBox in interface Target<R extends Renderable>

drawColumn

public void drawColumn(Material material,
                       Integer corners,
                       VectorXYZ base,
                       double height,
                       double radiusBottom,
                       double radiusTop,
                       boolean drawBottom,
                       boolean drawTop)
Description copied from interface: Target
draws a column with outward-facing polygons around a point. A column is a polygon with > 3 corners extruded upwards. The implementation may decide to reduce the number of corners in order to improve performance (or make rendering possible when a perfect cylinder isn't supported).

Specified by:
drawColumn in interface Target<R extends Renderable>
corners - number of corners; null creates a cylinder for radiusBottom == radiusTop or (truncated) cone otherwise

drawTriangleStrip

public void drawTriangleStrip(Material material,
                              VectorXYZ... vectors)
Specified by:
drawTriangleStrip in interface Target<R extends Renderable>

drawTriangleStrip

public void drawTriangleStrip(Material material,
                              List<? extends VectorXYZ> vs)
Specified by:
drawTriangleStrip in interface Target<R extends Renderable>

drawTriangleFan

public void drawTriangleFan(Material material,
                            List<? extends VectorXYZ> vs)
Specified by:
drawTriangleFan in interface Target<R extends Renderable>

drawPolygon

public void drawPolygon(Material material,
                        VectorXYZ... vs)
Specified by:
drawPolygon in interface Target<R extends Renderable>