Statistics
| Revision:

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
}