svn-gvsig-desktop / branches / v2_0_0_prep / libraries / libDwg / src / org / gvsig / dwg / lib / readers / v2004 / DwgVertex3DReader2004.java @ 28969
History | View | Annotate | Download (1.74 KB)
1 |
/*
|
---|---|
2 |
* Created on 25-ene-2007 by azabala
|
3 |
*
|
4 |
*/
|
5 |
package org.gvsig.dwg.lib.readers.v2004; |
6 |
|
7 |
import java.util.ArrayList; |
8 |
|
9 |
import org.gvsig.dwg.lib.CorruptedDwgEntityException; |
10 |
import org.gvsig.dwg.lib.DwgHandleReference; |
11 |
import org.gvsig.dwg.lib.DwgObject; |
12 |
import org.gvsig.dwg.lib.DwgUtil; |
13 |
import org.gvsig.dwg.lib.objects.DwgVertex3D; |
14 |
|
15 |
|
16 |
/**
|
17 |
* @author alzabord
|
18 |
*
|
19 |
* TODO To change the template for this generated type comment go to
|
20 |
* Window - Preferences - Java - Code Style - Code Templates
|
21 |
*/
|
22 |
public class DwgVertex3DReader2004 extends AbstractDwg2004Reader{ |
23 |
|
24 |
/* (non-Javadoc)
|
25 |
* @see com.iver.cit.jdwglib.dwg.readers.IDwgObjectReader#readSpecificObj(int[], int, com.iver.cit.jdwglib.dwg.DwgObject)
|
26 |
*/
|
27 |
public void readSpecificObj(int[] data, int offset, DwgObject dwgObj) throws RuntimeException, CorruptedDwgEntityException { |
28 |
if(! (dwgObj instanceof DwgVertex3D)) |
29 |
throw new RuntimeException("DwgVertex3DReader2004 solo puede leer DwgVertex3D"); |
30 |
DwgVertex3D ver = (DwgVertex3D) dwgObj; |
31 |
int bitPos = offset;
|
32 |
ArrayList v;
|
33 |
|
34 |
bitPos = readObjectHeader(data, bitPos, ver); |
35 |
|
36 |
v = DwgUtil.getRawChar(data, bitPos); |
37 |
bitPos = ((Integer)v.get(0)).intValue(); |
38 |
int flags = ((Integer)v.get(1)).intValue(); |
39 |
ver.setFlags(flags); |
40 |
|
41 |
v = DwgUtil.getBitDouble(data, bitPos); |
42 |
bitPos = ((Integer)v.get(0)).intValue(); |
43 |
double x = ((Double)v.get(1)).doubleValue(); |
44 |
v = DwgUtil.getBitDouble(data, bitPos); |
45 |
bitPos = ((Integer)v.get(0)).intValue(); |
46 |
double y = ((Double)v.get(1)).doubleValue(); |
47 |
v = DwgUtil.getBitDouble(data, bitPos); |
48 |
bitPos = ((Integer)v.get(0)).intValue(); |
49 |
double z = ((Double)v.get(1)).doubleValue(); |
50 |
double[] coord = new double[]{x, y, z}; |
51 |
ver.setPoint(coord); |
52 |
// ver.inserta();
|
53 |
bitPos = readObjectTailer(data, bitPos, ver); |
54 |
} |
55 |
} |