Updated to worldwind release 20070817
[worldwind-tracker.git] / gov / nasa / worldwind / view / OrbitViewPropertyAccessor.java
blob231426b398e6e3dbfe697da5a9ef8361f0e6c076
1 /*
2 Copyright (C) 2001, 2006 United States Government as represented by
3 the Administrator of the National Aeronautics and Space Administration.
4 All Rights Reserved.
5 */
6 package gov.nasa.worldwind.view;
8 import gov.nasa.worldwind.geom.*;
10 /**
11 * @author dcollins
12 * @version $Id: OrbitViewPropertyAccessor.java 2471 2007-07-31 21:50:57Z tgaskins $
14 public class OrbitViewPropertyAccessor
16 private OrbitViewPropertyAccessor()
20 public static interface AngleAccessor
22 Angle getAngle(OrbitView orbitView);
24 boolean setAngle(OrbitView orbitView, Angle value);
27 public static interface DoubleAccessor
29 Double getDouble(OrbitView orbitView);
31 boolean setDouble(OrbitView orbitView, Double value);
34 public static interface LatLonAccessor
36 LatLon getLatLon(OrbitView orbitView);
38 boolean setLatLon(OrbitView orbitView, LatLon value);
41 public static interface QuaternionAccessor
43 Quaternion getQuaternion(OrbitView orbitView);
45 boolean setQuaternion(OrbitView orbitView, Quaternion value);
48 public static AngleAccessor createLatitudeAccessor()
50 return new LatitudeAccessor();
53 public static AngleAccessor createLongitudeAccessor()
55 return new LongitudeAccessor();
58 public static AngleAccessor createLookAtLatitudeAccessor()
60 return new LookAtLatitudeAccessor();
63 public static AngleAccessor createLookAtLongitudeAccessor()
65 return new LookAtLongitudeAccessor();
68 public static AngleAccessor createHeadingAccessor()
70 return new HeadingAccessor();
73 public static AngleAccessor createPitchAccessor()
75 return new PitchAccessor();
78 public static DoubleAccessor createAltitudeAccessor()
80 return new AltitudeAccessor();
83 public static DoubleAccessor createZoomAccessor()
85 return new ZoomAccessor();
88 public static LatLonAccessor createLatitudeAndLongitudeAccessor()
90 return new LatitudeAndLongitudeAccessor();
93 public static LatLonAccessor createLookAtLatitudeAndLongitudeAccessor()
95 return new LookAtLatitudeAndLongitudeAccessor();
98 public static RotationAccessor createRotationAccessor()
100 return new RotationAccessor();
103 // ============== Implementation ======================= //
104 // ============== Implementation ======================= //
105 // ============== Implementation ======================= //
107 private static class LatitudeAccessor implements AngleAccessor
109 public final Angle getAngle(OrbitView orbitView)
111 if (orbitView == null)
112 return null;
114 return orbitView.getLatitude();
117 public final boolean setAngle(OrbitView orbitView, Angle value)
119 if (orbitView == null || value == null)
120 return false;
122 return orbitView.setLatitude(value);
126 private static class LongitudeAccessor implements AngleAccessor
128 public final Angle getAngle(OrbitView orbitView)
130 if (orbitView == null)
131 return null;
133 return orbitView.getLongitude();
136 public final boolean setAngle(OrbitView orbitView, Angle value)
138 if (orbitView == null || value == null)
139 return false;
141 return orbitView.setLongitude(value);
145 private static class HeadingAccessor implements AngleAccessor
147 public final Angle getAngle(OrbitView orbitView)
149 if (orbitView == null)
150 return null;
152 return orbitView.getHeading();
155 public final boolean setAngle(OrbitView orbitView, Angle value)
157 if (orbitView == null || value == null)
158 return false;
160 return orbitView.setHeading(value);
164 private static class PitchAccessor implements AngleAccessor
166 public final Angle getAngle(OrbitView orbitView)
168 if (orbitView == null)
169 return null;
171 return orbitView.getPitch();
174 public final boolean setAngle(OrbitView orbitView, Angle value)
176 if (orbitView == null || value == null)
177 return false;
179 return orbitView.setPitch(value);
183 private static class LookAtLatitudeAccessor implements AngleAccessor
185 public final Angle getAngle(OrbitView orbitView)
187 if (orbitView == null)
188 return null;
190 return orbitView.getLookAtLatitude();
193 public final boolean setAngle(OrbitView orbitView, Angle value)
195 if (orbitView == null || value == null)
196 return false;
198 return orbitView.setLookAtLatitude(value);
202 private static class LookAtLongitudeAccessor implements AngleAccessor
204 public final Angle getAngle(OrbitView orbitView)
206 if (orbitView == null)
207 return null;
209 return orbitView.getLookAtLongitude();
212 public final boolean setAngle(OrbitView orbitView, Angle value)
214 if (orbitView == null || value == null)
215 return false;
217 return orbitView.setLookAtLongitude(value);
221 private static class AltitudeAccessor implements DoubleAccessor
223 public final Double getDouble(OrbitView orbitView)
225 if (orbitView == null)
226 return null;
228 return orbitView.getAltitude();
231 public final boolean setDouble(OrbitView orbitView, Double value)
233 if (orbitView == null || value == null)
234 return false;
236 return orbitView.setAltitude(value);
240 private static class ZoomAccessor implements DoubleAccessor
242 public final Double getDouble(OrbitView orbitView)
244 if (orbitView == null)
245 return null;
247 return orbitView.getZoom();
250 public final boolean setDouble(OrbitView orbitView, Double value)
252 if (orbitView == null || value == null)
253 return false;
255 return orbitView.setZoom(value);
259 private static class LatitudeAndLongitudeAccessor implements LatLonAccessor
261 public final LatLon getLatLon(OrbitView orbitView)
263 if (orbitView == null)
264 return null;
266 return new LatLon(orbitView.getLatitude(), orbitView.getLongitude());
269 public final boolean setLatLon(OrbitView orbitView, LatLon value)
271 if (orbitView == null || value == null)
272 return false;
274 return orbitView.setLatLon(value);
278 private static class LookAtLatitudeAndLongitudeAccessor implements LatLonAccessor
280 public final LatLon getLatLon(OrbitView orbitView)
282 if (orbitView == null)
283 return null;
285 return new LatLon(orbitView.getLookAtLatitude(), orbitView.getLookAtLongitude());
288 public final boolean setLatLon(OrbitView orbitView, LatLon value)
290 if (orbitView == null || value == null)
291 return false;
293 return orbitView.setLookAtLatLon(value);
297 private static class RotationAccessor implements QuaternionAccessor
299 public final Quaternion getQuaternion(OrbitView orbitView)
301 if (orbitView == null)
302 return null;
304 return orbitView.getRotation();
307 public final boolean setQuaternion(OrbitView orbitView, Quaternion value)
309 if (orbitView == null || value == null)
310 return false;
312 orbitView.setRotation(value);
313 return true;