Revision 10103 trunk/libraries/libDwg/src/com/iver/cit/jdwglib/dwg/readers/objreaders/v1314/DwgPolyline2dReader1314.java

View differences:

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