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