Revision 24841
trunk/libraries/lib3DMap/src/org/gvsig/gvsig3d/simbology3D/Polygon3DFeature.java | ||
---|---|---|
3 | 3 |
import org.apache.log4j.Logger; |
4 | 4 |
import org.gvsig.gvsig3d.simbology3D.geometry3D.Abstract3DGeometry; |
5 | 5 |
import org.gvsig.gvsig3d.simbology3D.geometry3D.Polygon3DGeometry; |
6 |
import org.gvsig.gvsig3d.simbology3D.symbol3D.Abstract3DSymbol; |
|
7 |
import org.gvsig.gvsig3d.simbology3D.symbol3D.polygon.ExtrusionPolygon3DSymbol; |
|
6 | 8 |
import org.gvsig.gvsig3d.simbology3D.symbol3D.polygon.SimplePolygon3DSymbol; |
7 | 9 |
import org.gvsig.osgvp.Group; |
8 | 10 |
import org.gvsig.osgvp.exceptions.node.NodeException; |
9 | 11 |
import org.gvsig.osgvp.planets.Planet; |
10 | 12 |
|
13 |
import com.iver.ai2.gvsig3d.legend.symbols.BaseExtrusionSymbol; |
|
11 | 14 |
import com.iver.cit.gvsig.fmap.core.IGeometry; |
12 | 15 |
import com.iver.cit.gvsig.fmap.core.symbols.ISymbol; |
13 | 16 |
|
14 | 17 |
public class Polygon3DFeature extends AbstractFeature3D { |
15 | 18 |
|
16 | 19 |
Polygon3DGeometry p3DGeometry; |
17 |
SimplePolygon3DSymbol pp3DSymbol;
|
|
20 |
Abstract3DSymbol pp3DSymbol;
|
|
18 | 21 |
private static Logger logger = Logger.getLogger(Abstract3DGeometry.class |
19 | 22 |
.getName()); |
20 | 23 |
|
... | ... | |
24 | 27 |
// p3DGeometry = (Polygon3DGeometry) this.getGeometry(); |
25 | 28 |
// pp3DSymbol = (SimplePolygon3DSymbol) this.getSymbol(); |
26 | 29 |
p3DGeometry = new Polygon3DGeometry(geometry); |
27 |
pp3DSymbol = new SimplePolygon3DSymbol(symbol); |
|
30 |
if (this.getSymbol().getClass().equals(BaseExtrusionSymbol.class)) { |
|
31 |
pp3DSymbol = new ExtrusionPolygon3DSymbol(symbol); |
|
32 |
} else { |
|
33 |
pp3DSymbol = new SimplePolygon3DSymbol(symbol); |
|
34 |
} |
|
28 | 35 |
} |
29 | 36 |
|
30 | 37 |
public Group Draw(Group group) { |
trunk/libraries/lib3DMap/src/org/gvsig/gvsig3d/simbology3D/symbol3D/polygon/ExtrusionPolygon3DSymbol.java | ||
---|---|---|
1 |
package org.gvsig.gvsig3d.simbology3D.symbol3D.polygon; |
|
2 |
|
|
3 |
import java.awt.Color; |
|
4 |
import java.util.List; |
|
5 |
|
|
6 |
import org.gvsig.gvsig3d.gui.FeatureFactory; |
|
7 |
import org.gvsig.gvsig3d.simbology3D.symbol3D.Abstract3DSymbol; |
|
8 |
import org.gvsig.osgvp.Node; |
|
9 |
import org.gvsig.osgvp.Vec3; |
|
10 |
import org.gvsig.osgvp.Vec4; |
|
11 |
|
|
12 |
import com.iver.ai2.gvsig3d.legend.symbols.BaseExtrusionSymbol; |
|
13 |
import com.iver.cit.gvsig.fmap.core.symbols.ISymbol; |
|
14 |
|
|
15 |
public class ExtrusionPolygon3DSymbol extends Abstract3DSymbol { |
|
16 |
|
|
17 |
protected Vec4 rgba ; |
|
18 |
private double extrusion; |
|
19 |
|
|
20 |
public ExtrusionPolygon3DSymbol(ISymbol symbol) { |
|
21 |
super(symbol); |
|
22 |
BaseExtrusionSymbol fillSymbol = (BaseExtrusionSymbol) symbol; |
|
23 |
|
|
24 |
// Getting symbol properties |
|
25 |
|
|
26 |
// Symbol color and alpha value |
|
27 |
// Color color = fillSymbol.getFillColor(); |
|
28 |
// float alpha = fillSymbol.getFillAlpha() / 255f; |
|
29 |
// rgba = new Vec4(color.getRed() / 255f, color.getGreen() / 255f, color |
|
30 |
// .getBlue() / 255f, alpha); |
|
31 |
extrusion = fillSymbol.getExtrusion(); |
|
32 |
System.err.println("extrusion " + extrusion); |
|
33 |
} |
|
34 |
|
|
35 |
@Override |
|
36 |
public Node generateSymbol(List<Vec3> position) { |
|
37 |
// TODO Auto-generated method stub |
|
38 |
// return FeatureFactory.insertPolygon(position, rgba, null); |
|
39 |
return FeatureFactory.insertPolygonExtruded(position, new Vec4(1.0,0.0,0.0,1.0 ) , null,extrusion*5000); |
|
40 |
} |
|
41 |
|
|
42 |
} |
Also available in: Unified diff