Statistics
| Revision:

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

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

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

    
21
        /* (non-Javadoc)
22
         * @see com.iver.cit.jdwglib.dwg.readers.IDwgObjectReader#readSpecificObj(int[], int, com.iver.cit.jdwglib.dwg.DwgObject)
23
         */
24
        public void readSpecificObj(int[] data, int offset, DwgObject dwgObj) throws Exception {
25
                if(! (dwgObj instanceof DwgLayer))
26
                        throw new RuntimeException("ArcReader 15 solo puede leer DwgLayer");
27
                //System.out.println("DwgLayer.readDwgLayerV15: offset = "+offset);
28
                DwgLayer lyr = (DwgLayer) dwgObj;
29
                int bitPos = offset;
30
                ArrayList v = DwgUtil.getBitLong(data, bitPos);
31
                bitPos = ((Integer)v.get(0)).intValue();
32
                int numReactors = ((Integer)v.get(1)).intValue();
33
                //System.out.println("DwgLayer.readDwgLayerV15: numReactors = "+numReactors);
34
                lyr.setNumReactors(numReactors);
35
                v = DwgUtil.getTextString(data, bitPos);
36
                bitPos = ((Integer)v.get(0)).intValue();
37
                String name = (String)v.get(1);
38
                //System.out.println("DwgLayer.readDwgLayerV15: name = "+name);
39
                lyr.setName(name);
40
                v = DwgUtil.testBit(data, bitPos);
41
                bitPos = ((Integer)v.get(0)).intValue();
42
                boolean flag = ((Boolean)v.get(1)).booleanValue();
43
                lyr.setFlag64(flag);
44
                v = DwgUtil.getBitShort(data, bitPos);
45
                bitPos = ((Integer)v.get(0)).intValue();
46
                int xrefplus1 = ((Integer)v.get(1)).intValue();
47
                lyr.setXRefPlus(xrefplus1);
48
                v = DwgUtil.testBit(data, bitPos);
49
                bitPos = ((Integer)v.get(0)).intValue();
50
                boolean xdep = ((Boolean)v.get(1)).booleanValue();
51
                lyr.setXdep(xdep);
52
                v = DwgUtil.getBitShort(data, bitPos);
53
                bitPos = ((Integer)v.get(0)).intValue();
54
                int flags = ((Integer)v.get(1)).intValue();
55
                lyr.setFlags(flags);
56
                v = DwgUtil.getBitShort(data, bitPos);
57
                bitPos = ((Integer)v.get(0)).intValue();
58
                int color = ((Integer)v.get(1)).intValue();
59
                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);
72
            //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
81
                }
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);
94
            //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);
122
            //System.out.println("DwgLayer.readDwgLayerV15: Plotstyle: " + plotstyleHandle);
123
            v = DwgUtil.getHandle(data, bitPos);
124
                bitPos = ((Integer)v.get(0)).intValue();
125
                handle = new int[v.size()-1];
126
            for (int j=1;j<v.size();j++) {
127
                    handle[j-1] = ((Integer)v.get(j)).intValue();
128
            }
129
            handleVect = new ArrayList();
130
            for (int i=0;i<handle.length;i++) {
131
                    handleVect.add(new Integer(handle[i]));
132
            }
133
            int linetypeHandle = DwgUtil.handleBinToHandleInt(handleVect);
134
            lyr.setLinetypeHandle(linetypeHandle);
135
            //System.out.println("DwgLayer.readDwgLayerV15: Linetype: " + linetypeHandle);
136
            
137
        }
138

    
139
}