Revision 10014
trunk/libraries/libDwg/src/com/iver/cit/jdwglib/dwg/DwgObject.java | ||
---|---|---|
45 | 45 |
public class DwgObject { |
46 | 46 |
protected int type; |
47 | 47 |
|
48 |
protected int handle;
|
|
48 |
protected DwgHandleReference handle;
|
|
49 | 49 |
|
50 | 50 |
protected String version; |
51 | 51 |
|
... | ... | |
54 | 54 |
/** |
55 | 55 |
* code of the layer handle |
56 | 56 |
*/ |
57 |
protected int layerHandleCode; |
|
57 |
//protected int layerHandleCode;
|
|
58 | 58 |
|
59 | 59 |
/** |
60 | 60 |
* layer handle as an integer |
61 | 61 |
*/ |
62 |
protected int layerHandle;
|
|
62 |
protected DwgHandleReference layerHandle;
|
|
63 | 63 |
|
64 | 64 |
protected int color; |
65 | 65 |
|
... | ... | |
77 | 77 |
|
78 | 78 |
protected int graphicData; |
79 | 79 |
|
80 |
protected int subEntityHandle;
|
|
80 |
protected DwgHandleReference plotStyleHandle = null;
|
|
81 | 81 |
|
82 |
protected int xDicObjHandle;
|
|
82 |
protected DwgHandleReference subEntityHandle = null;
|
|
83 | 83 |
|
84 |
protected DwgHandleReference xDicObjHandle = null; |
|
85 |
|
|
84 | 86 |
protected boolean graphicsFlag; |
85 | 87 |
|
86 | 88 |
/** |
... | ... | |
93 | 95 |
* Previous and Next Handle (this stuff has allowed us to solve the problem |
94 | 96 |
* of layer handles |
95 | 97 |
*/ |
96 |
private int nextHandle = -1;
|
|
98 |
private DwgHandleReference nextHandle = null;
|
|
97 | 99 |
|
98 |
private int previousHandle = -1;
|
|
100 |
private DwgHandleReference previousHandle = null;
|
|
99 | 101 |
|
100 |
private int previousHandleCode = -1;
|
|
102 |
//private ArrayList reactorsHandlesCodes = new ArrayList();
|
|
101 | 103 |
|
102 |
private int nextHandleCode = -1; |
|
103 |
|
|
104 |
private int xDicObjHandleCode = -1; |
|
105 |
|
|
106 |
private int subEntityHandleCode = -1; |
|
107 |
|
|
108 |
private ArrayList reactorsHandlesCodes = new ArrayList(); |
|
109 |
|
|
110 | 104 |
private ArrayList reactorsHandles = new ArrayList(); |
111 | 105 |
|
112 | 106 |
public DwgObject(int index) { |
113 | 107 |
this.index = index; |
114 | 108 |
} |
115 | 109 |
|
116 |
public void setNextHandleCode(int i) { |
|
117 |
this.nextHandleCode = i; |
|
118 |
} |
|
110 |
public void setNextHandle(DwgHandleReference hr) { |
|
111 |
this.nextHandle = hr; |
|
119 | 112 |
|
120 |
public void setPreviousHandleCode(int i) { |
|
121 |
this.previousHandleCode = i; |
|
122 |
|
|
123 | 113 |
} |
124 | 114 |
|
125 |
public void setNextHandle(int i) { |
|
126 |
this.nextHandle = i; |
|
127 |
|
|
115 |
public void setPreviousHandle(DwgHandleReference hr) { |
|
116 |
this.previousHandle = hr; |
|
128 | 117 |
} |
129 | 118 |
|
130 |
public void setPreviousHandle(int i) { |
|
131 |
this.previousHandle = i; |
|
132 |
} |
|
133 |
|
|
134 |
private void setSubEntityHandleCode(int i) { |
|
135 |
this.subEntityHandleCode = i; |
|
136 |
} |
|
137 |
|
|
138 |
private void setXDicObjHandleCode(int i) { |
|
139 |
this.xDicObjHandleCode = i; |
|
140 |
} |
|
141 |
|
|
119 |
/* |
|
142 | 120 |
public void setReactorsHandles(ArrayList reactorsHandles) { |
143 | 121 |
this.reactorsHandlesCodes=reactorsHandles; |
144 | 122 |
} |
123 |
*/ |
|
145 | 124 |
|
146 |
public void addReactorHandle(int reactorHandleCode, int reactorHandle) { |
|
147 |
if (this.reactorsHandlesCodes == null || this.reactorsHandles == null){ |
|
148 |
this.reactorsHandlesCodes = new ArrayList(); |
|
125 |
public void addReactorHandle(DwgHandleReference hr) { |
|
126 |
if (this.reactorsHandles == null){ |
|
149 | 127 |
this.reactorsHandles = new ArrayList(); |
150 | 128 |
} |
151 |
this.reactorsHandlesCodes.add(new Integer(reactorHandleCode)); |
|
152 |
this.reactorsHandles.add(new Integer(reactorHandle)); |
|
129 |
this.reactorsHandles.add(hr); |
|
153 | 130 |
} |
154 | 131 |
|
155 | 132 |
|
156 |
|
|
157 |
public int getNextHandleCode() { |
|
158 |
return this.nextHandleCode; |
|
159 |
} |
|
160 |
|
|
161 |
public int getPreviousHandleCode() { |
|
162 |
return this.previousHandleCode; |
|
163 |
} |
|
164 |
|
|
165 |
public int getNextHandle() { |
|
133 |
public DwgHandleReference getNextHandle() { |
|
166 | 134 |
return this.nextHandle; |
167 | 135 |
|
168 | 136 |
} |
169 | 137 |
|
170 |
public int getPreviousHandle() {
|
|
138 |
public DwgHandleReference getPreviousHandle() {
|
|
171 | 139 |
return this.previousHandle; |
172 | 140 |
} |
173 | 141 |
|
174 |
public int getSubEntityHandleCode() { |
|
175 |
return this.subEntityHandleCode; |
|
176 |
} |
|
177 |
|
|
178 |
public int getXDicObjHandleCode() { |
|
179 |
return this.xDicObjHandleCode; |
|
180 |
} |
|
181 |
|
|
182 |
public ArrayList getReactorsHandlesCodes() { |
|
183 |
return this.reactorsHandlesCodes; |
|
184 |
} |
|
185 |
|
|
186 | 142 |
public ArrayList getReactorsHandles() { |
187 | 143 |
return this.reactorsHandles; |
188 | 144 |
} |
189 | 145 |
|
190 | 146 |
//TODO Todo esto no vale si handle puede tomar valor -1 |
191 | 147 |
public boolean hasNextHandle() { |
192 |
return this.nextHandle != -1;
|
|
148 |
return this.nextHandle != null;
|
|
193 | 149 |
} |
194 | 150 |
|
195 | 151 |
public boolean hasPreviousHandle() { |
196 |
return this.previousHandle != -1;
|
|
152 |
return this.previousHandle != null;
|
|
197 | 153 |
} |
198 | 154 |
|
199 | 155 |
public boolean hasSubEntityHandle(){ |
200 |
return this.subEntityHandleCode != -1;
|
|
156 |
return this.subEntityHandle != null;
|
|
201 | 157 |
} |
202 | 158 |
|
203 | 159 |
public boolean hasXDicObjHandle(){ |
204 |
return this.xDicObjHandleCode != -1;
|
|
160 |
return this.xDicObjHandle != null;
|
|
205 | 161 |
} |
206 | 162 |
|
207 | 163 |
public boolean hasReactorsHandles(){ |
208 |
return this.reactorsHandlesCodes.size() != 0;
|
|
164 |
return this.reactorsHandles.size() != 0; |
|
209 | 165 |
} |
210 | 166 |
|
211 | 167 |
public int reactorsHandlesQuantity(){ |
212 |
return this.reactorsHandlesCodes.size();
|
|
168 |
return this.reactorsHandles.size(); |
|
213 | 169 |
} |
214 | 170 |
|
215 |
|
|
216 | 171 |
public int getIndex() { |
217 | 172 |
return index; |
218 | 173 |
} |
... | ... | |
288 | 243 |
/** |
289 | 244 |
* @return Returns the subEntityHandle. |
290 | 245 |
*/ |
291 |
public int getSubEntityHandle() {
|
|
246 |
public DwgHandleReference getSubEntityHandle() {
|
|
292 | 247 |
return subEntityHandle; |
293 | 248 |
} |
294 | 249 |
|
... | ... | |
296 | 251 |
* @param subEntityHandle |
297 | 252 |
* The subEntityHandle to set. |
298 | 253 |
*/ |
299 |
public void setSubEntityHandle(int subEntityHandle) {
|
|
254 |
public void setSubEntityHandle(DwgHandleReference subEntityHandle) {
|
|
300 | 255 |
this.subEntityHandle = subEntityHandle; |
301 | 256 |
} |
302 | 257 |
|
303 | 258 |
/** |
304 | 259 |
* @return Returns the xDicObjHandle. |
305 | 260 |
*/ |
306 |
public int getXDicObjHandle() {
|
|
261 |
public DwgHandleReference getXDicObjHandle() {
|
|
307 | 262 |
return xDicObjHandle; |
308 | 263 |
} |
309 | 264 |
|
... | ... | |
311 | 266 |
* @param dicObjHandle |
312 | 267 |
* The xDicObjHandle to set. |
313 | 268 |
*/ |
314 |
public void setXDicObjHandle(int dicObjHandle) {
|
|
269 |
public void setXDicObjHandle(DwgHandleReference dicObjHandle) {
|
|
315 | 270 |
xDicObjHandle = dicObjHandle; |
316 | 271 |
} |
317 | 272 |
|
318 | 273 |
/** |
319 |
* @return Returns the layerHandleCode. |
|
320 |
*/ |
|
321 |
public int getLayerHandleCode() { |
|
322 |
return layerHandleCode; |
|
323 |
} |
|
324 |
|
|
325 |
/** |
|
326 |
* @param layerHandleCode |
|
327 |
* The layerHandleCode to set. |
|
328 |
*/ |
|
329 |
public void setLayerHandleCode(int layerHandleCode) { |
|
330 |
this.layerHandleCode = layerHandleCode; |
|
331 |
} |
|
332 |
|
|
333 |
/** |
|
334 | 274 |
* @return Returns the color. |
335 | 275 |
*/ |
336 | 276 |
public int getColor() { |
... | ... | |
348 | 288 |
/** |
349 | 289 |
* @return Returns the handle. |
350 | 290 |
*/ |
351 |
public int getHandle() {
|
|
291 |
public DwgHandleReference getHandle() {
|
|
352 | 292 |
return handle; |
353 | 293 |
} |
354 | 294 |
|
... | ... | |
356 | 296 |
* @param handle |
357 | 297 |
* The handle to set. |
358 | 298 |
*/ |
359 |
public void setHandle(int handle) {
|
|
299 |
public void setHandle(DwgHandleReference handle) {
|
|
360 | 300 |
this.handle = handle; |
361 | 301 |
} |
362 | 302 |
|
363 | 303 |
/** |
364 | 304 |
* @return Returns the layerHandle. |
365 | 305 |
*/ |
366 |
public int getLayerHandle() {
|
|
306 |
public DwgHandleReference getLayerHandle() {
|
|
367 | 307 |
return layerHandle; |
368 | 308 |
} |
369 | 309 |
|
... | ... | |
371 | 311 |
* @param layerHandle |
372 | 312 |
* The layerHandle to set. |
373 | 313 |
*/ |
374 |
public void setLayerHandle(int layerHandle) {
|
|
314 |
public void setLayerHandle(DwgHandleReference layerHandle) {
|
|
375 | 315 |
this.layerHandle = layerHandle; |
376 | 316 |
} |
377 | 317 |
|
... | ... | |
485 | 425 |
return lyrByLineType; |
486 | 426 |
} |
487 | 427 |
|
428 |
public void setPlotStyleHandle(DwgHandleReference hr) { |
|
429 |
this.plotStyleHandle = hr; |
|
430 |
|
|
431 |
} |
|
432 |
|
|
433 |
public boolean hasPlotStyleHandle() { |
|
434 |
return this.plotStyleHandle != null; |
|
435 |
} |
|
436 |
|
|
488 | 437 |
/* |
489 | 438 |
* Esto solo se usa para la version 13-14 |
490 | 439 |
*/ |
491 |
int lineTypeHandle;
|
|
440 |
DwgHandleReference lineTypeHandle = null;
|
|
492 | 441 |
|
493 | 442 |
/** |
494 | 443 |
* Sets the handle of the line type of this drawing entity. |
... | ... | |
497 | 446 |
* |
498 | 447 |
* @param handle2 |
499 | 448 |
*/ |
500 |
public void setLineType(int handle) {
|
|
501 |
this.lineTypeHandle = handle;
|
|
449 |
public void setLineTypeHandle(DwgHandleReference hr) {
|
|
450 |
this.lineTypeHandle = hr;
|
|
502 | 451 |
|
503 | 452 |
} |
453 |
|
|
454 |
public boolean hasLineTypeHandle() { |
|
455 |
return this.lineTypeHandle != null; |
|
456 |
} |
|
457 |
|
|
458 |
|
|
504 | 459 |
} |
trunk/libraries/libDwg/src/com/iver/cit/jdwglib/dwg/DwgFile.java | ||
---|---|---|
280 | 280 |
* |
281 | 281 |
*/ |
282 | 282 |
public void addDwgLayer(DwgLayer dwgLayer){ |
283 |
layerTable.put(new Integer(dwgLayer.getHandle()), |
|
283 |
layerTable.put(new Integer(dwgLayer.getHandle().getOffset()),
|
|
284 | 284 |
dwgLayer); |
285 | 285 |
} |
286 | 286 |
|
287 | 287 |
public DwgLayer getDwgLayer(DwgObject entity){ |
288 | 288 |
|
289 |
int handleCode = entity.getLayerHandleCode(); |
|
290 |
int entityLayerHandle = entity.getLayerHandle(); |
|
289 |
int handleCode = entity.getLayerHandle().getCode();
|
|
290 |
int entityLayerHandle = entity.getLayerHandle().getOffset();
|
|
291 | 291 |
int layerHandle = -1; |
292 | 292 |
|
293 | 293 |
int entityRecord; |
... | ... | |
318 | 318 |
System.out.println ("handleCode"+handleCode); |
319 | 319 |
System.out.println ("entityLayerHandle"+entityLayerHandle); |
320 | 320 |
if(entity.hasNextHandle()){ |
321 |
System.out.println ("nextHandleCode"+entity.getNextHandleCode()); |
|
322 |
System.out.println ("nextHandle"+entity.getNextHandle()); |
|
321 |
System.out.println ("nextHandleCode"+entity.getNextHandle().getCode());
|
|
322 |
System.out.println ("nextHandle"+entity.getNextHandle().getOffset());
|
|
323 | 323 |
} |
324 | 324 |
if(entity.hasPreviousHandle()){ |
325 |
System.out.println ("previousHandleCode"+entity.getPreviousHandleCode()); |
|
326 |
System.out.println ("previousHandle"+entity.getPreviousHandle()); |
|
325 |
System.out.println ("previousHandleCode"+entity.getPreviousHandle().getCode());
|
|
326 |
System.out.println ("previousHandle"+entity.getPreviousHandle().getOffset());
|
|
327 | 327 |
} |
328 | 328 |
if(entity.hasXDicObjHandle()){ |
329 |
System.out.println ("xDicObjHandleCode"+entity.getXDicObjHandleCode());
|
|
329 |
System.out.println ("xDicObjHandleCode"+entity.getXDicObjHandle()); |
|
330 | 330 |
System.out.println ("xDicObjHandle"+entity.getXDicObjHandle()); |
331 | 331 |
} |
332 | 332 |
if(entity.hasReactorsHandles()){ |
333 |
ArrayList reactorsHandlesCode = entity.getReactorsHandlesCodes();
|
|
333 |
//ArrayList reactorsHandlesCode = entity.getReactorsHandles().get;
|
|
334 | 334 |
ArrayList reactorsHandles = entity.getReactorsHandles(); |
335 |
int size = reactorsHandlesCode.size();
|
|
335 |
int size = reactorsHandles.size(); |
|
336 | 336 |
System.out.print ("NUMERO DE reactors"+size); |
337 |
DwgHandleReference hr; |
|
337 | 338 |
for(int i=0; i<size; i++){ |
338 |
System.out.print ("reactorHandleCode"+reactorsHandlesCode.get(i)); |
|
339 |
System.out.println (" reactorHandle"+reactorsHandles.get(i)); |
|
339 |
hr=(DwgHandleReference)reactorsHandles.get(i); |
|
340 |
System.out.print ("reactorHandleCode"+hr.getCode()); |
|
341 |
System.out.println (" reactorHandle"+hr.getOffset()); |
|
340 | 342 |
} |
341 | 343 |
} |
342 | 344 |
break; |
... | ... | |
344 | 346 |
case 0x4: |
345 | 347 |
case 0x8: |
346 | 348 |
if (entity.hasNextHandle()){ |
347 |
int nextHandleCode = entity.getNextHandleCode(); |
|
349 |
int nextHandleCode = entity.getNextHandle().getCode();
|
|
348 | 350 |
if (nextHandleCode == 0x5) { |
349 |
layerHandle = entity.getNextHandle(); |
|
351 |
layerHandle = entity.getNextHandle().getOffset();
|
|
350 | 352 |
} else { |
351 | 353 |
//TODO No se han previsto nextHandleCode != 0x5 |
352 | 354 |
System.out.println ("DwgFile.getDwgLayer: handleCode "+handleCode+ |
... | ... | |
354 | 356 |
} |
355 | 357 |
} |
356 | 358 |
break; |
359 |
case 0x0: |
|
357 | 360 |
case 0x5: |
358 |
layerHandle = entity.getLayerHandle(); |
|
361 |
layerHandle = entity.getLayerHandle().getOffset();
|
|
359 | 362 |
break; |
360 | 363 |
case 0xC: |
361 | 364 |
if (entity.hasNextHandle()){ |
362 |
int nextHandleCode = entity.getNextHandleCode(); |
|
365 |
int nextHandleCode = entity.getNextHandle().getCode();
|
|
363 | 366 |
if (nextHandleCode == 0x5) { |
364 |
layerHandle = entity.getNextHandle(); |
|
367 |
layerHandle = entity.getNextHandle().getOffset();
|
|
365 | 368 |
} else { |
366 | 369 |
//TODO No se han previsto nextHandleCode!=0x5 |
367 | 370 |
System.out.println ("DwgFile.getDwgLayer: handleCode "+handleCode+ |
368 | 371 |
" con nextHandleCode "+ nextHandleCode +" no implementado."); |
369 | 372 |
} |
370 | 373 |
} else { |
371 |
layerHandle = entity.getHandle() - entity.getLayerHandle() + 1;
|
|
374 |
layerHandle = entity.getHandle().getOffset() - entity.getLayerHandle().getOffset() + 1;
|
|
372 | 375 |
} |
373 | 376 |
break; |
374 | 377 |
default: |
... | ... | |
379 | 382 |
Iterator lyrIterator = layerTable.values().iterator(); |
380 | 383 |
while(lyrIterator.hasNext()){ |
381 | 384 |
DwgLayer lyr = (DwgLayer) lyrIterator.next(); |
382 |
int lyrHdl = lyr.getHandle(); |
|
385 |
int lyrHdl = lyr.getHandle().getOffset();
|
|
383 | 386 |
if (lyrHdl == layerHandle){ |
384 | 387 |
return lyr; |
385 | 388 |
} |
386 | 389 |
} |
387 | 390 |
} |
388 |
System.out.println(" NO SE HA ENCONTRADO UNA CAPA CON HANDLE " + layerHandle + ". handleCode = " + handleCode); |
|
391 |
System.out.println(" NO SE HA ENCONTRADO UNA CAPA CON HANDLE " + layerHandle + ". handleCode = " + handleCode + " entity.index = "+entity.index +" entity.type = " + entity.type + " entityClassName = "+ entity.getClass().getName());
|
|
389 | 392 |
return null; |
390 | 393 |
} |
391 | 394 |
|
... | ... | |
470 | 473 |
DwgObject pol = (DwgObject)dwgObjects.get(i); |
471 | 474 |
if (pol instanceof DwgPolyline2D) { |
472 | 475 |
int flags = ((DwgPolyline2D)pol).getFlags(); |
473 |
int firstHandle = ((DwgPolyline2D)pol).getFirstVertexHandle(); |
|
474 |
int lastHandle = ((DwgPolyline2D)pol).getLastVertexHandle(); |
|
476 |
int firstHandle = ((DwgPolyline2D)pol).getFirstVertexHandle().getOffset();
|
|
477 |
int lastHandle = ((DwgPolyline2D)pol).getLastVertexHandle().getOffset();
|
|
475 | 478 |
ArrayList pts = new ArrayList(); |
476 | 479 |
ArrayList bulges = new ArrayList(); |
477 | 480 |
double[] pt = new double[3]; |
478 | 481 |
for (int j=0;j<dwgObjects.size();j++) { |
479 | 482 |
DwgObject firstVertex = (DwgObject)dwgObjects.get(j); |
480 | 483 |
if (firstVertex instanceof DwgVertex2D) { |
481 |
int vertexHandle = firstVertex.getHandle(); |
|
484 |
int vertexHandle = firstVertex.getHandle().getOffset();
|
|
482 | 485 |
if (vertexHandle==firstHandle) { |
483 | 486 |
int k=0; |
484 | 487 |
while (true) { |
485 | 488 |
DwgObject vertex = (DwgObject)dwgObjects.get(j+k); |
486 |
int vHandle = vertex.getHandle(); |
|
489 |
int vHandle = vertex.getHandle().getOffset();
|
|
487 | 490 |
if (vertex instanceof DwgVertex2D) { |
488 | 491 |
pt = ((DwgVertex2D)vertex).getPoint(); |
489 | 492 |
pts.add(new Point2D.Double(pt[0], pt[1])); |
... | ... | |
587 | 590 |
Point2D point = new Point2D.Double(p[0], p[1]); |
588 | 591 |
double[] scale = ((DwgInsert)entity).getScale(); |
589 | 592 |
double rot = ((DwgInsert)entity).getRotation(); |
590 |
int blockHandle = ((DwgInsert)entity).getBlockHeaderHandle(); |
|
593 |
int blockHandle = ((DwgInsert)entity).getBlockHeaderHandle().getOffset();
|
|
591 | 594 |
manageInsert(point, scale, rot, blockHandle, dwgObjectsWithoutBlocks); |
592 | 595 |
} else { |
593 | 596 |
// System.out.println(entity.getClass().getName() +" en un bloque"); |
... | ... | |
818 | 821 |
//TODO Ver si puedo inicializar las listas especificas |
819 | 822 |
//(IDwgPolyline, etc) aqu? |
820 | 823 |
dwgObjects.add(dwgObject); |
821 |
handle_objects.put(new Integer(dwgObject.getHandle()), dwgObject); |
|
824 |
handle_objects.put(new Integer(dwgObject.getHandle().getOffset()), dwgObject);
|
|
822 | 825 |
/* |
823 | 826 |
* TODO Quitar todos estos if-then y sustituirlos por un metodo callbackj |
824 | 827 |
* |
trunk/libraries/libDwg/src/com/iver/cit/jdwglib/dwg/readers/DwgFileV14Reader.java | ||
---|---|---|
47 | 47 |
import com.iver.cit.gvsig.fmap.drivers.dgn.ByteUtils; |
48 | 48 |
import com.iver.cit.jdwglib.dwg.DwgClass; |
49 | 49 |
import com.iver.cit.jdwglib.dwg.DwgFile; |
50 |
import com.iver.cit.jdwglib.dwg.DwgHandleReference; |
|
50 | 51 |
import com.iver.cit.jdwglib.dwg.DwgObject; |
51 | 52 |
import com.iver.cit.jdwglib.dwg.DwgObjectFactory; |
52 | 53 |
import com.iver.cit.jdwglib.dwg.DwgObjectOffset; |
... | ... | |
283 | 284 |
val = DwgUtil.getBitShort(intData, bitPos); |
284 | 285 |
bitPos = ((Integer)val.get(0)).intValue(); |
285 | 286 |
dwgFile.setHeader("SHORT1", val.get(1)); |
287 |
|
|
288 |
DwgHandleReference hr = new DwgHandleReference(); |
|
289 |
bitPos = hr.read(intData, bitPos); |
|
290 |
dwgFile.setHeader("HANDLE1", hr); |
|
286 | 291 |
|
287 |
//TODO Los handle se leen asi?? |
|
288 |
val = DwgUtil.getHandle(intData, bitPos); |
|
289 |
bitPos = ((Integer)val.get(0)).intValue(); |
|
290 |
dwgFile.setHeader("HANDLE1", val.get(1)); |
|
291 |
|
|
292 | 292 |
val = DwgUtil.testBit(intData, bitPos); |
293 | 293 |
bitPos = ((Integer)val.get(0)).intValue(); |
294 | 294 |
dwgFile.setHeader("DIMASO", val.get(1)); |
... | ... | |
648 | 648 |
bitPos = ((Integer)val.get(0)).intValue(); |
649 | 649 |
dwgFile.setHeader("CECOLOR", val.get(1)); |
650 | 650 |
|
651 |
val = DwgUtil.getHandle(intData, bitPos); |
|
652 |
bitPos = ((Integer)val.get(0)).intValue(); |
|
653 |
int intHandle = DwgUtil.handleToInt(val); |
|
654 |
dwgFile.setHeader("HANDSEED", new Integer(intHandle)); |
|
655 |
|
|
651 |
hr = new DwgHandleReference(); |
|
652 |
bitPos = hr.read(intData, bitPos); |
|
653 |
dwgFile.setHeader("HANDSEED", hr); |
|
654 |
|
|
656 | 655 |
//creo que CLAYER marca la capa actualmente seleccionada en el menu de autocad |
657 | 656 |
|
658 |
val = DwgUtil.getHandle(intData, bitPos); |
|
659 |
bitPos = ((Integer)val.get(0)).intValue(); |
|
660 |
intHandle = DwgUtil.handleToInt(val); |
|
661 |
dwgFile.setHeader("CLAYER", new Integer(intHandle)); |
|
657 |
hr = new DwgHandleReference(); |
|
658 |
bitPos = hr.read(intData, bitPos); |
|
659 |
dwgFile.setHeader("CLAYER", hr); |
|
662 | 660 |
|
663 |
val = DwgUtil.getHandle(intData, bitPos); |
|
664 |
bitPos = ((Integer)val.get(0)).intValue(); |
|
665 |
intHandle = DwgUtil.handleToInt(val); |
|
666 |
dwgFile.setHeader("TEXSTYLE", new Integer(intHandle)); |
|
661 |
hr = new DwgHandleReference(); |
|
662 |
bitPos = hr.read(intData, bitPos); |
|
663 |
dwgFile.setHeader("TEXSTYLE", hr); |
|
667 | 664 |
|
668 |
val = DwgUtil.getHandle(intData, bitPos); |
|
669 |
bitPos = ((Integer)val.get(0)).intValue(); |
|
670 |
intHandle = DwgUtil.handleToInt(val); |
|
671 |
dwgFile.setHeader("CELLTYPE", new Integer(intHandle)); |
|
665 |
hr = new DwgHandleReference(); |
|
666 |
bitPos = hr.read(intData, bitPos); |
|
667 |
dwgFile.setHeader("CELLTYPE", hr); |
|
668 |
|
|
669 |
hr = new DwgHandleReference(); |
|
670 |
bitPos = hr.read(intData, bitPos); |
|
671 |
dwgFile.setHeader("DIMSTYLE", hr); |
|
672 | 672 |
|
673 |
val = DwgUtil.getHandle(intData, bitPos); |
|
674 |
bitPos = ((Integer)val.get(0)).intValue(); |
|
675 |
intHandle = DwgUtil.handleToInt(val); |
|
676 |
dwgFile.setHeader("DIMSTYLE", new Integer(intHandle)); |
|
677 |
|
|
678 |
val = DwgUtil.getHandle(intData, bitPos); |
|
679 |
bitPos = ((Integer)val.get(0)).intValue(); |
|
680 |
intHandle = DwgUtil.handleToInt(val); |
|
681 |
dwgFile.setHeader("CMLSTYLE", new Integer(intHandle)); |
|
682 |
|
|
673 |
hr = new DwgHandleReference(); |
|
674 |
bitPos = hr.read(intData, bitPos); |
|
675 |
dwgFile.setHeader("CMLSTYLE", hr); |
|
676 |
|
|
683 | 677 |
double[] spaces1 = new double[3]; |
684 | 678 |
val = DwgUtil.getBitDouble(intData, bitPos); |
685 | 679 |
bitPos = ((Integer)val.get(0)).intValue(); |
... | ... | |
775 | 769 |
spaces8[2] = ((Double)val.get(1)).doubleValue(); |
776 | 770 |
dwgFile.setHeader("PSPACE_UCSYDIR", spaces8); |
777 | 771 |
|
778 |
val = DwgUtil.getHandle(intData, bitPos); |
|
779 |
bitPos = ((Integer)val.get(0)).intValue(); |
|
780 |
intHandle = DwgUtil.handleToInt(val); |
|
781 |
dwgFile.setHeader("PSPACE_UCSNAME", new Integer(intHandle)); |
|
772 |
hr = new DwgHandleReference(); |
|
773 |
bitPos = hr.read(intData, bitPos); |
|
774 |
dwgFile.setHeader("PSPACE_UCSNAME", hr); |
|
782 | 775 |
|
783 | 776 |
double[] spaces9 = new double[6]; |
784 | 777 |
val = DwgUtil.getBitDouble(intData, bitPos); |
... | ... | |
874 | 867 |
spaces16[2] = ((Double)val.get(1)).doubleValue(); |
875 | 868 |
dwgFile.setHeader("MSPACE_UCSYDIR", spaces16); |
876 | 869 |
|
877 |
val = DwgUtil.getHandle(intData, bitPos); |
|
878 |
bitPos = ((Integer)val.get(0)).intValue(); |
|
879 |
intHandle = DwgUtil.handleToInt(val); |
|
880 |
dwgFile.setHeader("MSPACE_UCSNAME", new Integer(intHandle)); |
|
881 |
|
|
870 |
hr = new DwgHandleReference(); |
|
871 |
bitPos = hr.read(intData, bitPos); |
|
872 |
dwgFile.setHeader("MSPACE_UCSNAME", hr); |
|
873 |
|
|
882 | 874 |
val = DwgUtil.testBit(intData, bitPos); |
883 | 875 |
bitPos = ((Integer)val.get(0)).intValue(); |
884 | 876 |
dwgFile.setHeader("DIMTOL", val.get(1)); |
... | ... | |
923 | 915 |
bitPos = ((Integer)val.get(0)).intValue(); |
924 | 916 |
dwgFile.setHeader("DIMSOXD", val.get(1)); |
925 | 917 |
|
926 |
|
|
927 |
|
|
928 | 918 |
val = DwgUtil.getRawChar(intData, bitPos); |
929 | 919 |
bitPos = ((Integer)val.get(0)).intValue(); |
930 | 920 |
dwgFile.setHeader("DIMALTD", val.get(1)); |
... | ... | |
997 | 987 |
bitPos = ((Integer)val.get(0)).intValue(); |
998 | 988 |
dwgFile.setHeader("DIMALTTD", val.get(1)); |
999 | 989 |
|
1000 |
val = DwgUtil.getHandle(intData, bitPos); |
|
1001 |
bitPos = ((Integer)val.get(0)).intValue(); |
|
1002 |
intHandle = DwgUtil.handleToInt(val); |
|
1003 |
dwgFile.setHeader("DIMTXSTY", new Integer(intHandle)); |
|
1004 |
|
|
990 |
hr = new DwgHandleReference(); |
|
991 |
bitPos = hr.read(intData, bitPos); |
|
992 |
dwgFile.setHeader("DIMTXSTY", hr); |
|
993 |
|
|
1005 | 994 |
val = DwgUtil.getBitDouble(intData, bitPos); |
1006 | 995 |
bitPos = ((Integer)val.get(0)).intValue(); |
1007 | 996 |
dwgFile.setHeader("DIMSCALE", val.get(1)); |
... | ... | |
1102 | 1091 |
bitPos = ((Integer)val.get(0)).intValue(); |
1103 | 1092 |
dwgFile.setHeader("DIMCLRT", val.get(1)); |
1104 | 1093 |
|
1105 |
val = DwgUtil.getHandle(intData, bitPos); |
|
1106 |
bitPos = ((Integer)val.get(0)).intValue(); |
|
1107 |
intHandle = DwgUtil.handleToInt(val); |
|
1108 |
dwgFile.setHeader("BLOCK_CONTROL_OBJECT", new Integer(intHandle)); |
|
1094 |
hr = new DwgHandleReference(); |
|
1095 |
bitPos = hr.read(intData, bitPos); |
|
1096 |
dwgFile.setHeader("BLOCK_CONTROL_OBJECT", hr); |
|
1109 | 1097 |
|
1110 |
val = DwgUtil.getHandle(intData, bitPos); |
|
1111 |
bitPos = ((Integer)val.get(0)).intValue(); |
|
1112 |
intHandle = DwgUtil.handleToInt(val); |
|
1113 |
dwgFile.setHeader("LAYER_CONTROL_OBJECT", new Integer(intHandle)); |
|
1098 |
hr = new DwgHandleReference(); |
|
1099 |
bitPos = hr.read(intData, bitPos); |
|
1100 |
dwgFile.setHeader("LAYER_CONTROL_OBJECT", hr); |
|
1101 |
|
|
1102 |
hr = new DwgHandleReference(); |
|
1103 |
bitPos = hr.read(intData, bitPos); |
|
1104 |
dwgFile.setHeader("STYLE_CONTROL_OBJECT", hr); |
|
1105 |
|
|
1106 |
hr = new DwgHandleReference(); |
|
1107 |
bitPos = hr.read(intData, bitPos); |
|
1108 |
dwgFile.setHeader("LINETYPE_CONTROL_OBJECT", hr); |
|
1109 |
|
|
1110 |
hr = new DwgHandleReference(); |
|
1111 |
bitPos = hr.read(intData, bitPos); |
|
1112 |
dwgFile.setHeader("VIEW_CONTROL_OBJECT", hr); |
|
1113 |
|
|
1114 |
hr = new DwgHandleReference(); |
|
1115 |
bitPos = hr.read(intData, bitPos); |
|
1116 |
dwgFile.setHeader("UCS_CONTROL_OBJECT", hr); |
|
1117 |
|
|
1118 |
hr = new DwgHandleReference(); |
|
1119 |
bitPos = hr.read(intData, bitPos); |
|
1120 |
dwgFile.setHeader("VPORT_CONTROL_OBJECT", hr); |
|
1121 |
|
|
1122 |
hr = new DwgHandleReference(); |
|
1123 |
bitPos = hr.read(intData, bitPos); |
|
1124 |
dwgFile.setHeader("APPID_CONTROL_OBJECT", hr); |
|
1114 | 1125 |
|
1115 |
val = DwgUtil.getHandle(intData, bitPos); |
|
1116 |
bitPos = ((Integer)val.get(0)).intValue(); |
|
1117 |
intHandle = DwgUtil.handleToInt(val); |
|
1118 |
dwgFile.setHeader("STYLE_CONTROL_OBJECT", new Integer(intHandle)); |
|
1126 |
hr = new DwgHandleReference(); |
|
1127 |
bitPos = hr.read(intData, bitPos); |
|
1128 |
dwgFile.setHeader("DIMSTYLE_CONTROL_OBJECT", hr); |
|
1129 |
|
|
1130 |
hr = new DwgHandleReference(); |
|
1131 |
bitPos = hr.read(intData, bitPos); |
|
1132 |
dwgFile.setHeader("VIEWPORT_ENTITY_HEADER", hr); |
|
1119 | 1133 |
|
1120 |
val = DwgUtil.getHandle(intData, bitPos); |
|
1121 |
bitPos = ((Integer)val.get(0)).intValue(); |
|
1122 |
intHandle = DwgUtil.handleToInt(val); |
|
1123 |
dwgFile.setHeader("LINETYPE_CONTROL_OBJECT", new Integer(intHandle)); |
|
1134 |
hr = new DwgHandleReference(); |
|
1135 |
bitPos = hr.read(intData, bitPos); |
|
1136 |
dwgFile.setHeader("ACAD_GROUP_DICTIONARY", hr); |
|
1124 | 1137 |
|
1125 |
val = DwgUtil.getHandle(intData, bitPos); |
|
1126 |
bitPos = ((Integer)val.get(0)).intValue(); |
|
1127 |
intHandle = DwgUtil.handleToInt(val); |
|
1128 |
dwgFile.setHeader("VIEW_CONTROL_OBJECT", new Integer(intHandle)); |
|
1138 |
hr = new DwgHandleReference(); |
|
1139 |
bitPos = hr.read(intData, bitPos); |
|
1140 |
dwgFile.setHeader("ACAD_MLINE_DICTIONARY", hr); |
|
1129 | 1141 |
|
1130 |
val = DwgUtil.getHandle(intData, bitPos); |
|
1131 |
bitPos = ((Integer)val.get(0)).intValue(); |
|
1132 |
intHandle = DwgUtil.handleToInt(val); |
|
1133 |
dwgFile.setHeader("UCS_CONTROL_OBJECT", new Integer(intHandle)); |
|
1142 |
hr = new DwgHandleReference(); |
|
1143 |
bitPos = hr.read(intData, bitPos); |
|
1144 |
dwgFile.setHeader("NAMED_OBJECT_DICTIONARY", hr); |
|
1134 | 1145 |
|
1135 |
val = DwgUtil.getHandle(intData, bitPos); |
|
1136 |
bitPos = ((Integer)val.get(0)).intValue(); |
|
1137 |
intHandle = DwgUtil.handleToInt(val); |
|
1138 |
dwgFile.setHeader("VPORT_CONTROL_OBJECT", new Integer(intHandle)); |
|
1146 |
hr = new DwgHandleReference(); |
|
1147 |
bitPos = hr.read(intData, bitPos); |
|
1148 |
dwgFile.setHeader("PAPER_BLOCK_RECORD", hr); |
|
1139 | 1149 |
|
1140 |
val = DwgUtil.getHandle(intData, bitPos); |
|
1141 |
bitPos = ((Integer)val.get(0)).intValue(); |
|
1142 |
intHandle = DwgUtil.handleToInt(val); |
|
1143 |
dwgFile.setHeader("APPID_CONTROL_OBJECT", new Integer(intHandle)); |
|
1150 |
hr = new DwgHandleReference(); |
|
1151 |
bitPos = hr.read(intData, bitPos); |
|
1152 |
dwgFile.setHeader("MODEL_BLOCK_RECORD", hr); |
|
1144 | 1153 |
|
1145 |
val = DwgUtil.getHandle(intData, bitPos); |
|
1146 |
bitPos = ((Integer)val.get(0)).intValue(); |
|
1147 |
intHandle = DwgUtil.handleToInt(val); |
|
1148 |
dwgFile.setHeader("DIMSTYLE_CONTROL_OBJECT", new Integer(intHandle)); |
|
1154 |
hr = new DwgHandleReference(); |
|
1155 |
bitPos = hr.read(intData, bitPos); |
|
1156 |
dwgFile.setHeader("LTYPE_BYLAYER", hr); |
|
1149 | 1157 |
|
1150 |
val = DwgUtil.getHandle(intData, bitPos); |
|
1151 |
bitPos = ((Integer)val.get(0)).intValue(); |
|
1152 |
intHandle = DwgUtil.handleToInt(val); |
|
1153 |
dwgFile.setHeader("VIEWPORT_ENTITY_HEADER", new Integer(intHandle)); |
|
1158 |
hr = new DwgHandleReference(); |
|
1159 |
bitPos = hr.read(intData, bitPos); |
|
1160 |
dwgFile.setHeader("LTYPE_BYBLOCK", hr); |
|
1154 | 1161 |
|
1155 |
val = DwgUtil.getHandle(intData, bitPos); |
|
1156 |
bitPos = ((Integer)val.get(0)).intValue(); |
|
1157 |
intHandle = DwgUtil.handleToInt(val); |
|
1158 |
dwgFile.setHeader("ACAD_GROUP_DICTIONARY", new Integer(intHandle)); |
|
1162 |
hr = new DwgHandleReference(); |
|
1163 |
bitPos = hr.read(intData, bitPos); |
|
1164 |
dwgFile.setHeader("LTYPE_CONTINUOUS", hr); |
|
1159 | 1165 |
|
1160 |
val = DwgUtil.getHandle(intData, bitPos); |
|
1161 |
bitPos = ((Integer)val.get(0)).intValue(); |
|
1162 |
intHandle = DwgUtil.handleToInt(val); |
|
1163 |
dwgFile.setHeader("ACAD_MLINE_DICTIONARY", new Integer(intHandle)); |
|
1164 |
|
|
1165 |
val = DwgUtil.getHandle(intData, bitPos); |
|
1166 |
bitPos = ((Integer)val.get(0)).intValue(); |
|
1167 |
intHandle = DwgUtil.handleToInt(val); |
|
1168 |
dwgFile.setHeader("NAMED_OBJECT_DICTIONARY", new Integer(intHandle)); |
|
1169 |
|
|
1170 |
val = DwgUtil.getHandle(intData, bitPos); |
|
1171 |
bitPos = ((Integer)val.get(0)).intValue(); |
|
1172 |
intHandle = DwgUtil.handleToInt(val); |
|
1173 |
dwgFile.setHeader("PAPER_BLOCK_RECORD", new Integer(intHandle)); |
|
1174 |
|
|
1175 |
val = DwgUtil.getHandle(intData, bitPos); |
|
1176 |
bitPos = ((Integer)val.get(0)).intValue(); |
|
1177 |
intHandle = DwgUtil.handleToInt(val); |
|
1178 |
dwgFile.setHeader("MODEL_BLOCK_RECORD", new Integer(intHandle)); |
|
1179 |
|
|
1180 |
val = DwgUtil.getHandle(intData, bitPos); |
|
1181 |
bitPos = ((Integer)val.get(0)).intValue(); |
|
1182 |
intHandle = DwgUtil.handleToInt(val); |
|
1183 |
dwgFile.setHeader("LTYPE_BYLAYER", new Integer(intHandle)); |
|
1184 |
|
|
1185 |
val = DwgUtil.getHandle(intData, bitPos); |
|
1186 |
bitPos = ((Integer)val.get(0)).intValue(); |
|
1187 |
intHandle = DwgUtil.handleToInt(val); |
|
1188 |
dwgFile.setHeader("LTYPE_BYBLOCK", new Integer(intHandle)); |
|
1189 |
|
|
1190 |
val = DwgUtil.getHandle(intData, bitPos); |
|
1191 |
bitPos = ((Integer)val.get(0)).intValue(); |
|
1192 |
intHandle = DwgUtil.handleToInt(val); |
|
1193 |
dwgFile.setHeader("LTYPE_CONTINUOUS", new Integer(intHandle)); |
|
1194 |
|
|
1195 | 1166 |
// # remaing bits are unknown, and they end with possible |
1196 | 1167 |
// # padding bits so that 16-bit CRC value after the data |
1197 | 1168 |
// # is on a byte boundary - ignore them for now ... |
... | ... | |
1649 | 1620 |
obj.setHandle(DwgUtil. |
1650 | 1621 |
handleBinToHandleInt(entityHandle)); |
1651 | 1622 |
*/ |
1652 |
val = DwgUtil.getHandle(intData, bitPos); |
|
1653 |
bitPos = ((Integer)val.get(0)).intValue(); |
|
1654 |
int handle = DwgUtil.handleToInt(val); |
|
1655 |
obj.setHandle(handle); |
|
1623 |
DwgHandleReference hr = new DwgHandleReference(); |
|
1624 |
bitPos = hr.read(intData, bitPos); |
|
1625 |
obj.setHandle(hr); |
|
1656 | 1626 |
|
1657 | 1627 |
//TODO Si funciona, mover el metodo de esta clase a DwgUtil |
1658 | 1628 |
val = readExtendedData(intData, bitPos); |
... | ... | |
1969 | 1939 |
if(size == 0) |
1970 | 1940 |
break; |
1971 | 1941 |
|
1972 |
val = DwgUtil.getHandle(data, bitPos);
|
|
1973 |
bitPos = ((Integer) val.get(0)).intValue();
|
|
1974 |
int handle = DwgUtil.handleToInt(val);
|
|
1975 |
logger.debug("Handle del EXTENDED ENTITY DATA:"+handle); |
|
1942 |
DwgHandleReference hr = new DwgHandleReference();
|
|
1943 |
bitPos = hr.read(data, bitPos);
|
|
1944 |
logger.debug("Handle del EXTENDED ENTITY DATA:"+hr.getCode()+" "+hr.getOffset());
|
|
1945 |
|
|
1976 | 1946 |
int count = 0; |
1977 | 1947 |
while(count < size){ |
1978 | 1948 |
val = DwgUtil.getRawChar(data, bitPos); |
... | ... | |
2157 | 2127 |
* Esto se aplica sobre VERTEX, ATTRIB, SEQEND |
2158 | 2128 |
* */ |
2159 | 2129 |
if (dwgObject.getMode()==0x0) { |
2160 |
val = DwgUtil.getHandle(data, bitPos); |
|
2161 |
bitPos = ((Integer)val.get(0)).intValue(); |
|
2162 |
int intHandle = DwgUtil.handleToInt(val); |
|
2163 |
dwgObject.setSubEntityHandle(intHandle); |
|
2130 |
DwgHandleReference subEntityHandle = new DwgHandleReference(); |
|
2131 |
bitPos = subEntityHandle.read(data, bitPos); |
|
2132 |
dwgObject.setSubEntityHandle(subEntityHandle); |
|
2164 | 2133 |
} |
2165 | 2134 |
|
2166 | 2135 |
/* |
2167 |
* Reactors handles |
|
2168 |
* TODO No se est?n usando para setear nada en DwgObject |
|
2169 |
* */ |
|
2170 |
for (int i=0; i<dwgObject.getNumReactors(); i++) { |
|
2171 |
val = DwgUtil.getHandle(data, bitPos); |
|
2172 |
bitPos = ((Integer)val.get(0)).intValue(); |
|
2173 |
int reactorHandle = DwgUtil.handleToInt(val); |
|
2136 |
* Reactors handles |
|
2137 |
* DwgObject |
|
2138 |
*/ |
|
2139 |
DwgHandleReference reactorHandle; |
|
2140 |
for (int i = 0; i < dwgObject.getNumReactors(); i++) { |
|
2141 |
reactorHandle = new DwgHandleReference(); |
|
2142 |
bitPos = reactorHandle.read(data, bitPos); |
|
2143 |
dwgObject.addReactorHandle(reactorHandle); |
|
2174 | 2144 |
} |
2175 | 2145 |
|
2176 |
val = DwgUtil.getHandle(data, bitPos); |
|
2177 |
bitPos = ((Integer)val.get(0)).intValue(); |
|
2178 |
dwgObject.setXDicObjHandle(DwgUtil.handleToInt(val)); |
|
2146 |
/* |
|
2147 |
* XDICOBJHANDLE |
|
2148 |
*/ |
|
2149 |
DwgHandleReference xDicObjHandle = new DwgHandleReference(); |
|
2150 |
bitPos = xDicObjHandle.read(data, bitPos); |
|
2151 |
dwgObject.setXDicObjHandle(xDicObjHandle); |
|
2152 |
|
|
2153 |
/* |
|
2154 |
* Layer Handle code |
|
2155 |
*/ |
|
2179 | 2156 |
|
2180 |
val = DwgUtil.getHandle(data, bitPos);
|
|
2181 |
bitPos = ((Integer)val.get(0)).intValue();
|
|
2182 |
dwgObject.setLayerHandleCode(((Integer)val.get(1)).intValue());
|
|
2183 |
dwgObject.setLayerHandle(DwgUtil.handleToInt(val)); |
|
2184 |
// TODO Hasta aqui igual que en la 15 |
|
2157 |
DwgHandleReference layerHandle = new DwgHandleReference();
|
|
2158 |
bitPos = layerHandle.read(data, bitPos);
|
|
2159 |
dwgObject.setLayerHandle(layerHandle);
|
|
2160 |
|
|
2161 |
// TODO Hasta aqui igual que en la 15
|
|
2185 | 2162 |
if(! dwgObject.isLyrByLineType()){ |
2186 |
val = DwgUtil.getHandle(data, bitPos); |
|
2187 |
bitPos = ((Integer)val.get(0)).intValue(); |
|
2188 |
int handle = DwgUtil.handleToInt(val); |
|
2189 |
dwgObject.setLineType(handle); |
|
2163 |
DwgHandleReference lineTypeHandle = new DwgHandleReference(); |
|
2164 |
bitPos = lineTypeHandle.read(data, bitPos); |
|
2165 |
dwgObject.setLineTypeHandle(lineTypeHandle); |
|
2190 | 2166 |
} |
2191 | 2167 |
String cadena = ""; |
2192 | 2168 |
if(! dwgObject.isNoLinks()){ |
2193 |
val = DwgUtil.getHandle(data, bitPos); |
|
2194 |
bitPos = ((Integer) val.get(0)).intValue(); |
|
2195 |
ArrayList prevhv = new ArrayList(); |
|
2196 |
int[] prev = new int[val.size() - 1]; |
|
2197 |
cadena = "PREVIOUS HANDLE = "; |
|
2198 |
for (int i = 1; i < val.size(); i++) { |
|
2199 |
prev[i - 1] = ((Integer) val.get(i)).intValue(); |
|
2200 |
prevhv.add(new Integer(prev[i - 1])); |
|
2201 |
cadena += prev[i - 1] + " "; |
|
2202 |
}//for |
|
2203 |
System.out.println(cadena); |
|
2204 |
dwgObject.setPreviousHandleCode(prev[0]); |
|
2205 |
dwgObject.setPreviousHandle(DwgUtil.handleBinToHandleInt(prevhv)); |
|
2206 |
|
|
2207 |
val = DwgUtil.getHandle(data, bitPos); |
|
2208 |
bitPos = ((Integer) val.get(0)).intValue(); |
|
2209 |
ArrayList nexthv = new ArrayList(); |
|
2210 |
int[] next = new int[val.size() - 1]; |
|
2211 |
cadena = "NEXT HANDLE = "; |
|
2212 |
for (int i = 1; i < val.size(); i++) { |
|
2213 |
next[i - 1] = ((Integer) val.get(i)).intValue(); |
|
2214 |
nexthv.add(new Integer(next[i - 1])); |
|
2215 |
cadena += next[i - 1] + " "; |
|
2216 |
} |
|
2217 |
System.out.println(cadena); |
|
2218 |
dwgObject.setNextHandleCode(next[0]); |
|
2219 |
dwgObject.setNextHandle(DwgUtil.handleBinToHandleInt(nexthv)); |
|
2169 |
|
|
2170 |
/* |
|
2171 |
* Previous Handle |
|
2172 |
*/ |
|
2173 |
DwgHandleReference previousHandle = new DwgHandleReference(); |
|
2174 |
bitPos = previousHandle.read(data, bitPos); |
|
2175 |
dwgObject.setPreviousHandle(previousHandle); |
|
2176 |
|
|
2177 |
/* |
|
2178 |
* Next Handle |
|
2179 |
*/ |
|
2180 |
DwgHandleReference nextHandle = new DwgHandleReference(); |
|
2181 |
bitPos = nextHandle.read(data, bitPos); |
|
2182 |
dwgObject.setNextHandle(nextHandle); |
|
2220 | 2183 |
} |
2221 | 2184 |
return bitPos; |
2222 | 2185 |
} |
trunk/libraries/libDwg/src/com/iver/cit/jdwglib/dwg/readers/DwgFileV15Reader.java | ||
---|---|---|
38 | 38 |
import java.nio.ByteBuffer; |
39 | 39 |
import java.nio.ByteOrder; |
40 | 40 |
import java.util.ArrayList; |
41 |
import java.util.logging.Logger; |
|
42 |
|
|
43 | 41 |
import com.iver.cit.gvsig.fmap.drivers.dgn.ByteUtils; |
44 | 42 |
import com.iver.cit.jdwglib.dwg.DwgFile; |
43 |
import com.iver.cit.jdwglib.dwg.DwgHandleReference; |
|
45 | 44 |
import com.iver.cit.jdwglib.dwg.DwgObject; |
46 | 45 |
import com.iver.cit.jdwglib.dwg.DwgObjectFactory; |
47 | 46 |
import com.iver.cit.jdwglib.dwg.DwgObjectOffset; |
... | ... | |
296 | 295 |
public int readObjectTailer(int[] data, int offset, DwgObject dwgObject) |
297 | 296 |
throws Exception { |
298 | 297 |
int bitPos = offset; |
299 |
ArrayList v = null; |
|
300 |
String cadena = ""; |
|
301 | 298 |
/* |
302 | 299 |
* Subentity ref handle. Esto se aplica sobre VERTEX, ATTRIB, SEQEND |
303 | 300 |
*/ |
304 | 301 |
if (dwgObject.getMode() == 0x0) { |
305 |
v = DwgUtil.getHandle(data, bitPos); |
|
306 |
bitPos = ((Integer) v.get(0)).intValue(); |
|
307 |
int[] sh = new int[v.size() - 1]; |
|
308 |
for (int i = 1; i < v.size(); i++) { |
|
309 |
sh[i - 1] = ((Integer) v.get(i)).intValue(); |
|
310 |
} |
|
311 |
ArrayList shv = new ArrayList(); |
|
312 |
for (int i = 0; i < sh.length; i++) { |
|
313 |
shv.add(new Integer(sh[i])); |
|
314 |
} |
|
315 |
dwgObject.setSubEntityHandle(DwgUtil.handleBinToHandleInt(shv)); |
|
302 |
DwgHandleReference subEntityHandle = new DwgHandleReference(); |
|
303 |
bitPos = subEntityHandle.read(data, bitPos); |
|
304 |
dwgObject.setSubEntityHandle(subEntityHandle); |
|
316 | 305 |
} |
317 | 306 |
|
318 | 307 |
/* |
319 |
* Reactors handles TODO No se est?n usando para setear nada en
|
|
308 |
* Reactors handles |
|
320 | 309 |
* DwgObject |
321 | 310 |
*/ |
311 |
DwgHandleReference reactorHandle; |
|
322 | 312 |
for (int i = 0; i < dwgObject.getNumReactors(); i++) { |
323 |
v = DwgUtil.getHandle(data, bitPos); |
|
324 |
bitPos = ((Integer) v.get(0)).intValue(); |
|
325 |
int[] handle = new int[v.size() - 1]; |
|
326 |
for (int j = 1; j < v.size(); j++) { |
|
327 |
handle[j - 1] = ((Integer) v.get(j)).intValue(); |
|
328 |
} |
|
313 |
reactorHandle = new DwgHandleReference(); |
|
314 |
bitPos = reactorHandle.read(data, bitPos); |
|
315 |
dwgObject.addReactorHandle(reactorHandle); |
|
329 | 316 |
} |
330 | 317 |
|
331 | 318 |
/* |
332 | 319 |
* XDICOBJHANDLE |
333 | 320 |
*/ |
334 |
v = DwgUtil.getHandle(data, bitPos); |
|
335 |
bitPos = ((Integer) v.get(0)).intValue(); |
|
336 |
int[] xh = new int[v.size() - 1]; |
|
337 |
for (int i = 1; i < v.size(); i++) { |
|
338 |
xh[i - 1] = ((Integer) v.get(i)).intValue(); |
|
339 |
} |
|
340 |
ArrayList xhv = new ArrayList(); |
|
341 |
for (int i = 0; i < xh.length; i++) { |
|
342 |
xhv.add(new Integer(xh[i])); |
|
343 |
} |
|
344 |
dwgObject.setXDicObjHandle(DwgUtil.handleBinToHandleInt(xhv)); |
|
321 |
DwgHandleReference xDicObjHandle = new DwgHandleReference(); |
|
322 |
bitPos = xDicObjHandle.read(data, bitPos); |
|
323 |
dwgObject.setXDicObjHandle(xDicObjHandle); |
|
345 | 324 |
|
346 | 325 |
/* |
347 | 326 |
* Layer Handle code |
348 | 327 |
*/ |
349 |
v = DwgUtil.getHandle(data, bitPos); |
|
350 |
bitPos = ((Integer) v.get(0)).intValue(); |
|
351 |
/* |
|
352 |
* v ArrayList has the next structure: v[0] -> offset of the DWG file |
|
353 |
* v[1] -> code of the layer handle v[2] -> counter (number of bytes) |
|
354 |
* v[3] v[4] ... |
|
355 |
*/ |
|
356 |
int[] lh = new int[v.size() - 1]; |
|
357 |
cadena = "LAYER HANDLE = "; |
|
358 |
for (int i = 1; i < v.size(); i++) { |
|
359 |
lh[i - 1] = ((Integer) v.get(i)).intValue(); |
|
360 |
cadena += lh[i - 1] + " "; |
|
361 |
} |
|
328 |
|
|
329 |
DwgHandleReference layerHandle = new DwgHandleReference(); |
|
330 |
bitPos = layerHandle.read(data, bitPos); |
|
331 |
dwgObject.setLayerHandle(layerHandle); |
|
362 | 332 |
|
363 |
dwgObject.setLayerHandleCode(lh[0]);
|
|
333 |
if (!dwgObject.isNoLinks()) {
|
|
364 | 334 |
|
365 |
ArrayList lhv = new ArrayList();
|
|
366 |
for (int i = 0; i < lh.length; i++) {
|
|
367 |
lhv.add(new Integer(lh[i]));
|
|
368 |
} |
|
369 |
int handle = DwgUtil.handleBinToHandleInt(lhv);
|
|
370 |
dwgObject.setLayerHandle(handle);
|
|
371 |
// System.out.println(cadena + " ==> " + handle);
|
|
335 |
DwgHandleReference previousHandle = new DwgHandleReference();
|
|
336 |
bitPos = previousHandle.read(data, bitPos);
|
|
337 |
dwgObject.setPreviousHandle(previousHandle);
|
|
338 |
|
|
339 |
DwgHandleReference nextHandle = new DwgHandleReference();
|
|
340 |
bitPos = nextHandle.read(data, bitPos);
|
|
341 |
dwgObject.setNextHandle(nextHandle);
|
|
372 | 342 |
|
373 |
if (!dwgObject.isNoLinks()) { |
|
374 |
v = DwgUtil.getHandle(data, bitPos); |
|
375 |
bitPos = ((Integer) v.get(0)).intValue(); |
|
376 |
int[] prev = new int[v.size() - 1]; |
|
377 |
ArrayList prevhv = new ArrayList(); |
|
378 |
cadena = "PREVIOUS HANDLE = "; |
|
379 |
for (int i = 1; i < v.size(); i++) { |
|
380 |
prev[i - 1] = ((Integer) v.get(i)).intValue(); |
|
381 |
prevhv.add(new Integer(prev[i - 1])); |
|
382 |
cadena += prev[i - 1] + " "; |
|
383 |
} |
|
384 |
// System.out.println(cadena); |
|
385 |
dwgObject.setPreviousHandleCode(prev[0]); |
|
386 |
dwgObject.setPreviousHandle(DwgUtil.handleBinToHandleInt(prevhv)); |
|
387 |
ArrayList nexthv = new ArrayList(); |
|
388 |
v = DwgUtil.getHandle(data, bitPos); |
|
389 |
bitPos = ((Integer) v.get(0)).intValue(); |
|
390 |
int[] next = new int[v.size() - 1]; |
|
391 |
cadena = "NEXT HANDLE = "; |
|
392 |
for (int i = 1; i < v.size(); i++) { |
|
393 |
next[i - 1] = ((Integer) v.get(i)).intValue(); |
|
394 |
nexthv.add(new Integer(next[i - 1])); |
|
395 |
cadena += next[i - 1] + " "; |
|
396 |
} |
|
397 |
// System.out.println(cadena); |
|
398 |
dwgObject.setNextHandleCode(next[0]); |
|
399 |
dwgObject.setNextHandle(DwgUtil.handleBinToHandleInt(nexthv)); |
|
400 | 343 |
} |
401 | 344 |
|
402 | 345 |
if (dwgObject.getLinetypeFlags() == 0x3) { |
403 |
v = DwgUtil.getHandle(data, bitPos); |
|
404 |
bitPos = ((Integer) v.get(0)).intValue(); |
|
405 |
int[] lth = new int[v.size() - 1]; |
|
406 |
for (int i = 1; i < v.size(); i++) { |
|
407 |
lth[i - 1] = ((Integer) v.get(i)).intValue(); |
|
408 |
} |
|
409 |
//obj.setLinetype(lth); |
|
346 |
DwgHandleReference lineTypeHandle = new DwgHandleReference(); |
|
347 |
bitPos = lineTypeHandle.read(data, bitPos); |
|
348 |
dwgObject.setLineTypeHandle(lineTypeHandle); |
|
349 |
|
|
410 | 350 |
} |
411 | 351 |
|
412 | 352 |
if (dwgObject.getPlotstyleFlags() == 0x3) { |
413 |
v = DwgUtil.getHandle(data, bitPos); |
|
414 |
bitPos = ((Integer) v.get(0)).intValue(); |
|
415 |
int[] pth = new int[v.size() - 1]; |
|
416 |
for (int i = 1; i < v.size(); i++) { |
|
417 |
pth[i - 1] = ((Integer) v.get(i)).intValue(); |
|
418 |
} |
|
419 |
//obj.setPlotstyle(pth); |
|
353 |
DwgHandleReference plotStyleHandle = new DwgHandleReference(); |
|
354 |
bitPos = plotStyleHandle.read(data, bitPos); |
|
355 |
dwgObject.setPlotStyleHandle(plotStyleHandle); |
|
356 |
|
|
420 | 357 |
} |
421 | 358 |
return bitPos; |
422 | 359 |
} |
... | ... | |
464 | 401 |
int type = ((Integer) v.get(1)).intValue(); |
465 | 402 |
|
466 | 403 |
obj = DwgObjectFactory.getInstance().create(type, index); |
404 |
|
|
405 |
System.out.println("CREANDO UN " + obj.getClass().getName()); |
|
467 | 406 |
|
468 | 407 |
v = DwgUtil.getRawLong(data, bitPos); |
469 | 408 |
bitPos = ((Integer) v.get(0)).intValue(); |
470 | 409 |
int objBSize = ((Integer) v.get(1)).intValue(); |
471 | 410 |
obj.setSizeInBits(objBSize); |
472 | 411 |
|
473 |
ArrayList entityHandle = new ArrayList(); |
|
474 |
v = DwgUtil.getHandle(data, bitPos); |
|
475 |
bitPos = ((Integer) v.get(0)).intValue(); |
|
476 |
for (int i = 1; i < v.size(); i++) { |
|
477 |
entityHandle.add(v.get(i)); |
|
478 |
} |
|
479 |
obj.setHandle(DwgUtil.handleBinToHandleInt(entityHandle)); |
|
412 |
DwgHandleReference entityHandle = new DwgHandleReference(); |
|
413 |
bitPos = entityHandle.read(data, bitPos); |
|
414 |
obj.setHandle(entityHandle); |
|
480 | 415 |
|
481 | 416 |
v = DwgUtil.readExtendedData(data, bitPos); |
482 | 417 |
bitPos = ((Integer) v.get(0)).intValue(); |
trunk/libraries/libDwg/src/com/iver/cit/jdwglib/dwg/readers/objreaders/v15/DwgAttribReader15.java | ||
---|---|---|
7 | 7 |
import java.awt.geom.Point2D; |
8 | 8 |
import java.util.ArrayList; |
9 | 9 |
|
10 |
import com.iver.cit.jdwglib.dwg.DwgHandleReference; |
|
10 | 11 |
import com.iver.cit.jdwglib.dwg.DwgObject; |
11 | 12 |
import com.iver.cit.jdwglib.dwg.DwgUtil; |
12 | 13 |
import com.iver.cit.jdwglib.dwg.objects.DwgArc; |
... | ... | |
152 | 153 |
int flags = ((Integer) v.get(1)).intValue(); |
153 | 154 |
att.setFlags(flags); |
154 | 155 |
bitPos = headTailReader.readObjectTailer(data, bitPos, att); |
155 |
v = DwgUtil.getHandle(data, bitPos); |
|
156 |
bitPos = ((Integer) v.get(0)).intValue(); |
|
157 |
int[] handle = new int[v.size() - 1]; |
|
158 |
for (int j = 1; j < v.size(); j++) { |
|
159 |
handle[j - 1] = ((Integer) v.get(j)).intValue(); |
|
160 |
} |
|
161 |
ArrayList handleVect = new ArrayList(); |
|
162 |
for (int i = 0; i < handle.length; i++) { |
|
163 |
handleVect.add(new Integer(handle[i])); |
|
164 |
} |
|
165 |
att.setStyleHandle(DwgUtil.handleBinToHandleInt(handleVect)); |
|
156 |
|
|
157 |
DwgHandleReference styleHandle = new DwgHandleReference(); |
|
158 |
bitPos = styleHandle.read(data, bitPos); |
|
159 |
att.setStyleHandle(styleHandle); |
|
166 | 160 |
} |
167 | 161 |
} |
trunk/libraries/libDwg/src/com/iver/cit/jdwglib/dwg/readers/objreaders/v15/DwgBlockControlReader15.java | ||
---|---|---|
7 | 7 |
import java.util.ArrayList; |
8 | 8 |
import java.util.Vector; |
9 | 9 |
|
10 |
import com.iver.cit.jdwglib.dwg.DwgHandleReference; |
|
10 | 11 |
import com.iver.cit.jdwglib.dwg.DwgObject; |
11 | 12 |
import com.iver.cit.jdwglib.dwg.DwgUtil; |
12 | 13 |
import com.iver.cit.jdwglib.dwg.objects.DwgBlockControl; |
... | ... | |
32 | 33 |
bitPos = ((Integer)v.get(0)).intValue(); |
33 | 34 |
int numReactors = ((Integer)v.get(1)).intValue(); |
34 | 35 |
blk.setNumReactors(numReactors); |
36 |
|
|
35 | 37 |
v = DwgUtil.getBitShort(data, bitPos); |
36 | 38 |
bitPos = ((Integer)v.get(0)).intValue(); |
37 | 39 |
int enum = ((Integer)v.get(1)).intValue(); |
38 |
v = DwgUtil.getHandle(data, bitPos); |
|
39 |
bitPos = ((Integer)v.get(0)).intValue(); |
|
40 |
int[] handle = new int[v.size()-1]; |
|
41 |
for (int i=1;i<v.size();i++) { |
|
42 |
handle[i-1] = ((Integer)v.get(i)).intValue(); |
|
43 |
} |
|
44 |
ArrayList handleVect = new ArrayList(); |
|
45 |
for (int i=0;i<handle.length;i++) { |
|
46 |
handleVect.add(new Integer(handle[i])); |
|
47 |
} |
|
48 |
blk.setNullHandle(DwgUtil.handleBinToHandleInt(handleVect)); |
|
49 |
v = DwgUtil.getHandle(data, bitPos); |
|
50 |
bitPos = ((Integer)v.get(0)).intValue(); |
|
51 |
handle = new int[v.size()-1]; |
|
52 |
for (int i=1;i<v.size();i++) { |
|
53 |
handle[i-1] = ((Integer)v.get(i)).intValue(); |
|
54 |
} |
|
40 |
|
|
41 |
DwgHandleReference hr = new DwgHandleReference(); |
|
42 |
bitPos = hr.read(data, bitPos); |
|
43 |
blk.setNullHandle(hr); |
|
44 |
|
|
45 |
hr = new DwgHandleReference(); |
|
46 |
bitPos = hr.read(data, bitPos); |
|
47 |
blk.setXDicObjHandle(hr); |
|
48 |
|
|
55 | 49 |
if (enum>0) { |
56 | 50 |
Vector handles = new Vector(); |
57 | 51 |
for (int i=0;i<enum;i++) { |
58 |
v = DwgUtil.getHandle(data, bitPos); |
|
59 |
bitPos = ((Integer)v.get(0)).intValue(); |
|
60 |
handle = new int[v.size()-1]; |
|
61 |
for (int j=1;j<v.size();j++) { |
|
62 |
handle[j-1] = ((Integer)v.get(j)).intValue(); |
|
63 |
} |
|
64 |
handles.add(handle); |
|
52 |
hr = new DwgHandleReference(); |
|
53 |
bitPos = hr.read(data, bitPos); |
|
54 |
handles.add(hr); |
|
65 | 55 |
} |
66 | 56 |
blk.setCode2Handles(handles); |
67 | 57 |
} |
68 |
v = DwgUtil.getHandle(data, bitPos); |
|
69 |
bitPos = ((Integer)v.get(0)).intValue(); |
|
70 |
handle = new int[v.size()-1]; |
|
71 |
for (int j=1;j<v.size();j++) { |
|
72 |
handle[j-1] = ((Integer)v.get(j)).intValue(); |
|
73 |
} |
|
74 |
handleVect = new ArrayList(); |
|
75 |
for (int i=0;i<handle.length;i++) { |
|
76 |
handleVect.add(new Integer(handle[i])); |
|
77 |
} |
|
78 |
blk.setModelSpaceHandle(DwgUtil.handleBinToHandleInt(handleVect)); |
|
79 |
v = DwgUtil.getHandle(data, bitPos); |
|
80 |
bitPos = ((Integer)v.get(0)).intValue(); |
|
81 |
handle = new int[v.size()-1]; |
|
82 |
for (int j=1;j<v.size();j++) { |
|
83 |
handle[j-1] = ((Integer)v.get(j)).intValue(); |
|
84 |
} |
|
85 |
handleVect = new ArrayList(); |
|
86 |
for (int i=0;i<handle.length;i++) { |
|
87 |
handleVect.add(new Integer(handle[i])); |
|
88 |
} |
|
89 |
blk.setPaperSpaceHandle(DwgUtil.handleBinToHandleInt(handleVect)); |
|
58 |
|
|
59 |
hr = new DwgHandleReference(); |
|
60 |
bitPos = hr.read(data, bitPos); |
|
61 |
blk.setModelSpaceHandle(hr); |
|
62 |
|
|
63 |
hr = new DwgHandleReference(); |
|
64 |
bitPos = hr.read(data, bitPos); |
|
65 |
blk.setPaperSpaceHandle(hr); |
|
90 | 66 |
} |
91 | 67 |
} |
trunk/libraries/libDwg/src/com/iver/cit/jdwglib/dwg/readers/objreaders/v15/DwgMTextReader15.java | ||
---|---|---|
6 | 6 |
|
7 | 7 |
import java.util.ArrayList; |
8 | 8 |
|
9 |
import com.iver.cit.jdwglib.dwg.DwgHandleReference; |
|
9 | 10 |
import com.iver.cit.jdwglib.dwg.DwgObject; |
10 | 11 |
import com.iver.cit.jdwglib.dwg.DwgUtil; |
11 | 12 |
import com.iver.cit.jdwglib.dwg.objects.DwgMText; |
... | ... | |
100 | 101 |
bitPos = ((Integer)v.get(0)).intValue(); |
101 | 102 |
boolean flag = ((Boolean)v.get(1)).booleanValue(); |
102 | 103 |
bitPos = headTailReader.readObjectTailer(data, bitPos, txt); |
103 |
v = DwgUtil.getHandle(data, bitPos); |
|
104 |
bitPos = ((Integer)v.get(0)).intValue(); |
|
105 |
int[] handle = new int[v.size()-1]; |
|
106 |
for (int j=1;j<v.size();j++) { |
|
107 |
handle[j-1] = ((Integer)v.get(j)).intValue(); |
|
108 |
} |
|
109 |
ArrayList handleVect = new ArrayList(); |
|
110 |
for (int i=0;i<handle.length;i++) { |
|
111 |
handleVect.add(new Integer(handle[i])); |
|
112 |
} |
|
113 |
txt.setStyleHandle(DwgUtil.handleBinToHandleInt(handleVect)); |
|
104 |
|
|
105 |
DwgHandleReference hr = new DwgHandleReference(); |
|
106 |
bitPos = hr.read(data, bitPos); |
|
107 |
txt.setStyleHandle(hr); |
|
108 |
|
|
114 | 109 |
} |
115 | 110 |
} |
trunk/libraries/libDwg/src/com/iver/cit/jdwglib/dwg/readers/objreaders/v15/DwgInsertReader15.java | ||
---|---|---|
6 | 6 |
|
7 | 7 |
import java.util.ArrayList; |
8 | 8 |
|
9 |
import com.iver.cit.jdwglib.dwg.DwgHandleReference; |
|
9 | 10 |
import com.iver.cit.jdwglib.dwg.DwgObject; |
10 | 11 |
import com.iver.cit.jdwglib.dwg.DwgUtil; |
11 | 12 |
import com.iver.cit.jdwglib.dwg.objects.DwgInsert; |
... | ... | |
90 | 91 |
bitPos = ((Integer)v.get(0)).intValue(); |
91 | 92 |
boolean hasattr = ((Boolean)v.get(1)).booleanValue(); |
92 | 93 |
bitPos = headTailReader.readObjectTailer(data, bitPos, ins); |
93 |
v = DwgUtil.getHandle(data, bitPos); |
|
94 |
bitPos = ((Integer)v.get(0)).intValue(); |
|
95 |
int[] handle = new int[v.size()-1]; |
|
96 |
for (int i=1;i<v.size();i++) { |
|
97 |
handle[i-1] = ((Integer)v.get(i)).intValue(); |
|
98 |
} |
|
99 |
ArrayList handleVect = new ArrayList(); |
|
100 |
for (int i=0;i<handle.length;i++) { |
|
101 |
handleVect.add(new Integer(handle[i])); |
|
102 |
} |
|
103 |
ins.setBlockHeaderHandle(DwgUtil.handleBinToHandleInt(handleVect)); |
|
94 |
|
|
95 |
DwgHandleReference hr = new DwgHandleReference(); |
|
96 |
bitPos = hr.read(data, bitPos); |
|
97 |
ins.setBlockHeaderHandle(hr); |
|
98 |
|
|
104 | 99 |
if (hasattr) { |
105 |
v = DwgUtil.getHandle(data, bitPos); |
|
106 |
bitPos = ((Integer)v.get(0)).intValue(); |
|
107 |
handle = new int[v.size()-1]; |
|
108 |
for (int i=1;i<v.size();i++) { |
|
109 |
handle[i-1] = ((Integer)v.get(i)).intValue(); |
|
110 |
} |
|
111 |
handleVect = new ArrayList(); |
|
112 |
for (int i=0;i<handle.length;i++) { |
|
113 |
handleVect.add(new Integer(handle[i])); |
|
114 |
} |
|
115 |
ins.setFirstAttribHandle(DwgUtil.handleBinToHandleInt(handleVect)); |
|
116 |
v = DwgUtil.getHandle(data, bitPos); |
|
117 |
bitPos = ((Integer)v.get(0)).intValue(); |
|
118 |
handle = new int[v.size()-1]; |
|
119 |
for (int i=1;i<v.size();i++) { |
|
120 |
handle[i-1] = ((Integer)v.get(i)).intValue(); |
|
121 |
} |
|
122 |
handleVect = new ArrayList(); |
|
123 |
for (int i=0;i<handle.length;i++) { |
|
124 |
handleVect.add(new Integer(handle[i])); |
|
125 |
} |
|
126 |
ins.setLastAttribHandle(DwgUtil.handleBinToHandleInt(handleVect)); |
|
127 |
v = DwgUtil.getHandle(data, bitPos); |
|
128 |
bitPos = ((Integer)v.get(0)).intValue(); |
|
129 |
handle = new int[v.size()-1]; |
|
130 |
for (int i=1;i<v.size();i++) { |
|
131 |
handle[i-1] = ((Integer)v.get(i)).intValue(); |
|
132 |
} |
|
133 |
handleVect = new ArrayList(); |
|
134 |
for (int i=0;i<handle.length;i++) { |
|
135 |
handleVect.add(new Integer(handle[i])); |
|
136 |
} |
|
137 |
ins.setSeqendHandle(DwgUtil.handleBinToHandleInt(handleVect)); |
|
100 |
|
|
101 |
hr = new DwgHandleReference(); |
|
102 |
bitPos = hr.read(data, bitPos); |
|
103 |
ins.setFirstAttribHandle(hr); |
|
104 |
|
|
105 |
hr = new DwgHandleReference(); |
|
106 |
bitPos = hr.read(data, bitPos); |
|
107 |
ins.setLastAttribHandle(hr); |
|
108 |
|
|
109 |
hr = new DwgHandleReference(); |
|
110 |
bitPos = hr.read(data, bitPos); |
|
111 |
ins.setSeqendHandle(hr); |
|
112 |
|
|
138 | 113 |
} |
139 | 114 |
} |
140 | 115 |
|
trunk/libraries/libDwg/src/com/iver/cit/jdwglib/dwg/readers/objreaders/v15/DwgAttdefReader15.java | ||
---|---|---|
7 | 7 |
import java.awt.geom.Point2D; |
8 | 8 |
import java.util.ArrayList; |
9 | 9 |
|
10 |
import com.iver.cit.jdwglib.dwg.DwgHandleReference; |
|
10 | 11 |
import com.iver.cit.jdwglib.dwg.DwgObject; |
11 | 12 |
import com.iver.cit.jdwglib.dwg.DwgUtil; |
12 | 13 |
import com.iver.cit.jdwglib.dwg.objects.DwgAttdef; |
... | ... | |
147 | 148 |
String prompt = (String)v.get(1); |
148 | 149 |
att.setPrompt(prompt); |
149 | 150 |
bitPos = headTailReader.readObjectTailer(data, bitPos, att); |
150 |
v = DwgUtil.getHandle(data, bitPos); |
|
151 |
bitPos = ((Integer)v.get(0)).intValue(); |
|
152 |
int[] handle = new int[v.size()-1]; |
|
153 |
for (int j=1;j<v.size();j++) { |
|
154 |
handle[j-1] = ((Integer)v.get(j)).intValue(); |
|
155 |
} |
|
156 |
ArrayList handleVect = new ArrayList(); |
|
157 |
for (int i=0;i<handle.length;i++) { |
|
158 |
handleVect.add(new Integer(handle[i])); |
|
159 |
} |
|
160 |
att.setStyleHandle(DwgUtil.handleBinToHandleInt(handleVect)); |
|
151 |
|
|
152 |
DwgHandleReference styleHandle = new DwgHandleReference(); |
|
153 |
bitPos = styleHandle.read(data, bitPos); |
|
154 |
att.setStyleHandle(styleHandle); |
|
155 |
|
|
161 | 156 |
} |
162 | 157 |
} |
trunk/libraries/libDwg/src/com/iver/cit/jdwglib/dwg/readers/objreaders/v15/DwgLayerReader15.java | ||
---|---|---|
6 | 6 |
|
7 | 7 |
import java.util.ArrayList; |
8 | 8 |
|
9 |
import com.iver.cit.jdwglib.dwg.DwgHandleReference; |
|
9 | 10 |
import com.iver.cit.jdwglib.dwg.DwgObject; |
10 | 11 |
import com.iver.cit.jdwglib.dwg.DwgUtil; |
11 | 12 |
import com.iver.cit.jdwglib.dwg.objects.DwgLayer; |
... | ... | |
57 | 58 |
bitPos = ((Integer)v.get(0)).intValue(); |
58 | 59 |
int color = ((Integer)v.get(1)).intValue(); |
59 | 60 |
lyr.setColor(color); |
60 |
v = DwgUtil.getHandle(data, bitPos); |
|
61 |
bitPos = ((Integer)v.get(0)).intValue(); |
|
62 |
int[] handle = new int[v.size()-1]; |
|
63 |
for (int j=1;j<v.size();j++) { |
|
64 |
handle[j-1] = ((Integer)v.get(j)).intValue(); |
|
65 |
} |
|
66 |
ArrayList handleVect = new ArrayList(); |
|
67 |
for (int i=0;i<handle.length;i++) { |
|
68 |
handleVect.add(new Integer(handle[i])); |
|
69 |
} |
|
70 |
int layerControlHandle = DwgUtil.handleBinToHandleInt(handleVect); |
|
71 |
lyr.setLayerControlHandle(layerControlHandle); |
|
61 |
|
|
62 |
DwgHandleReference hr = new DwgHandleReference(); |
|
63 |
bitPos = hr.read(data, bitPos); |
|
64 |
lyr.setLayerControlHandle(hr); |
|
65 |
|
|
72 | 66 |
//System.out.println("DwgLayer.readDwgLayerV15: Layer Control: " + layerControlHandle); |
73 |
for (int i=0;i<numReactors;i++) { |
|
74 |
v = DwgUtil.getHandle(data, bitPos); |
|
75 |
bitPos = ((Integer)v.get(0)).intValue(); |
|
76 |
handle = new int[v.size()-1]; |
|
77 |
for (int j=1;j<v.size();j++) { |
|
78 |
handle[j-1] = ((Integer)v.get(j)).intValue(); |
|
79 |
} |
|
80 |
//TODO NO SE ESTAN SETEANDO LOS HANDLE DE LOS REACTORS |
|
67 |
|
|
68 |
/* |
|
69 |
* Reactors handles |
|
70 |
* DwgObject |
|
71 |
*/ |
|
72 |
DwgHandleReference reactorHandle; |
|
73 |
for (int i = 0; i < lyr.getNumReactors(); i++) { |
|
74 |
reactorHandle = new DwgHandleReference(); |
|
75 |
bitPos = reactorHandle.read(data, bitPos); |
|
76 |
lyr.addReactorHandle(reactorHandle); |
|
81 | 77 |
} |
82 |
v = DwgUtil.getHandle(data, bitPos); |
|
83 |
bitPos = ((Integer)v.get(0)).intValue(); |
|
84 |
handle = new int[v.size()-1]; |
|
85 |
for (int j=1;j<v.size();j++) { |
|
86 |
handle[j-1] = ((Integer)v.get(j)).intValue(); |
|
87 |
} |
|
88 |
handleVect = new ArrayList(); |
|
89 |
for (int i=0;i<handle.length;i++) { |
|
90 |
handleVect.add(new Integer(handle[i])); |
|
91 |
} |
|
92 |
int xdicobjhandle = DwgUtil.handleBinToHandleInt(handleVect); |
|
93 |
lyr.setXDicObjHandle(xdicobjhandle); |
|
78 |
/* |
|
79 |
* XDICOBJHANDLE |
|
80 |
*/ |
|
81 |
DwgHandleReference xDicObjHandle = new DwgHandleReference(); |
|
82 |
bitPos = xDicObjHandle.read(data, bitPos); |
|
83 |
lyr.setXDicObjHandle(xDicObjHandle); |
|
94 | 84 |
//System.out.println("DwgLayer.readDwgLayerV15: xdicobjhandle:" + xdicobjhandle); |
95 |
|
|
96 |
v = DwgUtil.getHandle(data, bitPos); |
|
97 |
bitPos = ((Integer)v.get(0)).intValue(); |
|
98 |
handle = new int[v.size()-1]; |
|
99 |
for (int j=1;j<v.size();j++) { |
|
100 |
handle[j-1] = ((Integer)v.get(j)).intValue(); |
|
101 |
} |
|
102 |
handleVect = new ArrayList(); |
|
103 |
for (int i=0;i<handle.length;i++) { |
|
104 |
handleVect.add(new Integer(handle[i])); |
|
105 |
} |
|
106 |
int nullHandle = DwgUtil.handleBinToHandleInt(handleVect); |
|
107 |
lyr.setNullHandle(nullHandle); |
|
108 |
//System.out.println("DwgLayer.readDwgLayerV15: NULL (CODE 5): " + nullHandle); |
|
109 |
|
|
110 |
v = DwgUtil.getHandle(data, bitPos); |
|
111 |
bitPos = ((Integer)v.get(0)).intValue(); |
|
112 |
handle = new int[v.size()-1]; |
|
113 |
for (int j=1;j<v.size();j++) { |
|
114 |
handle[j-1] = ((Integer)v.get(j)).intValue(); |
|
115 |
} |
|
116 |
handleVect = new ArrayList(); |
|
117 |
for (int i=0;i<handle.length;i++) { |
|
118 |
handleVect.add(new Integer(handle[i])); |
|
119 |
} |
|
120 |
int plotstyleHandle = DwgUtil.handleBinToHandleInt(handleVect); |
|
121 |
lyr.setPlotstyleHandle(plotstyleHandle); |
|
85 |
|
|
86 |
DwgHandleReference nullHandle = new DwgHandleReference(); |
|
87 |
bitPos = nullHandle.read(data, bitPos); |
|
88 |
lyr.setNullHandle(nullHandle); |
|
89 |
|
|
90 |
DwgHandleReference plotStyleHandle = new DwgHandleReference(); |
|
91 |
bitPos = plotStyleHandle.read(data, bitPos); |
|
92 |
lyr.setPlotStyleHandle(plotStyleHandle); |
|
93 |
|
Also available in: Unified diff