From 4cec89de384169f77b56aaa0da0dec4c41162e66 Mon Sep 17 00:00:00 2001 From: David Williams Date: Fri, 23 May 2014 14:32:46 +0200 Subject: [PATCH] Added ability to specify the visible region so that the example framework can support different volume sizes. --- examples/Basic/OpenGLWidget.cpp | 19 +++++++++++++++---- examples/Basic/OpenGLWidget.h | 5 +++-- examples/Basic/main.cpp | 1 + 3 files changed, 19 insertions(+), 6 deletions(-) diff --git a/examples/Basic/OpenGLWidget.cpp b/examples/Basic/OpenGLWidget.cpp index 17355b2f..eb47180e 100644 --- a/examples/Basic/OpenGLWidget.cpp +++ b/examples/Basic/OpenGLWidget.cpp @@ -9,8 +9,7 @@ using namespace std; OpenGLWidget::OpenGLWidget(QWidget *parent) :QGLWidget(parent) - ,mCenterPoint(32,32,32) - ,mDistFromCenter(50) + ,m_viewableRegion(Region(0, 0, 0, 255, 255, 255)) ,m_xRotation(0) ,m_yRotation(0) { @@ -51,6 +50,12 @@ void OpenGLWidget::setSurfaceMeshToRender(const PolyVox::SurfaceMesh >& surfaceMesh); + void setViewableRegion(PolyVox::Region viewableRegion); + protected: //Qt OpenGL functions void initializeGL(); @@ -72,8 +74,7 @@ private: QPoint m_CurrentMousePos; //Camera setup - QVector3D mCenterPoint; - float mDistFromCenter; + PolyVox::Region m_viewableRegion; int m_xRotation; int m_yRotation; }; diff --git a/examples/Basic/main.cpp b/examples/Basic/main.cpp index 78de21d4..82031152 100644 --- a/examples/Basic/main.cpp +++ b/examples/Basic/main.cpp @@ -86,6 +86,7 @@ int main(int argc, char *argv[]) //Pass the surface to the OpenGL window openGLWidget.setSurfaceMeshToRender(mesh); + openGLWidget.setViewableRegion(volData.getEnclosingRegion()); //openGLWidget.setSurfaceMeshToRender(mesh2); //Run the message pump.