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
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