}\r
\r
\r
- public java.awt.geom.Area getPlus(Amount<Length> regression) {\r
+ private java.awt.geom.Area getPlus(Amount<Length> regression) {\r
java.awt.geom.Area a = new java.awt.geom.Area();\r
for (Shape s : plus)\r
a.add(new java.awt.geom.Area(regress(s, regression\r
return a;\r
}\r
\r
- public java.awt.geom.Area getMinus(Amount<Length> regression) {\r
+ private java.awt.geom.Area getMinus(Amount<Length> regression) {\r
java.awt.geom.Area a = new java.awt.geom.Area();\r
for (Shape s : minus)\r
a.add(new java.awt.geom.Area(regress(s, regression\r
Shape outside = new Ellipse2D.Double(0, 0, 30, 30);\r
xsection.add(outside);\r
xsection.inhibit(outside);\r
- xsection.subtract(new Rectangle2D.Double(13, 13, 4, 30));\r
- //minus.add(new Ellipse2D.Double(12, 12, 6, 6));\r
- length = Amount.valueOf(70, SI.MILLIMETER);\r
+ //xsection.subtract(new Rectangle2D.Double(13, 13, 4, 30));\r
+ xsection.subtract(new Ellipse2D.Double(10,10, 10, 10));\r
+ length = Amount.valueOf(100, SI.MILLIMETER);\r
/**/\r
\r
/*\r
burn.subtract(getCrossSection(regression.plus(Amount.valueOf(.001,\r
SI.MILLIMETER))));\r
\r
- Amount<Area> xSection = crossSectionArea(regression);\r
+ Amount<Area> xSection = ShapeUtil.area(xsection.getShape(regression));\r
\r
return ShapeUtil.perimeter(burn).divide(2).times(rLen).plus(\r
xSection.times(2)).to(Area.UNIT);\r
if (rLen.isLessThan(Amount.valueOf(0, SI.MILLIMETER)))\r
return zero;\r
\r
- Amount<Area> xSection = crossSectionArea(regression);\r
+ Amount<Area> xSection = ShapeUtil.area(xsection.getShape(regression));\r
\r
return xSection.times(rLen).to(Volume.UNIT);\r
\r
}\r
\r
\r
-\r
- \r
- private Amount<Area> crossSectionArea(Amount<Length> regression) {\r
- //Get the PLUS shape and sum its area\r
- java.awt.geom.Area plus = xsection.getPlus(regression);\r
- Amount<Area> plusArea = Amount.valueOf(0, SI.SQUARE_METRE);\r
- for (java.awt.geom.Area a : ShapeUtil.separate(plus)) {\r
- plusArea = plusArea.plus(ShapeUtil.area(a));\r
- }\r
- \r
- //Get the MINUS shape, intersect it with PLUS to get just the parts\r
- //that are removed, sum it's area\r
- java.awt.geom.Area minus = xsection.getMinus(regression);\r
- minus.intersect(plus);\r
- Amount<Area> minusArea = Amount.valueOf(0, SI.SQUARE_METRE);\r
- for (java.awt.geom.Area a : ShapeUtil.separate(minus)) {\r
- minusArea = minusArea.plus(ShapeUtil.area(a));\r
- }\r
- \r
- //Subtract PLUS from MINUS and return\r
- Amount<Area> area = plusArea.minus(minusArea);\r
-\r
- return area;\r
- }\r
-\r
@Override\r
public Amount<Length> webThickness() {\r
return webThickness;\r