2 Copyright (C) 2001, 2006 United States Government as represented by
3 the Administrator of the National Aeronautics and Space Administration.
6 package gov
.nasa
.worldwind
.view
;
8 import gov
.nasa
.worldwind
.geom
.*;
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)
114 return orbitView
.getLatitude();
117 public final boolean setAngle(OrbitView orbitView
, Angle value
)
119 if (orbitView
== null || value
== null)
122 return orbitView
.setLatitude(value
);
126 private static class LongitudeAccessor
implements AngleAccessor
128 public final Angle
getAngle(OrbitView orbitView
)
130 if (orbitView
== null)
133 return orbitView
.getLongitude();
136 public final boolean setAngle(OrbitView orbitView
, Angle value
)
138 if (orbitView
== null || value
== null)
141 return orbitView
.setLongitude(value
);
145 private static class HeadingAccessor
implements AngleAccessor
147 public final Angle
getAngle(OrbitView orbitView
)
149 if (orbitView
== null)
152 return orbitView
.getHeading();
155 public final boolean setAngle(OrbitView orbitView
, Angle value
)
157 if (orbitView
== null || value
== null)
160 return orbitView
.setHeading(value
);
164 private static class PitchAccessor
implements AngleAccessor
166 public final Angle
getAngle(OrbitView orbitView
)
168 if (orbitView
== null)
171 return orbitView
.getPitch();
174 public final boolean setAngle(OrbitView orbitView
, Angle value
)
176 if (orbitView
== null || value
== null)
179 return orbitView
.setPitch(value
);
183 private static class LookAtLatitudeAccessor
implements AngleAccessor
185 public final Angle
getAngle(OrbitView orbitView
)
187 if (orbitView
== null)
190 return orbitView
.getLookAtLatitude();
193 public final boolean setAngle(OrbitView orbitView
, Angle value
)
195 if (orbitView
== null || value
== null)
198 return orbitView
.setLookAtLatitude(value
);
202 private static class LookAtLongitudeAccessor
implements AngleAccessor
204 public final Angle
getAngle(OrbitView orbitView
)
206 if (orbitView
== null)
209 return orbitView
.getLookAtLongitude();
212 public final boolean setAngle(OrbitView orbitView
, Angle value
)
214 if (orbitView
== null || value
== null)
217 return orbitView
.setLookAtLongitude(value
);
221 private static class AltitudeAccessor
implements DoubleAccessor
223 public final Double
getDouble(OrbitView orbitView
)
225 if (orbitView
== null)
228 return orbitView
.getAltitude();
231 public final boolean setDouble(OrbitView orbitView
, Double value
)
233 if (orbitView
== null || value
== null)
236 return orbitView
.setAltitude(value
);
240 private static class ZoomAccessor
implements DoubleAccessor
242 public final Double
getDouble(OrbitView orbitView
)
244 if (orbitView
== null)
247 return orbitView
.getZoom();
250 public final boolean setDouble(OrbitView orbitView
, Double value
)
252 if (orbitView
== null || value
== null)
255 return orbitView
.setZoom(value
);
259 private static class LatitudeAndLongitudeAccessor
implements LatLonAccessor
261 public final LatLon
getLatLon(OrbitView orbitView
)
263 if (orbitView
== null)
266 return new LatLon(orbitView
.getLatitude(), orbitView
.getLongitude());
269 public final boolean setLatLon(OrbitView orbitView
, LatLon value
)
271 if (orbitView
== null || value
== null)
274 return orbitView
.setLatLon(value
);
278 private static class LookAtLatitudeAndLongitudeAccessor
implements LatLonAccessor
280 public final LatLon
getLatLon(OrbitView orbitView
)
282 if (orbitView
== null)
285 return new LatLon(orbitView
.getLookAtLatitude(), orbitView
.getLookAtLongitude());
288 public final boolean setLatLon(OrbitView orbitView
, LatLon value
)
290 if (orbitView
== null || value
== null)
293 return orbitView
.setLookAtLatLon(value
);
297 private static class RotationAccessor
implements QuaternionAccessor
299 public final Quaternion
getQuaternion(OrbitView orbitView
)
301 if (orbitView
== null)
304 return orbitView
.getRotation();
307 public final boolean setQuaternion(OrbitView orbitView
, Quaternion value
)
309 if (orbitView
== null || value
== null)
312 orbitView
.setRotation(value
);