2
0
Эх сурвалжийг харах

Merge branch 'master' into issue_1655

Kim Kulling 7 жил өмнө
parent
commit
58c38022ab

+ 38 - 19
tools/assimp_qt_viewer/mainwindow.cpp

@@ -39,22 +39,22 @@ QTime time_begin = QTime::currentTime();
 															aiProcess_GenUVCoords | aiProcess_TransformUVCoords | aiProcess_FlipUVs);
 	if(mScene != nullptr)
 	{
-		ui->lblLoadTime->setText(QString("%1").arg(time_begin.secsTo(QTime::currentTime())));
+		ui->lblLoadTime->setText(QString::number(time_begin.secsTo(QTime::currentTime())));
 		LogInfo("Import done: " + pFileName);
 		// Prepare widgets for new scene.
 		ui->leFileName->setText(pFileName.right(pFileName.length() - pFileName.lastIndexOf('/') - 1));
 		ui->lstLight->clear();
 		ui->lstCamera->clear();
-		ui->cbxLighting->setChecked(true), mGLView->Lighting_Enable();
-		ui->cbxBBox->setChecked(false); mGLView->Enable_SceneBBox(false);
-		ui->cbxTextures->setChecked(true), mGLView->Enable_Textures(true);
+		ui->cbxLighting->setChecked(true);	mGLView->Lighting_Enable();
+		ui->cbxBBox->setChecked(false);		mGLView->Enable_SceneBBox(false);
+		ui->cbxTextures->setChecked(true);	mGLView->Enable_Textures(true);
 		//
 		// Fill info labels
 		//
 		// Cameras
-		ui->lblCameraCount->setText(QString("%1").arg(mScene->mNumCameras));
+		ui->lblCameraCount->setText(QString::number(mScene->mNumCameras));
 		// Lights
-		ui->lblLightCount->setText(QString("%1").arg(mScene->mNumLights));
+		ui->lblLightCount->setText(QString::number(mScene->mNumLights));
 		// Meshes, faces, vertices.
 		size_t qty_face = 0;
 		size_t qty_vert = 0;
@@ -65,9 +65,9 @@ QTime time_begin = QTime::currentTime();
 			qty_vert += mScene->mMeshes[idx_mesh]->mNumVertices;
 		}
 
-		ui->lblMeshCount->setText(QString("%1").arg(mScene->mNumMeshes));
-		ui->lblFaceCount->setText(QString("%1").arg(qty_face));
-		ui->lblVertexCount->setText(QString("%1").arg(qty_vert));
+		ui->lblMeshCount->setText(QString::number(mScene->mNumMeshes));
+		ui->lblFaceCount->setText(QString::number(qty_face));
+		ui->lblVertexCount->setText(QString::number(qty_vert));
 		// Animation
 		if(mScene->mNumAnimations)
 			ui->lblHasAnimation->setText("yes");
@@ -87,11 +87,26 @@ QTime time_begin = QTime::currentTime();
 	}
 	else
 	{
-		ui->lblLoadTime->clear();
-		LogError(QString("Error parsing \'%1\' : \'%2\'").arg(pFileName).arg(mImporter.GetErrorString()));
+		ResetSceneInfos();
+
+		QString errorMessage = QString("Error parsing \'%1\' : \'%2\'").arg(pFileName).arg(mImporter.GetErrorString());
+		QMessageBox::critical(this, "Import error", errorMessage);
+		LogError(errorMessage);
 	}// if(mScene != nullptr)
 }
 
+void MainWindow::ResetSceneInfos()
+{
+	ui->lblLoadTime->clear();
+	ui->leFileName->clear();
+	ui->lblMeshCount->setText("0");
+	ui->lblFaceCount->setText("0");
+	ui->lblVertexCount->setText("0");
+	ui->lblCameraCount->setText("0");
+	ui->lblLightCount->setText("0");
+	ui->lblHasAnimation->setText("no");
+}
+
 /********************************************************************/
 /************************ Logging functions *************************/
 /********************************************************************/
@@ -202,6 +217,8 @@ using namespace Assimp;
 	mLoggerView = new CLoggerView(ui->tbLog);
 	DefaultLogger::create("", Logger::VERBOSE);
 	DefaultLogger::get()->attachStream(mLoggerView, DefaultLogger::Debugging | DefaultLogger::Info | DefaultLogger::Err | DefaultLogger::Warn);
+
+	ResetSceneInfos();
 }
 
 MainWindow::~MainWindow()
@@ -223,8 +240,8 @@ using namespace Assimp;
 
 void MainWindow::Paint_Finished(const size_t pPaintTime_ms, const GLfloat pDistance)
 {
-	ui->lblRenderTime->setText(QString("%1").arg(pPaintTime_ms));
-	ui->lblDistance->setText(QString("%1").arg(pDistance));
+	ui->lblRenderTime->setText(QString::number(pPaintTime_ms));
+	ui->lblDistance->setText(QString::number(pDistance));
 }
 
 void MainWindow::SceneObject_Camera(const QString& pName)
@@ -265,9 +282,10 @@ QString filename, filter, format_id;
 Exporter exporter;
 QTime time_begin;
 aiReturn rv;
-QStringList exporterList;
+QStringList exportersList;
 QMap<QString, const aiExportFormatDesc*> exportersMap;
 
+
 	if(mScene == nullptr)
 	{
 		QMessageBox::critical(this, "Export error", "Scene is empty");
@@ -278,13 +296,13 @@ QMap<QString, const aiExportFormatDesc*> exportersMap;
 	for (int i = 0; i < exporter.GetExportFormatCount(); ++i)
 	{
 		const aiExportFormatDesc* desc = exporter.GetExportFormatDescription(i);
-		exporterList.push_back(desc->id + QString(": ") + desc->description);
+		exportersList.push_back(desc->id + QString(": ") + desc->description);
 		exportersMap.insert(desc->id, desc);
 	}
 
 	// get an exporter
 	bool dialogSelectExporterOk;
-	QString selectedExporter = QInputDialog::getItem(this, "Export format", "Select the exporter : ", exporterList, 0, false, &dialogSelectExporterOk);
+	QString selectedExporter = QInputDialog::getItem(this, "Export format", "Select the exporter : ", exportersList, 0, false, &dialogSelectExporterOk);
 	if (!dialogSelectExporterOk)
 		return;
 
@@ -301,13 +319,14 @@ QMap<QString, const aiExportFormatDesc*> exportersMap;
 	// begin export
 	time_begin = QTime::currentTime();
 	rv = exporter.Export(mScene, selectedId.toLocal8Bit(), filename.toLocal8Bit(), aiProcess_FlipUVs);
-	ui->lblExportTime->setText(QString("%1").arg(time_begin.secsTo(QTime::currentTime())));
+	ui->lblExportTime->setText(QString::number(time_begin.secsTo(QTime::currentTime())));
 	if(rv == aiReturn_SUCCESS)
 		LogInfo("Export done: " + filename);
 	else
 	{
-		LogError("Export failed: " + filename);
-		QMessageBox::critical(this, "Error", "Export failed: " + filename);
+		QString errorMessage = QString("Export failed: ") + filename;
+		LogError(errorMessage);
+		QMessageBox::critical(this, "Export error", errorMessage);
 	}
 }
 

+ 5 - 0
tools/assimp_qt_viewer/mainwindow.hpp

@@ -52,6 +52,11 @@ private:
 	/// \param [in] pFileName - path and name of the file.
 	void ImportFile(const QString& pFileName);
 
+
+	/// \fn void ResetSceneInfos()
+	/// Reset informations about the scene
+	void ResetSceneInfos();
+
 	/********************************************************************/
 	/************************ Logging functions *************************/
 	/********************************************************************/