#include "Viewer.h"
#include <qfiledialog.h>
#include <X3DTK/kernel.h>
using namespace X3DTK;
using namespace std;
void Viewer::init()
{
glEnable(GL_RESCALE_NORMAL);
help();
loadFile();
}
void Viewer::keyPressEvent(QKeyEvent *e)
{
switch (e->key())
{
case Qt::Key_L : loadFile(); break;
default: QGLViewer::keyPressEvent(e);
}
}
void Viewer::loadFile()
{
QString name = QFileDialog::getOpenFileName("", "X3D files (*.x3d *.X3D);;All files (*)", this);
if (name.isEmpty())
return;
scene.load(name);
setSceneBoundingBox(scene.getBboxMin().f_data(), scene.getBboxMax().f_data());
showEntireScene();
}
void Viewer::draw()
{
scene.draw();
}
void Viewer::help()
{
cout << endl << "\t\t- - X 3 D V i e w e r - -" << endl << endl;
cout << "This example uses the libX3D library to load a x3d object file." << endl;
cout << "Press 'L'(oad) to open a x3d file." << endl << endl;
}