Revision 10303

View differences:

trunk/libraries/libDwg/src/com/iver/cit/jdwglib/dwg/objects/DwgText.java
35 35
package com.iver.cit.jdwglib.dwg.objects;
36 36

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

  
39 41
import com.iver.cit.gvsig.fmap.core.FPoint2D;
40 42
import com.iver.cit.gvsig.fmap.core.FPoint3D;
41 43
import com.iver.cit.gvsig.fmap.core.FShape;
44
import com.iver.cit.jdwglib.dwg.DwgFile;
42 45
import com.iver.cit.jdwglib.dwg.DwgHandleReference;
43 46
import com.iver.cit.jdwglib.dwg.DwgObject;
44 47
import com.iver.cit.jdwglib.dwg.IDwg2FMap;
45 48
import com.iver.cit.jdwglib.dwg.IDwg3DTestable;
49
import com.iver.cit.jdwglib.dwg.IDwgBlockMember;
46 50
import com.iver.cit.jdwglib.dwg.IDwgExtrusionable;
47 51
import com.iver.cit.jdwglib.util.AcadExtrusionCalculator;
48 52

  
......
52 56
 * @author jmorell
53 57
 */
54 58
public class DwgText extends DwgObject 
55
	implements IDwgExtrusionable, IDwg3DTestable, IDwg2FMap {
59
					implements IDwgExtrusionable, 
60
					IDwg3DTestable, 
61
					IDwg2FMap,
62
					IDwgBlockMember{
56 63
	public DwgText(int index) {
57 64
		super(index);
58 65
		// TODO Auto-generated constructor stub
......
307 314
	 * @see java.lang.Object#clone()
308 315
	 */
309 316
	public Object clone(){
310
		DwgCircle obj = new DwgCircle(index);
317
		DwgText obj = new DwgText(index);
311 318
		this.fill(obj);
312 319
		return obj;
313 320
	}
314 321
	
315 322
	protected void fill(DwgObject obj){
316 323
		super.fill(obj);
317
		DwgCircle myObj = (DwgCircle)obj;
324
		DwgText myObj = (DwgText)obj;
318 325

  
319
		setAlignmentPoint(alignmentPoint);
320
		setDataFlag(dataFlag);
321
		setElevation(elevation);
326
		myObj.setAlignmentPoint(alignmentPoint);
327
		myObj.setDataFlag(dataFlag);
328
		myObj.setElevation(elevation);
322 329
		myObj.setExtrusion(extrusion);
323
		setGeneration(generation);
324
		setHalign(halign);
325
		setHeight(height);
326
		setInsertionPoint(insertionPoint);
327
		setObliqueAngle(obliqueAngle);
328
		setRotationAngle(rotationAngle);
329
		setStyleHandle(styleHdl);
330
		setText(text);
330
		myObj.setGeneration(generation);
331
		myObj.setHalign(halign);
332
		myObj.setHeight(height);
333
		myObj.setInsertionPoint(insertionPoint);
334
		myObj.setObliqueAngle(obliqueAngle);
335
		myObj.setRotationAngle(rotationAngle);
336
		myObj.setStyleHandle(styleHdl);
337
		myObj.setText(text);
331 338
		myObj.setThickness(thickness);
332
		setValign(valign);
333
		setWidthFactor(widthFactor);
339
		myObj.setValign(valign);
340
		myObj.setWidthFactor(widthFactor);
334 341
	}
342
	
343
	//TODO Implement
344
	public void transform2Block(double[] bPoint, Point2D insPoint, double[] scale, double rot, List dwgObjectsWithoutBlocks, Map handle_objectsWithoutBlocks, DwgFile callBack) {
345
		 Point2D pointAux = new Point2D.Double(insertionPoint.getX() - bPoint[0], 
346
				 insertionPoint.getY() - bPoint[1]);
347
		 double laX = insPoint.getX() + ((pointAux.getX()*scale[0])*Math.cos(rot) + (pointAux.getY()*scale[1])*(-1)*Math.sin(rot));
348
		 double laY = insPoint.getY() + ((pointAux.getX()*scale[0])*Math.sin(rot) + (pointAux.getY()*scale[1])*Math.cos(rot));
335 349

  
350
		 Point2D.Double newInsertionPoint = new Point2D.Double(laX, laY);
351
		 DwgText transformedEntity = (DwgText) this.clone();
352
		 transformedEntity.setInsertionPoint(newInsertionPoint);
353
		 
354
		 pointAux = new Point2D.Double(alignmentPoint.getX() - bPoint[0], 
355
				 alignmentPoint.getY() - bPoint[1]);
356
		 laX = insPoint.getX() + ((pointAux.getX()*scale[0])*Math.cos(rot) + (pointAux.getY()*scale[1])*(-1)*Math.sin(rot));
357
		 laY = insPoint.getY() + ((pointAux.getX()*scale[0])*Math.sin(rot) + (pointAux.getY()*scale[1])*Math.cos(rot));
358
		 Point2D.Double newAlignPoint = new Point2D.Double(laX, laY);
359
		 transformedEntity.setAlignmentPoint(newAlignPoint);
360
		 
361
		 //TODO Transformar el resto de parametros en base a los datos del bloque
362
		 //altura, etc.
363
	}
364

  
336 365
}

Also available in: Unified diff