20 #ifndef _STELMOVEMENTMGR_HPP_
21 #define _STELMOVEMENTMGR_HPP_
23 #include "StelModule.hpp"
24 #include "StelProjector.hpp"
36 enum MountMode { MountAltAzimuthal, MountEquinoxEquatorial, MountGalactic};
73 bool getHasDragged()
const {
return hasDragged;}
81 void setViewUpVectorJ2000(
const Vec3d& up);
83 void setMovementSpeedFactor(
float s) {movementsSpeedFactor=s;}
84 float getMovementSpeedFactor()
const {
return movementsSpeedFactor;}
86 void setDragTriggerDistance(
float d) {dragTriggerDistance=d;}
108 void panView(
double deltaAz,
double deltaAlt);
146 void moveToJ2000(
const Vec3d& aim,
float moveDuration = 1.,
int zooming = 0);
147 void moveToObject(
const StelObjectP& target,
float moveDuration = 1.,
int zooming = 0);
152 void zoomTo(
double aimFov,
float moveDuration = 1.);
169 void setViewDirectionJ2000(
const Vec3d& v);
177 void autoZoomIn(
float moveDuration = 1.f,
bool allowManualZoom = 1);
179 void autoZoomOut(
float moveDuration = 1.f,
bool full = 0);
189 void moveSlow(
bool b) {flagMoveSlow=b;}
198 void setDragTimeMode(
bool b) {dragTimeMode=b;}
199 bool getDragTimeMode()
const {
return dragTimeMode;}
206 Vec3d j2000ToMountFrame(
const Vec3d& v)
const;
207 Vec3d mountFrameToJ2000(
const Vec3d& v)
const;
214 void setFov(
double f)
222 void changeFov(
double deltaFov);
224 void updateVisionVector(
double deltaTime);
225 void updateAutoZoom(
double deltaTime);
228 void dragView(
int x1,
int y1,
int x2,
int y2);
236 bool isMouseMovingHoriz;
237 bool isMouseMovingVert;
239 bool flagEnableMoveAtScreenEdge;
240 bool flagEnableMouseNavigation;
241 float mouseZoomSpeed;
243 bool flagEnableZoomKeys;
244 bool flagEnableMoveKeys;
250 float movementsSpeedFactor;
268 double deltaFov,deltaAlt,deltaAz;
271 float autoMoveDuration;
274 bool isDragging, hasDragged;
275 int previousX, previousY;
278 struct DragHistoryEntry
286 QList<DragHistoryEntry> timeDragHistory;
287 void addTimeDragPoint(
int x,
int y);
288 float beforeTimeDragTimeRate;
306 bool flagAutoZoomOutResetsDirection;
314 Vec3d viewDirectionJ2000;
316 Vec3d viewDirectionMountFrame;
318 Vec3d upVectorMountFrame;
320 float dragTriggerDistance;
323 #endif // _STELMOVEMENTMGR_HPP_