svn-gvsig-desktop / trunk / libraries / lib3DMap / src / com / iver / ai2 / gvsig3d / simbology3D / symbol3D / point / SimplePoint3DSymbol.java @ 18954
History | View | Annotate | Download (1.97 KB)
1 |
package com.iver.ai2.gvsig3d.simbology3D.symbol3D.point; |
---|---|
2 |
|
3 |
import java.awt.Color; |
4 |
import java.util.ArrayList; |
5 |
import java.util.List; |
6 |
import java.util.Map; |
7 |
|
8 |
import com.iver.ai2.gvsig3d.gui.FeatureFactory; |
9 |
import com.iver.ai2.gvsig3d.simbology3D.symbol3D.Abstract3DSymbol; |
10 |
import com.iver.cit.gvsig.fmap.core.symbols.IFillSymbol; |
11 |
import com.iver.cit.gvsig.fmap.core.symbols.IMarkerSymbol; |
12 |
import com.iver.cit.gvsig.fmap.core.symbols.ISymbol; |
13 |
|
14 |
import es.upv.ai2.osgvp.Node; |
15 |
import es.upv.ai2.osgvp.Vec3; |
16 |
import es.upv.ai2.osgvp.Vec4; |
17 |
import es.upv.ai2.osgvp.features.PixelPoint; |
18 |
|
19 |
public class SimplePoint3DSymbol extends Abstract3DSymbol { |
20 |
|
21 |
// Los tipo puntos tienen q tener una unica instancia de pixel point.
|
22 |
// Podrian tener un hasMap como en el caso del piloto
|
23 |
private static Map<Double, PixelPoint> pointsMap; |
24 |
private Vec4 rgba;
|
25 |
private double size; |
26 |
|
27 |
public SimplePoint3DSymbol(ISymbol symbol) {
|
28 |
super(symbol);
|
29 |
IMarkerSymbol marketSymbol = (IMarkerSymbol) symbol; |
30 |
|
31 |
// Symbol color and alpha value
|
32 |
Color color = marketSymbol.getColor();
|
33 |
rgba = new Vec4(color.getRed() / 255f, color.getGreen() / 255f, color |
34 |
.getBlue() / 255f, color.getAlpha());
|
35 |
|
36 |
size = marketSymbol.getSize(); |
37 |
|
38 |
|
39 |
} |
40 |
|
41 |
@Override
|
42 |
public Node generateSymbol(List<Vec3> position) { |
43 |
// TODO Auto-generated method stub
|
44 |
// return FeatureFactory.generateQuadPoligon(position.get(0),new
|
45 |
// Vec4(1.0,0.0,0.0,1.0),null,400);
|
46 |
Node node = FeatureFactory.insertPointL(position, rgba,(int) size);
|
47 |
Vec3 newPosition = new Vec3(0,0,0); |
48 |
FeatureFactory.addPointToNode(node,newPosition,rgba,(int)size);
|
49 |
return node;
|
50 |
} |
51 |
|
52 |
private Node getPointNode(double key) { |
53 |
PixelPoint pixelPoint= null;
|
54 |
|
55 |
if (pointsMap.containsKey(new Double(key))) { |
56 |
// System.out.println("ya contiene esa key");
|
57 |
pixelPoint = pointsMap.get(new Double(key)); |
58 |
} else {
|
59 |
pixelPoint = new PixelPoint();
|
60 |
pointsMap.put(new Double(key), pixelPoint); |
61 |
} |
62 |
|
63 |
return pixelPoint;
|
64 |
} |
65 |
|
66 |
} |