// @Override
public Collection<TopoDS_Shape> getModel() throws Exception {
+ if (radius < MathTools.NEAR_ZERO || turnRadius < MathTools.NEAR_ZERO)
+ return Collections.emptyList();
double t = Math.tan((Math.PI - turnAngle) * 0.5);
double R = 0.0;
if (t > MathTools.NEAR_ZERO)
// @Override
public Mesh getMesh() {
+ if (radius < MathTools.NEAR_ZERO || turnRadius < MathTools.NEAR_ZERO)
+ return null;
double t = Math.tan((Math.PI - turnAngle) * 0.5);
double R = 0.0;
if (t > MathTools.NEAR_ZERO)
if (radius < MathTools.NEAR_ZERO)
radius = MathTools.NEAR_ZERO;
}
+
+ @Override
+ public void updateCalculatedProperties(Map<String, Object> returnProps) {
+ double t = Math.tan((Math.PI - turnAngle) * 0.5);
+ double R = 0.0;
+ if (t > MathTools.NEAR_ZERO)
+ R = turnRadius / t;
+ returnProps.put("length", R);
+ }
}