Revision 18954 trunk/libraries/lib3DMap/src/com/iver/ai2/gvsig3d/simbology3D/symbol3D/point/SimplePoint3DSymbol.java
SimplePoint3DSymbol.java | ||
---|---|---|
1 | 1 |
package com.iver.ai2.gvsig3d.simbology3D.symbol3D.point; |
2 | 2 |
|
3 |
import java.awt.Color; |
|
4 |
import java.util.ArrayList; |
|
3 | 5 |
import java.util.List; |
6 |
import java.util.Map; |
|
4 | 7 |
|
5 | 8 |
import com.iver.ai2.gvsig3d.gui.FeatureFactory; |
6 | 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; |
|
7 | 12 |
import com.iver.cit.gvsig.fmap.core.symbols.ISymbol; |
8 | 13 |
|
9 | 14 |
import es.upv.ai2.osgvp.Node; |
10 | 15 |
import es.upv.ai2.osgvp.Vec3; |
11 | 16 |
import es.upv.ai2.osgvp.Vec4; |
17 |
import es.upv.ai2.osgvp.features.PixelPoint; |
|
12 | 18 |
|
13 | 19 |
public class SimplePoint3DSymbol extends Abstract3DSymbol { |
14 | 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 |
|
|
15 | 27 |
public SimplePoint3DSymbol(ISymbol symbol) { |
16 | 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 |
|
|
17 | 39 |
} |
18 | 40 |
|
19 | 41 |
@Override |
20 | 42 |
public Node generateSymbol(List<Vec3> position) { |
21 | 43 |
// TODO Auto-generated method stub |
22 |
return FeatureFactory.generateQuadPoligon(position.get(0),new Vec4(1.0,0.0,0.0,1.0),null,400); |
|
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; |
|
23 | 50 |
} |
24 | 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 |
|
|
25 | 66 |
} |
Also available in: Unified diff