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

View differences:

DwgAttdefReader1314.java
4 4
 */
5 5
package com.iver.cit.jdwglib.dwg.readers.objreaders.v1314;
6 6

  
7
import java.awt.geom.Point2D;
8
import java.util.List;
9

  
10
import com.iver.cit.jdwglib.dwg.CorruptedDwgEntityException;
11
import com.iver.cit.jdwglib.dwg.DwgHandleReference;
7 12
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;
13
import com.iver.cit.jdwglib.dwg.DwgUtil;
14
import com.iver.cit.jdwglib.dwg.objects.DwgAttdef;
10 15

  
11 16
/**
12 17
 * @author alzabord
......
14 19
 * TODO To change the template for this generated type comment go to
15 20
 * Window - Preferences - Java - Code Style - Code Templates
16 21
 */
17
public class DwgAttdefReader1314 implements IDwgObjectReader{
22
public class DwgAttdefReader1314 extends AbstractDwg1314Reader{
18 23

  
19 24
	/* (non-Javadoc)
20 25
	 * @see com.iver.cit.jdwglib.dwg.readers.IDwgObjectReader#readSpecificObj(int[], int, com.iver.cit.jdwglib.dwg.DwgObject)
21 26
	 */
22
	public void readSpecificObj(int[] data, int offset, DwgObject dwgObj) {
23
		// TODO Auto-generated method stub
27
	public void readSpecificObj(int[] data, int offset, DwgObject dwgObj) throws RuntimeException, CorruptedDwgEntityException {
28
		 if(! (dwgObj instanceof DwgAttdef))
29
		    	throw new RuntimeException("ArcReader 14 solo puede leer DwgAttdef");
30
		DwgAttdef att = (DwgAttdef) dwgObj;
31
		int bitPos = offset;
32
		bitPos = headTailReader.readObjectHeader(data, offset, att);
24 33
		
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
34
		List val = DwgUtil.getBitDouble(data, bitPos);
35
		bitPos = ((Integer)val.get(0)).intValue();
36
		double elevation = ((Double)val.get(1)).doubleValue();
37
		att.setElevation(elevation);
32 38
		
39
		
40
		val = DwgUtil.getRawDouble(data, bitPos);
41
		bitPos = ((Integer)val.get(0)).intValue();
42
		double x = ((Double)val.get(1)).doubleValue();
43
		
44
		val = DwgUtil.getRawDouble(data, bitPos);
45
		bitPos = ((Integer)val.get(0)).intValue();
46
		double y = ((Double)val.get(1)).doubleValue();
47
		att.setInsertionPoint(new Point2D.Double(x,y));
48
		
49
		val = DwgUtil.getRawDouble(data, bitPos);
50
		bitPos = ((Integer)val.get(0)).intValue();
51
		x = ((Double)val.get(1)).doubleValue();
52
		
53
		val = DwgUtil.getRawDouble(data, bitPos);
54
		bitPos = ((Integer)val.get(0)).intValue();
55
		y = ((Double)val.get(1)).doubleValue();
56
		att.setAlignmentPoint(new Point2D.Double(x,y));
57
		
58
		val = DwgUtil.getBitDouble(data, bitPos);
59
		bitPos = ((Integer)val.get(0)).intValue();
60
		x = ((Double)val.get(1)).doubleValue();
61
		
62
		val = DwgUtil.getBitDouble(data, bitPos);
63
		bitPos = ((Integer)val.get(0)).intValue();
64
		y = ((Double)val.get(1)).doubleValue();
65
		
66
		val = DwgUtil.getBitDouble(data, bitPos);
67
		bitPos = ((Integer)val.get(0)).intValue();
68
		double z = ((Double)val.get(1)).doubleValue();
69
		att.setExtrusion(new double[]{x, y, z});
70
		
71
		
72
		val = DwgUtil.getBitDouble(data, bitPos);
73
		bitPos = ((Integer)val.get(0)).intValue();
74
		double thickness = ((Double)val.get(1)).doubleValue();
75
		att.setThickness(thickness);
76
		
77
		val = DwgUtil.getBitDouble(data, bitPos);
78
		bitPos = ((Integer)val.get(0)).intValue();
79
		double obliqueAngle = ((Double)val.get(1)).doubleValue();
80
		att.setObliqueAngle(obliqueAngle);
81
		
82
		
83
		val = DwgUtil.getBitDouble(data, bitPos);
84
		bitPos = ((Integer)val.get(0)).intValue();
85
		double rotationAngle = ((Double)val.get(1)).doubleValue();
86
		att.setRotationAngle(rotationAngle);
87
		
88
		
89
		val = DwgUtil.getBitDouble(data, bitPos);
90
		bitPos = ((Integer)val.get(0)).intValue();
91
		double height = ((Double)val.get(1)).doubleValue();
92
		att.setHeight(height);
93
		
94
		val = DwgUtil.getBitDouble(data, bitPos);
95
		bitPos = ((Integer)val.get(0)).intValue();
96
		double width = ((Double)val.get(1)).doubleValue();
97
		att.setWidthFactor(width);
98
		
99
		val = DwgUtil.getTextString(data, bitPos);
100
		bitPos = ((Integer)val.get(0)).intValue();
101
		String text = (String)val.get(1);
102
		att.setText(text);
103
		
104
		
105
		val = DwgUtil.getBitShort(data, bitPos);
106
		bitPos = ((Integer)val.get(0)).intValue();
107
		int generation = ((Integer)val.get(1)).intValue();
108
		att.setGeneration(generation);
109
		
110
		val = DwgUtil.getBitShort(data, bitPos);
111
		bitPos = ((Integer)val.get(0)).intValue();
112
		int halign = ((Integer)val.get(1)).intValue();
113
		att.setHalign(halign);
114
		
115
		val = DwgUtil.getBitShort(data, bitPos);
116
		bitPos = ((Integer)val.get(0)).intValue();
117
		int valign = ((Integer)val.get(1)).intValue();
118
		att.setValign(valign);
119
		
120
		
121
		val = DwgUtil.getTextString(data, bitPos);
122
		bitPos = ((Integer)val.get(0)).intValue();
123
		String tag = (String)val.get(1);
124
		att.setTag(tag);
125
		
126
		val = DwgUtil.getBitShort(data, bitPos);
127
		bitPos = ((Integer)val.get(0)).intValue();
128
		int fieldLength = ((Integer)val.get(1)).intValue();
129
		att.setFieldLength(fieldLength);
130
		
131
		val = DwgUtil.getRawChar(data, bitPos);
132
		bitPos = ((Integer)val.get(0)).intValue();
133
		int flags = ((Integer)val.get(1)).intValue();
134
		att.setFlags(flags);
135
		
136
		//Esta es la unica diferencia entre attdef y attrib
137
		val = DwgUtil.getTextString(data, bitPos);
138
		bitPos = ((Integer)val.get(0)).intValue();
139
		String prompt = (String)val.get(1);
140
		att.setPrompt(prompt);
141
		
142
		
143
		bitPos = headTailReader.readObjectTailer(data, bitPos, att);
144
		DwgHandleReference handle = new DwgHandleReference();
145
		bitPos = handle.read(data, bitPos);
146
		att.setStyleHandle(handle);
33 147
	}
34 148

  
35 149
}

Also available in: Unified diff