Revision 25927 branches/v2_0_0_prep/libraries/libFMap_dalfile/src/org/gvsig/fmap/dal/store/dxf/DXFStoreProvider.java

View differences:

DXFStoreProvider.java
62 62
import org.gvsig.fmap.geom.primitive.Circle2D;
63 63
import org.gvsig.fmap.geom.primitive.Curve2D;
64 64
import org.gvsig.fmap.geom.primitive.Curve2DZ;
65
import org.gvsig.fmap.geom.primitive.DefaultEnvelope;
66 65
import org.gvsig.fmap.geom.primitive.Ellipse2D;
67 66
import org.gvsig.fmap.geom.primitive.Envelope;
68 67
import org.gvsig.fmap.geom.primitive.GeneralPathX;
......
388 387

  
389 388
		public void load() throws DataException {
390 389

  
391
			this.envelope = new DefaultEnvelope(2); // FIXME comprobar
390
			this.envelope = null;
392 391

  
393 392
			DxfFile.EntityFactory featureMaker = new DxfFeatureMaker(projection);
394 393
			DxfFile.VarSettings headerManager = new DxfHeaderManager();
......
451 450
				}
452 451
			}
453 452

  
453

  
454

  
454 455
			for (int i = 0; i < features.size(); i++) {
455 456

  
456 457
				FeatureData feature = store.createFeatureData(store
......
492 493
						Point point = (Point) fea.getGeometry();
493 494
						Point2D pto = new Point2D.Double();
494 495
						pto = point.get(0);
495
						if (point.isTextPoint()) {
496
							Geometry geom = gFactory
497
									.createPoint2D(pto.getX(),
498
									pto.getY());
499
							feature.set(ID_FIELD_GEOMETRY, geom);
500
							this.envelope.add(geom.getEnvelope());
496
						Geometry geom = gFactory.createPoint2D(pto.getX(), pto
497
								.getY());
498
						feature.set(ID_FIELD_GEOMETRY, geom);
499
						if (this.envelope == null) {
500
							this.envelope = geom.getEnvelope();
501 501
						} else {
502
							Geometry geom = gFactory
503
									.createPoint2D(pto.getX(),
504
									pto.getY());
505
							feature.set(ID_FIELD_GEOMETRY, geom);
506 502
							this.envelope.add(geom.getEnvelope());
507 503
						}
504

  
505
						if (point.isTextPoint()) {
506
							/// TODO labeling
507
						}
508 508
					} else if (fea.getGeometry() instanceof org.cresques.px.gml.Point3D) {
509 509
						org.cresques.px.gml.Point3D point = (org.cresques.px.gml.Point3D) fea
510 510
								.getGeometry();
511 511
						Point3D pto = new Point3D();
512 512
						pto = point.getPoint3D(0);
513
						if (point.isTextPoint()) {
514
							Geometry geom = gFactory.createPoint3D(pto.getX(),
515
									pto.getY(), pto.getZ());
516
							feature.set(ID_FIELD_GEOMETRY, geom);
517
							this.envelope.add(geom.getEnvelope());
513
						Geometry geom = gFactory.createPoint3D(pto.getX(), pto
514
								.getY(), pto.getZ());
515
						feature.set(ID_FIELD_GEOMETRY, geom);
516
						if (this.envelope == null) {
517
							this.envelope = geom.getEnvelope();
518 518
						} else {
519
							Geometry geom = gFactory.createPoint3D(pto.getX(),
520
									pto.getY(), pto.getZ());
521
							feature.set(ID_FIELD_GEOMETRY, geom);
522 519
							this.envelope.add(geom.getEnvelope());
523 520
						}
521

  
522
						if (point.isTextPoint()) {
523
							/// TODO labeling
524
						}
524 525
					} else if (fea.getGeometry() instanceof LineString
525 526
							&& !(fea.getGeometry() instanceof LineString3D)) {
526 527
						GeneralPathX genPathX = new GeneralPathX();
......
534 535
						}
535 536
						Geometry geom = gFactory.createPolyline2D(genPathX);
536 537
						feature.set(ID_FIELD_GEOMETRY, geom);
537
						this.envelope.add(geom.getEnvelope());
538
						if (this.envelope == null) {
539
							this.envelope = geom.getEnvelope();
540
						} else {
541
							this.envelope.add(geom.getEnvelope());
542
						}
538 543

  
539 544
					} else if (fea.getGeometry() instanceof LineString3D) {
540 545
						GeneralPathX genPathX = new GeneralPathX();
......
554 559
						Geometry geom = gFactory.createPolyline3D(genPathX,
555 560
								elevations);
556 561
						feature.set(ID_FIELD_GEOMETRY, geom);
557
						this.envelope.add(geom.getEnvelope());
562
						if (this.envelope == null) {
563
							this.envelope = geom.getEnvelope();
564
						} else {
565
							this.envelope.add(geom.getEnvelope());
566
						}
558 567

  
559 568
					} else if (fea.getGeometry() instanceof Polygon
560 569
							&& !(fea.getGeometry() instanceof Polygon3D)) {
......
572 581
						}
573 582
						Geometry geom = gFactory.createPolygon2D(genPathX);
574 583
						feature.set(ID_FIELD_GEOMETRY, geom);
575
						this.envelope.add(geom.getEnvelope());
584
						if (this.envelope == null) {
585
							this.envelope = geom.getEnvelope();
586
						} else {
587
							this.envelope.add(geom.getEnvelope());
588
						}
576 589

  
577 590
					} else if (fea.getGeometry() instanceof Polygon3D) {
578 591
						GeneralPathX genPathX = new GeneralPathX();
......
595 608
						Geometry geom = gFactory.createPolygon2DZ(genPathX,
596 609
								elevations);
597 610
						feature.set(ID_FIELD_GEOMETRY, geom);
598
						this.envelope.add(geom.getEnvelope());
611
						if (this.envelope == null) {
612
							this.envelope = geom.getEnvelope();
613
						} else {
614
							this.envelope.add(geom.getEnvelope());
615
						}
599 616
					} else {
600 617
						getLogger().warn(
601 618
							MessageFormat.format(
......
1398 1415

  
1399 1416
	/*
1400 1417
	 * (non-Javadoc)
1401
	 * 
1418
	 *
1402 1419
	 * @see org.gvsig.metadata.Metadata#getMetadataChildren()
1403 1420
	 */
1404 1421
	public Set getMetadataChildren() {
......
1407 1424

  
1408 1425
	/*
1409 1426
	 * (non-Javadoc)
1410
	 * 
1427
	 *
1411 1428
	 * @see org.gvsig.metadata.Metadata#getMetadataName()
1412 1429
	 */
1413 1430
	public String getMetadataName() {
......
1416 1433

  
1417 1434
	/*
1418 1435
	 * (non-Javadoc)
1419
	 * 
1436
	 *
1420 1437
	 * @see
1421 1438
	 * org.gvsig.fmap.dal.resource.spi.ResourceConsumer#resourceChanged(org.
1422 1439
	 * gvsig.fmap.dal.resource.spi.ResourceProvider)

Also available in: Unified diff