Statistics
| Revision:

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

History | View | Annotate | Download (5.8 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.awt.geom.Point2D;
8
import java.util.ArrayList;
9

    
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.DwgLinearDimension;
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 DwgLinearDimensionReader15 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 Exception {
27
                if(! (dwgObj instanceof DwgLinearDimension))
28
                        throw new RuntimeException("ArcReader 15 solo puede leer DwgLinearDimension");
29
                DwgLinearDimension dim = (DwgLinearDimension) dwgObj;
30
                int bitPos = offset;
31
                bitPos = headTailReader.readObjectHeader(data, bitPos, dwgObj);
32
                ArrayList v = DwgUtil.getBitDouble(data, bitPos);
33
                bitPos = ((Integer)v.get(0)).intValue();
34
                double x = ((Double)v.get(1)).doubleValue();
35
                v = DwgUtil.getBitDouble(data, bitPos);
36
                bitPos = ((Integer)v.get(0)).intValue();
37
                double y = ((Double)v.get(1)).doubleValue();
38
                v = DwgUtil.getBitDouble(data, bitPos);
39
                bitPos = ((Integer)v.get(0)).intValue();
40
                double z = ((Double)v.get(1)).doubleValue();
41
                dim.setExtrusion(new double[]{x, y, z});
42
                v = DwgUtil.getRawDouble(data, bitPos);
43
                bitPos = ((Integer)v.get(0)).intValue();
44
                x = ((Double)v.get(1)).doubleValue();
45
                v = DwgUtil.getRawDouble(data, bitPos);
46
                bitPos = ((Integer)v.get(0)).intValue();
47
                y = ((Double)v.get(1)).doubleValue();
48
                dim.setTextMidpoint(new Point2D.Double(x, y));
49
                v = DwgUtil.getBitDouble(data, bitPos);
50
                bitPos = ((Integer)v.get(0)).intValue();
51
                double val = ((Double)v.get(1)).doubleValue();
52
                dim.setElevation(val);
53
                v = DwgUtil.getRawChar(data, bitPos);
54
                bitPos = ((Integer)v.get(0)).intValue();
55
                int flags = ((Integer)v.get(1)).intValue();
56
                dim.setFlags(flags);
57
                v = DwgUtil.getTextString(data, bitPos);
58
                bitPos = ((Integer)v.get(0)).intValue();
59
                String text = (String)v.get(1);
60
                dim.setText(text);
61
                v = DwgUtil.getBitDouble(data, bitPos);
62
                bitPos = ((Integer)v.get(0)).intValue();
63
                val = ((Double)v.get(1)).doubleValue();
64
                dim.setRotation(val);
65
                v = DwgUtil.getBitDouble(data, bitPos);
66
                bitPos = ((Integer)v.get(0)).intValue();
67
                val = ((Double)v.get(1)).doubleValue();
68
                dim.setHorizDir(val);
69
                v = DwgUtil.getBitDouble(data, bitPos);
70
                bitPos = ((Integer)v.get(0)).intValue();
71
                x = ((Double)v.get(1)).doubleValue();
72
                v = DwgUtil.getBitDouble(data, bitPos);
73
                bitPos = ((Integer)v.get(0)).intValue();
74
                y = ((Double)v.get(1)).doubleValue();
75
                v = DwgUtil.getBitDouble(data, bitPos);
76
                bitPos = ((Integer)v.get(0)).intValue();
77
                z = ((Double)v.get(1)).doubleValue();
78
                dim.setInsScale(new double[]{x, y, z});
79
                v = DwgUtil.getBitDouble(data, bitPos);
80
                bitPos = ((Integer)v.get(0)).intValue();
81
                val = ((Double)v.get(1)).doubleValue();
82
                dim.setInsRotation(val);
83
                v = DwgUtil.getBitShort(data, bitPos);
84
                bitPos = ((Integer)v.get(0)).intValue();
85
                int ap = ((Integer)v.get(1)).intValue();
86
                dim.setAttachmentPoint(ap);
87
                v = DwgUtil.getBitShort(data, bitPos);
88
                bitPos = ((Integer)v.get(0)).intValue();
89
                int lss = ((Integer)v.get(1)).intValue();
90
                dim.setLinespaceStyle(lss);
91
                v = DwgUtil.getBitDouble(data, bitPos);
92
                bitPos = ((Integer)v.get(0)).intValue();
93
                val = ((Double)v.get(1)).doubleValue();
94
                dim.setLinespaceFactor(val);
95
                v = DwgUtil.getBitDouble(data, bitPos);
96
                bitPos = ((Integer)v.get(0)).intValue();
97
                val = ((Double)v.get(1)).doubleValue();
98
                dim.setActualMeasurement(val);
99
                v = DwgUtil.getRawDouble(data, bitPos);
100
                bitPos = ((Integer)v.get(0)).intValue();
101
                x = ((Double)v.get(1)).doubleValue();
102
                v = DwgUtil.getRawDouble(data, bitPos);
103
                bitPos = ((Integer)v.get(0)).intValue();
104
                val = ((Double)v.get(1)).doubleValue();
105
                dim.setPt12(new Point2D.Double(x, y));
106
                v = DwgUtil.getBitDouble(data, bitPos);
107
                bitPos = ((Integer)v.get(0)).intValue();
108
                x = ((Double)v.get(1)).doubleValue();
109
                v = DwgUtil.getBitDouble(data, bitPos);
110
                bitPos = ((Integer)v.get(0)).intValue();
111
                y = ((Double)v.get(1)).doubleValue();
112
                v = DwgUtil.getBitDouble(data, bitPos);
113
                bitPos = ((Integer)v.get(0)).intValue();
114
                z = ((Double)v.get(1)).doubleValue();
115
                dim.setPt10(new double[]{x, y, z});
116
                v = DwgUtil.getBitDouble(data, bitPos);
117
                bitPos = ((Integer)v.get(0)).intValue();
118
                x = ((Double)v.get(1)).doubleValue();
119
                v = DwgUtil.getBitDouble(data, bitPos);
120
                bitPos = ((Integer)v.get(0)).intValue();
121
                y = ((Double)v.get(1)).doubleValue();
122
                v = DwgUtil.getBitDouble(data, bitPos);
123
                bitPos = ((Integer)v.get(0)).intValue();
124
                z = ((Double)v.get(1)).doubleValue();
125
                dim.setPt13(new double[]{x, y, z});
126
                v = DwgUtil.getBitDouble(data, bitPos);
127
                bitPos = ((Integer)v.get(0)).intValue();
128
                x = ((Double)v.get(1)).doubleValue();
129
                v = DwgUtil.getBitDouble(data, bitPos);
130
                bitPos = ((Integer)v.get(0)).intValue();
131
                y = ((Double)v.get(1)).doubleValue();
132
                v = DwgUtil.getBitDouble(data, bitPos);
133
                bitPos = ((Integer)v.get(0)).intValue();
134
                z = ((Double)v.get(1)).doubleValue();
135
                dim.setPt14(new double[]{x, y, z});
136
                v = DwgUtil.getBitDouble(data, bitPos);
137
                bitPos = ((Integer)v.get(0)).intValue();
138
                val = ((Double)v.get(1)).doubleValue();
139
                dim.setExtRotation(val);
140
                v = DwgUtil.getBitDouble(data, bitPos);
141
                bitPos = ((Integer)v.get(0)).intValue();
142
                val = ((Double)v.get(1)).doubleValue();
143
                dim.setDimensionRotation(val);
144
                bitPos = headTailReader.readObjectTailer(data, bitPos, dim);
145

    
146
                DwgHandleReference hr = new DwgHandleReference();
147
                bitPos = hr.read(data, bitPos);
148
                dim.setDimstyleHandle(hr);
149

    
150
                hr = new DwgHandleReference();
151
                bitPos = hr.read(data, bitPos);
152
                dim.setAnonBlockHandle(hr);
153
        }
154
}