Commit 07a0ffe7 authored by Tomáš Jakubec's avatar Tomáš Jakubec
Browse files

Merge branch 'refs/heads/master' into Heat_Cond_RKM

parents f4561fc6 d07b7bd1
Loading
Loading
Loading
Loading
+2026 −190

File changed.

Preview size limit exceeded, changes collapsed.

+4 −2
Original line number Original line Diff line number Diff line
TEMPLATE = app
TEMPLATE = app
CONFIG += console c++14
CONFIG += console c++17
CONFIG -= app_bundle
CONFIG -= app_bundle
CONFIG -= qt
CONFIG -= qt


@@ -17,6 +17,7 @@ HEADERS += \
    ../src/NumericStaticArray/InlineArrayOperations.h \
    ../src/NumericStaticArray/InlineArrayOperations.h \
    ../src/Traits/CustomTypeTraits.h \
    ../src/Traits/CustomTypeTraits.h \
    ../src/Traits/MemberApproach/MemberApproach.h \
    ../src/Traits/MemberApproach/MemberApproach.h \
    ../src/Traits/TraitsAlgorithm/TraitsAlgorithm.h \
    ../src/UnstructuredMesh/MeshDataContainer/MeshDataContainer.h \
    ../src/UnstructuredMesh/MeshDataContainer/MeshDataContainer.h \
    ../src/UnstructuredMesh/MeshDataContainer/MeshDataIO/VTKMeshDataReader.h \
    ../src/UnstructuredMesh/MeshDataContainer/MeshDataIO/VTKMeshDataReader.h \
    ../src/UnstructuredMesh/MeshDataContainer/MeshDataIO/VTKMeshDataWriter.h \
    ../src/UnstructuredMesh/MeshDataContainer/MeshDataIO/VTKMeshDataWriter.h \
@@ -26,12 +27,13 @@ HEADERS += \
    ../src/UnstructuredMesh/MeshElements/CellConnection.h \
    ../src/UnstructuredMesh/MeshElements/CellConnection.h \
    ../src/UnstructuredMesh/MeshElements/ComputationalySignificantElement.h \
    ../src/UnstructuredMesh/MeshElements/ComputationalySignificantElement.h \
    ../src/UnstructuredMesh/MeshElements/MeshElement.h \
    ../src/UnstructuredMesh/MeshElements/MeshElement.h \
    ../src/UnstructuredMesh/MeshElements/MeshElements.h \
    ../src/UnstructuredMesh/MeshFunctions/ComputeCenter.h \
    ../src/UnstructuredMesh/MeshFunctions/ComputeCenter.h \
    ../src/UnstructuredMesh/MeshFunctions/ComputeMeasures.h \
    ../src/UnstructuredMesh/MeshFunctions/ComputeMeasures.h \
    ../src/UnstructuredMesh/MeshFunctions/ComputeNormals.h \
    ../src/UnstructuredMesh/MeshFunctions/ComputeNormals.h \
    ../src/UnstructuredMesh/MeshFunctions/EdgesOrientation.h \
    ../src/UnstructuredMesh/MeshFunctions/EdgesOrientation.h \
    ../src/UnstructuredMesh/MeshFunctions/MeshApply.h \
    ../src/UnstructuredMesh/MeshFunctions/MeshApply.h \
    ../src/UnstructuredMesh/MeshFunctions/MeshColouring.h \
    ../src/UnstructuredMesh/MeshFunctions/MeshColoring.h \
    ../src/UnstructuredMesh/MeshFunctions/MeshConnections.h \
    ../src/UnstructuredMesh/MeshFunctions/MeshConnections.h \
    ../src/UnstructuredMesh/MeshFunctions/MeshFunctions.h \
    ../src/UnstructuredMesh/MeshFunctions/MeshFunctions.h \
    ../src/UnstructuredMesh/MeshFunctions/MeshFunctionsDefine.h \
    ../src/UnstructuredMesh/MeshFunctions/MeshFunctionsDefine.h \
+2 −2
Original line number Original line Diff line number Diff line
@@ -91,7 +91,7 @@ public:
        if (!logFile) create(logFileName.c_str());
        if (!logFile) create(logFileName.c_str());


        (*logFile)  <<  groupIndex << ';' << line << ";\"" << cppFile << "\";\"" << name << "\";";
        (*logFile)  <<  groupIndex << ';' << line << ";\"" << cppFile << "\";\"" << name << "\";";
        VariableExport::exportVariable(*logFile,value);
        VariableExport<>::exportVariable(*logFile,value);
        (*logFile) << "\n";
        (*logFile) << "\n";
        writeVar(line, cppFile, rest...);
        writeVar(line, cppFile, rest...);
    }
    }
@@ -104,7 +104,7 @@ public:
        if (!logFile) create(logFileName.c_str());
        if (!logFile) create(logFileName.c_str());


        (*logFile)  <<  groupIndex << ';' << line << ";\"" << cppFile << "\";\"" << name << "\";";
        (*logFile)  <<  groupIndex << ';' << line << ";\"" << cppFile << "\";\"" << name << "\";";
        VariableExport::exportVariable(*logFile,value);
        VariableExport<>::exportVariable(*logFile,value);
        (*logFile) << "\n";
        (*logFile) << "\n";


        groupIndex++;
        groupIndex++;
+100 −11
Original line number Original line Diff line number Diff line
@@ -3,13 +3,14 @@
#include "VariableExport.h"
#include "VariableExport.h"


#ifdef _WIN32
#ifdef _WIN32
#ifdef CONSOLE_COLOURED_OUTPUT
#ifdef CONSOLE_COLORED_OUTPUT
#include <windows.h>
#include <windows.h>
#endif
#endif
#endif
#endif
/**
/**
 * @brief The ConsoleLogger class
 * @brief The ConsoleLogger class
 */
 */
template <VARIABLE_EXPORT_METHOD method = VARIABLE_EXPORT_METHOD::ostream>
class ConsoleLogger {
class ConsoleLogger {


public:
public:
@@ -24,9 +25,25 @@ public:
    template<typename MSGTYPE>
    template<typename MSGTYPE>
    static void writeMessage(const char* prefix, int line, const char* sourceFile, const MSGTYPE& message) {
    static void writeMessage(const char* prefix, int line, const char* sourceFile, const MSGTYPE& message) {


#ifdef CONSOLE_COLORED_OUTPUT
#ifdef _WIN32
        HANDLE hConsole = GetStdHandle(STD_OUTPUT_HANDLE);
        std::cerr << prefix << " " << sourceFile << " << " << line << " >> ==> ";
        SetConsoleTextAttribute(hConsole, FOREGROUND_RED | FOREGROUND_INTENSITY);
        VariableExport<>::exportVariable(std::cerr, message);
        SetConsoleTextAttribute(hConsole, FOREGROUND_RED | FOREGROUND_GREEN | FOREGROUND_BLUE);
        std::cerr << " <==\n";
#else
        std::cerr << prefix << " " << sourceFile << " << " << line << " >> ==> \033[0;32m";
        VariableExport<>::exportVariable(std::cerr, message);
        std::cerr << "\033[0m <==\n";

#endif
#else
        std::cerr << prefix << " " << sourceFile << " << " << line << " >> ==> ";
        std::cerr << prefix << " " << sourceFile << " << " << line << " >> ==> ";
        VariableExport::exportVariable(std::cerr, message);
        VariableExport<>::exportVariable(std::cerr, message);
        std::cerr << " <==\n";
        std::cerr << " <==\n";
#endif
    }
    }


    template<typename VAR_NAME, typename VAR, typename ... REST>
    template<typename VAR_NAME, typename VAR, typename ... REST>
@@ -46,7 +63,7 @@ public:




    template<typename VAR_NAME, typename VAR, typename ... REST>
    template<typename VAR_NAME, typename VAR, typename ... REST>
    static void writeVar(int line, const char* cppFile, VAR_NAME name,const VAR& value, REST ... rest){
    static void writeVar(int line, const char* cppFile, const VAR_NAME& name,const VAR& value,const REST& ... rest){


        writeVar(line, cppFile, name, value);
        writeVar(line, cppFile, name, value);
        writeVar(line, cppFile,  rest...);
        writeVar(line, cppFile,  rest...);
@@ -57,7 +74,7 @@ public:






#ifdef CONSOLE_COLOURED_OUTPUT
#ifdef CONSOLE_COLORED_OUTPUT
#ifdef _WIN32
#ifdef _WIN32
        HANDLE hConsole = GetStdHandle(STD_OUTPUT_HANDLE);
        HANDLE hConsole = GetStdHandle(STD_OUTPUT_HANDLE);
        std::cerr << "== " << cppFile << " << " << line << " >> [[ ";
        std::cerr << "== " << cppFile << " << " << line << " >> [[ ";
@@ -66,18 +83,18 @@ public:
        SetConsoleTextAttribute(hConsole, FOREGROUND_RED | FOREGROUND_GREEN | FOREGROUND_BLUE);
        SetConsoleTextAttribute(hConsole, FOREGROUND_RED | FOREGROUND_GREEN | FOREGROUND_BLUE);
        std::cerr << " ]] ==> ";
        std::cerr << " ]] ==> ";
        SetConsoleTextAttribute(hConsole, FOREGROUND_GREEN);
        SetConsoleTextAttribute(hConsole, FOREGROUND_GREEN);
        VariableExport::exportVariable(std::cerr, value);
        VariableExport<>::exportVariable(std::cerr, value);
        SetConsoleTextAttribute(hConsole, FOREGROUND_RED | FOREGROUND_GREEN | FOREGROUND_BLUE);
        SetConsoleTextAttribute(hConsole, FOREGROUND_RED | FOREGROUND_GREEN | FOREGROUND_BLUE);
        std::cerr << "\n";
        std::cerr << "\n";
#else
#else
        std::cerr << "== " << cppFile << " << " << line << " >> [[ \033[0;33m" << name << "\033[0m ]] ==> \033[0;32m";
        std::cerr << "== " << cppFile << " << " << line << " >> [[ \033[0;33m" << name << "\033[0m ]] ==> \033[0;32m";
        VariableExport::exportVariable(std::cerr, value);
        VariableExport<>::exportVariable(std::cerr, value);
        std::cerr << "\033[0m\n";
        std::cerr << "\033[0m\n";


#endif
#endif
#else
#else
        std::cerr << "== " << cppFile << " << " << line << " >> [[ " << name << " ]] ==> ";
        std::cerr << "== " << cppFile << " << " << line << " >> [[ " << name << " ]] ==> ";
        VariableExport::exportVariable(std::cerr, value);
        VariableExport<>::exportVariable(std::cerr, value);
        std::cerr << "\n";
        std::cerr << "\n";
#endif
#endif
    }
    }
@@ -85,7 +102,7 @@ public:
    template<typename VAR>
    template<typename VAR>
    static void writeVar(int line, const char* cppFile, const char* name,const std::initializer_list<VAR>& value){
    static void writeVar(int line, const char* cppFile, const char* name,const std::initializer_list<VAR>& value){


#ifdef CONSOLE_COLOURED_OUTPUT
#ifdef CONSOLE_COLORED_OUTPUT
#ifdef _WIN32
#ifdef _WIN32
        HANDLE hConsole = GetStdHandle(STD_OUTPUT_HANDLE);
        HANDLE hConsole = GetStdHandle(STD_OUTPUT_HANDLE);
        std::cerr << "== " << cppFile << " << " << line << " >> [[ ";
        std::cerr << "== " << cppFile << " << " << line << " >> [[ ";
@@ -94,22 +111,94 @@ public:
        SetConsoleTextAttribute(hConsole, FOREGROUND_RED | FOREGROUND_GREEN | FOREGROUND_BLUE);
        SetConsoleTextAttribute(hConsole, FOREGROUND_RED | FOREGROUND_GREEN | FOREGROUND_BLUE);
        std::cerr << " ]] ==> ";
        std::cerr << " ]] ==> ";
        SetConsoleTextAttribute(hConsole, FOREGROUND_GREEN);
        SetConsoleTextAttribute(hConsole, FOREGROUND_GREEN);
        VariableExport::exportVariable(std::cerr, value);
        VariableExport<>::exportVariable(std::cerr, value);
        SetConsoleTextAttribute(hConsole, FOREGROUND_RED | FOREGROUND_GREEN | FOREGROUND_BLUE);
        SetConsoleTextAttribute(hConsole, FOREGROUND_RED | FOREGROUND_GREEN | FOREGROUND_BLUE);
        std::cerr << "\n";
        std::cerr << "\n";
#else
#else
        std::cerr << "== " << cppFile << " << " << line << " >> [[ \033[0;33m" << name << "\033[0m ]] ==> \033[0;32m";
        std::cerr << "== " << cppFile << " << " << line << " >> [[ \033[0;33m" << name << "\033[0m ]] ==> \033[0;32m";
        VariableExport::exportVariable(std::cerr, value);
        VariableExport<>::exportVariable(std::cerr, value);
        std::cerr << "\033[0m\n";
        std::cerr << "\033[0m\n";


#endif
#endif
#else
#else
        std::cerr << "== " << cppFile << " << " << line << " >> [[ " << name << " ]] ==> ";
        std::cerr << "== " << cppFile << " << " << line << " >> [[ " << name << " ]] ==> ";
        VariableExport::exportVariable(std::cerr, value);
        VariableExport<>::exportVariable(std::cerr, value);
        std::cerr << "\n";
        std::cerr << "\n";
#endif
#endif
    }
    }


};
};





template <>
class ConsoleLogger<VARIABLE_EXPORT_METHOD::stdio> {

public:

    template<typename MSGTYPE, typename... MSGTYPES>
    static void writeMessage(const char* prefix, int line, const char* sourceFile, const MSGTYPE& message, const MSGTYPES&... rest) {
        writeMessage(prefix, line, sourceFile, message);
        writeMessage(prefix, line, sourceFile, rest...);
    }


    template<typename MSGTYPE>
    static void writeMessage(const char* prefix, int line, const char* sourceFile, const MSGTYPE& message) {

        printf("%s %s << %i >> ==> %s <==\n",
               prefix,
               sourceFile,
               line,
               VariableExport<VARIABLE_EXPORT_METHOD::stdio>::exportVariable(message));


    }

    template<typename VAR_NAME, typename VAR, typename ... REST>
    static void writeVar(VAR_NAME name, VAR value, REST ... rest){

        writeVar(name, value);
        writeVar(rest...);
    }


    template<typename VAR_NAME, typename VAR>
    static void writeVar(VAR_NAME name, VAR value){

        std::cerr << "variable " << name << " has value: " << value;
    }



    template<typename VAR_NAME, typename VAR, typename ... REST>
    static void writeVar(int line, const char* cppFile, const VAR_NAME& name,const VAR& value,const REST& ... rest){

        writeVar(line, cppFile, name, value);
        writeVar(line, cppFile,  rest...);
    }

    template<typename VAR>
    static void writeVar(int line, const char* cppFile, const char* name,const VAR& value){

        printf("== %s << %i >> [[ %s ]] ==> %s\n",
               cppFile,
               line,
               name,
               VariableExport<VARIABLE_EXPORT_METHOD::stdio>::exportVariable(value));

    }

    template<typename VAR>
    static void writeVar(int line, const char* cppFile, const char* name,const std::initializer_list<VAR>& value){

        printf("== %s << %i >> [[ %s ]] ==> %s\n",
               cppFile,
               line,
               name,
               VariableExport<VARIABLE_EXPORT_METHOD::stdio>::exportVariable(value));
    }

};
#endif // CONSOLELOGGER_H
#endif // CONSOLELOGGER_H
+4 −8
Original line number Original line Diff line number Diff line
#ifndef DEBUG_H
#ifndef DEBUG_H
#define DEBUG_H
#define DEBUG_H






#ifndef UNDEBUG
#ifndef UNDEBUG
#include "../Macros/MacroForEach.h"
#include "../Macros/MacroForEach.h"
#include <iostream>
#include <iostream>
@@ -29,15 +25,15 @@ namespace dbg {
#define STRVAR(var) #var, var
#define STRVAR(var) #var, var




#define DBGVAR(...) ConsoleLogger::writeVar(__LINE__, __FILE__, FOR_EACH(STRVAR, __VA_ARGS__))
#define DBGVAR(...) ConsoleLogger<>::writeVar(__LINE__, __FILE__, FOR_EACH(STRVAR, __VA_ARGS__))
#define DBGVARCOND(condition, ...) if(condition) DBGVAR(__VA_ARGS__)
#define DBGVARCOND(condition, ...) if(condition) DBGVAR(__VA_ARGS__)


#define DBGMSG(...) ConsoleLogger::writeMessage("++", __LINE__, __FILE__, __VA_ARGS__)
#define DBGMSG(...) ConsoleLogger<>::writeMessage("++", __LINE__, __FILE__, __VA_ARGS__)


#define DBGTRY(code)                        \
#define DBGTRY(code)                        \
try{code;}                                   \
try{code;}                                   \
catch(const std::exception& e){              \
catch(const std::exception& e){              \
ConsoleLogger::writeMessage("!!", __LINE__, __FILE__, std::string("something went wrong in try block: ") + e.what());   \
ConsoleLogger<>::writeMessage("!!", __LINE__, __FILE__, std::string("something went wrong in try block: ") + e.what());   \
abort();}
abort();}


// Macros using html debug output
// Macros using html debug output
@@ -49,7 +45,7 @@ abort();}
#define DBGVARCOND_CSV(condition, ...) if(condition) DBGVAR_HTML(__VA_ARGS__)
#define DBGVARCOND_CSV(condition, ...) if(condition) DBGVAR_HTML(__VA_ARGS__)




#define DBGCHECK ConsoleLogger::writeMessage("--", __LINE__, __FILE__, "check line")
#define DBGCHECK ConsoleLogger<>::writeMessage("--", __LINE__, __FILE__, "check line")




#else
#else
Loading