Revision 10103 trunk/libraries/libDwg/src/com/iver/cit/jdwglib/dwg/readers/objreaders/v1314/DwgPolyline2dReader1314.java
DwgPolyline2dReader1314.java | ||
---|---|---|
4 | 4 |
*/ |
5 | 5 |
package com.iver.cit.jdwglib.dwg.readers.objreaders.v1314; |
6 | 6 |
|
7 |
import java.util.List; |
|
8 |
|
|
9 |
import com.iver.cit.jdwglib.dwg.CorruptedDwgEntityException; |
|
10 |
import com.iver.cit.jdwglib.dwg.DwgHandleReference; |
|
7 | 11 |
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;
|
|
12 |
import com.iver.cit.jdwglib.dwg.DwgUtil;
|
|
13 |
import com.iver.cit.jdwglib.dwg.objects.DwgPolyline2D;
|
|
10 | 14 |
|
11 | 15 |
/** |
12 | 16 |
* @author alzabord |
... | ... | |
14 | 18 |
* TODO To change the template for this generated type comment go to |
15 | 19 |
* Window - Preferences - Java - Code Style - Code Templates |
16 | 20 |
*/ |
17 |
public class DwgPolyline2dReader1314 implements IDwgObjectReader{
|
|
21 |
public class DwgPolyline2dReader1314 extends AbstractDwg1314Reader{
|
|
18 | 22 |
|
19 | 23 |
/* (non-Javadoc) |
20 | 24 |
* @see com.iver.cit.jdwglib.dwg.readers.IDwgObjectReader#readSpecificObj(int[], int, com.iver.cit.jdwglib.dwg.DwgObject) |
21 | 25 |
*/ |
22 |
public void readSpecificObj(int[] data, int offset, DwgObject dwgObj) { |
|
23 |
// TODO Auto-generated method stub |
|
26 |
public void readSpecificObj(int[] data, int offset, DwgObject dwgObj) throws RuntimeException, CorruptedDwgEntityException { |
|
27 |
if(! (dwgObj instanceof DwgPolyline2D)) |
|
28 |
throw new RuntimeException("ArcReader 14 solo puede leer DwgPolyline2d"); |
|
29 |
DwgPolyline2D l = (DwgPolyline2D)dwgObj; |
|
24 | 30 |
|
25 |
} |
|
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 |
|
31 |
int bitPos = offset; |
|
32 |
bitPos = headTailReader.readObjectHeader(data, offset, l); |
|
32 | 33 |
|
34 |
List val = DwgUtil.getBitShort(data, bitPos); |
|
35 |
bitPos = ((Integer) val.get(0)).intValue(); |
|
36 |
int flags = ((Integer) val.get(1)).intValue(); |
|
37 |
l.setFlags(flags); |
|
38 |
|
|
39 |
val = DwgUtil.getBitShort(data, bitPos); |
|
40 |
bitPos = ((Integer) val.get(0)).intValue(); |
|
41 |
int curveType = ((Integer) val.get(1)).intValue(); |
|
42 |
l.setCurveType(curveType); |
|
43 |
|
|
44 |
val = DwgUtil.getBitDouble(data, bitPos); |
|
45 |
bitPos = ((Integer) val.get(0)).intValue(); |
|
46 |
double startWidth = ((Double) val.get(1)).doubleValue(); |
|
47 |
l.setInitWidth(startWidth); |
|
48 |
|
|
49 |
val = DwgUtil.getBitDouble(data, bitPos); |
|
50 |
bitPos = ((Integer) val.get(0)).intValue(); |
|
51 |
double endWidth = ((Double) val.get(1)).doubleValue(); |
|
52 |
l.setEndWidth(endWidth); |
|
53 |
|
|
54 |
val = DwgUtil.getBitDouble(data, bitPos); |
|
55 |
bitPos = ((Integer) val.get(0)).intValue(); |
|
56 |
double thickness = ((Double) val.get(1)).doubleValue(); |
|
57 |
l.setThickness(thickness); |
|
58 |
|
|
59 |
val = DwgUtil.getBitDouble(data, bitPos); |
|
60 |
bitPos = ((Integer) val.get(0)).intValue(); |
|
61 |
double elevation = ((Double) val.get(1)).doubleValue(); |
|
62 |
l.setElevation(elevation); |
|
63 |
|
|
64 |
val = DwgUtil.getBitDouble(data, bitPos); |
|
65 |
bitPos = ((Integer) val.get(0)).intValue(); |
|
66 |
double x = ((Double) val.get(1)).doubleValue(); |
|
67 |
|
|
68 |
val = DwgUtil.getBitDouble(data, bitPos); |
|
69 |
bitPos = ((Integer) val.get(0)).intValue(); |
|
70 |
double y = ((Double) val.get(1)).doubleValue(); |
|
71 |
|
|
72 |
val = DwgUtil.getBitDouble(data, bitPos); |
|
73 |
bitPos = ((Integer) val.get(0)).intValue(); |
|
74 |
double z = ((Double) val.get(1)).doubleValue(); |
|
75 |
l.setExtrusion(new double[]{x, y, z}); |
|
76 |
|
|
77 |
bitPos = headTailReader.readObjectTailer(data, offset, l); |
|
78 |
|
|
79 |
DwgHandleReference firstVerHdl = new DwgHandleReference(); |
|
80 |
bitPos = firstVerHdl.read(data, bitPos); |
|
81 |
l.setFirstVertexHandle(firstVerHdl); |
|
82 |
|
|
83 |
DwgHandleReference lastVerHdl = new DwgHandleReference(); |
|
84 |
bitPos = lastVerHdl.read(data, bitPos); |
|
85 |
l.setLastVertexHandle(lastVerHdl); |
|
86 |
|
|
87 |
DwgHandleReference seqendHdl = new DwgHandleReference(); |
|
88 |
bitPos = seqendHdl.read(data, bitPos); |
|
89 |
l.setSeqendHandle(seqendHdl); |
|
33 | 90 |
} |
34 |
|
|
35 | 91 |
} |
Also available in: Unified diff