diff options
author | don bright <hugh.m.bright@gmail.com> | 2013-02-27 06:37:37 (GMT) |
---|---|---|
committer | don bright <hugh.m.bright@gmail.com> | 2013-02-27 06:37:37 (GMT) |
commit | 13b0fe4b3f8e0367f02a982deb5be695ccd00c80 (patch) | |
tree | f834a15d8ed4d37f23882ff60a2e2c08ea4f53f2 /src/GLView.h | |
parent | c84b0d21842cbd09a46c80e23a2f1a3fc2a04592 (diff) |
rework Camera using boost::variant. first working --gimbalcam version
Diffstat (limited to 'src/GLView.h')
-rw-r--r-- | src/GLView.h | 10 |
1 files changed, 8 insertions, 2 deletions
diff --git a/src/GLView.h b/src/GLView.h index c7803c9..6dadbf8 100644 --- a/src/GLView.h +++ b/src/GLView.h @@ -29,6 +29,7 @@ OffscreenView uses VectorCamera. #include <iostream> #include "renderer.h" #include "linalg.h" +#include "Camera.h" #define FAR_FAR_AWAY 100000.0 @@ -41,16 +42,21 @@ public: void initializeGL(); void resizeGL(int w, int h); - virtual void paintGL() = 0; + virtual void paintGL(); void setGimbalCamera(const Eigen::Vector3d &pos, const Eigen::Vector3d &rot, double distance); void setupGimbalCamPerspective(); void setupGimbalCamOrtho(double distance, bool offset=false); + void gimbalCamPaintGL(); void setVectorCamera(const Eigen::Vector3d &pos, const Eigen::Vector3d ¢er); void setupVectorCamPerspective(); void setupVectorCamOrtho(bool offset=false); + void vectorCamPaintGL(); + void setCamera( NullCamera &nc ); + void setCamera( GimbalCamera &gc ); + void setCamera( VectorCamera &vc ); void setCamera( Camera &cam ); void showCrosshairs(); @@ -69,7 +75,7 @@ public: bool showedges; bool showcrosshairs; - // fixme -- use boost::variant like in value.cc ?? + Camera::CameraType camtype; VectorCamera vcam; GimbalCamera gcam; |