Revision 361 2.0/trunk/org.gvsig.gvsig3d/org.gvsig.gvsig3d.lib/org.gvsig.gvsig3d.lib.impl/src/main/java/org/gvsig/gvsig3d/impl/map3d/MapContext3DImpl.java

View differences:

MapContext3DImpl.java
1103 1103
		if (rde.getLayer().getLayerType() == Layer.LayerType.TEXTURELAYER)
1104 1104
			ude = loadRasterData(layer, envelope, rde);
1105 1105

  
1106
		if (rde.getLayer().getLayerType() == Layer.LayerType.VECTORLAYER) {
1107
			// NodeMarker3DSymbol n = new NodeMarker3DSymbol();
1108
			// n.setNodeFileURL("/home/jtorres/Projects/OpenSceneGraph/OpenSceneGraph-Data/dumptruck.osg");
1109
			// n.setSize(25.0f);
1106
		if (rde.getLayer().getLayerType() == Layer.LayerType.VECTORLAYER) 
1110 1107
			ude = loadVectorData(layer, envelope, rde);
1111
		}
1108
		
1112 1109
		if (rde.getLayer().getLayerType() == Layer.LayerType.HEIGHTFIELDLAYER)
1113 1110
			ude = loadElevationData(layer, envelope, rde);
1114 1111

  
......
1373 1370

  
1374 1371
		UpdateDataEvent ude = new UpdateDataEvent();
1375 1372
		ude.copyDataFromRequest(rde);
1376
		Group g = new Group();
1377
		// Hack for polylines and polygons to only render them rasterized
1378
		// till gvSIG architects solve geometries problem
1373

  
1374
		Group g= new Group();
1379 1375
		Layer3DProps layerprops = getLayer3DProps(layer);
1380
		try {
1381
			if (((FLyrVect) layer).getShapeType() != 1
1382
					&& ((FLyrVect) layer).getShapeType() != 7) {
1383
				removeLayerToTerrain(layer);
1384
				layerprops.setType(Layer3DPropsImpl.layer3DImage);
1385
				addLayerToTerrain(layer, true);
1386
				return null;
1387
			}
1388
		} catch (ReadException e1) {
1389
			// TODO Auto-generated catch block
1390
			e1.printStackTrace();
1376
		//		 Hack for polylines and polygons to only render them rasterized
1377
		//		 till gvSIG architects solve geometries problem
1391 1378

  
1392
		}// End hack
1379
	
1380
//	
1381
//		try {
1382
//			if (((FLyrVect) layer).getShapeType()!=1 &&((FLyrVect) layer).getShapeType()!=7) 
1383
//			{
1384
//				removeLayerToTerrain(layer);
1385
//				layerprops.setType(Layer3DPropsImpl.layer3DImage);
1386
//				addLayerToTerrain(layer, true);
1387
//				return null;
1388
//			}
1389
//		} catch (ReadException e1) {
1390
//			// TODO Auto-generated catch block
1391
//			e1.printStackTrace();
1392
//
1393
//	
1394
//		}// End hack
1393 1395

  
1396

  
1397

  
1394 1398
		// Set ViewPort
1395 1399
		ViewPort vp = getViewPort();
1396 1400
		vp.setEnvelope(envelope); // the real extent of the tile
......
1414 1418
				|| ds.getProviderName() == "NetCDFVectorial"
1415 1419
				|| layerprops.isGeometryDirty() == true) {
1416 1420
			try {
1417
				for (int i = 0; i < symbolList.length; i++) {
1418
					((SimpleMarker3DSymbol) (symbolList[i])).resetGeometry();
1421

  
1422
				for(int i=0;i<symbolList.length;i++)
1423
				{	
1424
					((I3DSymbol)(symbolList[i])).resetGeometry();
1425

  
1426
			
1427

  
1419 1428
				}
1420 1429
				layer.draw(null, null, getViewPort(), new MyCancel(), scale);
1421 1430
				// setGeometryDirty to false to avoid unnecessary repaints
......
1445 1454
		}
1446 1455
		// Vectorial layers
1447 1456
		else {
1448
			for (int i = 0; i < symbolList.length; i++) {
1449
				n = ((SimpleMarker3DSymbol) symbolList[i]).getRenderNode();
1457

  
1458
			for(int i=0;i<symbolList.length;i++)
1459
			{
1460
				n=((I3DSymbol) symbolList[i]).getRenderNode();
1461

  
1462

  
1450 1463
				try {
1451 1464
					g.addChild(n);
1452 1465
				} catch (NodeException e) {
......
1460 1473
		return ude;
1461 1474
	}
1462 1475

  
1463
	private ISymbol[] fillSymbolList(ILegend legend) {
1464
		ISymbol[] symbolList = null;
1465
		if (legend instanceof ISingleSymbolLegend) {
1466
			symbolList = new ISymbol[1];
1467
			I3DSymbol sy = (I3DSymbol) ((ISingleSymbolLegend) (legend))
1468
					.getDefaultSymbol();
1469
			symbolList[0] = sy;
1470
		}
1471
		if (legend instanceof AbstractIntervalLegend)
1472
			symbolList = ((AbstractIntervalLegend) (legend)).getSymbols();
1473
		if (legend instanceof VectorialUniqueValueLegend) {
1474
			((VectorialUniqueValueLegend) (legend))
1475
					.setDomain("project.document.view3d");
1476
			symbolList = ((VectorialUniqueValueLegend) (legend)).getSymbols();
1477
		}
1478
		return symbolList;
1479 1476

  
1477

  
1478
		private ISymbol[] fillSymbolList(ILegend legend) {
1479
			ISymbol[] symbolList = null;
1480
			if (legend instanceof ISingleSymbolLegend) {
1481
				symbolList = new ISymbol[1];
1482
				I3DSymbol sy = (I3DSymbol) ((ISingleSymbolLegend) (legend))
1483
				.getDefaultSymbol();
1484
				
1485
				
1486
				symbolList[0] = sy;
1487
			}
1488
			if (legend instanceof AbstractIntervalLegend)
1489
				symbolList = ((AbstractIntervalLegend) (legend)).getSymbols();
1490
			if (legend instanceof VectorialUniqueValueLegend) {
1491
				((VectorialUniqueValueLegend) (legend))
1492
				.setDomain("project.document.view3d");
1493
				symbolList = ((VectorialUniqueValueLegend) (legend)).getSymbols();
1494
			}
1495
			return symbolList;
1496

  
1480 1497
	}
1481 1498

  
1499

  
1482 1500
	// private Node buildVectors(I3DSymbol symbol) {
1483 1501
	// Node n = null;
1484 1502
	//

Also available in: Unified diff