org.osm2world.core.map_elevation.creation
public interface EleConstraintEnforcer
Modifier and Type | Interface and Description |
---|---|
static class |
EleConstraintEnforcer.ConstraintType
whether a constraint requires a minimum, maximum or exact value
|
Modifier and Type | Method and Description |
---|---|
void |
addConnectors(Iterable<EleConnector> connectors)
makes connectors known to this enforcer.
|
void |
enforceConstraints()
tries to enforce the previously added constraints
on elevations of connectors that have been added using
addConnectors(Iterable) |
void |
requireIncline(EleConstraintEnforcer.ConstraintType type,
double incline,
List<EleConnector> cs)
requires an incline along a sequence of connectors.
|
void |
requireSameEle(EleConnector c1,
EleConnector c2)
requires two connectors to be at the same elevation
|
void |
requireSameEle(Iterable<EleConnector> cs)
requires a number of connectors to be at the same elevation
|
void |
requireSmoothness(EleConnector from,
EleConnector via,
EleConnector to)
requires that there is a "smooth" transition between two line segments
|
void |
requireVerticalDistance(EleConstraintEnforcer.ConstraintType type,
double distance,
EleConnector upper,
EleConnector lower)
requires two connectors' elevations to differ by a given distance
|
void |
requireVerticalDistance(EleConstraintEnforcer.ConstraintType type,
double distance,
EleConnector upper,
EleConnector base1,
EleConnector base2)
requires a connector to be a give distance above a line segment
defined by two other connectors.
|
void addConnectors(Iterable<EleConnector> connectors)
enforceConstraints()
.connectors
- connectors with elevation values initially set to
terrain elevation at their xz positionvoid requireSameEle(EleConnector c1, EleConnector c2)
void requireSameEle(Iterable<EleConnector> cs)
void requireVerticalDistance(EleConstraintEnforcer.ConstraintType type, double distance, EleConnector upper, EleConnector lower)
void requireVerticalDistance(EleConstraintEnforcer.ConstraintType type, double distance, EleConnector upper, EleConnector base1, EleConnector base2)
distance
- distance, may be negative if 'upper' is actually belowvoid requireIncline(EleConstraintEnforcer.ConstraintType type, double incline, List<EleConnector> cs)
incline
- incline value,
negative values are inclines in opposite directionvoid requireSmoothness(EleConnector from, EleConnector via, EleConnector to)
void enforceConstraints()
addConnectors(Iterable)