Revision 9843 trunk/libraries/libDwg/src/com/iver/cit/jdwglib/dwg/objects/DwgCircle.java

View differences:

DwgCircle.java
36 36

  
37 37
import java.awt.geom.Point2D;
38 38
import java.util.ArrayList;
39
import java.util.Vector;
39
import java.util.List;
40 40

  
41 41
import com.iver.cit.gvsig.fmap.core.FPolyline2D;
42 42
import com.iver.cit.gvsig.fmap.core.FShape;
43
import com.iver.cit.jdwglib.dwg.DwgFile;
43 44
import com.iver.cit.jdwglib.dwg.DwgObject;
44 45
import com.iver.cit.jdwglib.dwg.DwgUtil;
45 46
import com.iver.cit.jdwglib.dwg.IDwg2FMap;
46 47
import com.iver.cit.jdwglib.dwg.IDwg3DTestable;
48
import com.iver.cit.jdwglib.dwg.IDwgBlockMember;
47 49
import com.iver.cit.jdwglib.dwg.IDwgExtrusionable;
48 50
import com.iver.cit.jdwglib.util.AcadExtrusionCalculator;
49 51
import com.iver.cit.jdwglib.util.FMapUtil;
......
55 57
 * @author jmorell
56 58
 */
57 59
public class DwgCircle extends DwgObject
58
	implements IDwgExtrusionable, IDwg3DTestable, IDwg2FMap{
60
	implements IDwgExtrusionable, IDwg3DTestable, IDwg2FMap, IDwgBlockMember{
59 61
	public DwgCircle(int index) {
60 62
		super(index);
61 63
		// TODO Auto-generated constructor stub
......
254 256
	public String toString(){
255 257
		return "Circle";
256 258
	}
259
	public void transform2Block(double[] bPoint, Point2D insPoint, double[] scale, double rot, List dwgObjectsWithoutBlocks, DwgFile callBack) {
260
		double[] center = getCenter();
261
		Point2D pointAux = new Point2D.Double(center[0] - bPoint[0], 
262
					center[1] - bPoint[1]);
263
		double laX = insPoint.getX() + 
264
			((pointAux.getX()*scale[0])*Math.cos(rot) + 
265
			(pointAux.getY()*scale[1])*(-1)*Math.sin(rot));
266
		double laY = insPoint.getY() + 
267
			((pointAux.getX()*scale[0])*Math.sin(rot) + 
268
				(pointAux.getY()*scale[1])*Math.cos(rot));
269
		double laZ = center[2] * scale[2];
270
		double[] transformedCenter = new double[]{laX, laY, laZ};
271
		double radius = getRadius();
272
		double transformedRadius = radius * scale[0];
273
		setCenter(transformedCenter);
274
		setRadius(transformedRadius);
275
		dwgObjectsWithoutBlocks.add(this);
276
	}
257 277
}

Also available in: Unified diff