Revision 10847 branches/v10/libraries/libDwg/src/com/iver/cit/jdwglib/dwg/objects/DwgEllipse.java
DwgEllipse.java | ||
---|---|---|
35 | 35 |
package com.iver.cit.jdwglib.dwg.objects; |
36 | 36 |
|
37 | 37 |
import java.awt.geom.Point2D; |
38 |
import java.util.ArrayList; |
|
38 | 39 |
import java.util.List; |
39 | 40 |
import java.util.Map; |
40 | 41 |
|
41 | 42 |
import com.iver.cit.gvsig.fmap.core.FPolyline2D; |
42 |
import com.iver.cit.gvsig.fmap.core.FShape; |
|
43 |
import com.iver.cit.gvsig.fmap.core.IGeometry; |
|
44 |
import com.iver.cit.gvsig.fmap.core.ShapeFactory; |
|
43 | 45 |
import com.iver.cit.jdwglib.dwg.DwgFile; |
44 | 46 |
import com.iver.cit.jdwglib.dwg.DwgObject; |
45 | 47 |
import com.iver.cit.jdwglib.dwg.IDwg2FMap; |
... | ... | |
153 | 155 |
/* (non-Javadoc) |
154 | 156 |
* @see com.iver.cit.jdwglib.dwg.IDwg2FMap#toFMapGeometry(boolean) |
155 | 157 |
*/ |
156 |
public FShape toFMapGeometry(boolean is3DFile) {
|
|
158 |
public IGeometry toFMapGeometry(boolean is3DFile) {
|
|
157 | 159 |
FPolyline2D arcc; |
158 | 160 |
double[] c = getCenter(); |
159 | 161 |
Point2D center = new Point2D.Double(c[0], c[1]); |
... | ... | |
163 | 165 |
double axisRatio = getAxisRatio(); |
164 | 166 |
double initAngle = Math.toDegrees(getInitAngle()); |
165 | 167 |
double endAngle = Math.toDegrees(getEndAngle()); |
166 |
Point2D[] arc = GisModelCurveCalculator
|
|
168 |
List arc = GisModelCurveCalculator
|
|
167 | 169 |
.calculateGisModelEllipse(center, mav, axisRatio, |
168 | 170 |
initAngle, endAngle); |
169 | 171 |
if (is3DFile) { |
170 |
double[][] arc3D = new double[arc.length][3];
|
|
171 |
for (int j = 0; j < arc.length; j++) {
|
|
172 |
arc3D[j][0] = arc[j].getX();
|
|
173 |
arc3D[j][1] = arc[j].getY();
|
|
174 |
arc3D[j][2] = c[2];
|
|
172 |
List arc3D = new ArrayList();
|
|
173 |
for (int j = 0; j < arc.size(); j++) {
|
|
174 |
double[] pt = (double[]) arc.get(j);
|
|
175 |
double[] newPt = new double[]{ pt[0], pt[1], c[2]} ;
|
|
176 |
arc3D.add(newPt);
|
|
175 | 177 |
} |
176 | 178 |
arcc = FMapUtil.points3DToFPolyline3D(arc3D); |
177 | 179 |
} else { |
178 | 180 |
arcc = FMapUtil.points2DToFPolyline2D(arc); |
179 | 181 |
} |
180 |
return arcc;
|
|
182 |
return ShapeFactory.createGeometry(arcc);
|
|
181 | 183 |
} |
182 | 184 |
|
183 | 185 |
/* (non-Javadoc) |
Also available in: Unified diff