org.osm2world.core.map_elevation.creation
Class ForceElevationCalculator.ForceElevationDeterminationScenario.VerticalDistanceForce

Object
  extended by ForceElevationCalculator.ForceElevationDeterminationScenario.VerticalDistanceForce
All Implemented Interfaces:
ForceElevationCalculator.ForceElevationDeterminationScenario.Force
Enclosing class:
ForceElevationCalculator.ForceElevationDeterminationScenario

protected static final class ForceElevationCalculator.ForceElevationDeterminationScenario.VerticalDistanceForce
extends Object
implements ForceElevationCalculator.ForceElevationDeterminationScenario.Force

force that tries to enforce a minimum vertical distance between two nodes, used at intersections and overlaps


Constructor Summary
ForceElevationCalculator.ForceElevationDeterminationScenario.VerticalDistanceForce(AdvancedAbstractElevationCalculator.AbstractElevationDeterminationScenario.ForceNode lowerNode, AdvancedAbstractElevationCalculator.AbstractElevationDeterminationScenario.ForceNode upperNode, double minDistance)
           
 
Method Summary
 void apply()
          applies this force to the nodes affected by it.
 void prepare(float forceScale)
          Calculates the effect of the next application, but doesn't modify the ForceNodes yet.
 
Methods inherited from class Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

ForceElevationCalculator.ForceElevationDeterminationScenario.VerticalDistanceForce

public ForceElevationCalculator.ForceElevationDeterminationScenario.VerticalDistanceForce(AdvancedAbstractElevationCalculator.AbstractElevationDeterminationScenario.ForceNode lowerNode,
                                                                                          AdvancedAbstractElevationCalculator.AbstractElevationDeterminationScenario.ForceNode upperNode,
                                                                                          double minDistance)
Method Detail

prepare

public void prepare(float forceScale)
Description copied from interface: ForceElevationCalculator.ForceElevationDeterminationScenario.Force
Calculates the effect of the next application, but doesn't modify the ForceNodes yet. Must be called once before each ForceElevationCalculator.ForceElevationDeterminationScenario.Force.apply() call. This method has been introduced to remove effects of the force order (otherwise, later forces could "react" to the previous ones).

Specified by:
prepare in interface ForceElevationCalculator.ForceElevationDeterminationScenario.Force
Parameters:
forceScale - scale factor for the force's strength

apply

public void apply()
Description copied from interface: ForceElevationCalculator.ForceElevationDeterminationScenario.Force
applies this force to the nodes affected by it.

Specified by:
apply in interface ForceElevationCalculator.ForceElevationDeterminationScenario.Force