summaryrefslogtreecommitdiff
path: root/src/GLView.h
diff options
context:
space:
mode:
authordon bright <hugh.m.bright@gmail.com>2013-02-27 06:37:37 (GMT)
committerdon bright <hugh.m.bright@gmail.com>2013-02-27 06:37:37 (GMT)
commit13b0fe4b3f8e0367f02a982deb5be695ccd00c80 (patch)
treef834a15d8ed4d37f23882ff60a2e2c08ea4f53f2 /src/GLView.h
parentc84b0d21842cbd09a46c80e23a2f1a3fc2a04592 (diff)
rework Camera using boost::variant. first working --gimbalcam version
Diffstat (limited to 'src/GLView.h')
-rw-r--r--src/GLView.h10
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 &center);
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;
contact: Jan Huwald // Impressum