Revision 10012 trunk/libraries/libDwg/src/com/iver/cit/jdwglib/dwg/objects/DwgPolyline2D.java

View differences:

DwgPolyline2D.java
41 41
import com.iver.cit.gvsig.fmap.core.FPolyline2D;
42 42
import com.iver.cit.gvsig.fmap.core.FShape;
43 43
import com.iver.cit.jdwglib.dwg.DwgFile;
44
import com.iver.cit.jdwglib.dwg.DwgHandleReference;
44 45
import com.iver.cit.jdwglib.dwg.DwgObject;
45 46
import com.iver.cit.jdwglib.dwg.IDwg2FMap;
46 47
import com.iver.cit.jdwglib.dwg.IDwg3DTestable;
......
71 72
	private double thickness;
72 73
	private double elevation;
73 74
	private double[] extrusion;
74
	private int firstVertexHandle;
75
	private int lastVertexHandle;
76
	private int seqendHandle;
75
	private DwgHandleReference firstVertexHandle = null;
76
	private DwgHandleReference lastVertexHandle = null;
77
	private DwgHandleReference seqendHandle = null;
77 78
	private Point2D[] pts;
78 79
	private double[] bulges;
79 80
	
80 81
	/**
81 82
	 * @return Returns the firstVertexHandle.
82 83
	 */
83
	public int getFirstVertexHandle() {
84
	public DwgHandleReference getFirstVertexHandle() {
84 85
		return firstVertexHandle;
85 86
	}
86 87
	/**
87 88
	 * @param firstVertexHandle The firstVertexHandle to set.
88 89
	 */
89
	public void setFirstVertexHandle(int firstVertexHandle) {
90
	public void setFirstVertexHandle(DwgHandleReference firstVertexHandle) {
90 91
		this.firstVertexHandle = firstVertexHandle;
91 92
	}
92 93
	/**
......
104 105
	/**
105 106
	 * @return Returns the lastVertexHandle.
106 107
	 */
107
	public int getLastVertexHandle() {
108
	public DwgHandleReference getLastVertexHandle() {
108 109
		return lastVertexHandle;
109 110
	}
110 111
	/**
111 112
	 * @param lastVertexHandle The lastVertexHandle to set.
112 113
	 */
113
	public void setLastVertexHandle(int lastVertexHandle) {
114
	public void setLastVertexHandle(DwgHandleReference lastVertexHandle) {
114 115
		this.lastVertexHandle = lastVertexHandle;
115 116
	}
116 117
	/**
......
152 153
	/**
153 154
	 * @return Returns the seqendHandle.
154 155
	 */
155
	public int getSeqendHandle() {
156
	public DwgHandleReference getSeqendHandle() {
156 157
		return seqendHandle;
157 158
	}
158 159
	/**
159 160
	 * @param seqendHandle The seqendHandle to set.
160 161
	 */
161
	public void setSeqendHandle(int seqendHandle) {
162
	public void setSeqendHandle(DwgHandleReference seqendHandle) {
162 163
		this.seqendHandle = seqendHandle;
163 164
	}
164 165
	/**
......
257 258
	
258 259
	public void calculateGisModel(DwgFile dwgFile){
259 260
		int flags = getFlags();
260
		int firstHandle = getFirstVertexHandle();
261
		int lastHandle = getLastVertexHandle();
261
//		En estas dos lineas de abajo y en el resto del metodo
262
//		se mantiene el mecanismo anterior al refactoring.
263
//		TODO: Pensar si deberiamos coger el handle completo.
264
//		Tal vez deberiamos tomar el handle completo y evaluar
265
//		a donde apuntan (pueden haber 2 handles con codigo y offset
266
//		distintos y que, sin embargo apunten al mismo objeto).
267
		int firstHandle = getFirstVertexHandle().getOffset();
268
		int lastHandle = getLastVertexHandle().getOffset();
262 269
		ArrayList pts = new ArrayList();
263 270
		ArrayList bulges = new ArrayList();
264 271
		double[] pt = new double[3];
......
340 347
	//No obstante lo dejo porque hace referencia a SeqEnd y a un posible bug
341 348
	public void calculateGisModel(List dwgObjects) {
342 349
		int flags = getFlags();
343
		int firstHandle = getFirstVertexHandle();
344
		int lastHandle = getLastVertexHandle();
350
//		En estas dos lineas de abajo y en el resto del metodo
351
//		se mantiene el mecanismo anterior al refactoring.
352
//		TODO: Pensar si deberiamos coger el handle completo.
353
//		Tal vez deberiamos tomar el handle completo y evaluar
354
//		a donde apuntan (pueden haber 2 handles con codigo y offset
355
//		distintos y que, sin embargo apunten al mismo objeto).
356
		int firstHandle = getFirstVertexHandle().getOffset();
357
		int lastHandle = getLastVertexHandle().getOffset();
345 358
		ArrayList pts = new ArrayList();
346 359
		ArrayList bulges = new ArrayList();
347 360
		double[] pt = new double[3];
......
352 365
			DwgObject firstVertex = (DwgObject)dwgObjects.get(j);
353 366
			
354 367
			if (firstVertex instanceof DwgVertex2D) {
355
				int vertexHandle = firstVertex.getHandle();
368
				int vertexHandle = firstVertex.getHandle().getOffset();
356 369
				if (vertexHandle==firstHandle) {
357 370
					int k=0;
358 371
					while (true) {
359 372
						DwgObject vertex = (DwgObject)dwgObjects.get(j+k);
360
						int vHandle = vertex.getHandle();
373
						int vHandle = vertex.getHandle().getOffset();
361 374
						if (vertex instanceof DwgVertex2D) {
362 375
							pt = ((DwgVertex2D)vertex).getPoint();
363 376
							pts.add(new Point2D.Double(pt[0], pt[1]));

Also available in: Unified diff