diff --git a/.clang-tidy b/.clang-tidy index 1e58a98..b42ea9a 100644 --- a/.clang-tidy +++ b/.clang-tidy @@ -1,5 +1,7 @@ # Generated from CLion Inspection settings --- +HeaderFilterRegex: "*.h" +UseColor: true Checks: '-*, bugprone-argument-comment, bugprone-assert-side-effect, @@ -61,18 +63,15 @@ cert-msc50-cpp, cert-msc51-cpp, cert-str34-c, cppcoreguidelines-interfaces-global-init, -cppcoreguidelines-narrowing-conversions, cppcoreguidelines-pro-type-member-init, cppcoreguidelines-pro-type-static-cast-downcast, cppcoreguidelines-slicing, -google-default-arguments, google-explicit-constructor, google-runtime-operator, hicpp-exception-baseclass, hicpp-multiway-paths-covered, misc-misplaced-const, misc-new-delete-overloads, -misc-no-recursion, misc-non-copyable-objects, misc-throw-by-value-catch-by-reference, misc-unconventional-assign-operator, @@ -125,7 +124,6 @@ portability-simd-intrinsics, readability-avoid-const-params-in-decls, readability-const-return-type, readability-container-size-empty, -readability-convert-member-functions-to-static, readability-delete-null-pointer, readability-deleted-default, readability-inconsistent-declaration-parameter-name, diff --git a/README.md b/README.md index b59e43b..4d200ca 100644 --- a/README.md +++ b/README.md @@ -84,9 +84,7 @@ If you're using CLion, the `.clang-format` configuration will be picked up by CL cd qtk # Build cmake -B build && cmake --build build -cd build -# Run clang-tidy from within build directory -clang-tidy --fix --fix-errors --config-file=../.clang-tidy ../src/*.cpp ../src/*.h ../app/*.cpp ../app/*.h +clang-tidy -p build/ --fix --config-file=.clang-tidy src/*.cpp src/*.h app/*.cpp app/*.h ``` Last we need to run `clang-format`, this can be done with the command directly. diff --git a/app/mainwindow.h b/app/mainwindow.h index 8e1cd90..c389295 100644 --- a/app/mainwindow.h +++ b/app/mainwindow.h @@ -23,7 +23,7 @@ class QTK_WIDGET_EXPORT MainWindow private: Ui::MainWindow * ui {}; - std::unordered_map mScenes; + std::unordered_map mScenes {}; }; #endif // MAINWINDOW_H diff --git a/src/abstractscene.h b/src/abstractscene.h index fb5d761..8e27178 100644 --- a/src/abstractscene.h +++ b/src/abstractscene.h @@ -48,8 +48,8 @@ namespace Qtk { protected: Skybox * mSkybox {}; - std::vector mMeshes; - std::vector mModels; + std::vector mMeshes {}; + std::vector mModels {}; }; } // namespace Qtk diff --git a/src/mainwidget.h b/src/mainwidget.h index eb83a85..589b852 100644 --- a/src/mainwidget.h +++ b/src/mainwidget.h @@ -55,10 +55,10 @@ class MainWidget : public QOpenGLWidget, protected QOpenGLFunctions { // Protected Helpers protected: - void keyPressEvent(QKeyEvent * event); - void keyReleaseEvent(QKeyEvent * event); - void mousePressEvent(QMouseEvent * event); - void mouseReleaseEvent(QMouseEvent * event); + void keyPressEvent(QKeyEvent * event) override; + void keyReleaseEvent(QKeyEvent * event) override; + void mousePressEvent(QMouseEvent * event) override; + void mouseReleaseEvent(QMouseEvent * event) override; private: // Private helpers diff --git a/src/mesh.h b/src/mesh.h index cd6a9e8..a411fef 100644 --- a/src/mesh.h +++ b/src/mesh.h @@ -124,11 +124,11 @@ namespace Qtk { protected: DrawMode mDrawMode; - Vertices mVertices; - Colors mColors; - Indices mIndices; - TexCoords mTexCoords; - Normals mNormals; + Vertices mVertices {}; + Colors mColors {}; + Indices mIndices {}; + TexCoords mTexCoords {}; + Normals mNormals {}; }; struct Shape : public ShapeBase { diff --git a/src/meshrenderer.h b/src/meshrenderer.h index db5d2e2..f33a2d6 100644 --- a/src/meshrenderer.h +++ b/src/meshrenderer.h @@ -122,8 +122,8 @@ namespace Qtk { private: static MeshManager sInstances; - int mDrawType; - std::string mVertexShader, mFragmentShader; + int mDrawType {}; + std::string mVertexShader {}, mFragmentShader {}; }; } // namespace Qtk diff --git a/src/model.h b/src/model.h index d0a8258..432add0 100644 --- a/src/model.h +++ b/src/model.h @@ -37,10 +37,10 @@ namespace Qtk { }; struct QTKAPI ModelTexture { - GLuint mID; - QOpenGLTexture * mTexture; - std::string mType; - std::string mPath; + GLuint mID {}; + QOpenGLTexture * mTexture {}; + std::string mType {}; + std::string mPath {}; }; class Model; @@ -82,9 +82,9 @@ namespace Qtk { void draw(QOpenGLShaderProgram & shader); // ModelMesh Public Members - Vertices mVertices; - Indices mIndices; - Textures mTextures; + Vertices mVertices {}; + Indices mIndices {}; + Textures mTextures {}; Transform3D mTransform; }; @@ -136,9 +136,9 @@ namespace Qtk { // Model Private Members - ModelMesh::Textures mTexturesLoaded; - std::vector mMeshes; - std::string mDirectory; + ModelMesh::Textures mTexturesLoaded {}; + std::vector mMeshes {}; + std::string mDirectory {}; const char *mVertexShader, *mFragmentShader, *mName; }; } // namespace Qtk diff --git a/src/skybox.h b/src/skybox.h index d206951..edbace4 100644 --- a/src/skybox.h +++ b/src/skybox.h @@ -18,6 +18,7 @@ #include #include #include +#include namespace Qtk { class QTKAPI Skybox : protected QOpenGLFunctions { @@ -40,8 +41,8 @@ namespace Qtk { private: void init(); - Vertices mVertices; - Indices mIndices; + Vertices mVertices {}; + Indices mIndices {}; QOpenGLShaderProgram mProgram; QOpenGLVertexArrayObject mVAO; diff --git a/src/texture.cpp b/src/texture.cpp index ac05a26..72e4b06 100644 --- a/src/texture.cpp +++ b/src/texture.cpp @@ -55,8 +55,8 @@ QOpenGLTexture * OpenGLTextureFactory::initCubeMap( } QOpenGLTexture * OpenGLTextureFactory::initCubeMap( - QImage right, QImage top, QImage front, QImage left, QImage bottom, - QImage back) { + const QImage & right, const QImage & top, const QImage & front, + const QImage & left, const QImage & bottom, const QImage & back) { auto texture = new QOpenGLTexture(QOpenGLTexture::TargetCubeMap); std::vector faceTextures = {std::move(right), std::move(top), std::move(front), std::move(left), diff --git a/src/texture.h b/src/texture.h index 2758fd6..acf3464 100644 --- a/src/texture.h +++ b/src/texture.h @@ -29,8 +29,8 @@ namespace Qtk { // Cube maps static QOpenGLTexture * initCubeMap( - QImage right, QImage top, QImage front, QImage left, QImage bottom, - QImage back); + const QImage & right, const QImage & top, const QImage & front, + const QImage & left, const QImage & bottom, const QImage & back); // Overloads for cube map initialization static QOpenGLTexture * initCubeMap(const char * tile); static QOpenGLTexture * initCubeMap(