aboutsummaryrefslogtreecommitdiffhomepage
path: root/demos/opengl/trackball.h
diff options
context:
space:
mode:
Diffstat (limited to 'demos/opengl/trackball.h')
-rw-r--r--demos/opengl/trackball.h6
1 files changed, 4 insertions, 2 deletions
diff --git a/demos/opengl/trackball.h b/demos/opengl/trackball.h
index 29413becd..e9a899586 100644
--- a/demos/opengl/trackball.h
+++ b/demos/opengl/trackball.h
@@ -33,9 +33,11 @@ class Trackball
{
public:
+ enum Mode {Around, Local};
+
Trackball() : mpCamera(0) {}
- void reset() { mLastPointOk = false; }
+ void start(Mode m = Around) { mMode = m; mLastPointOk = false; }
void setCamera(Camera* pCam) { mpCamera = pCam; }
@@ -46,8 +48,8 @@ class Trackball
bool mapToSphere( const Eigen::Vector2i& p2, Eigen::Vector3f& v3);
Camera* mpCamera;
- Eigen::Vector2i mLastPoint2D;
Eigen::Vector3f mLastPoint3D;
+ Mode mMode;
bool mLastPointOk;
};