Revision 9925 trunk/libraries/libDwg/src/com/iver/cit/jdwglib/dwg/readers/objreaders/v15/DwgCircleReader15.java
DwgCircleReader15.java | ||
---|---|---|
4 | 4 |
*/ |
5 | 5 |
package com.iver.cit.jdwglib.dwg.readers.objreaders.v15; |
6 | 6 |
|
7 |
import java.util.ArrayList; |
|
8 |
|
|
7 | 9 |
import com.iver.cit.jdwglib.dwg.DwgObject; |
8 |
import com.iver.cit.jdwglib.dwg.readers.IDwgFileReader;
|
|
9 |
import com.iver.cit.jdwglib.dwg.readers.IDwgObjectReader;
|
|
10 |
import com.iver.cit.jdwglib.dwg.DwgUtil;
|
|
11 |
import com.iver.cit.jdwglib.dwg.objects.DwgCircle;
|
|
10 | 12 |
|
11 | 13 |
/** |
12 | 14 |
* @author alzabord |
... | ... | |
14 | 16 |
* TODO To change the template for this generated type comment go to |
15 | 17 |
* Window - Preferences - Java - Code Style - Code Templates |
16 | 18 |
*/ |
17 |
public class DwgCircleReader15 implements IDwgObjectReader{
|
|
19 |
public class DwgCircleReader15 extends AbstractDwg15Reader{
|
|
18 | 20 |
|
19 | 21 |
/* (non-Javadoc) |
20 | 22 |
* @see com.iver.cit.jdwglib.dwg.readers.IDwgObjectReader#readSpecificObj(int[], int, com.iver.cit.jdwglib.dwg.DwgObject) |
21 | 23 |
*/ |
22 |
public void readSpecificObj(int[] data, int offset, DwgObject dwgObj) { |
|
23 |
// TODO Auto-generated method stub |
|
24 |
|
|
24 |
public void readSpecificObj(int[] data, int offset, DwgObject dwgObj) throws Exception { |
|
25 |
if(! (dwgObj instanceof DwgCircle)) |
|
26 |
throw new RuntimeException("ArcReader 15 solo puede leer DwgCircle"); |
|
27 |
DwgCircle circle = (DwgCircle) dwgObj; |
|
28 |
int bitPos = offset; |
|
29 |
bitPos = headTailReader.readObjectHeader(data, bitPos, dwgObj); |
|
30 |
ArrayList v = DwgUtil.getBitDouble(data, bitPos); |
|
31 |
bitPos = ((Integer)v.get(0)).intValue(); |
|
32 |
double x = ((Double)v.get(1)).doubleValue(); |
|
33 |
v = DwgUtil.getBitDouble(data, bitPos); |
|
34 |
bitPos = ((Integer)v.get(0)).intValue(); |
|
35 |
double y = ((Double)v.get(1)).doubleValue(); |
|
36 |
v = DwgUtil.getBitDouble(data, bitPos); |
|
37 |
bitPos = ((Integer)v.get(0)).intValue(); |
|
38 |
double z = ((Double)v.get(1)).doubleValue(); |
|
39 |
double[] coord = new double[]{x, y, z}; |
|
40 |
circle.setCenter(coord); |
|
41 |
v = DwgUtil.getBitDouble(data, bitPos); |
|
42 |
bitPos = ((Integer)v.get(0)).intValue(); |
|
43 |
double val = ((Double)v.get(1)).doubleValue(); |
|
44 |
circle.setRadius(val); |
|
45 |
v = DwgUtil.testBit(data, bitPos); |
|
46 |
bitPos = ((Integer)v.get(0)).intValue(); |
|
47 |
boolean flag = ((Boolean)v.get(1)).booleanValue(); |
|
48 |
if (flag) { |
|
49 |
val=0.0; |
|
50 |
} else { |
|
51 |
v = DwgUtil.getBitDouble(data, bitPos); |
|
52 |
bitPos = ((Integer)v.get(0)).intValue(); |
|
53 |
val = ((Double)v.get(1)).doubleValue(); |
|
54 |
} |
|
55 |
circle.setThickness(val); |
|
56 |
v = DwgUtil.testBit(data, bitPos); |
|
57 |
bitPos = ((Integer)v.get(0)).intValue(); |
|
58 |
flag = ((Boolean)v.get(1)).booleanValue(); |
|
59 |
if (flag) { |
|
60 |
x = y = 0.0; |
|
61 |
z = 1.0; |
|
62 |
} else { |
|
63 |
v = DwgUtil.getBitDouble(data, bitPos); |
|
64 |
bitPos = ((Integer)v.get(0)).intValue(); |
|
65 |
x = ((Double)v.get(1)).doubleValue(); |
|
66 |
v = DwgUtil.getBitDouble(data, bitPos); |
|
67 |
bitPos = ((Integer)v.get(0)).intValue(); |
|
68 |
y = ((Double)v.get(1)).doubleValue(); |
|
69 |
v = DwgUtil.getBitDouble(data, bitPos); |
|
70 |
bitPos = ((Integer)v.get(0)).intValue(); |
|
71 |
z = ((Double)v.get(1)).doubleValue(); |
|
72 |
} |
|
73 |
coord = new double[]{x, y, z}; |
|
74 |
circle.setExtrusion(coord); |
|
75 |
bitPos = headTailReader.readObjectTailer(data, bitPos, dwgObj); |
|
25 | 76 |
} |
26 |
|
|
27 |
/* (non-Javadoc) |
|
28 |
* @see com.iver.cit.jdwglib.dwg.readers.IDwgObjectReader#setFileReader(com.iver.cit.jdwglib.dwg.readers.IDwgFileReader) |
|
29 |
*/ |
|
30 |
public void setFileReader(IDwgFileReader headTailReader) { |
|
31 |
// TODO Auto-generated method stub |
|
32 |
|
|
33 |
} |
|
34 |
|
|
35 | 77 |
} |
Also available in: Unified diff