Statistics
| Revision:

svn-gvsig-desktop / branches / v10 / libraries / libDwg / src / com / iver / cit / jdwglib / dwg / readers / objreaders / v15 / DwgLayerReader15.java @ 10539

History | View | Annotate | Download (3.66 KB)

1
/*
2
 * Created on 25-ene-2007 by azabala
3
 *
4
 */
5
package com.iver.cit.jdwglib.dwg.readers.objreaders.v15;
6

    
7
import java.util.ArrayList;
8

    
9
import com.iver.cit.jdwglib.dwg.CorruptedDwgEntityException;
10
import com.iver.cit.jdwglib.dwg.DwgHandleReference;
11
import com.iver.cit.jdwglib.dwg.DwgObject;
12
import com.iver.cit.jdwglib.dwg.DwgUtil;
13
import com.iver.cit.jdwglib.dwg.objects.DwgLayer;
14

    
15
/**
16
 * @author alzabord
17
 *
18
 * TODO To change the template for this generated type comment go to
19
 * Window - Preferences - Java - Code Style - Code Templates
20
 */
21
public class DwgLayerReader15 extends AbstractDwg15Reader{
22

    
23
        /* (non-Javadoc)
24
         * @see com.iver.cit.jdwglib.dwg.readers.IDwgObjectReader#readSpecificObj(int[], int, com.iver.cit.jdwglib.dwg.DwgObject)
25
         */
26
        public void readSpecificObj(int[] data, int offset, DwgObject dwgObj) throws RuntimeException, CorruptedDwgEntityException {
27
                if(! (dwgObj instanceof DwgLayer))
28
                        throw new RuntimeException("LayerReader 15 solo puede leer DwgLayer");
29
                //System.out.println("DwgLayer.readDwgLayerV15: offset = "+offset);
30
                DwgLayer lyr = (DwgLayer) dwgObj;
31
                int bitPos = offset;
32
                ArrayList v = DwgUtil.getBitLong(data, bitPos);
33
                bitPos = ((Integer)v.get(0)).intValue();
34
                int numReactors = ((Integer)v.get(1)).intValue();
35
                //System.out.println("DwgLayer.readDwgLayerV15: numReactors = "+numReactors);
36
                lyr.setNumReactors(numReactors);
37
                v = DwgUtil.getTextString(data, bitPos);
38
                bitPos = ((Integer)v.get(0)).intValue();
39
                String name = (String)v.get(1);
40
                //System.out.println("DwgLayer.readDwgLayerV15: name = "+name);
41
                lyr.setName(name);
42
                v = DwgUtil.testBit(data, bitPos);
43
                bitPos = ((Integer)v.get(0)).intValue();
44
                boolean flag = ((Boolean)v.get(1)).booleanValue();
45
                lyr.setFlag64(flag);
46
                v = DwgUtil.getBitShort(data, bitPos);
47
                bitPos = ((Integer)v.get(0)).intValue();
48
                int xrefplus1 = ((Integer)v.get(1)).intValue();
49
                lyr.setXRefPlus(xrefplus1);
50
                v = DwgUtil.testBit(data, bitPos);
51
                bitPos = ((Integer)v.get(0)).intValue();
52
                boolean xdep = ((Boolean)v.get(1)).booleanValue();
53
                lyr.setXdep(xdep);
54
                v = DwgUtil.getBitShort(data, bitPos);
55
                bitPos = ((Integer)v.get(0)).intValue();
56
                int flags = ((Integer)v.get(1)).intValue();
57
                lyr.setFlags(flags);
58
                v = DwgUtil.getBitShort(data, bitPos);
59
                bitPos = ((Integer)v.get(0)).intValue();
60
                int color = ((Integer)v.get(1)).intValue();
61
                lyr.setColor(color);
62
                
63
                DwgHandleReference hr = new DwgHandleReference();
64
                bitPos = hr.read(data, bitPos);
65
                lyr.setLayerControlHandle(hr);
66
                
67
            //System.out.println("DwgLayer.readDwgLayerV15: Layer Control: " + layerControlHandle);
68
                
69
                /*
70
                 * Reactors handles
71
                 * DwgObject
72
                 */
73
                DwgHandleReference reactorHandle;
74
                for (int i = 0; i < lyr.getNumReactors(); i++) {
75
                        reactorHandle = new DwgHandleReference();
76
                        bitPos = reactorHandle.read(data, bitPos);
77
                        lyr.addReactorHandle(reactorHandle);
78
                }
79
                
80
                /*
81
                 * XDICOBJHANDLE
82
                 */
83
                DwgHandleReference xDicObjHandle = new DwgHandleReference();
84
                bitPos = xDicObjHandle.read(data, bitPos);
85
                lyr.setXDicObjHandle(xDicObjHandle);
86
            //System.out.println("DwgLayer.readDwgLayerV15: xdicobjhandle:" + xdicobjhandle);
87

    
88
                DwgHandleReference nullHandle = new DwgHandleReference();
89
                bitPos = nullHandle.read(data, bitPos);
90
                lyr.setNullHandle(nullHandle);
91

    
92
                DwgHandleReference plotStyleHandle = new DwgHandleReference();
93
                bitPos = plotStyleHandle.read(data, bitPos);
94
                lyr.setPlotStyleHandle(plotStyleHandle);
95
                        
96
            //System.out.println("DwgLayer.readDwgLayerV15: Plotstyle: " + plotstyleHandle);
97
                DwgHandleReference lineTypeHandle = new DwgHandleReference();
98
                bitPos = lineTypeHandle.read(data, bitPos);
99
                lyr.setLineTypeHandle(lineTypeHandle);
100
            //System.out.println("DwgLayer.readDwgLayerV15: Linetype: " + linetypeHandle);
101
            
102
        }
103

    
104
}