Statistics
| Revision:

root / trunk / libraries / libDwg / src / com / iver / cit / jdwglib / dwg / readers / objreaders / v15 / DwgLayerReader15.java @ 10014

History | View | Annotate | Download (3.56 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.DwgHandleReference;
10
import com.iver.cit.jdwglib.dwg.DwgObject;
11
import com.iver.cit.jdwglib.dwg.DwgUtil;
12
import com.iver.cit.jdwglib.dwg.objects.DwgLayer;
13

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

    
22
        /* (non-Javadoc)
23
         * @see com.iver.cit.jdwglib.dwg.readers.IDwgObjectReader#readSpecificObj(int[], int, com.iver.cit.jdwglib.dwg.DwgObject)
24
         */
25
        public void readSpecificObj(int[] data, int offset, DwgObject dwgObj) throws Exception {
26
                if(! (dwgObj instanceof DwgLayer))
27
                        throw new RuntimeException("ArcReader 15 solo puede leer DwgLayer");
28
                //System.out.println("DwgLayer.readDwgLayerV15: offset = "+offset);
29
                DwgLayer lyr = (DwgLayer) dwgObj;
30
                int bitPos = offset;
31
                ArrayList v = DwgUtil.getBitLong(data, bitPos);
32
                bitPos = ((Integer)v.get(0)).intValue();
33
                int numReactors = ((Integer)v.get(1)).intValue();
34
                //System.out.println("DwgLayer.readDwgLayerV15: numReactors = "+numReactors);
35
                lyr.setNumReactors(numReactors);
36
                v = DwgUtil.getTextString(data, bitPos);
37
                bitPos = ((Integer)v.get(0)).intValue();
38
                String name = (String)v.get(1);
39
                //System.out.println("DwgLayer.readDwgLayerV15: name = "+name);
40
                lyr.setName(name);
41
                v = DwgUtil.testBit(data, bitPos);
42
                bitPos = ((Integer)v.get(0)).intValue();
43
                boolean flag = ((Boolean)v.get(1)).booleanValue();
44
                lyr.setFlag64(flag);
45
                v = DwgUtil.getBitShort(data, bitPos);
46
                bitPos = ((Integer)v.get(0)).intValue();
47
                int xrefplus1 = ((Integer)v.get(1)).intValue();
48
                lyr.setXRefPlus(xrefplus1);
49
                v = DwgUtil.testBit(data, bitPos);
50
                bitPos = ((Integer)v.get(0)).intValue();
51
                boolean xdep = ((Boolean)v.get(1)).booleanValue();
52
                lyr.setXdep(xdep);
53
                v = DwgUtil.getBitShort(data, bitPos);
54
                bitPos = ((Integer)v.get(0)).intValue();
55
                int flags = ((Integer)v.get(1)).intValue();
56
                lyr.setFlags(flags);
57
                v = DwgUtil.getBitShort(data, bitPos);
58
                bitPos = ((Integer)v.get(0)).intValue();
59
                int color = ((Integer)v.get(1)).intValue();
60
                lyr.setColor(color);
61

    
62
                DwgHandleReference hr = new DwgHandleReference();
63
                bitPos = hr.read(data, bitPos);
64
                lyr.setLayerControlHandle(hr);
65
            
66
            //System.out.println("DwgLayer.readDwgLayerV15: Layer Control: " + layerControlHandle);
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);
77
                }
78
                /*
79
                 * XDICOBJHANDLE
80
                 */
81
                DwgHandleReference xDicObjHandle = new DwgHandleReference();
82
                bitPos = xDicObjHandle.read(data, bitPos);
83
                lyr.setXDicObjHandle(xDicObjHandle);
84
            //System.out.println("DwgLayer.readDwgLayerV15: xdicobjhandle:" + xdicobjhandle);
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
                        
94
            //System.out.println("DwgLayer.readDwgLayerV15: Plotstyle: " + plotstyleHandle);
95
                DwgHandleReference lineTypeHandle = new DwgHandleReference();
96
                bitPos = lineTypeHandle.read(data, bitPos);
97
                lyr.setLineTypeHandle(lineTypeHandle);
98

    
99

    
100
            //System.out.println("DwgLayer.readDwgLayerV15: Linetype: " + linetypeHandle);
101
            
102
        }
103

    
104
}