org.osm2world.core.world.modules
Class BuildingModule.Building

Object
  extended by BuildingModule.Building
All Implemented Interfaces:
Renderable, RenderableToAllTargets, AreaWorldObject, WorldObject, WorldObjectWithOutline
Enclosing class:
BuildingModule

public static class BuildingModule.Building
extends Object
implements AreaWorldObject, WorldObjectWithOutline, RenderableToAllTargets


Constructor Summary
BuildingModule.Building(MapArea area, boolean useBuildingColors, boolean drawBuildingWindows)
           
 
Method Summary
 MapArea getArea()
           
 double getClearingAbove(VectorXZ pos)
          returns the amount of free space above the base elevation required by this feature.
 double getClearingBelow(VectorXZ pos)
          returns the amount of free space below the base elevation required by this feature.
 GroundState getGroundState()
          returns whether this feature is on, above or below the ground.
 PolygonXYZ getOutlinePolygon()
          returns a counterclockwise polygon defining the object's ground footprint.
 SimplePolygonXZ getOutlinePolygonXZ()
          returns a counterclockwise polygon defining the object's ground footprint, projected onto the XZ plane.
 List<BuildingModule.BuildingPart> getParts()
           
 MapElement getPrimaryMapElement()
          returns the "primary" MapElement for this WorldObject; i.e.
 void renderTo(Target<?> target)
           
 
Methods inherited from class Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

BuildingModule.Building

public BuildingModule.Building(MapArea area,
                               boolean useBuildingColors,
                               boolean drawBuildingWindows)
Method Detail

getArea

public MapArea getArea()

getParts

public List<BuildingModule.BuildingPart> getParts()

getPrimaryMapElement

public MapElement getPrimaryMapElement()
Description copied from interface: WorldObject
returns the "primary" MapElement for this WorldObject; i.e. the one it is most strongly associated with. Can be null if there is no (clear) primary element for this feature.

Specified by:
getPrimaryMapElement in interface WorldObject

getGroundState

public GroundState getGroundState()
Description copied from interface: WorldObject
returns whether this feature is on, above or below the ground. This is relevant for elevation calculations, because the elevation of features o.t.g. is directly determined by terrain elevation data. Elevation of features above/below t.g. depends on elevation of features o.t.g. as well as other features above/below t.g.

Specified by:
getGroundState in interface WorldObject

getClearingAbove

public double getClearingAbove(VectorXZ pos)
Description copied from interface: WorldObject
returns the amount of free space above the base elevation required by this feature. If pos isn't on this representation, the clearing for a somewhat nearby point on the feature should be returned.

Specified by:
getClearingAbove in interface WorldObject

getClearingBelow

public double getClearingBelow(VectorXZ pos)
Description copied from interface: WorldObject
returns the amount of free space below the base elevation required by this feature. If pos isn't on this representation, the clearing for a somewhat nearby point on the feature should be returned.

Specified by:
getClearingBelow in interface WorldObject

getOutlinePolygonXZ

public SimplePolygonXZ getOutlinePolygonXZ()
Description copied from interface: WorldObjectWithOutline
returns a counterclockwise polygon defining the object's ground footprint, projected onto the XZ plane.

Specified by:
getOutlinePolygonXZ in interface WorldObjectWithOutline
Returns:
outline polygon; null if this world object doesn't cover any area

getOutlinePolygon

public PolygonXYZ getOutlinePolygon()
Description copied from interface: WorldObjectWithOutline
returns a counterclockwise polygon defining the object's ground footprint.

Specified by:
getOutlinePolygon in interface WorldObjectWithOutline
Returns:
outline polygon; null if this world object doesn't cover any area

renderTo

public void renderTo(Target<?> target)
Specified by:
renderTo in interface RenderableToAllTargets