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 18103 jcampos
package com.iver.ai2.gvsig3d.simbology3D.symbol3D.point;
2
3 18954 jcampos
import java.awt.Color;
4
import java.util.ArrayList;
5 18103 jcampos
import java.util.List;
6 18954 jcampos
import java.util.Map;
7 18103 jcampos
8
import com.iver.ai2.gvsig3d.gui.FeatureFactory;
9
import com.iver.ai2.gvsig3d.simbology3D.symbol3D.Abstract3DSymbol;
10 18954 jcampos
import com.iver.cit.gvsig.fmap.core.symbols.IFillSymbol;
11
import com.iver.cit.gvsig.fmap.core.symbols.IMarkerSymbol;
12 18103 jcampos
import com.iver.cit.gvsig.fmap.core.symbols.ISymbol;
13
14 18219 mten
import es.upv.ai2.osgvp.Node;
15
import es.upv.ai2.osgvp.Vec3;
16
import es.upv.ai2.osgvp.Vec4;
17 18954 jcampos
import es.upv.ai2.osgvp.features.PixelPoint;
18 18103 jcampos
19
public class SimplePoint3DSymbol extends Abstract3DSymbol {
20
21 18954 jcampos
        // 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 18103 jcampos
        public SimplePoint3DSymbol(ISymbol symbol) {
28
                super(symbol);
29 18954 jcampos
                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 18103 jcampos
        }
40
41
        @Override
42
        public Node generateSymbol(List<Vec3> position) {
43
                // TODO Auto-generated method stub
44 18954 jcampos
                // 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 18103 jcampos
        }
51
52 18954 jcampos
        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 18103 jcampos
}