Revision 23304 trunk/libraries/lib3DMap/src/org/gvsig/gvsig3d/simbology3D/symbol3D/point/ObjectPoint3DSymbol.java
ObjectPoint3DSymbol.java | ||
---|---|---|
21 | 21 |
import com.iver.cit.gvsig.fmap.core.symbols.ISymbol; |
22 | 22 |
import com.sun.java_cup.internal.sym; |
23 | 23 |
|
24 |
public class ObjectPoint3DSymbol extends Abstract3DSymbol{ |
|
24 |
public class ObjectPoint3DSymbol extends Abstract3DSymbol {
|
|
25 | 25 |
|
26 | 26 |
private Object3DMarkerSymbol object3DMarketSymbol; |
27 |
private static Node object3D = null; |
|
28 |
private static String oldPath = ""; |
|
27 | 29 |
|
28 | 30 |
public ObjectPoint3DSymbol(ISymbol symbol) { |
29 | 31 |
super(symbol); |
... | ... | |
32 | 34 |
|
33 | 35 |
@Override |
34 | 36 |
public Node generateSymbol(List<Vec3> position) { |
35 |
|
|
37 |
|
|
36 | 38 |
Group group = new Group(); |
37 | 39 |
PositionAttitudeTransform posAttTrasn = null; |
38 | 40 |
Vec3 scale = object3DMarketSymbol.getScale(); |
39 | 41 |
Vec3 rotation = object3DMarketSymbol.getRotationObject(); |
40 | 42 |
try { |
41 |
// Node object3D = osgDB.readNodeFile("D:/modelos3d/cow.ive"); |
|
42 |
Node object3D = osgDB.readNodeFile(object3DMarketSymbol |
|
43 |
.getObject3DPath()); |
|
43 |
// Node object3D = osgDB.readNodeFile("D:/modelos3d/cow.ive"); |
|
44 |
if (!(oldPath.equals(object3DMarketSymbol.getObject3DPath()))){ |
|
45 |
oldPath = object3DMarketSymbol.getObject3DPath(); |
|
46 |
object3D = osgDB.readNodeFile(oldPath); |
|
47 |
} |
|
44 | 48 |
for (Iterator iterator = position.iterator(); iterator.hasNext();) { |
45 | 49 |
Vec3 pos = (Vec3) iterator.next(); |
46 |
// System.err.println("position " + pos.x() + " " + pos.y() + " "
|
|
47 |
// + pos.z());
|
|
50 |
System.err.println("position " + pos.x() + " " + pos.y() + " " |
|
51 |
+ pos.z()); |
|
48 | 52 |
posAttTrasn = new PositionAttitudeTransform(); |
49 | 53 |
posAttTrasn.setPosition(pos); |
50 | 54 |
posAttTrasn.setScale(scale); |
51 |
|
|
52 |
if (object3DMarketSymbol.isAutoRotate()){ |
|
53 |
AutoTransform autoRotateTrasn = null;
|
|
54 |
autoRotateTrasn = new AutoTransform();
|
|
55 |
|
|
56 |
if (object3DMarketSymbol.isAutoRotate()) {
|
|
57 |
AutoTransform autoRotateTrasn = null; |
|
58 |
autoRotateTrasn = new AutoTransform(); |
|
55 | 59 |
autoRotateTrasn.setPosition(pos); |
56 | 60 |
autoRotateTrasn.addChild(posAttTrasn); |
57 |
autoRotateTrasn.setAutoRotateMode(AutoTransform.AutoRotateMode.ROTATE_TO_CAMERA); |
|
58 |
// autoRotateTrasn.setAutoScaleToScreen(true); |
|
61 |
autoRotateTrasn |
|
62 |
.setAutoRotateMode(AutoTransform.AutoRotateMode.ROTATE_TO_CAMERA); |
|
63 |
// autoRotateTrasn.setAutoScaleToScreen(true); |
|
59 | 64 |
group.addChild(autoRotateTrasn); |
60 |
}else{
|
|
65 |
} else {
|
|
61 | 66 |
group.addChild(posAttTrasn); |
62 | 67 |
} |
63 | 68 |
posAttTrasn.addChild(object3D); |
64 |
|
|
69 |
|
|
65 | 70 |
} |
66 | 71 |
} catch (NodeException e1) { |
67 | 72 |
// TODO Auto-generated catch block |
Also available in: Unified diff