예제 #1
0
Window::Window(QWidget *parent) : QMainWindow(parent)
{
	setWindowTitle(tr("CPSC589 - 3d Modelling with Kinect"));
	
	renderView = new RenderView();

	mainLayout = new QGridLayout;

	controlLayout = new QVBoxLayout();
	pause_button = new QPushButton("Pause");
	pause_button->setCheckable(true);
	connect(pause_button, SIGNAL(toggled(bool)), renderView, SLOT(pause(bool)));
	connect(renderView, SIGNAL(pausePlease()), this, SLOT(setPaused()));

	exportObj_button = new QPushButton("Export .obj");
	connect(exportObj_button, SIGNAL(clicked()), renderView, SLOT(exportObj()));

	exportPly_button = new QPushButton("Export .ply");
	connect(exportPly_button, SIGNAL(clicked()), renderView, SLOT(exportPly()));

	exportXyz_button = new QPushButton("Export .xyz");
	connect(exportXyz_button, SIGNAL(clicked()), renderView, SLOT(exportXyz()));

	exportPcd_button = new QPushButton("Export .pcd");
	connect(exportPcd_button, SIGNAL(clicked()), renderView, SLOT(exportPcd()));

	dump_button = new QPushButton("Dump data");
	connect(dump_button, SIGNAL(clicked()), renderView, SLOT(dump()));

	/* front and rear depth buffer cutoffs */
	QSlider *rearCutoffPlane = createCutoffSlider();
	connect(rearCutoffPlane, SIGNAL(valueChanged(int)), renderView, SLOT(setRearCutoff(int)));

	QSlider *frontCutoffPlane = createCutoffSlider();
	connect(frontCutoffPlane, SIGNAL(valueChanged(int)), renderView, SLOT(setFrontCutoff(int)));

	controlLayout->addWidget(pause_button);
	controlLayout->addWidget(exportObj_button);
	controlLayout->addWidget(exportPly_button);
	controlLayout->addWidget(exportXyz_button);
	controlLayout->addWidget(exportPcd_button);
	controlLayout->addWidget(new QLabel(tr("Rear Cutoff Plane")));
	controlLayout->addWidget(rearCutoffPlane);
	controlLayout->addWidget(new QLabel(tr("Front Cutoff Plane")));
	controlLayout->addWidget(frontCutoffPlane);
	controlLayout->addWidget(dump_button);

	mainLayout->addWidget(renderView, 0, 1, 2, 2);
	mainLayout->addLayout(controlLayout, 0, 3, 1, 2);

	centralWidget = new QWidget;
	setCentralWidget(centralWidget);
	centralWidget->setLayout(mainLayout);

	rearCutoffPlane->setValue(10*100);
	frontCutoffPlane->setValue(0);

	renderView->setStatusBar(statusBar());
}
예제 #2
0
 void PlyExporter::operator()(const QString &fileName, const QString& description,
                              const Shape *shape, const Job &job,
                              const std::vector<QMatrix4x4> &vertexViewVector) {
     exportPly(fileName, description, shape, job, vertexViewVector);
 }