Revision 18954 trunk/libraries/lib3DMap/src/com/iver/ai2/gvsig3d/simbology3D/symbol3D/point/SimplePoint3DSymbol.java

View differences:

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