root / trunk / libraries / libDwg / src / com / iver / cit / jdwglib / dwg / readers / objreaders / v1314 / DwgEllipseReader1314.java @ 10858
History | View | Annotate | Download (3.04 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.DwgArc; |
||
13 | import com.iver.cit.jdwglib.dwg.objects.DwgEllipse; |
||
14 | 9910 | azabala | |
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 | 10103 | azabala | public class DwgEllipseReader1314 extends AbstractDwg1314Reader{ |
22 | 9910 | azabala | |
23 | /* (non-Javadoc)
|
||
24 | * @see com.iver.cit.jdwglib.dwg.readers.IDwgObjectReader#readSpecificObj(int[], int, com.iver.cit.jdwglib.dwg.DwgObject)
|
||
25 | */
|
||
26 | 10103 | azabala | public void readSpecificObj(int[] data, int offset, DwgObject dwgObj) throws RuntimeException, CorruptedDwgEntityException { |
27 | 10858 | azabala | if(! (dwgObj instanceof DwgEllipse)) |
28 | 10103 | azabala | throw new RuntimeException("ArcReader 14 solo puede leer DwgEllipse"); |
29 | DwgEllipse ell = (DwgEllipse) dwgObj; |
||
30 | int bitPos = offset;
|
||
31 | bitPos = headTailReader.readObjectHeader(data, bitPos, ell); |
||
32 | 9910 | azabala | |
33 | 10103 | azabala | List val = DwgUtil.getBitDouble(data, bitPos);
|
34 | bitPos = ((Integer) val.get(0)).intValue(); |
||
35 | double x = ((Double) val.get(1)).doubleValue(); |
||
36 | 9910 | azabala | |
37 | 10103 | azabala | val = DwgUtil.getBitDouble(data, bitPos); |
38 | bitPos = ((Integer) val.get(0)).intValue(); |
||
39 | double y = ((Double) val.get(1)).doubleValue(); |
||
40 | |||
41 | val = DwgUtil.getBitDouble(data, bitPos); |
||
42 | bitPos = ((Integer) val.get(0)).intValue(); |
||
43 | double z = ((Double) val.get(1)).doubleValue(); |
||
44 | ell.setCenter(new double[]{x, y, z}); |
||
45 | |||
46 | val = DwgUtil.getBitDouble(data, bitPos); |
||
47 | bitPos = ((Integer) val.get(0)).intValue(); |
||
48 | x = ((Double) val.get(1)).doubleValue(); |
||
49 | |||
50 | val = DwgUtil.getBitDouble(data, bitPos); |
||
51 | bitPos = ((Integer) val.get(0)).intValue(); |
||
52 | y = ((Double) val.get(1)).doubleValue(); |
||
53 | |||
54 | val = DwgUtil.getBitDouble(data, bitPos); |
||
55 | bitPos = ((Integer) val.get(0)).intValue(); |
||
56 | z = ((Double) val.get(1)).doubleValue(); |
||
57 | ell.setMajorAxisVector(new double[]{x, y, z}); |
||
58 | |||
59 | val = DwgUtil.getBitDouble(data, bitPos); |
||
60 | bitPos = ((Integer) val.get(0)).intValue(); |
||
61 | x = ((Double) val.get(1)).doubleValue(); |
||
62 | |||
63 | val = DwgUtil.getBitDouble(data, bitPos); |
||
64 | bitPos = ((Integer) val.get(0)).intValue(); |
||
65 | y = ((Double) val.get(1)).doubleValue(); |
||
66 | |||
67 | val = DwgUtil.getBitDouble(data, bitPos); |
||
68 | bitPos = ((Integer) val.get(0)).intValue(); |
||
69 | z = ((Double) val.get(1)).doubleValue(); |
||
70 | ell.setExtrusion(new double[]{x, y, z}); |
||
71 | |||
72 | val = DwgUtil.getBitDouble(data, bitPos); |
||
73 | bitPos = ((Integer) val.get(0)).intValue(); |
||
74 | double axisRatio = ((Double) val.get(1)).doubleValue(); |
||
75 | ell.setAxisRatio(axisRatio); |
||
76 | |||
77 | val = DwgUtil.getBitDouble(data, bitPos); |
||
78 | bitPos = ((Integer) val.get(0)).intValue(); |
||
79 | double startAngle = ((Double) val.get(1)).doubleValue(); |
||
80 | ell.setInitAngle(startAngle); |
||
81 | |||
82 | val = DwgUtil.getBitDouble(data, bitPos); |
||
83 | bitPos = ((Integer) val.get(0)).intValue(); |
||
84 | double endAngle = ((Double) val.get(1)).doubleValue(); |
||
85 | ell.setEndAngle(endAngle); |
||
86 | |||
87 | bitPos = headTailReader.readObjectTailer(data, bitPos, ell); |
||
88 | 9910 | azabala | } |
89 | } |