/* enforce constraints defined by WorldObjects */
boolean debugConstraints = config.getBoolean("debugConstraints", false);
final EleConstraintEnforcer enforcer = debugConstraints
? new EleConstraintValidator(mapData,
eleConstraintEnforcerFactory.make())
: eleConstraintEnforcerFactory.make();
enforcer.addConnectors(connectors);
if (!(enforcer instanceof NoneEleConstraintEnforcer)) {
FaultTolerantIterationUtil.iterate(mapData.getWorldObjects(),
new Operation<WorldObject>() {
@Override public void perform(WorldObject worldObject) {
worldObject.defineEleConstraints(enforcer);
}
});
}
System.out.println("time add constraints: " + stopWatch);
stopWatch.reset();
stopWatch.start();
enforcer.enforceConstraints();
System.out.println("time enforce constraints: " + stopWatch);
stopWatch.reset();
stopWatch.start();