Statistics
| Revision:

svn-gvsig-desktop / trunk / libraries / libDwg / src / com / iver / cit / jdwglib / dwg / readers / objreaders / v1314 / DwgLayerControlReader1314.java @ 10103

History | View | Annotate | Download (1.73 KB)

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

    
7
import java.util.ArrayList;
8
import java.util.List;
9

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

    
16
/**
17
 * @author alzabord
18
 */
19
public class DwgLayerControlReader1314 extends AbstractDwg1314Reader{
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 RuntimeException, CorruptedDwgEntityException {
25
                if(! (dwgObj instanceof DwgLayerControl))
26
                    throw new RuntimeException("ArcReader 14 solo puede leer DwgLayer");
27
                DwgLayerControl lyr = (DwgLayerControl) dwgObj;
28
                int bitPos = offset;
29
                
30
                List val = DwgUtil.getBitLong(data, bitPos);
31
                bitPos = ((Integer) val.get(0)).intValue();
32
                int numReactors = ((Integer) val.get(1)).intValue();
33
                lyr.setNumReactors(numReactors);
34
                
35
                val = DwgUtil.getBitShort(data, bitPos);
36
                bitPos = ((Integer) val.get(0)).intValue();
37
                int ne = ((Integer) val.get(1)).intValue();
38
                
39
                DwgHandleReference handle = new DwgHandleReference();
40
                bitPos = handle.read(data, bitPos);
41
                lyr.setNullHandle(handle);
42
                
43
                handle = new DwgHandleReference();
44
                bitPos = handle.read(data, bitPos);
45
                lyr.setXDicObjHandle(handle);
46
                
47
                if(ne > 0){
48
                        List handles = new ArrayList();
49
                        for (int i = 0; i < ne; i++){
50
                                handle = new DwgHandleReference();
51
                                bitPos = handle.read(data, bitPos);
52
                                handles.add(handle);
53
                        }
54
                        lyr.setCode2Handles(handles);
55
                }
56
        }
57
}