root / branches / gvSIG_19_ext3D_osgVP_2_2_0 / libraries / lib3DMap / src / org / gvsig / gvsig3d / simbology3D / Polygon3DFeature.java @ 31580
History | View | Annotate | Download (2.19 KB)
1 | 21940 | jcampos | package org.gvsig.gvsig3d.simbology3D; |
---|---|---|---|
2 | 15508 | jcampos | |
3 | 31519 | jtorres | import java.util.Vector; |
4 | |||
5 | 20892 | jcampos | import org.apache.log4j.Logger; |
6 | 31519 | jtorres | |
7 | 21940 | jcampos | import org.gvsig.gvsig3d.simbology3D.geometry3D.Abstract3DGeometry; |
8 | import org.gvsig.gvsig3d.simbology3D.geometry3D.Polygon3DGeometry; |
||
9 | 24841 | afraile | import org.gvsig.gvsig3d.simbology3D.symbol3D.Abstract3DSymbol; |
10 | import org.gvsig.gvsig3d.simbology3D.symbol3D.polygon.ExtrusionPolygon3DSymbol; |
||
11 | 21940 | jcampos | import org.gvsig.gvsig3d.simbology3D.symbol3D.polygon.SimplePolygon3DSymbol; |
12 | 31057 | jtorres | import org.gvsig.osgvp.core.osg.Group; |
13 | 20892 | jcampos | import org.gvsig.osgvp.exceptions.node.NodeException; |
14 | 31519 | jtorres | import org.gvsig.osgvp.geometries.Polygon3D; |
15 | import org.gvsig.osgvp.geometries.Polyline3D; |
||
16 | 20892 | jcampos | import org.gvsig.osgvp.planets.Planet; |
17 | 31394 | mten | import org.gvsig.osgvp.terrain.Terrain; |
18 | 20892 | jcampos | |
19 | 24841 | afraile | import com.iver.ai2.gvsig3d.legend.symbols.BaseExtrusionSymbol; |
20 | 15508 | jcampos | import com.iver.cit.gvsig.fmap.core.IGeometry; |
21 | 18103 | jcampos | import com.iver.cit.gvsig.fmap.core.symbols.ISymbol; |
22 | 15508 | jcampos | |
23 | 18103 | jcampos | public class Polygon3DFeature extends AbstractFeature3D { |
24 | 15508 | jcampos | |
25 | 31394 | mten | Polygon3DGeometry _p3DGeometry; |
26 | Abstract3DSymbol _pp3DSymbol; |
||
27 | private static Logger _logger = Logger.getLogger(Abstract3DGeometry.class |
||
28 | 20892 | jcampos | .getName()); |
29 | 18219 | mten | |
30 | 18103 | jcampos | public Polygon3DFeature(ISymbol symbol, IGeometry geometry) {
|
31 | super(symbol, geometry);
|
||
32 | // TODO Auto-generated constructor stub
|
||
33 | 18219 | mten | // p3DGeometry = (Polygon3DGeometry) this.getGeometry();
|
34 | // pp3DSymbol = (SimplePolygon3DSymbol) this.getSymbol();
|
||
35 | 31394 | mten | _p3DGeometry = new Polygon3DGeometry(geometry);
|
36 | 24841 | afraile | if (this.getSymbol().getClass().equals(BaseExtrusionSymbol.class)) { |
37 | 31394 | mten | _pp3DSymbol = new ExtrusionPolygon3DSymbol(symbol);
|
38 | 24841 | afraile | } else {
|
39 | 31394 | mten | _pp3DSymbol = new SimplePolygon3DSymbol(symbol);
|
40 | 24841 | afraile | } |
41 | 15508 | jcampos | } |
42 | |||
43 | 18103 | jcampos | public Group Draw(Group group) { |
44 | // TODO Auto-generated method stub
|
||
45 | 20892 | jcampos | try {
|
46 | 31394 | mten | group.addChild(_p3DGeometry.generateGeometry(_pp3DSymbol)); |
47 | 20892 | jcampos | } catch (NodeException e) {
|
48 | 31394 | mten | _logger.error("Command: " + "Error adding new child.", e); |
49 | 20892 | jcampos | } |
50 | 15591 | jcampos | return group;
|
51 | 15508 | jcampos | } |
52 | |||
53 | 31394 | mten | public void setTerrain(Terrain terrain) { |
54 | if (_p3DGeometry != null) { |
||
55 | _p3DGeometry.setTerrain(terrain); |
||
56 | 18103 | jcampos | } |
57 | 15591 | jcampos | } |
58 | |||
59 | public void setHeigth(float heigth) { |
||
60 | 31394 | mten | if (_p3DGeometry != null) { |
61 | _p3DGeometry.setHeigth(heigth); |
||
62 | 18103 | jcampos | } |
63 | 15591 | jcampos | } |
64 | 31519 | jtorres | public Vector<Polygon3D> getPolygon3D(){ |
65 | return _p3DGeometry.generateOsgVPGeometry();
|
||
66 | } |
||
67 | 15508 | jcampos | } |