Revision 10847 branches/v10/libraries/libDwg/src/com/iver/cit/jdwglib/dwg/objects/DwgEllipse.java

View differences:

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