Statistics
| Revision:

gvsig-3d / org.gvsig.animation3d / trunk / org.gvsig.animation3d / org.gvsig.animation3d.swing / org.gvsig.animation3d.swing.api / src / main / java / org / gvsig / animation3d / swing / api / Animation3DSwingManager.java @ 684

History | View | Annotate | Download (3.28 KB)

1
package org.gvsig.animation3d.swing.api;
2

    
3
import java.util.List;
4
import java.util.Map;
5

    
6
import org.gvsig.fmap.geom.primitive.Point;
7
import org.gvsig.fmap.mapcontext.layers.ExtendedPropertiesSupport;
8
import org.gvsig.view3d.swing.api.MapControl3D;
9

    
10
/**
11
 * 
12
 * @author <a href="mailto:lmarques@disid.com">Lluis Marques</a>
13
 *
14
 */
15
public interface Animation3DSwingManager {
16

    
17
    /**
18
     * Creates a new {@link Frame3D}.
19
     * 
20
     * @param name
21
     * @param heading
22
     * @param pitch
23
     * @param elevation
24
     * @param position
25
     * @param zoom
26
     * @return New {@link Frame3D}.
27
     */
28
    public Frame3D createFrame3D(String name, double heading, double pitch, double elevation,
29
        Point position, double zoom);
30

    
31
    /**
32
     * 
33
     * @param name
34
     * @param mapControl3D
35
     * @return frame3d
36
     * @throws Frame3DCreationException
37
     */
38
    public Frame3D createFrame3D(String name, MapControl3D mapControl3D)
39
        throws Frame3DCreationException;
40

    
41
    /**
42
     * Creates new instance of {@link Animation3D} with name and {@link Frame3D}
43
     * list.
44
     * 
45
     * @param name
46
     *            Name of animation
47
     * @param sphericalFrames
48
     *            List of spherical frames
49
     * @param flatFrames
50
     *            List of flat frames
51
     * @return New {@link Animation3D}.
52
     */
53
    public Animation3D createAnimation3D(String name, List<Frame3D> sphericalFrames,
54
        List<Frame3D> flatFrames);
55

    
56
    /**
57
     * Gets animations associated with the properties. If properties does not
58
     * have animations, it will be initialized with an empty list.
59
     * 
60
     * @param properties
61
     *            Properties to get animations.
62
     * @return Animations of properties.
63
     */
64
    public List<Animation3D> getAnimations(ExtendedPropertiesSupport properties);
65

    
66
    /**
67
     * Sets list animations to properties.
68
     * 
69
     * @param properties
70
     *            Properties to link with animations.
71
     * @param animations
72
     *            Animation list.
73
     */
74
    public void setAnimations(ExtendedPropertiesSupport properties, List<Animation3D> animations);
75

    
76
    /**
77
     * Creates an animation panel to manager view 3D animations
78
     * 
79
     * @param properties
80
     * 
81
     * @return An instance of Animation panel
82
     */
83
    public Animation3DPanel createAnimationPanel(Map<String, ExtendedPropertiesSupport> properties);
84

    
85
    /**
86
     * 
87
     * @param mapControl3D
88
     * @param frame
89
     * @param minMillis
90
     * @param maxMillis
91
     * @return animator
92
     */
93
    public Animator createGoToAnimator(MapControl3D mapControl3D, Frame3D frame,
94
        final long minMillis, final long maxMillis);
95

    
96
    /**
97
     * 
98
     * @param mapControl3D
99
     * @param frames
100
     * @param minMillis
101
     * @param maxMillis
102
     * @return animator
103
     */
104
    public Animator createGoToAnimator(MapControl3D mapControl3D, List<Frame3D> frames,
105
        final long minMillis, final long maxMillis);
106

    
107
    /**
108
     * 
109
     * @param mapControl3D
110
     * @param goToAnimator
111
     */
112
    public void addAnimator(MapControl3D mapControl3D, Animator goToAnimator);
113

    
114
    /**
115
     * 
116
     * @param mapControl3D
117
     */
118
    public void stopAnimations(MapControl3D mapControl3D);
119

    
120
    /**
121
     * 
122
     * @param mapControl3D
123
     * @return boolean
124
     */
125
    public boolean isAnimating(MapControl3D mapControl3D);
126
}