\r
import java.awt.Rectangle;\r
import java.awt.Shape;\r
+import java.awt.geom.AffineTransform;\r
import java.awt.geom.Ellipse2D;\r
import java.awt.geom.Rectangle2D;\r
\r
\r
double rLenmm = rLen.doubleValue(SI.MILLIMETER);\r
\r
- //TODO Shift up or down based on burning ends\r
for( java.awt.geom.Area a : ShapeUtil.separate(getCrossSection(regression))){\r
Rectangle2D bounds = a.getBounds2D();\r
Rectangle2D side = new Rectangle2D.Double(bounds.getMinX(), -rLenmm/2.0, bounds.getWidth(), rLenmm);\r
res.add(new java.awt.geom.Area(side));\r
}\r
+ \r
+ //Shift up or down based on burning ends\r
+ if ( isForeEndInhibited() ){\r
+ res.transform(AffineTransform.getTranslateInstance(0, +rLenmm/2.0));\r
+ }\r
+ if ( isAftEndInhibited() ){\r
+ res.transform(AffineTransform.getTranslateInstance(0, -rLenmm/2.0));\r
+ }\r
return res;\r
}\r
\r