Revision 10310

View differences:

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