Revision 672 org.gvsig.animation3d/trunk/org.gvsig.animation3d/org.gvsig.animation3d.swing/org.gvsig.animation3d.swing.impl/src/main/java/org/gvsig/animation3d/swing/impl/DefaultAnimation3DSwingManager.java

View differences:

DefaultAnimation3DSwingManager.java
3 3
import java.util.ArrayList;
4 4
import java.util.Collection;
5 5
import java.util.List;
6
import java.util.Map;
6 7

  
7 8
import org.gvsig.animation3d.swing.api.Animation3D;
9
import org.gvsig.animation3d.swing.api.Animation3DPanel;
8 10
import org.gvsig.animation3d.swing.api.Animation3DSwingManager;
9 11
import org.gvsig.animation3d.swing.api.Frame3D;
12
import org.gvsig.animation3d.swing.api.Frame3DCreationException;
13
import org.gvsig.fmap.geom.Geometry.SUBTYPES;
14
import org.gvsig.fmap.geom.GeometryLocator;
15
import org.gvsig.fmap.geom.exception.CreateGeometryException;
10 16
import org.gvsig.fmap.geom.primitive.Point;
11 17
import org.gvsig.fmap.mapcontext.layers.ExtendedPropertiesSupport;
12 18
import org.gvsig.tools.persistence.impl.DelegatedList;
19
import org.gvsig.view3d.swing.api.MapControl3D;
20
import org.gvsig.view3d.swing.api.ViewPort3D;
13 21

  
14 22
/**
15 23
 * @author <a href="mailto:lmarques@disid.com">Lluis Marques</a>
......
43 51
    }
44 52

  
45 53
    @Override
54
    public Frame3D getFrame3D(String name, MapControl3D mapControl3D)
55
        throws Frame3DCreationException {
56
        
57
        ViewPort3D viewport = mapControl3D.getViewPort();
58
        double heading = viewport.getHeading();
59
        double pitch = viewport.getPitch();
60
        double elevation = viewport.getElevation();
61
        double zoom = viewport.getZoom();
62

  
63
        Point position = null;
64
        double x = viewport.getCenterPosition().getX();
65
        double y = viewport.getCenterPosition().getY();
66
        try {
67
            position = GeometryLocator.getGeometryManager().createPoint(x, y, SUBTYPES.GEOM2D);
68
        } catch (CreateGeometryException e) {
69
            String msg =
70
                String.format("Can not create frame position [longitude: %1s latitude: %2s]",
71
                    new Object[] { x, y });
72
            throw new Frame3DCreationException(msg, e);
73
        }
74

  
75
        return createFrame3D(name, heading, pitch, elevation, position, zoom);
76
    }
77

  
78
    @Override
46 79
    public Frame3D createFrame3D(String name, double heading, double pitch, double elevation,
47 80
        Point position, double zoom) {
48 81
        return new DefaultFrame3D(name, heading, pitch, elevation, position, zoom);
......
54 87
        return new DefaultAnimation3D(name, sphericalFrames, flatFrames);
55 88
    }
56 89

  
90
    @Override
91
    public Animation3DPanel createAnimationManager(Map<String, ExtendedPropertiesSupport> properties) {
92
        return new DefaultAnimation3DPanelController(properties);
93
    }
94

  
95
    // @Override
96
    // public void goTo(Frame3D frame) {
97
    //
98
    // Globe globe = this.getWwd().getView().getGlobe();
99
    // OrbitView view = (OrbitView) this.getWwd().getView();
100
    // view.stopAnimations();
101
    //
102
    // double longitude = frame.getPosition().getX();
103
    // double latitude = frame.getPosition().getY();
104
    // Position lookFromPos =
105
    // new Position(LatLon.fromDegrees(latitude, longitude), globe.getElevation(
106
    // Angle.fromDegreesLatitude(latitude),
107
    // Angle.fromDegreesLongitude(longitude))
108
    // + frame.getElevation());
109
    //
110
    // final long MIN_LENGTH_MILLIS = 4000;
111
    // final long MAX_LENGTH_MILLIS = 14000;
112
    // long timeToMove =
113
    // AnimationSupport.getScaledTimeMillisecs(view.getEyePosition(),
114
    // lookFromPos,
115
    // MIN_LENGTH_MILLIS, MAX_LENGTH_MILLIS);
116
    //
117
    // Animator animator =
118
    // FlyToOrbitViewAnimator.createFlyToOrbitViewAnimator(view,
119
    // view.getCenterPosition(),
120
    // lookFromPos, view.getHeading(), Angle.fromDegrees(frame.getHeading()),
121
    // view.getPitch(), Angle.fromDegrees(frame.getPitch()), view.getZoom(),
122
    // frame.getZoom(), timeToMove, WorldWind.ABSOLUTE);
123
    // view.addAnimator(animator);
124
    // view.firePropertyChange(AVKey.VIEW, null, this.getWwd().getView());
125
    // }
126
    //
127
    // @Override
128
    // public void goTo(List<Frame3D> frames) {
129
    // View view = this.getWwd().getView();
130
    // view.stopAnimations();
131
    //
132
    // Animator animator = null;
133
    // if (view instanceof OrbitView) {
134
    // animator = new MultipleFlyToOrbitViewAnimator((OrbitView) view, frames);
135
    // }
136
    //
137
    // view.addAnimator(animator);
138
    // view.firePropertyChange(AVKey.VIEW, null, this.getWwd().getView());
139
    // }
57 140
}

Also available in: Unified diff