Revision 135 trunk/libraries/libCq CMS for java.old/src/org/cresques/px/dxf/DxfFeatureMaker.java
DxfFeatureMaker.java | ||
---|---|---|
193 | 193 |
lastFeaFondos = null; |
194 | 194 |
} else { |
195 | 195 |
Feature feature = lastFeature; |
196 |
|
|
197 |
System.out.println("feature = " + feature); |
|
198 |
System.out.println("feature.getGeometry() = " + feature.getGeometry()); |
|
199 |
|
|
196 | 200 |
LineString lineString = (LineString)feature.getGeometry(); |
197 | 201 |
if (!(bulge==0)) { |
198 | 202 |
int cnt = lineString.pointNr(); |
... | ... | |
258 | 262 |
Feature feaBordes = lastFeaBordes; |
259 | 263 |
Feature feaFondos = lastFeaFondos; |
260 | 264 |
LineString lineString = (LineString)feaBordes.getGeometry(); |
265 |
Polygon polygon = (Polygon)feaFondos.getGeometry(); |
|
261 | 266 |
if (grp.hasCode(8)) |
262 | 267 |
feaBordes.setProp("layer", grp.getDataAsString(8)); |
268 |
feaFondos.setProp("layer", grp.getDataAsString(8)); |
|
263 | 269 |
if (grp.hasCode(62)) { |
264 | 270 |
Integer integer = new Integer(grp.getDataAsInt(62)); |
265 | 271 |
String string = integer.toString(); |
266 | 272 |
feaBordes.setProp("color", string); |
273 |
feaFondos.setProp("color", string); |
|
267 | 274 |
} else { |
268 | 275 |
DxfLayer layer = (DxfLayer)layers.getByName(grp.getDataAsString(8)); |
269 | 276 |
int clr = layer.colorNumber; |
270 | 277 |
Integer integer = new Integer(clr); |
271 | 278 |
String string = integer.toString(); |
272 | 279 |
feaBordes.setProp("color", string); |
280 |
feaFondos.setProp("color", string); |
|
273 | 281 |
} |
274 | 282 |
x = grp.getDataAsDouble(10); |
275 | 283 |
y = grp.getDataAsDouble(20); |
... | ... | |
283 | 291 |
y = point_out.getY(); |
284 | 292 |
Point2D pt = proj.createPoint( x, y); |
285 | 293 |
lineString.add(pt); |
294 |
polygon.add(pt); |
|
286 | 295 |
if (lineString.pointNr() == 1) { |
287 | 296 |
firstPt = pt; |
288 | 297 |
} |
... | ... | |
291 | 300 |
bulge = grp.getDataAsDouble(42); |
292 | 301 |
} else { bulge = 0.0; } |
293 | 302 |
} else { |
294 |
/*if (grp.hasCode(8)) |
|
295 |
feature.setProp("layer", grp.getDataAsString(8)); |
|
296 |
if (grp.hasCode(62)) { |
|
297 |
Integer integer = new Integer(grp.getDataAsInt(62)); |
|
298 |
String string = integer.toString(); |
|
299 |
feature.setProp("color", string); |
|
300 |
} else { |
|
301 |
DxfLayer layer = (DxfLayer)layers.getByName(grp.getDataAsString(8)); |
|
302 |
int clr = layer.colorNumber; |
|
303 |
Integer integer = new Integer(clr); |
|
304 |
String string = integer.toString(); |
|
305 |
feature.setProp("color", string); |
|
306 |
} |
|
307 |
x = grp.getDataAsDouble(10); |
|
308 |
y = grp.getDataAsDouble(20); |
|
309 |
if (grp.hasCode(30)) z = grp.getDataAsDouble(30); |
|
310 |
Point3D point_in = new Point3D(x, y, z); |
|
311 |
Point3D xtru = new Point3D(xtruX, xtruY, xtruZ); |
|
312 |
Point2D point_out = DxfCalXtru.CalculateXtru(point_in, xtru); |
|
313 |
x = point_out.getX(); |
|
314 |
y = point_out.getY(); |
|
315 |
Point2D pt = proj.createPoint( x, y); |
|
316 |
lineString.add(pt); |
|
317 |
if (lineString.pointNr() == 1) { |
|
318 |
firstPt = pt; |
|
319 |
}*/ |
|
320 | 303 |
double bulge_aux = 0.0; |
321 | 304 |
if (grp.hasCode(42)) { |
322 | 305 |
bulge_aux = grp.getDataAsDouble(42); |
... | ... | |
324 | 307 |
int cnt = lineString.pointNr(); |
325 | 308 |
Vector arc = createArc((Point2D)(lineString.get(cnt-2)), (Point2D)(lineString.get(cnt-1)), bulge); |
326 | 309 |
lineString.remove(cnt-1); |
310 |
polygon.remove(cnt-1); |
|
327 | 311 |
for (int i=0; i<arc.size(); i++) { |
328 | 312 |
pt = proj.createPoint(((Point2D)arc.get(i)).getX(), ((Point2D)arc.get(i)).getY()); |
329 | 313 |
lineString.add(pt); |
314 |
polygon.add(pt); |
|
330 | 315 |
if (lineString.pointNr() == 1) firstPt = pt; |
331 | 316 |
} |
332 | 317 |
bulge = bulge_aux; |
333 | 318 |
} |
334 |
|
|
335 |
Polygon polygon = (Polygon)feaFondos.getGeometry(); |
|
336 |
if (grp.hasCode(8)) |
|
337 |
feaFondos.setProp("layer", grp.getDataAsString(8)); |
|
338 |
if (grp.hasCode(62)) { |
|
339 |
Integer integer = new Integer(grp.getDataAsInt(62)); |
|
340 |
String string = integer.toString(); |
|
341 |
feaFondos.setProp("color", string); |
|
342 |
} else { |
|
343 |
DxfLayer layer = (DxfLayer)layers.getByName(grp.getDataAsString(8)); |
|
344 |
int clr = layer.colorNumber; |
|
345 |
Integer integer = new Integer(clr); |
|
346 |
String string = integer.toString(); |
|
347 |
feaFondos.setProp("color", string); |
|
348 |
} |
|
349 |
x = grp.getDataAsDouble(10); |
|
350 |
y = grp.getDataAsDouble(20); |
|
351 |
if (grp.hasCode(30)) z = grp.getDataAsDouble(30); |
|
352 |
point_in = new Point3D(x, y, z); |
|
353 |
xtru = new Point3D(xtruX, xtruY, xtruZ); |
|
354 |
point_out = DxfCalXtru.CalculateXtru(point_in, xtru); |
|
355 |
x = point_out.getX(); |
|
356 |
y = point_out.getY(); |
|
357 |
pt = proj.createPoint( x, y); |
|
358 |
polygon.add(pt); |
|
359 |
if (polygon.pointNr() == 1) { |
|
360 |
firstPt = pt; |
|
361 |
} |
|
362 |
if (bulge == 0.0) { |
|
319 |
/*if (bulge == 0.0) { |
|
363 | 320 |
if (grp.hasCode(42)) { |
364 | 321 |
bulge = grp.getDataAsDouble(42); |
365 | 322 |
} else { bulge = 0.0; } |
366 | 323 |
} else { |
367 |
/*if (grp.hasCode(8)) |
|
368 |
feature.setProp("layer", grp.getDataAsString(8)); |
|
369 |
if (grp.hasCode(62)) { |
|
370 |
Integer integer = new Integer(grp.getDataAsInt(62)); |
|
371 |
String string = integer.toString(); |
|
372 |
feature.setProp("color", string); |
|
373 |
} else { |
|
374 |
DxfLayer layer = (DxfLayer)layers.getByName(grp.getDataAsString(8)); |
|
375 |
int clr = layer.colorNumber; |
|
376 |
Integer integer = new Integer(clr); |
|
377 |
String string = integer.toString(); |
|
378 |
feature.setProp("color", string); |
|
379 |
} |
|
380 |
x = grp.getDataAsDouble(10); |
|
381 |
y = grp.getDataAsDouble(20); |
|
382 |
if (grp.hasCode(30)) z = grp.getDataAsDouble(30); |
|
383 |
Point3D point_in = new Point3D(x, y, z); |
|
384 |
Point3D xtru = new Point3D(xtruX, xtruY, xtruZ); |
|
385 |
Point2D point_out = DxfCalXtru.CalculateXtru(point_in, xtru); |
|
386 |
x = point_out.getX(); |
|
387 |
y = point_out.getY(); |
|
388 |
Point2D pt = proj.createPoint( x, y); |
|
389 |
polygon.add(pt); |
|
390 |
if (polygon.pointNr() == 1) { |
|
391 |
firstPt = pt; |
|
392 |
}*/ |
|
393 | 324 |
double bulge_aux = 0.0; |
394 | 325 |
if (grp.hasCode(42)) { |
395 | 326 |
bulge_aux = grp.getDataAsDouble(42); |
396 | 327 |
} else { bulge_aux = 0.0; } |
397 | 328 |
int cnt = polygon.pointNr(); |
398 |
System.out.println("cnt = " + cnt); |
|
399 | 329 |
Vector arc = createArc((Point2D)(polygon.get(cnt-2)), (Point2D)(polygon.get(cnt-1)), bulge); |
400 | 330 |
polygon.remove(cnt-1); |
401 | 331 |
for (int i=0; i<arc.size(); i++) { |
... | ... | |
404 | 334 |
if (polygon.pointNr() == 1) firstPt = pt; |
405 | 335 |
} |
406 | 336 |
bulge = bulge_aux; |
407 |
} |
|
337 |
}*/
|
|
408 | 338 |
} else { |
409 | 339 |
Feature feature = lastFeature; |
410 | 340 |
LineString lineString = (LineString)feature.getGeometry(); |
... | ... | |
456 | 386 |
bulge = bulge_aux; |
457 | 387 |
} |
458 | 388 |
} |
459 |
|
|
460 |
/*if (feature.getGeometry() instanceof LineString) { |
|
461 |
LineString lineString = (LineString)feature.getGeometry(); |
|
462 |
if (bulge == 0.0) { |
|
463 |
|
|
464 |
if (grp.hasCode(8)) |
|
465 |
feature.setProp("layer", grp.getDataAsString(8)); |
|
466 |
if (grp.hasCode(62)) { |
|
467 |
Integer integer = new Integer(grp.getDataAsInt(62)); |
|
468 |
String string = integer.toString(); |
|
469 |
feature.setProp("color", string); |
|
470 |
} else { |
|
471 |
DxfLayer layer = (DxfLayer)layers.getByName(grp.getDataAsString(8)); |
|
472 |
int clr = layer.colorNumber; |
|
473 |
Integer integer = new Integer(clr); |
|
474 |
String string = integer.toString(); |
|
475 |
feature.setProp("color", string); |
|
476 |
} |
|
477 |
x = grp.getDataAsDouble(10); |
|
478 |
y = grp.getDataAsDouble(20); |
|
479 |
if (grp.hasCode(30)) { |
|
480 |
z = grp.getDataAsDouble(30); |
|
481 |
} |
|
482 |
if (grp.hasCode(42)) { |
|
483 |
bulge = grp.getDataAsDouble(42); |
|
484 |
} else { bulge = 0.0; } |
|
485 |
Point3D point_in = new Point3D(x, y, z); |
|
486 |
Point3D xtru = new Point3D(xtruX, xtruY, xtruZ); |
|
487 |
Point2D point_out = DxfCalXtru.CalculateXtru(point_in, xtru); |
|
488 |
x = point_out.getX(); |
|
489 |
y = point_out.getY(); |
|
490 |
Point2D pt = proj.createPoint( x, y); |
|
491 |
lineString.add(pt); |
|
492 |
if (lineString.pointNr() == 1) { |
|
493 |
firstPt = pt; |
|
494 |
} |
|
495 |
} else { |
|
496 |
double bulge_aux = 0.0; |
|
497 |
|
|
498 |
if (grp.hasCode(8)) |
|
499 |
feature.setProp("layer", grp.getDataAsString(8)); |
|
500 |
if (grp.hasCode(62)) { |
|
501 |
Integer integer = new Integer(grp.getDataAsInt(62)); |
|
502 |
String string = integer.toString(); |
|
503 |
feature.setProp("color", string); |
|
504 |
} else { |
|
505 |
DxfLayer layer = (DxfLayer)layers.getByName(grp.getDataAsString(8)); |
|
506 |
int clr = layer.colorNumber; |
|
507 |
Integer integer = new Integer(clr); |
|
508 |
String string = integer.toString(); |
|
509 |
feature.setProp("color", string); |
|
510 |
} |
|
511 |
x = grp.getDataAsDouble(10); |
|
512 |
y = grp.getDataAsDouble(20); |
|
513 |
if (grp.hasCode(30)) z = grp.getDataAsDouble(30); |
|
514 |
if (grp.hasCode(42)) { |
|
515 |
bulge_aux = grp.getDataAsDouble(42); |
|
516 |
} else { bulge_aux = 0.0; } |
|
517 |
Point3D point_in = new Point3D(x, y, z); |
|
518 |
Point3D xtru = new Point3D(xtruX, xtruY, xtruZ); |
|
519 |
Point2D point_out = DxfCalXtru.CalculateXtru(point_in, xtru); |
|
520 |
x = point_out.getX(); |
|
521 |
y = point_out.getY(); |
|
522 |
Point2D pt = proj.createPoint( x, y); |
|
523 |
lineString.add(pt); |
|
524 |
if (lineString.pointNr() == 1) { |
|
525 |
firstPt = pt; |
|
526 |
} |
|
527 |
int cnt = lineString.pointNr(); |
|
528 |
Vector arc = createArc((Point2D)(lineString.get(cnt-2)), (Point2D)(lineString.get(cnt-1)), bulge); |
|
529 |
lineString.remove(cnt-1); |
|
530 |
for (int i=0; i<arc.size(); i++) { |
|
531 |
pt = proj.createPoint(((Point2D)arc.get(i)).getX(), ((Point2D)arc.get(i)).getY()); |
|
532 |
lineString.add(pt); |
|
533 |
if (lineString.pointNr() == 1) firstPt = pt; |
|
534 |
} |
|
535 |
bulge = bulge_aux; |
|
536 |
} |
|
537 |
} |
|
538 |
if (feature.getGeometry() instanceof Polygon) { |
|
539 |
Polygon polygon = (Polygon)feature.getGeometry(); |
|
540 |
if (bulge == 0.0) { |
|
541 |
|
|
542 |
if (grp.hasCode(8)) |
|
543 |
feature.setProp("layer", grp.getDataAsString(8)); |
|
544 |
if (grp.hasCode(62)) { |
|
545 |
Integer integer = new Integer(grp.getDataAsInt(62)); |
|
546 |
String string = integer.toString(); |
|
547 |
feature.setProp("color", string); |
|
548 |
} else { |
|
549 |
DxfLayer layer = (DxfLayer)layers.getByName(grp.getDataAsString(8)); |
|
550 |
int clr = layer.colorNumber; |
|
551 |
Integer integer = new Integer(clr); |
|
552 |
String string = integer.toString(); |
|
553 |
feature.setProp("color", string); |
|
554 |
} |
|
555 |
x = grp.getDataAsDouble(10); |
|
556 |
y = grp.getDataAsDouble(20); |
|
557 |
if (grp.hasCode(30)) z = grp.getDataAsDouble(30); |
|
558 |
if (grp.hasCode(42)) { |
|
559 |
bulge = grp.getDataAsDouble(42); |
|
560 |
} else { bulge = 0.0; } |
|
561 |
Point3D point_in = new Point3D(x, y, z); |
|
562 |
Point3D xtru = new Point3D(xtruX, xtruY, xtruZ); |
|
563 |
Point2D point_out = DxfCalXtru.CalculateXtru(point_in, xtru); |
|
564 |
x = point_out.getX(); |
|
565 |
y = point_out.getY(); |
|
566 |
Point2D pt = proj.createPoint( x, y); |
|
567 |
polygon.add(pt); |
|
568 |
if (polygon.pointNr() == 1) { |
|
569 |
firstPt = pt; |
|
570 |
} |
|
571 |
} else { |
|
572 |
double bulge_aux = 0.0; |
|
573 |
|
|
574 |
if (grp.hasCode(8)) |
|
575 |
feature.setProp("layer", grp.getDataAsString(8)); |
|
576 |
if (grp.hasCode(62)) { |
|
577 |
Integer integer = new Integer(grp.getDataAsInt(62)); |
|
578 |
String string = integer.toString(); |
|
579 |
feature.setProp("color", string); |
|
580 |
} else { |
|
581 |
DxfLayer layer = (DxfLayer)layers.getByName(grp.getDataAsString(8)); |
|
582 |
int clr = layer.colorNumber; |
|
583 |
Integer integer = new Integer(clr); |
|
584 |
String string = integer.toString(); |
|
585 |
feature.setProp("color", string); |
|
586 |
} |
|
587 |
x = grp.getDataAsDouble(10); |
|
588 |
y = grp.getDataAsDouble(20); |
|
589 |
if (grp.hasCode(30)) z = grp.getDataAsDouble(30); |
|
590 |
if (grp.hasCode(42)) { |
|
591 |
bulge_aux = grp.getDataAsDouble(42); |
|
592 |
} else { bulge_aux = 0.0; } |
|
593 |
Point3D point_in = new Point3D(x, y, z); |
|
594 |
Point3D xtru = new Point3D(xtruX, xtruY, xtruZ); |
|
595 |
Point2D point_out = DxfCalXtru.CalculateXtru(point_in, xtru); |
|
596 |
x = point_out.getX(); |
|
597 |
y = point_out.getY(); |
|
598 |
Point2D pt = proj.createPoint( x, y); |
|
599 |
polygon.add(pt); |
|
600 |
if (polygon.pointNr() == 1) { |
|
601 |
firstPt = pt; |
|
602 |
} |
|
603 |
int cnt = polygon.pointNr(); |
|
604 |
System.out.println("cnt = " + cnt); |
|
605 |
Vector arc = createArc((Point2D)(polygon.get(cnt-2)), (Point2D)(polygon.get(cnt-1)), bulge); |
|
606 |
polygon.remove(cnt-1); |
|
607 |
for (int i=0; i<arc.size(); i++) { |
|
608 |
pt = proj.createPoint(((Point2D)arc.get(i)).getX(), ((Point2D)arc.get(i)).getY()); |
|
609 |
polygon.add(pt); |
|
610 |
if (polygon.pointNr() == 1) firstPt = pt; |
|
611 |
} |
|
612 |
bulge = bulge_aux; |
|
613 |
} |
|
614 |
}*/ |
|
615 | 389 |
} |
616 | 390 |
|
617 | 391 |
public void createLwPolyline(DxfGroupVector grp) throws Exception { |
Also available in: Unified diff