Revision 9843 trunk/libraries/libDwg/src/com/iver/cit/jdwglib/dwg/objects/DwgCircle.java
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