mirror of
https://github.com/Linloir/SceneEditor.git
synced 2025-12-17 15:38:11 +08:00
Add logger class for noticing
This commit is contained in:
parent
7aef374f9b
commit
647edbbc7a
@ -99,6 +99,7 @@
|
|||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
<ClCompile Include="camera.cpp" />
|
<ClCompile Include="camera.cpp" />
|
||||||
<ClCompile Include="ebo.cpp" />
|
<ClCompile Include="ebo.cpp" />
|
||||||
|
<ClCompile Include="logger.cpp" />
|
||||||
<ClCompile Include="mesh.cpp" />
|
<ClCompile Include="mesh.cpp" />
|
||||||
<ClCompile Include="model.cpp" />
|
<ClCompile Include="model.cpp" />
|
||||||
<ClCompile Include="modelselectable.cpp" />
|
<ClCompile Include="modelselectable.cpp" />
|
||||||
@ -122,6 +123,7 @@
|
|||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
<ClInclude Include="camera.h" />
|
<ClInclude Include="camera.h" />
|
||||||
|
<ClInclude Include="logger.h" />
|
||||||
<ClInclude Include="mesh.h" />
|
<ClInclude Include="mesh.h" />
|
||||||
<ClInclude Include="model.h" />
|
<ClInclude Include="model.h" />
|
||||||
<ClInclude Include="texture.h" />
|
<ClInclude Include="texture.h" />
|
||||||
|
|||||||
@ -36,6 +36,9 @@
|
|||||||
<Filter Include="Source Files\Qt Widgets">
|
<Filter Include="Source Files\Qt Widgets">
|
||||||
<UniqueIdentifier>{1d6b02e9-c670-43ed-a367-a56924bb1a90}</UniqueIdentifier>
|
<UniqueIdentifier>{1d6b02e9-c670-43ed-a367-a56924bb1a90}</UniqueIdentifier>
|
||||||
</Filter>
|
</Filter>
|
||||||
|
<Filter Include="Source Files\Utils">
|
||||||
|
<UniqueIdentifier>{602fc1ed-84a6-4d4a-ad71-5e7415d8d429}</UniqueIdentifier>
|
||||||
|
</Filter>
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
<QtRcc Include="mainwindow.qrc">
|
<QtRcc Include="mainwindow.qrc">
|
||||||
@ -94,6 +97,9 @@
|
|||||||
<ClCompile Include="modelsetter.cpp">
|
<ClCompile Include="modelsetter.cpp">
|
||||||
<Filter>Source Files\Qt Widgets</Filter>
|
<Filter>Source Files\Qt Widgets</Filter>
|
||||||
</ClCompile>
|
</ClCompile>
|
||||||
|
<ClCompile Include="logger.cpp">
|
||||||
|
<Filter>Source Files\Utils</Filter>
|
||||||
|
</ClCompile>
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
<ClInclude Include="camera.h">
|
<ClInclude Include="camera.h">
|
||||||
@ -138,6 +144,9 @@
|
|||||||
<ClInclude Include="modelselectable.h">
|
<ClInclude Include="modelselectable.h">
|
||||||
<Filter>Header Files\Qt Widgets</Filter>
|
<Filter>Header Files\Qt Widgets</Filter>
|
||||||
</ClInclude>
|
</ClInclude>
|
||||||
|
<ClInclude Include="logger.h">
|
||||||
|
<Filter>Header Files\Utils</Filter>
|
||||||
|
</ClInclude>
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
<QtMoc Include="sceneviewer.h">
|
<QtMoc Include="sceneviewer.h">
|
||||||
|
|||||||
44
FinalProject/logger.cpp
Normal file
44
FinalProject/logger.cpp
Normal file
@ -0,0 +1,44 @@
|
|||||||
|
#pragma once
|
||||||
|
|
||||||
|
#include "logger.h"
|
||||||
|
|
||||||
|
Logger::LogLevel Logger::_level = Logger::LogLevel::LOCALLOGLEVEL;
|
||||||
|
|
||||||
|
void Logger::setLogLevel(LogLevel level) {
|
||||||
|
_level = level;
|
||||||
|
}
|
||||||
|
|
||||||
|
void Logger::log(LogLevel level, std::string message) {
|
||||||
|
if (level < _level) return;
|
||||||
|
|
||||||
|
switch (level) {
|
||||||
|
case DEBUG:
|
||||||
|
std::cout << "[DEBUG] " << message << std::endl;
|
||||||
|
break;
|
||||||
|
case INFO:
|
||||||
|
std::cout << "[INFO] " << message << std::endl;
|
||||||
|
break;
|
||||||
|
case WARNING:
|
||||||
|
std::cout << "[WARNING] " << message << std::endl;
|
||||||
|
break;
|
||||||
|
case ERROR:
|
||||||
|
std::cout << "[ERROR] " << message << std::endl;
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
void Logger::debug(std::string message) {
|
||||||
|
log(DEBUG, message);
|
||||||
|
}
|
||||||
|
|
||||||
|
void Logger::info(std::string message) {
|
||||||
|
log(INFO, message);
|
||||||
|
}
|
||||||
|
|
||||||
|
void Logger::warning(std::string message) {
|
||||||
|
log(WARNING, message);
|
||||||
|
}
|
||||||
|
|
||||||
|
void Logger::error(std::string message) {
|
||||||
|
log(ERROR, message);
|
||||||
|
}
|
||||||
21
FinalProject/logger.h
Normal file
21
FinalProject/logger.h
Normal file
@ -0,0 +1,21 @@
|
|||||||
|
#pragma once
|
||||||
|
|
||||||
|
#include <iostream>
|
||||||
|
|
||||||
|
#define LOCALLOGLEVEL DEBUG
|
||||||
|
|
||||||
|
class Logger {
|
||||||
|
public:
|
||||||
|
enum LogLevel { DEBUG, INFO, WARNING, ERROR };
|
||||||
|
|
||||||
|
private:
|
||||||
|
static LogLevel _level;
|
||||||
|
|
||||||
|
public:
|
||||||
|
static void setLogLevel(LogLevel level);
|
||||||
|
static void log(LogLevel level, std::string message);
|
||||||
|
static void debug(std::string message);
|
||||||
|
static void info(std::string message);
|
||||||
|
static void warning(std::string message);
|
||||||
|
static void error(std::string message);
|
||||||
|
};
|
||||||
@ -1 +1,20 @@
|
|||||||
#pragma once
|
#pragma once
|
||||||
|
|
||||||
|
#include "model.h"
|
||||||
|
|
||||||
|
Model::Model(std::string path) {
|
||||||
|
// Load model meta info from path
|
||||||
|
// TODO: Implement as async task
|
||||||
|
loadModel(path);
|
||||||
|
}
|
||||||
|
|
||||||
|
void Model::loadModel(std::string path) {
|
||||||
|
Assimp::Importer importer;
|
||||||
|
const aiScene* scene = importer.ReadFile(
|
||||||
|
path, aiProcess_Triangulate | aiProcess_FlipUVs);
|
||||||
|
|
||||||
|
if (!scene || scene->mFlags & AI_SCENE_FLAGS_INCOMPLETE || !scene->mRootNode) {
|
||||||
|
std::cout << "ERROR::ASSIMP::" << importer.GetErrorString() << std::endl;
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|||||||
@ -13,10 +13,14 @@ class Model {
|
|||||||
private:
|
private:
|
||||||
std::vector<Mesh*> _meshes;
|
std::vector<Mesh*> _meshes;
|
||||||
std::string _directory;
|
std::string _directory;
|
||||||
|
bool _ready = false;
|
||||||
|
|
||||||
public:
|
public:
|
||||||
Model(std::string path);
|
Model(std::string path);
|
||||||
|
|
||||||
|
public:
|
||||||
|
inline bool isReady() const { return _ready; }
|
||||||
|
|
||||||
private:
|
private:
|
||||||
void loadModel(std::string path);
|
void loadModel(std::string path);
|
||||||
void processNode(aiNode* node, const aiScene* scene);
|
void processNode(aiNode* node, const aiScene* scene);
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user