Statistics
| Revision:

root / trunk / libraries / lib3DMap / src / com / iver / ai2 / gvsig3d / simbology3D / symbol3D / point / SimplePoint3DSymbol.java @ 20892

History | View | Annotate | Download (1.88 KB)

1
package com.iver.ai2.gvsig3d.simbology3D.symbol3D.point;
2

    
3
import java.awt.Color;
4
import java.util.List;
5
import java.util.Map;
6

    
7
import org.gvsig.osgvp.Node;
8
import org.gvsig.osgvp.Vec3;
9
import org.gvsig.osgvp.Vec4;
10
import org.gvsig.osgvp.features.PixelPoint;
11

    
12
import com.iver.ai2.gvsig3d.gui.FeatureFactory;
13
import com.iver.ai2.gvsig3d.simbology3D.symbol3D.Abstract3DSymbol;
14
import com.iver.cit.gvsig.fmap.core.symbols.IMarkerSymbol;
15
import com.iver.cit.gvsig.fmap.core.symbols.ISymbol;
16

    
17
public class SimplePoint3DSymbol extends Abstract3DSymbol {
18

    
19
        // Los tipo puntos tienen q tener una unica instancia de pixel point.
20
        // Podrian tener un hasMap como en el caso del piloto
21
        private static Map<Double, PixelPoint> pointsMap;
22
        private Vec4 rgba;
23
        private double size;
24

    
25
        public SimplePoint3DSymbol(ISymbol symbol) {
26
                super(symbol);
27
                IMarkerSymbol marketSymbol = (IMarkerSymbol) symbol;
28
                
29
                // Symbol color and alpha value
30
                Color color = marketSymbol.getColor();
31
                rgba = new Vec4(color.getRed() / 255f, color.getGreen() / 255f, color
32
                                .getBlue() / 255f, color.getAlpha());
33
                
34
                size = marketSymbol.getSize();
35
                
36
                
37
        }
38

    
39
        @Override
40
        public Node generateSymbol(List<Vec3> position) {
41
                // TODO Auto-generated method stub
42
                // return FeatureFactory.generateQuadPoligon(position.get(0),new
43
                // Vec4(1.0,0.0,0.0,1.0),null,400);
44
                Node node = FeatureFactory.insertPointL(position, rgba,(int) size);
45
                Vec3 newPosition = new Vec3(0,0,0);
46
                FeatureFactory.addPointToNode(node,newPosition,rgba,(int)size);
47
                return node;
48
        }
49

    
50
        private Node getPointNode(double key) {
51
                PixelPoint pixelPoint= null;
52

    
53
                if (pointsMap.containsKey(new Double(key))) {
54
                        // System.out.println("ya contiene esa key");
55
                        pixelPoint = pointsMap.get(new Double(key));
56
                } else {
57
                        pixelPoint = new PixelPoint();
58
                        pointsMap.put(new Double(key), pixelPoint);
59
                }
60

    
61
                return pixelPoint;
62
        }
63

    
64
}