Revision 10310
trunk/libraries/libDwg/src/com/iver/cit/jdwglib/dwg/DwgFile.java | ||
---|---|---|
408 | 408 |
return null; |
409 | 409 |
} |
410 | 410 |
|
411 |
public DwgObject getDwgSuperEntity(DwgObject entity) { |
|
412 |
if(entity.hasSubEntityHandle()){ |
|
413 |
int handleCode = entity.subEntityHandle.getCode(); |
|
414 |
int offset = entity.subEntityHandle.getOffset(); |
|
415 |
int handle = -1; |
|
416 |
|
|
417 |
DwgObject object; |
|
418 |
|
|
419 |
switch(handleCode){ |
|
420 |
// TODO: case 0x2: |
|
421 |
// TODO: case 0x3: |
|
422 |
case 0x4: |
|
423 |
case 0x5: |
|
424 |
handle = offset; |
|
425 |
break; |
|
426 |
// TODO: case 0x6: |
|
427 |
case 0x8: |
|
428 |
handle=entity.getHandle().getOffset() - 1; |
|
429 |
break; |
|
430 |
case 0xA: |
|
431 |
handle = entity.getHandle().getOffset() + offset; |
|
432 |
break; |
|
433 |
case 0xC: |
|
434 |
handle = entity.getHandle().getOffset() - offset; |
|
435 |
break; |
|
436 |
default: |
|
437 |
System.out.println ("DwgObject.getDwgSuperEntity: handleCode "+handleCode+" no implementado. offset = "+offset); |
|
438 |
} |
|
439 |
if(handle != -1){ |
|
440 |
object = getDwgObjectFromHandle(handle); |
|
441 |
if(object != null) |
|
442 |
return object; |
|
443 |
} |
|
444 |
System.out.println(" NO SE HA ENCONTRADO UN OBJETO CON HANDLE " + handle + ". handleCode = " + handleCode + " dwgObject.index = "+entity.index +" dwgObject.type = " + entity.type + " dwgObjectClassName = "+ entity.getClass().getName()); |
|
445 |
} |
|
446 |
return null; |
|
447 |
} |
|
411 | 448 |
|
412 | 449 |
public String getLayerName(DwgObject entity) { |
413 | 450 |
DwgLayer dwgLayer = getDwgLayer(entity); |
... | ... | |
542 | 579 |
int i = 0; |
543 | 580 |
while(it.hasNext()){ |
544 | 581 |
DwgObject entity = (DwgObject)it.next(); |
545 |
DwgObject superEnt = entity.getSuperEntity();
|
|
582 |
DwgObject superEnt = getDwgSuperEntity(entity);
|
|
546 | 583 |
if(superEnt instanceof DwgBlockHeader){ |
547 | 584 |
DwgBlockHeader blk = (DwgBlockHeader)superEnt; |
548 | 585 |
// System.out.println("Entidad "+ |
Also available in: Unified diff