Revision 260

View differences:

branches/v02_desarrollo/libraries/libCq CMS for java.old/src/org/cresques/px/dxf/DxfFeatureMaker.java
180 180
				//		   del pol?gono al final del mismo.
181 181
				//polygon.add(firstPt);
182 182
				if (bulge!=0) {
183
					
184
					// 041122: Correcci?n del bug en los bulges de FIXT3.DXF
185
					Vector arc = createArc((Point2D)(lineString.get(lineString.pointNr()-2)), (Point2D)(lineString.get(lineString.pointNr()-1)), bulge);
186
					lineString.remove(lineString.pointNr()-1);
187
					lineString.remove(lineString.pointNr()-1);
188
					polygon.remove(lineString.pointNr()-1);
189
					polygon.remove(lineString.pointNr()-1);
190
					if (bulge>0) {
191
						for (int i=0; i<arc.size(); i++) {
192
							Point2D ptAux = new Point2D.Double();
193
							ptAux = proj.createPoint(((Point2D)arc.get(i)).getX(), ((Point2D)arc.get(i)).getY());
194
							lineString.add(ptAux);
195
							polygon.add(ptAux);
196
							if (lineString.pointNr() == 1) firstPt = ptAux;
197
						}
198
					} else {
199
						for (int i=arc.size()-1; i>=0; i--) {
200
							Point2D ptAux = new Point2D.Double();
201
							ptAux = proj.createPoint(((Point2D)arc.get(i)).getX(), ((Point2D)arc.get(i)).getY());
202
							lineString.add(ptAux);
203
							polygon.add(ptAux);
204
							if (lineString.pointNr() == 1 || polygon.pointNr() == 1) firstPt = ptAux;
205
						}					
206
					}
207
					// 041122
208
					
183 209
					bulge = 0.0;
184 210
				}
185 211
				
......
203 229
							if (i0 > 0) {
204 230
								if ((facesIterador%2)!=0) {
205 231
									//System.out.println("endSeq(): hasFaces = " + hasFaces);
232
									//System.out.println("endSeq(): i0 = " + i0);
206 233
									ls1.add((Point2D)lineString.get(i0-1));
207 234
									pl1.add((Point2D)polygon.get(i0-1));
208 235
									//ls1.add((Point2D)lineString.get(Math.abs(i1)-1));
......
253 280
				Feature feaBordes = lastFeaBordes;
254 281
				LineString lineString = (LineString)feaBordes.getGeometry();
255 282
				if (bulge!=0) {
283
					
284
					// 041122: Correcci?n del bug en los bulges de FIXT3.DXF
285
					Vector arc = createArc((Point2D)(lineString.get(lineString.pointNr()-2)), (Point2D)(lineString.get(lineString.pointNr()-1)), bulge);
286
					lineString.remove(lineString.pointNr()-1);
287
					lineString.remove(lineString.pointNr()-1);
288
					if (bulge>0) {
289
						for (int i=0; i<arc.size(); i++) {
290
							Point2D ptAux = new Point2D.Double();
291
							ptAux = proj.createPoint(((Point2D)arc.get(i)).getX(), ((Point2D)arc.get(i)).getY());
292
							lineString.add(ptAux);
293
							if (lineString.pointNr() == 1) firstPt = ptAux;
294
						}
295
					} else {
296
						for (int i=arc.size()-1; i>=0; i--) {
297
							Point2D ptAux = new Point2D.Double();
298
							ptAux = proj.createPoint(((Point2D)arc.get(i)).getX(), ((Point2D)arc.get(i)).getY());
299
							lineString.add(ptAux);
300
							if (lineString.pointNr() == 1) firstPt = ptAux;
301
						}					
302
					}
303
					// 041122
304
					
256 305
					bulge = 0.0;
257 306
				}
258 307
				

Also available in: Unified diff