root / trunk / libraries / libDwg / src / com / iver / cit / jdwglib / dwg / readers / objreaders / v1314 / DwgSolidReader1314.java @ 10820
History | View | Annotate | Download (3.22 KB)
1 | 9910 | azabala | /*
|
---|---|---|---|
2 | * Created on 25-ene-2007 by azabala
|
||
3 | *
|
||
4 | */
|
||
5 | package com.iver.cit.jdwglib.dwg.readers.objreaders.v1314; |
||
6 | |||
7 | 10103 | azabala | import java.util.List; |
8 | |||
9 | import com.iver.cit.jdwglib.dwg.CorruptedDwgEntityException; |
||
10 | 9910 | azabala | import com.iver.cit.jdwglib.dwg.DwgObject; |
11 | 10103 | azabala | import com.iver.cit.jdwglib.dwg.DwgUtil; |
12 | import com.iver.cit.jdwglib.dwg.objects.DwgSolid; |
||
13 | 9910 | azabala | |
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 | 10103 | azabala | public class DwgSolidReader1314 extends AbstractDwg1314Reader{ |
21 | 9910 | azabala | |
22 | /* (non-Javadoc)
|
||
23 | * @see com.iver.cit.jdwglib.dwg.readers.IDwgObjectReader#readSpecificObj(int[], int, com.iver.cit.jdwglib.dwg.DwgObject)
|
||
24 | */
|
||
25 | 10103 | azabala | public void readSpecificObj(int[] data, int offset, DwgObject dwgObj) throws RuntimeException, CorruptedDwgEntityException { |
26 | if(! (dwgObj instanceof DwgSolid)) |
||
27 | throw new RuntimeException("ArcReader 14 solo puede leer DwgSeqEnd"); |
||
28 | DwgSolid s = (DwgSolid)dwgObj; |
||
29 | int bitPos = offset;
|
||
30 | bitPos = headTailReader.readObjectHeader(data, offset, dwgObj ); |
||
31 | 9910 | azabala | |
32 | 10103 | azabala | List val = DwgUtil.getBitDouble(data, bitPos);
|
33 | bitPos = ((Integer) val.get(0)).intValue(); |
||
34 | double thickness = ((Double) val.get(1)).doubleValue(); |
||
35 | s.setThickness(thickness); |
||
36 | 9910 | azabala | |
37 | 10103 | azabala | val = DwgUtil.getBitDouble(data, bitPos); |
38 | bitPos = ((Integer) val.get(0)).intValue(); |
||
39 | double elevation = ((Double) val.get(1)).doubleValue(); |
||
40 | s.setElevation(elevation); |
||
41 | |||
42 | val = DwgUtil.getRawDouble(data, bitPos); |
||
43 | bitPos = ((Integer) val.get(0)).intValue(); |
||
44 | double x = ((Double) val.get(1)).doubleValue(); |
||
45 | |||
46 | val = DwgUtil.getRawDouble(data, bitPos); |
||
47 | bitPos = ((Integer) val.get(0)).intValue(); |
||
48 | double y = ((Double) val.get(1)).doubleValue(); |
||
49 | s.setCorner1(new double[]{x, y, elevation}); |
||
50 | |||
51 | val = DwgUtil.getRawDouble(data, bitPos); |
||
52 | bitPos = ((Integer) val.get(0)).intValue(); |
||
53 | x = ((Double) val.get(1)).doubleValue(); |
||
54 | |||
55 | val = DwgUtil.getRawDouble(data, bitPos); |
||
56 | bitPos = ((Integer) val.get(0)).intValue(); |
||
57 | y = ((Double) val.get(1)).doubleValue(); |
||
58 | s.setCorner2(new double[]{x, y, elevation}); |
||
59 | |||
60 | val = DwgUtil.getRawDouble(data, bitPos); |
||
61 | bitPos = ((Integer) val.get(0)).intValue(); |
||
62 | x = ((Double) val.get(1)).doubleValue(); |
||
63 | |||
64 | val = DwgUtil.getRawDouble(data, bitPos); |
||
65 | bitPos = ((Integer) val.get(0)).intValue(); |
||
66 | y = ((Double) val.get(1)).doubleValue(); |
||
67 | s.setCorner3(new double[]{x, y, elevation}); |
||
68 | |||
69 | val = DwgUtil.getRawDouble(data, bitPos); |
||
70 | bitPos = ((Integer) val.get(0)).intValue(); |
||
71 | x = ((Double) val.get(1)).doubleValue(); |
||
72 | |||
73 | val = DwgUtil.getRawDouble(data, bitPos); |
||
74 | bitPos = ((Integer) val.get(0)).intValue(); |
||
75 | y = ((Double) val.get(1)).doubleValue(); |
||
76 | s.setCorner4(new double[]{x, y, elevation}); |
||
77 | |||
78 | 10820 | azabala | val = DwgUtil.getBitDouble(data, bitPos); |
79 | 10103 | azabala | bitPos = ((Integer) val.get(0)).intValue(); |
80 | x = ((Double) val.get(1)).doubleValue(); |
||
81 | |||
82 | 10820 | azabala | val = DwgUtil.getBitDouble(data, bitPos); |
83 | 10103 | azabala | bitPos = ((Integer) val.get(0)).intValue(); |
84 | y = ((Double) val.get(1)).doubleValue(); |
||
85 | s.setCorner3(new double[]{x, y, elevation}); |
||
86 | |||
87 | 10820 | azabala | val = DwgUtil.getBitDouble(data, bitPos); |
88 | 10103 | azabala | bitPos = ((Integer) val.get(0)).intValue(); |
89 | double z = ((Double) val.get(1)).doubleValue(); |
||
90 | s.setExtrusion(new double[]{x, y, z}); |
||
91 | |||
92 | bitPos = headTailReader.readObjectTailer(data, bitPos, s); |
||
93 | 9910 | azabala | } |
94 | |||
95 | } |