Statistics
| Revision:

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
}