17 Commits

45 changed files with 1749 additions and 967 deletions
+4
View File
@@ -10,6 +10,10 @@ compile_commands.json
CTestTestfile.cmake
_deps
CMakeUserPresets.json
.cmake
obj
CPackConfig.cmake
CPackSourceConfig.cmake
# CLion
# JetBrains specific template is maintained in a separate JetBrains.gitignore that can
+33 -4
View File
@@ -19,13 +19,42 @@ FetchContent_Declare(
)
FetchContent_MakeAvailable(glm)
# Aggiunta ImGUI
FetchContent_Declare(ImGui
GIT_REPOSITORY https://github.com/ocornut/imgui
GIT_TAG v1.91.9b
GIT_SHALLOW ON
EXCLUDE_FROM_ALL
SYSTEM)
FetchContent_MakeAvailable(ImGui)
FetchContent_GetProperties(ImGui SOURCE_DIR IMGUI_DIR)
set(IMGUI_SFML_FIND_SFML OFF)
FetchContent_Declare(ImGui-SFML
GIT_REPOSITORY https://github.com/SFML/imgui-sfml
GIT_TAG v3.0
GIT_SHALLOW ON
EXCLUDE_FROM_ALL
SYSTEM)
FetchContent_MakeAvailable(ImGui-SFML)
add_library(common INTERFACE)
target_compile_features(common INTERFACE cxx_std_17)
target_compile_options(common INTERFACE
$<$<OR:$<CXX_COMPILER_ID:Clang>,$<CXX_COMPILER_ID:AppleClang>,$<CXX_COMPILER_ID:GNU>>: -Wall>
$<$<CXX_COMPILER_ID:MSVC>: /W4>
)
# Fine aggiunta
set(METHODS_PATH "./src/*/methods/*.cpp")
set(VERSION "V3")
set(VERSION "V5")
file(GLOB_RECURSE METHODS_SRC "${METHODS_PATH}")
add_executable(main${VERSION} ./src/testMain.cpp ${METHODS_SRC} )
target_compile_features(main${VERSION} PRIVATE cxx_std_17)
target_link_libraries(main${VERSION} PRIVATE SFML::Graphics glm)
target_link_libraries(main${VERSION} PRIVATE SFML::Graphics ImGui-SFML::ImGui-SFML common glm)
+10 -1
View File
@@ -27,6 +27,15 @@ Per spostare l'intera scena si tiene premuto il tasto centrale del mouse.
- Aggiunta pezzo torso
- Nel testMain vengono agganciate caviglia e coscia al nuovo torso
## Nella versione v0.4
- Aggiunta vista frontale (con spazio si può camnbiare vista)
- Modifica calcolo pivot per gestire spazio 3D
- Aggiustati assi di riferimento (ora sono coerenti su tutte le classi)
## Nella versione v0.5
- Aggiunta ImGUI
- Aggiunta selettore sulla posizione dei dati
- Refactoring classe sensore e state per gestire posizione dati da gui
# Per compliare:
@@ -34,4 +43,4 @@ Per spostare l'intera scena si tiene premuto il tasto centrale del mouse.
# Per lanciare:
./build/bin/mainV3
./build/bin/mainV5
@@ -1107,7 +1107,7 @@
}
],
"type" : "INTERNAL",
"value" : "10"
"value" : "11"
},
{
"name" : "CMAKE_OBJCOPY",
@@ -1665,6 +1665,30 @@
"type" : "PATH",
"value" : ""
},
{
"name" : "FETCHCONTENT_SOURCE_DIR_IMGUI",
"properties" :
[
{
"name" : "HELPSTRING",
"value" : "When not empty, overrides where to find pre-populated content for ImGui"
}
],
"type" : "PATH",
"value" : ""
},
{
"name" : "FETCHCONTENT_SOURCE_DIR_IMGUI-SFML",
"properties" :
[
{
"name" : "HELPSTRING",
"value" : "When not empty, overrides where to find pre-populated content for ImGui-SFML"
}
],
"type" : "PATH",
"value" : ""
},
{
"name" : "FETCHCONTENT_SOURCE_DIR_SFML",
"properties" :
@@ -1701,6 +1725,30 @@
"type" : "BOOL",
"value" : "OFF"
},
{
"name" : "FETCHCONTENT_UPDATES_DISCONNECTED_IMGUI",
"properties" :
[
{
"name" : "HELPSTRING",
"value" : "Enables UPDATE_DISCONNECTED behavior just for population of ImGui"
}
],
"type" : "BOOL",
"value" : "OFF"
},
{
"name" : "FETCHCONTENT_UPDATES_DISCONNECTED_IMGUI-SFML",
"properties" :
[
{
"name" : "HELPSTRING",
"value" : "Enables UPDATE_DISCONNECTED behavior just for population of ImGui-SFML"
}
],
"type" : "BOOL",
"value" : "OFF"
},
{
"name" : "FETCHCONTENT_UPDATES_DISCONNECTED_SFML",
"properties" :
@@ -1747,7 +1795,7 @@
}
],
"type" : "INTERNAL",
"value" : "[/usr/lib/x86_64-linux-gnu/libOpenGL.so][/usr/lib/x86_64-linux-gnu/libGLX.so][/usr/include][found components: OpenGL ][v()]"
"value" : "[/usr/lib/x86_64-linux-gnu/libOpenGL.so][/usr/lib/x86_64-linux-gnu/libGLX.so][/usr/include][ ][v()]"
},
{
"name" : "FIND_PACKAGE_MESSAGE_DETAILS_Threads",
@@ -2121,6 +2169,90 @@
"type" : "BOOL",
"value" : "OFF"
},
{
"name" : "IMGUI_INCLUDE_DIR",
"properties" :
[
{
"name" : "HELPSTRING",
"value" : "Path to a file."
}
],
"type" : "PATH",
"value" : "/home/endertom/Documenti/ProgettoFinaleRep/FCG_VisualizzatoreCamminata/build/_deps/imgui-src"
},
{
"name" : "IMGUI_SFML_CONFIG_DIR",
"properties" :
[
{
"name" : "HELPSTRING",
"value" : "Path to a directory containing user ImGui config"
}
],
"type" : "PATH",
"value" : "/home/endertom/Documenti/ProgettoFinaleRep/FCG_VisualizzatoreCamminata/build/_deps/imgui-sfml-src"
},
{
"name" : "IMGUI_SFML_CONFIG_INSTALL_DIR",
"properties" :
[
{
"name" : "HELPSTRING",
"value" : "Path where user's config header will be installed"
}
],
"type" : "PATH",
"value" : ""
},
{
"name" : "IMGUI_SFML_CONFIG_NAME",
"properties" :
[
{
"name" : "HELPSTRING",
"value" : "Name of a custom user ImGui config header"
}
],
"type" : "STRING",
"value" : "imconfig-SFML.h"
},
{
"name" : "IMGUI_SFML_DISABLE_OBSOLETE_FUNCTIONS",
"properties" :
[
{
"name" : "HELPSTRING",
"value" : "Disable obsolete ImGui functions"
}
],
"type" : "BOOL",
"value" : "OFF"
},
{
"name" : "IMGUI_SFML_ENABLE_WARNINGS",
"properties" :
[
{
"name" : "HELPSTRING",
"value" : "Enable compiler warnings"
}
],
"type" : "BOOL",
"value" : "OFF"
},
{
"name" : "IMGUI_SFML_USE_DEFAULT_CONFIG",
"properties" :
[
{
"name" : "HELPSTRING",
"value" : "Use default imconfig-SFML.h"
}
],
"type" : "BOOL",
"value" : "ON"
},
{
"name" : "OGG_INCLUDE_DIR",
"properties" :
@@ -4924,6 +5056,42 @@
],
"type" : "STATIC",
"value" : "/home/endertom/Documenti/ProgettoFinaleRep/FCG_VisualizzatoreCamminata/build/_deps/glm-src"
},
{
"name" : "imgui_sfml_BINARY_DIR",
"properties" :
[
{
"name" : "HELPSTRING",
"value" : "Value Computed by CMake"
}
],
"type" : "STATIC",
"value" : "/home/endertom/Documenti/ProgettoFinaleRep/FCG_VisualizzatoreCamminata/build/_deps/imgui-sfml-build"
},
{
"name" : "imgui_sfml_IS_TOP_LEVEL",
"properties" :
[
{
"name" : "HELPSTRING",
"value" : "Value Computed by CMake"
}
],
"type" : "STATIC",
"value" : "OFF"
},
{
"name" : "imgui_sfml_SOURCE_DIR",
"properties" :
[
{
"name" : "HELPSTRING",
"value" : "Value Computed by CMake"
}
],
"type" : "STATIC",
"value" : "/home/endertom/Documenti/ProgettoFinaleRep/FCG_VisualizzatoreCamminata/build/_deps/imgui-sfml-src"
}
],
"kind" : "cache",
@@ -1,584 +0,0 @@
{
"inputs" :
[
{
"path" : "CMakeLists.txt"
},
{
"isGenerated" : true,
"path" : "build/CMakeFiles/4.2.3/CMakeSystem.cmake"
},
{
"isCMake" : true,
"isExternal" : true,
"path" : "/usr/share/cmake-4.2/Modules/CMakeSystemSpecificInitialize.cmake"
},
{
"isCMake" : true,
"isExternal" : true,
"path" : "/usr/share/cmake-4.2/Modules/Platform/Linux-Initialize.cmake"
},
{
"isGenerated" : true,
"path" : "build/CMakeFiles/4.2.3/CMakeCXXCompiler.cmake"
},
{
"isCMake" : true,
"isExternal" : true,
"path" : "/usr/share/cmake-4.2/Modules/CMakeSystemSpecificInformation.cmake"
},
{
"isCMake" : true,
"isExternal" : true,
"path" : "/usr/share/cmake-4.2/Modules/CMakeGenericSystem.cmake"
},
{
"isCMake" : true,
"isExternal" : true,
"path" : "/usr/share/cmake-4.2/Modules/CMakeInitializeConfigs.cmake"
},
{
"isCMake" : true,
"isExternal" : true,
"path" : "/usr/share/cmake-4.2/Modules/Platform/Linux.cmake"
},
{
"isCMake" : true,
"isExternal" : true,
"path" : "/usr/share/cmake-4.2/Modules/Platform/UnixPaths.cmake"
},
{
"isCMake" : true,
"isExternal" : true,
"path" : "/usr/share/cmake-4.2/Modules/CMakeCXXInformation.cmake"
},
{
"isCMake" : true,
"isExternal" : true,
"path" : "/usr/share/cmake-4.2/Modules/CMakeLanguageInformation.cmake"
},
{
"isCMake" : true,
"isExternal" : true,
"path" : "/usr/share/cmake-4.2/Modules/Compiler/GNU-CXX.cmake"
},
{
"isCMake" : true,
"isExternal" : true,
"path" : "/usr/share/cmake-4.2/Modules/Compiler/GNU.cmake"
},
{
"isCMake" : true,
"isExternal" : true,
"path" : "/usr/share/cmake-4.2/Modules/Compiler/CMakeCommonCompilerMacros.cmake"
},
{
"isCMake" : true,
"isExternal" : true,
"path" : "/usr/share/cmake-4.2/Modules/Platform/Linux-GNU-CXX.cmake"
},
{
"isCMake" : true,
"isExternal" : true,
"path" : "/usr/share/cmake-4.2/Modules/Platform/Linux-GNU.cmake"
},
{
"isCMake" : true,
"isExternal" : true,
"path" : "/usr/share/cmake-4.2/Modules/CMakeCommonLanguageInclude.cmake"
},
{
"isCMake" : true,
"isExternal" : true,
"path" : "/usr/share/cmake-4.2/Modules/Internal/CMakeCXXLinkerInformation.cmake"
},
{
"isCMake" : true,
"isExternal" : true,
"path" : "/usr/share/cmake-4.2/Modules/Internal/CMakeCommonLinkerInformation.cmake"
},
{
"isCMake" : true,
"isExternal" : true,
"path" : "/usr/share/cmake-4.2/Modules/Platform/Linker/Linux-CXX.cmake"
},
{
"isCMake" : true,
"isExternal" : true,
"path" : "/usr/share/cmake-4.2/Modules/Platform/Linker/Linux-GNU-CXX.cmake"
},
{
"isCMake" : true,
"isExternal" : true,
"path" : "/usr/share/cmake-4.2/Modules/Platform/Linker/Linux-GNU.cmake"
},
{
"isCMake" : true,
"isExternal" : true,
"path" : "/usr/share/cmake-4.2/Modules/Platform/Linker/GNU.cmake"
},
{
"isCMake" : true,
"isExternal" : true,
"path" : "/usr/share/cmake-4.2/Modules/FetchContent.cmake"
},
{
"isCMake" : true,
"isExternal" : true,
"path" : "/usr/share/cmake-4.2/Modules/ExternalProject/shared_internal_commands.cmake"
},
{
"isCMake" : true,
"isExternal" : true,
"path" : "/usr/share/cmake-4.2/Modules/FindGit.cmake"
},
{
"isCMake" : true,
"isExternal" : true,
"path" : "/usr/share/cmake-4.2/Modules/FindPackageHandleStandardArgs.cmake"
},
{
"isCMake" : true,
"isExternal" : true,
"path" : "/usr/share/cmake-4.2/Modules/FindPackageMessage.cmake"
},
{
"isCMake" : true,
"isExternal" : true,
"path" : "/usr/share/cmake-4.2/Modules/FetchContent/CMakeLists.cmake.in"
},
{
"isCMake" : true,
"isExternal" : true,
"path" : "/usr/share/cmake-4.2/Modules/FindGit.cmake"
},
{
"isCMake" : true,
"isExternal" : true,
"path" : "/usr/share/cmake-4.2/Modules/FindPackageHandleStandardArgs.cmake"
},
{
"isCMake" : true,
"isExternal" : true,
"path" : "/usr/share/cmake-4.2/Modules/FindPackageMessage.cmake"
},
{
"isCMake" : true,
"isExternal" : true,
"path" : "/usr/share/cmake-4.2/Modules/FetchContent/CMakeLists.cmake.in"
},
{
"isGenerated" : true,
"path" : "build/_deps/sfml-src/CMakeLists.txt"
},
{
"isGenerated" : true,
"path" : "build/CMakeFiles/4.2.3/CMakeCCompiler.cmake"
},
{
"isCMake" : true,
"isExternal" : true,
"path" : "/usr/share/cmake-4.2/Modules/CMakeCInformation.cmake"
},
{
"isCMake" : true,
"isExternal" : true,
"path" : "/usr/share/cmake-4.2/Modules/CMakeLanguageInformation.cmake"
},
{
"isCMake" : true,
"isExternal" : true,
"path" : "/usr/share/cmake-4.2/Modules/Compiler/GNU-C.cmake"
},
{
"isCMake" : true,
"isExternal" : true,
"path" : "/usr/share/cmake-4.2/Modules/Compiler/GNU.cmake"
},
{
"isCMake" : true,
"isExternal" : true,
"path" : "/usr/share/cmake-4.2/Modules/Platform/Linux-GNU-C.cmake"
},
{
"isCMake" : true,
"isExternal" : true,
"path" : "/usr/share/cmake-4.2/Modules/Platform/Linux-GNU.cmake"
},
{
"isCMake" : true,
"isExternal" : true,
"path" : "/usr/share/cmake-4.2/Modules/CMakeCommonLanguageInclude.cmake"
},
{
"isCMake" : true,
"isExternal" : true,
"path" : "/usr/share/cmake-4.2/Modules/Internal/CMakeCLinkerInformation.cmake"
},
{
"isCMake" : true,
"isExternal" : true,
"path" : "/usr/share/cmake-4.2/Modules/Internal/CMakeCommonLinkerInformation.cmake"
},
{
"isCMake" : true,
"isExternal" : true,
"path" : "/usr/share/cmake-4.2/Modules/Platform/Linker/Linux-C.cmake"
},
{
"isCMake" : true,
"isExternal" : true,
"path" : "/usr/share/cmake-4.2/Modules/Platform/Linker/Linux-GNU-C.cmake"
},
{
"isCMake" : true,
"isExternal" : true,
"path" : "/usr/share/cmake-4.2/Modules/Platform/Linker/Linux-GNU.cmake"
},
{
"isGenerated" : true,
"path" : "build/_deps/sfml-src/cmake/Config.cmake"
},
{
"isCMake" : true,
"isExternal" : true,
"path" : "/usr/share/cmake-4.2/Modules/GNUInstallDirs.cmake"
},
{
"isGenerated" : true,
"path" : "build/_deps/sfml-src/tools/pkg-config/sfml-all.pc.in"
},
{
"isGenerated" : true,
"path" : "build/_deps/sfml-src/tools/pkg-config/sfml-system.pc.in"
},
{
"isGenerated" : true,
"path" : "build/_deps/sfml-src/tools/pkg-config/sfml-window.pc.in"
},
{
"isGenerated" : true,
"path" : "build/_deps/sfml-src/tools/pkg-config/sfml-graphics.pc.in"
},
{
"isGenerated" : true,
"path" : "build/_deps/sfml-src/tools/pkg-config/sfml-audio.pc.in"
},
{
"isGenerated" : true,
"path" : "build/_deps/sfml-src/tools/pkg-config/sfml-network.pc.in"
},
{
"isCMake" : true,
"isExternal" : true,
"path" : "/usr/share/cmake-4.2/Modules/CMakePackageConfigHelpers.cmake"
},
{
"isCMake" : true,
"isExternal" : true,
"path" : "/usr/share/cmake-4.2/Modules/WriteBasicConfigVersionFile.cmake"
},
{
"isCMake" : true,
"isExternal" : true,
"path" : "/usr/share/cmake-4.2/Modules/BasicConfigVersion-SameMajorVersion.cmake.in"
},
{
"isGenerated" : true,
"path" : "build/_deps/sfml-src/cmake/SFMLConfig.cmake.in"
},
{
"isGenerated" : true,
"path" : "build/_deps/sfml-src/src/SFML/CMakeLists.txt"
},
{
"isGenerated" : true,
"path" : "build/_deps/sfml-src/cmake/Macros.cmake"
},
{
"isCMake" : true,
"isExternal" : true,
"path" : "/usr/share/cmake-4.2/Modules/CMakeParseArguments.cmake"
},
{
"isGenerated" : true,
"path" : "build/_deps/sfml-src/cmake/CompilerWarnings.cmake"
},
{
"isCMake" : true,
"isExternal" : true,
"path" : "/usr/share/cmake-4.2/Modules/CheckCXXSourceCompiles.cmake"
},
{
"isGenerated" : true,
"path" : "build/_deps/sfml-src/src/SFML/System/CMakeLists.txt"
},
{
"isCMake" : true,
"isExternal" : true,
"path" : "/usr/share/cmake-4.2/Modules/FindThreads.cmake"
},
{
"isCMake" : true,
"isExternal" : true,
"path" : "/usr/share/cmake-4.2/Modules/CheckLibraryExists.cmake"
},
{
"isCMake" : true,
"isExternal" : true,
"path" : "/usr/share/cmake-4.2/Modules/CheckIncludeFile.cmake"
},
{
"isCMake" : true,
"isExternal" : true,
"path" : "/usr/share/cmake-4.2/Modules/CheckCSourceCompiles.cmake"
},
{
"isCMake" : true,
"isExternal" : true,
"path" : "/usr/share/cmake-4.2/Modules/Internal/CheckSourceCompiles.cmake"
},
{
"isCMake" : true,
"isExternal" : true,
"path" : "/usr/share/cmake-4.2/Modules/FindPackageHandleStandardArgs.cmake"
},
{
"isCMake" : true,
"isExternal" : true,
"path" : "/usr/share/cmake-4.2/Modules/FindPackageMessage.cmake"
},
{
"isCMake" : true,
"isExternal" : true,
"path" : "/usr/share/cmake-4.2/Modules/CMakePackageConfigHelpers.cmake"
},
{
"isCMake" : true,
"isExternal" : true,
"path" : "/usr/share/cmake-4.2/Modules/WriteBasicConfigVersionFile.cmake"
},
{
"isGenerated" : true,
"path" : "build/_deps/sfml-src/src/SFML/System/Dependencies.cmake.in"
},
{
"isGenerated" : true,
"path" : "build/_deps/sfml-src/src/SFML/Window/CMakeLists.txt"
},
{
"isCMake" : true,
"isExternal" : true,
"path" : "/usr/share/cmake-4.2/Modules/CMakePackageConfigHelpers.cmake"
},
{
"isCMake" : true,
"isExternal" : true,
"path" : "/usr/share/cmake-4.2/Modules/WriteBasicConfigVersionFile.cmake"
},
{
"isGenerated" : true,
"path" : "build/_deps/sfml-src/src/SFML/Window/Dependencies.cmake.in"
},
{
"isCMake" : true,
"isExternal" : true,
"path" : "/usr/share/cmake-4.2/Modules/FindX11.cmake"
},
{
"isCMake" : true,
"isExternal" : true,
"path" : "/usr/share/cmake-4.2/Modules/FindPackageHandleStandardArgs.cmake"
},
{
"isCMake" : true,
"isExternal" : true,
"path" : "/usr/share/cmake-4.2/Modules/FindPackageMessage.cmake"
},
{
"isCMake" : true,
"isExternal" : true,
"path" : "/usr/share/cmake-4.2/Modules/CheckFunctionExists.cmake"
},
{
"isCMake" : true,
"isExternal" : true,
"path" : "/usr/share/cmake-4.2/Modules/CheckLibraryExists.cmake"
},
{
"isCMake" : true,
"isExternal" : true,
"path" : "/usr/share/cmake-4.2/Modules/FindOpenGL.cmake"
},
{
"isCMake" : true,
"isExternal" : true,
"path" : "/usr/share/cmake-4.2/Modules/FindPackageHandleStandardArgs.cmake"
},
{
"isCMake" : true,
"isExternal" : true,
"path" : "/usr/share/cmake-4.2/Modules/FindPackageMessage.cmake"
},
{
"isGenerated" : true,
"path" : "build/_deps/sfml-src/cmake/Modules/FindUDev.cmake"
},
{
"isCMake" : true,
"isExternal" : true,
"path" : "/usr/share/cmake-4.2/Modules/FindPackageHandleStandardArgs.cmake"
},
{
"isCMake" : true,
"isExternal" : true,
"path" : "/usr/share/cmake-4.2/Modules/FindPackageMessage.cmake"
},
{
"isCMake" : true,
"isExternal" : true,
"path" : "/usr/share/cmake-4.2/Modules/CheckCXXSourceCompiles.cmake"
},
{
"isCMake" : true,
"isExternal" : true,
"path" : "/usr/share/cmake-4.2/Modules/Internal/CheckSourceCompiles.cmake"
},
{
"isGenerated" : true,
"path" : "build/_deps/sfml-src/src/SFML/Network/CMakeLists.txt"
},
{
"isGenerated" : true,
"path" : "build/_deps/sfml-src/src/SFML/Graphics/CMakeLists.txt"
},
{
"isCMake" : true,
"isExternal" : true,
"path" : "/usr/share/cmake-4.2/Modules/CMakePackageConfigHelpers.cmake"
},
{
"isCMake" : true,
"isExternal" : true,
"path" : "/usr/share/cmake-4.2/Modules/WriteBasicConfigVersionFile.cmake"
},
{
"isGenerated" : true,
"path" : "build/_deps/sfml-src/src/SFML/Graphics/Dependencies.cmake.in"
},
{
"isGenerated" : true,
"path" : "build/_deps/sfml-src/cmake/Modules/FindFreetype.cmake"
},
{
"isCMake" : true,
"isExternal" : true,
"path" : "/usr/share/cmake-4.2/Modules/FindPackageHandleStandardArgs.cmake"
},
{
"isCMake" : true,
"isExternal" : true,
"path" : "/usr/share/cmake-4.2/Modules/FindPackageMessage.cmake"
},
{
"isGenerated" : true,
"path" : "build/_deps/sfml-src/src/SFML/Audio/CMakeLists.txt"
},
{
"isGenerated" : true,
"path" : "build/_deps/sfml-src/cmake/Modules/FindVorbis.cmake"
},
{
"isCMake" : true,
"isExternal" : true,
"path" : "/usr/share/cmake-4.2/Modules/FindPackageHandleStandardArgs.cmake"
},
{
"isCMake" : true,
"isExternal" : true,
"path" : "/usr/share/cmake-4.2/Modules/FindPackageMessage.cmake"
},
{
"isGenerated" : true,
"path" : "build/_deps/sfml-src/cmake/Modules/FindFLAC.cmake"
},
{
"isCMake" : true,
"isExternal" : true,
"path" : "/usr/share/cmake-4.2/Modules/FindPackageHandleStandardArgs.cmake"
},
{
"isCMake" : true,
"isExternal" : true,
"path" : "/usr/share/cmake-4.2/Modules/FindPackageMessage.cmake"
},
{
"isCMake" : true,
"isExternal" : true,
"path" : "/usr/share/cmake-4.2/Modules/FindThreads.cmake"
},
{
"isCMake" : true,
"isExternal" : true,
"path" : "/usr/share/cmake-4.2/Modules/CheckLibraryExists.cmake"
},
{
"isCMake" : true,
"isExternal" : true,
"path" : "/usr/share/cmake-4.2/Modules/CheckIncludeFile.cmake"
},
{
"isCMake" : true,
"isExternal" : true,
"path" : "/usr/share/cmake-4.2/Modules/CheckCSourceCompiles.cmake"
},
{
"isCMake" : true,
"isExternal" : true,
"path" : "/usr/share/cmake-4.2/Modules/FindPackageHandleStandardArgs.cmake"
},
{
"isCMake" : true,
"isExternal" : true,
"path" : "/usr/share/cmake-4.2/Modules/FindPackageMessage.cmake"
},
{
"isCMake" : true,
"isExternal" : true,
"path" : "/usr/share/cmake-4.2/Modules/CMakePackageConfigHelpers.cmake"
},
{
"isCMake" : true,
"isExternal" : true,
"path" : "/usr/share/cmake-4.2/Modules/WriteBasicConfigVersionFile.cmake"
},
{
"isGenerated" : true,
"path" : "build/_deps/sfml-src/src/SFML/Audio/Dependencies.cmake.in"
},
{
"isGenerated" : true,
"path" : "build/_deps/glm-src/CMakeLists.txt"
},
{
"isCMake" : true,
"isExternal" : true,
"path" : "/usr/share/cmake-4.2/Modules/GNUInstallDirs.cmake"
},
{
"isGenerated" : true,
"path" : "build/_deps/glm-src/glm/CMakeLists.txt"
}
],
"kind" : "cmakeFiles",
"paths" :
{
"build" : "/home/endertom/Documenti/ProgettoFinaleRep/FCG_VisualizzatoreCamminata/build",
"source" : "/home/endertom/Documenti/ProgettoFinaleRep/FCG_VisualizzatoreCamminata"
},
"version" :
{
"major" : 1,
"minor" : 1
}
}
@@ -32,6 +32,20 @@
"name" : "OpenGL::EGL",
"projectIndex" : 1
},
{
"directoryIndex" : 10,
"id" : "OpenGL::EGL::@0d4f94df99120bc7405e",
"jsonFile" : "target-OpenGL__EGL-Debug-1eafe621f35368334c4c.json",
"name" : "OpenGL::EGL",
"projectIndex" : 3
},
{
"directoryIndex" : 10,
"id" : "OpenGL::GL::@0d4f94df99120bc7405e",
"jsonFile" : "target-OpenGL__GL-Debug-96c8225cd79f6d1ae87e.json",
"name" : "OpenGL::GL",
"projectIndex" : 3
},
{
"directoryIndex" : 4,
"id" : "OpenGL::GL::@5730451e331e3690ae65",
@@ -46,6 +60,20 @@
"name" : "OpenGL::GLES2",
"projectIndex" : 1
},
{
"directoryIndex" : 10,
"id" : "OpenGL::GLES2::@0d4f94df99120bc7405e",
"jsonFile" : "target-OpenGL__GLES2-Debug-a7b9a9a6ec04d46547f0.json",
"name" : "OpenGL::GLES2",
"projectIndex" : 3
},
{
"directoryIndex" : 10,
"id" : "OpenGL::GLES3::@0d4f94df99120bc7405e",
"jsonFile" : "target-OpenGL__GLES3-Debug-7b20d6a73c8cf3713b5a.json",
"name" : "OpenGL::GLES3",
"projectIndex" : 3
},
{
"directoryIndex" : 4,
"id" : "OpenGL::GLES3::@5730451e331e3690ae65",
@@ -60,6 +88,13 @@
"name" : "OpenGL::GLX",
"projectIndex" : 1
},
{
"directoryIndex" : 10,
"id" : "OpenGL::GLX::@0d4f94df99120bc7405e",
"jsonFile" : "target-OpenGL__GLX-Debug-aa5caeb0914c0bfa4a56.json",
"name" : "OpenGL::GLX",
"projectIndex" : 3
},
{
"directoryIndex" : 4,
"id" : "OpenGL::OpenGL::@5730451e331e3690ae65",
@@ -67,6 +102,13 @@
"name" : "OpenGL::OpenGL",
"projectIndex" : 1
},
{
"directoryIndex" : 10,
"id" : "OpenGL::OpenGL::@0d4f94df99120bc7405e",
"jsonFile" : "target-OpenGL__OpenGL-Debug-5223362217b07b6824ea.json",
"name" : "OpenGL::OpenGL",
"projectIndex" : 3
},
{
"directoryIndex" : 3,
"id" : "Threads::Threads::@8cb1db2982443611e568",
@@ -228,6 +270,13 @@
"name" : "X11::xkbcommon",
"projectIndex" : 1
},
{
"directoryIndex" : 0,
"id" : "common::@6890427a1f51a3e7e1df",
"jsonFile" : "target-common-Debug-218bd0b585628ab5e130.json",
"name" : "common",
"projectIndex" : 0
},
{
"directoryIndex" : 6,
"id" : "freetype::@98af38147d5fa7e70f61",
@@ -248,13 +297,15 @@
{
"abstractTargetIndexes" :
[
1
1,
38
],
"build" : ".",
"childIndexes" :
[
1,
8
8,
10
],
"hasInstallRule" : true,
"jsonFile" : "directory-.-Debug-9ad1a58d4644cf6543fa.json",
@@ -266,7 +317,7 @@
"source" : ".",
"targetIndexes" :
[
1
2
]
},
{
@@ -276,7 +327,7 @@
2
],
"hasInstallRule" : true,
"jsonFile" : "directory-_deps.sfml-build-Debug-9e99fff3adb968d44f8e.json",
"jsonFile" : "directory-_deps.sfml-build-Debug-f18c22a3e3ebfe4df823.json",
"minimumCMakeVersion" :
{
"string" : "3.22"
@@ -308,11 +359,11 @@
{
"abstractTargetIndexes" :
[
9
15
],
"build" : "_deps/sfml-build/src/SFML/System",
"hasInstallRule" : true,
"jsonFile" : "directory-_deps.sfml-build.src.SFML.System-Debug-8ed26fbff62444cac103.json",
"jsonFile" : "directory-_deps.sfml-build.src.SFML.System-Debug-61abf4a8919415ad2100.json",
"minimumCMakeVersion" :
{
"string" : "3.22"
@@ -322,25 +373,19 @@
"source" : "build/_deps/sfml-src/src/SFML/System",
"targetIndexes" :
[
5
6
]
},
{
"abstractTargetIndexes" :
[
3,
4,
5,
6,
7,
8,
10,
11,
15,
16,
13,
17,
18,
19,
20,
21,
22,
23,
@@ -351,11 +396,17 @@
28,
29,
30,
31
31,
32,
33,
34,
35,
36,
37
],
"build" : "_deps/sfml-build/src/SFML/Window",
"hasInstallRule" : true,
"jsonFile" : "directory-_deps.sfml-build.src.SFML.Window-Debug-bc441d344f43ebac1e95.json",
"jsonFile" : "directory-_deps.sfml-build.src.SFML.Window-Debug-82b71fd7ecf90bbcba4a.json",
"minimumCMakeVersion" :
{
"string" : "3.22"
@@ -365,13 +416,13 @@
"source" : "build/_deps/sfml-src/src/SFML/Window",
"targetIndexes" :
[
6
7
]
},
{
"build" : "_deps/sfml-build/src/SFML/Network",
"hasInstallRule" : true,
"jsonFile" : "directory-_deps.sfml-build.src.SFML.Network-Debug-2df01c5cf9c0481e3681.json",
"jsonFile" : "directory-_deps.sfml-build.src.SFML.Network-Debug-04cdcff929f46ecd6380.json",
"minimumCMakeVersion" :
{
"string" : "3.22"
@@ -381,17 +432,17 @@
"source" : "build/_deps/sfml-src/src/SFML/Network",
"targetIndexes" :
[
4
5
]
},
{
"abstractTargetIndexes" :
[
32
39
],
"build" : "_deps/sfml-build/src/SFML/Graphics",
"hasInstallRule" : true,
"jsonFile" : "directory-_deps.sfml-build.src.SFML.Graphics-Debug-882c334f5d5ccd802105.json",
"jsonFile" : "directory-_deps.sfml-build.src.SFML.Graphics-Debug-1be0f2c94edc4a8309b8.json",
"minimumCMakeVersion" :
{
"string" : "3.22"
@@ -401,7 +452,7 @@
"source" : "build/_deps/sfml-src/src/SFML/Graphics",
"targetIndexes" :
[
3
4
]
},
{
@@ -409,14 +460,14 @@
[
0,
2,
10,
12,
13,
14
16,
18,
19,
20
],
"build" : "_deps/sfml-build/src/SFML/Audio",
"hasInstallRule" : true,
"jsonFile" : "directory-_deps.sfml-build.src.SFML.Audio-Debug-6b2b3af0fd9759ab7812.json",
"jsonFile" : "directory-_deps.sfml-build.src.SFML.Audio-Debug-1a575cacaeb2de3ac37f.json",
"minimumCMakeVersion" :
{
"string" : "3.22"
@@ -426,7 +477,7 @@
"source" : "build/_deps/sfml-src/src/SFML/Audio",
"targetIndexes" :
[
2
3
]
},
{
@@ -447,7 +498,7 @@
{
"abstractTargetIndexes" :
[
33
40
],
"build" : "_deps/glm-build/glm",
"jsonFile" : "directory-_deps.glm-build.glm-Debug-ee2f18c9a18ae24a8c8e.json",
@@ -459,6 +510,31 @@
"projectIndex" : 2,
"source" : "build/_deps/glm-src/glm",
"targetIndexes" :
[
1
]
},
{
"abstractTargetIndexes" :
[
4,
5,
8,
9,
12,
14
],
"build" : "_deps/imgui-sfml-build",
"hasInstallRule" : true,
"jsonFile" : "directory-_deps.imgui-sfml-build-Debug-c0058f26c81670b734d6.json",
"minimumCMakeVersion" :
{
"string" : "3.22"
},
"parentIndex" : 0,
"projectIndex" : 3,
"source" : "build/_deps/imgui-sfml-src",
"targetIndexes" :
[
0
]
@@ -470,12 +546,14 @@
{
"abstractTargetIndexes" :
[
1
1,
38
],
"childIndexes" :
[
1,
2
2,
3
],
"directoryIndexes" :
[
@@ -484,7 +562,7 @@
"name" : "CMakeSFMLProject",
"targetIndexes" :
[
1
2
]
},
{
@@ -493,17 +571,11 @@
0,
2,
3,
4,
5,
6,
7,
8,
9,
10,
11,
12,
13,
14,
15,
16,
17,
@@ -521,7 +593,13 @@
29,
30,
31,
32
32,
33,
34,
35,
36,
37,
39
],
"directoryIndexes" :
[
@@ -537,17 +615,17 @@
"parentIndex" : 0,
"targetIndexes" :
[
2,
3,
4,
5,
6
6,
7
]
},
{
"abstractTargetIndexes" :
[
33
40
],
"directoryIndexes" :
[
@@ -557,6 +635,27 @@
"name" : "glm",
"parentIndex" : 0,
"targetIndexes" :
[
1
]
},
{
"abstractTargetIndexes" :
[
4,
5,
8,
9,
12,
14
],
"directoryIndexes" :
[
10
],
"name" : "imgui_sfml",
"parentIndex" : 0,
"targetIndexes" :
[
0
]
@@ -564,6 +663,13 @@
],
"targets" :
[
{
"directoryIndex" : 10,
"id" : "ImGui-SFML::@0d4f94df99120bc7405e",
"jsonFile" : "target-ImGui-SFML-Debug-d20be85d0ec1cf49fb52.json",
"name" : "ImGui-SFML",
"projectIndex" : 3
},
{
"directoryIndex" : 9,
"id" : "glm::@ce54d98d7b326a3e12a8",
@@ -573,9 +679,9 @@
},
{
"directoryIndex" : 0,
"id" : "mainV3::@6890427a1f51a3e7e1df",
"jsonFile" : "target-mainV3-Debug-ee31761362aa79611c23.json",
"name" : "mainV3",
"id" : "mainV5::@6890427a1f51a3e7e1df",
"jsonFile" : "target-mainV5-Debug-b0772c24f5ba06cc97ee.json",
"name" : "mainV5",
"projectIndex" : 0
},
{
@@ -0,0 +1,93 @@
{
"backtraceGraph" :
{
"commands" :
[
"install"
],
"files" :
[
"build/_deps/imgui-sfml-src/CMakeLists.txt"
],
"nodes" :
[
{
"file" : 0
},
{
"command" : 0,
"file" : 0,
"line" : 125,
"parent" : 0
},
{
"command" : 0,
"file" : 0,
"line" : 133,
"parent" : 0
}
]
},
"codemodelVersion" :
{
"major" : 2,
"minor" : 9
},
"installers" :
[
{
"backtrace" : 1,
"component" : "Unspecified",
"destination" : "lib",
"paths" :
[
"_deps/imgui-sfml-build/libImGui-SFML.a"
],
"targetId" : "ImGui-SFML::@0d4f94df99120bc7405e",
"targetIndex" : 0,
"type" : "target"
},
{
"backtrace" : 1,
"component" : "Unspecified",
"destination" : "include",
"paths" :
[
"build/_deps/imgui-sfml-src/imgui-SFML.h",
"build/_deps/imgui-sfml-src/imgui-SFML_export.h",
"build/_deps/imgui-src/imconfig.h",
"build/_deps/imgui-src/imgui.h",
"build/_deps/imgui-src/imgui_internal.h",
"build/_deps/imgui-src/imstb_rectpack.h",
"build/_deps/imgui-src/imstb_textedit.h",
"build/_deps/imgui-src/imstb_truetype.h",
"build/_deps/imgui-src/misc/cpp/imgui_stdlib.h",
"build/_deps/imgui-sfml-src/imconfig-SFML.h"
],
"type" : "file"
},
{
"backtrace" : 2,
"component" : "Unspecified",
"destination" : "lib/cmake/ImGui-SFML",
"exportName" : "ImGui-SFML",
"exportTargets" :
[
{
"id" : "ImGui-SFML::@0d4f94df99120bc7405e",
"index" : 0
}
],
"paths" :
[
"_deps/imgui-sfml-build/CMakeFiles/Export/761a6a4c7704629aea6d1d08969b2ac8/ImGui-SFMLConfig.cmake"
],
"type" : "export"
}
],
"paths" :
{
"build" : "_deps/imgui-sfml-build",
"source" : "build/_deps/imgui-sfml-src"
}
}
@@ -242,7 +242,7 @@
[
{
"id" : "sfml-system::@8cb1db2982443611e568",
"index" : 5
"index" : 6
}
],
"paths" :
@@ -260,7 +260,7 @@
[
{
"id" : "sfml-window::@5730451e331e3690ae65",
"index" : 6
"index" : 7
}
],
"paths" :
@@ -278,7 +278,7 @@
[
{
"id" : "sfml-network::@d7f79968b2699e7782cb",
"index" : 4
"index" : 5
}
],
"paths" :
@@ -296,7 +296,7 @@
[
{
"id" : "sfml-graphics::@98af38147d5fa7e70f61",
"index" : 3
"index" : 4
}
],
"paths" :
@@ -314,7 +314,7 @@
[
{
"id" : "sfml-audio::@a153e5727587c53fce98",
"index" : 2
"index" : 3
}
],
"paths" :
@@ -52,7 +52,7 @@
"_deps/sfml-build/lib/libsfml-audio-s-d.a"
],
"targetId" : "sfml-audio::@a153e5727587c53fce98",
"targetIndex" : 2,
"targetIndex" : 3,
"type" : "target"
},
{
@@ -52,7 +52,7 @@
"_deps/sfml-build/lib/libsfml-graphics-s-d.a"
],
"targetId" : "sfml-graphics::@98af38147d5fa7e70f61",
"targetIndex" : 3,
"targetIndex" : 4,
"type" : "target"
},
{
@@ -46,7 +46,7 @@
"_deps/sfml-build/lib/libsfml-network-s-d.a"
],
"targetId" : "sfml-network::@d7f79968b2699e7782cb",
"targetIndex" : 4,
"targetIndex" : 5,
"type" : "target"
}
],
@@ -52,7 +52,7 @@
"_deps/sfml-build/lib/libsfml-system-s-d.a"
],
"targetId" : "sfml-system::@8cb1db2982443611e568",
"targetIndex" : 5,
"targetIndex" : 6,
"type" : "target"
},
{
@@ -52,7 +52,7 @@
"_deps/sfml-build/lib/libsfml-window-s-d.a"
],
"targetId" : "sfml-window::@5730451e331e3690ae65",
"targetIndex" : 6,
"targetIndex" : 7,
"type" : "target"
},
{
@@ -1,132 +0,0 @@
{
"cmake" :
{
"generator" :
{
"multiConfig" : false,
"name" : "Unix Makefiles"
},
"paths" :
{
"cmake" : "/usr/bin/cmake",
"cpack" : "/usr/bin/cpack",
"ctest" : "/usr/bin/ctest",
"root" : "/usr/share/cmake-4.2"
},
"version" :
{
"isDirty" : false,
"major" : 4,
"minor" : 2,
"patch" : 3,
"string" : "4.2.3",
"suffix" : ""
}
},
"objects" :
[
{
"jsonFile" : "codemodel-v2-48a6e2c377bb606c3455.json",
"kind" : "codemodel",
"version" :
{
"major" : 2,
"minor" : 9
}
},
{
"jsonFile" : "cache-v2-cf38a27fbc2746147de0.json",
"kind" : "cache",
"version" :
{
"major" : 2,
"minor" : 0
}
},
{
"jsonFile" : "cmakeFiles-v1-55a603bab8f1f7b9a9db.json",
"kind" : "cmakeFiles",
"version" :
{
"major" : 1,
"minor" : 1
}
},
{
"jsonFile" : "toolchains-v1-f6f24f4dd93f5f594387.json",
"kind" : "toolchains",
"version" :
{
"major" : 1,
"minor" : 0
}
}
],
"reply" :
{
"client-vscode" :
{
"query.json" :
{
"requests" :
[
{
"kind" : "cache",
"version" : 2
},
{
"kind" : "codemodel",
"version" : 2
},
{
"kind" : "toolchains",
"version" : 1
},
{
"kind" : "cmakeFiles",
"version" : 1
}
],
"responses" :
[
{
"jsonFile" : "cache-v2-cf38a27fbc2746147de0.json",
"kind" : "cache",
"version" :
{
"major" : 2,
"minor" : 0
}
},
{
"jsonFile" : "codemodel-v2-48a6e2c377bb606c3455.json",
"kind" : "codemodel",
"version" :
{
"major" : 2,
"minor" : 9
}
},
{
"jsonFile" : "toolchains-v1-f6f24f4dd93f5f594387.json",
"kind" : "toolchains",
"version" :
{
"major" : 1,
"minor" : 0
}
},
{
"jsonFile" : "cmakeFiles-v1-55a603bab8f1f7b9a9db.json",
"kind" : "cmakeFiles",
"version" :
{
"major" : 1,
"minor" : 1
}
}
]
}
}
}
}
@@ -0,0 +1,258 @@
{
"archive" : {},
"artifacts" :
[
{
"path" : "_deps/imgui-sfml-build/libImGui-SFML.a"
}
],
"backtrace" : 1,
"backtraceGraph" :
{
"commands" :
[
"add_library",
"install",
"target_link_libraries",
"target_compile_definitions",
"target_include_directories"
],
"files" :
[
"build/_deps/imgui-sfml-src/CMakeLists.txt"
],
"nodes" :
[
{
"file" : 0
},
{
"command" : 0,
"file" : 0,
"line" : 66,
"parent" : 0
},
{
"command" : 1,
"file" : 0,
"line" : 125,
"parent" : 0
},
{
"command" : 2,
"file" : 0,
"line" : 73,
"parent" : 0
},
{
"command" : 3,
"file" : 0,
"line" : 110,
"parent" : 0
},
{
"command" : 4,
"file" : 0,
"line" : 68,
"parent" : 0
}
]
},
"codemodelVersion" :
{
"major" : 2,
"minor" : 9
},
"compileDependencies" :
[
{
"backtrace" : 3,
"id" : "sfml-graphics::@98af38147d5fa7e70f61"
},
{
"backtrace" : 3,
"id" : "OpenGL::GL::@0d4f94df99120bc7405e"
}
],
"compileGroups" :
[
{
"compileCommandFragments" :
[
{
"fragment" : "-g"
}
],
"defines" :
[
{
"backtrace" : 4,
"define" : "IMGUI_USER_CONFIG=\"imconfig-SFML.h\""
},
{
"backtrace" : 3,
"define" : "SFML_STATIC"
}
],
"includes" :
[
{
"backtrace" : 5,
"path" : "/home/endertom/Documenti/ProgettoFinaleRep/FCG_VisualizzatoreCamminata/build/_deps/imgui-src"
},
{
"backtrace" : 5,
"path" : "/home/endertom/Documenti/ProgettoFinaleRep/FCG_VisualizzatoreCamminata/build/_deps/imgui-sfml-src"
},
{
"backtrace" : 3,
"isSystem" : true,
"path" : "/home/endertom/Documenti/ProgettoFinaleRep/FCG_VisualizzatoreCamminata/build/_deps/sfml-src/include"
}
],
"language" : "CXX",
"sourceIndexes" :
[
0,
1,
2,
3,
4,
5,
6
]
}
],
"dependencies" :
[
{
"backtrace" : 3,
"id" : "sfml-system::@8cb1db2982443611e568"
},
{
"backtrace" : 3,
"id" : "sfml-window::@5730451e331e3690ae65"
},
{
"backtrace" : 3,
"id" : "sfml-graphics::@98af38147d5fa7e70f61"
}
],
"id" : "ImGui-SFML::@0d4f94df99120bc7405e",
"install" :
{
"destinations" :
[
{
"backtrace" : 2,
"path" : "lib"
}
],
"prefix" :
{
"path" : "/usr/local"
}
},
"interfaceCompileDependencies" :
[
{
"backtrace" : 3,
"id" : "sfml-graphics::@98af38147d5fa7e70f61"
},
{
"backtrace" : 3,
"id" : "OpenGL::GL::@0d4f94df99120bc7405e"
}
],
"interfaceLinkLibraries" :
[
{
"backtrace" : 3,
"id" : "sfml-graphics::@98af38147d5fa7e70f61"
},
{
"backtrace" : 3,
"id" : "OpenGL::GL::@0d4f94df99120bc7405e"
}
],
"linkLibraries" :
[
{
"backtrace" : 3,
"id" : "sfml-graphics::@98af38147d5fa7e70f61"
},
{
"backtrace" : 3,
"id" : "OpenGL::GL::@0d4f94df99120bc7405e"
}
],
"name" : "ImGui-SFML",
"nameOnDisk" : "libImGui-SFML.a",
"paths" :
{
"build" : "_deps/imgui-sfml-build",
"source" : "build/_deps/imgui-sfml-src"
},
"sourceGroups" :
[
{
"name" : "Source Files",
"sourceIndexes" :
[
0,
1,
2,
3,
4,
5,
6
]
}
],
"sources" :
[
{
"backtrace" : 1,
"compileGroupIndex" : 0,
"path" : "build/_deps/imgui-sfml-src/imgui-SFML.cpp",
"sourceGroupIndex" : 0
},
{
"backtrace" : 1,
"compileGroupIndex" : 0,
"path" : "build/_deps/imgui-src/imgui.cpp",
"sourceGroupIndex" : 0
},
{
"backtrace" : 1,
"compileGroupIndex" : 0,
"path" : "build/_deps/imgui-src/imgui_demo.cpp",
"sourceGroupIndex" : 0
},
{
"backtrace" : 1,
"compileGroupIndex" : 0,
"path" : "build/_deps/imgui-src/imgui_draw.cpp",
"sourceGroupIndex" : 0
},
{
"backtrace" : 1,
"compileGroupIndex" : 0,
"path" : "build/_deps/imgui-src/imgui_tables.cpp",
"sourceGroupIndex" : 0
},
{
"backtrace" : 1,
"compileGroupIndex" : 0,
"path" : "build/_deps/imgui-src/imgui_widgets.cpp",
"sourceGroupIndex" : 0
},
{
"backtrace" : 1,
"compileGroupIndex" : 0,
"path" : "build/_deps/imgui-src/misc/cpp/imgui_stdlib.cpp",
"sourceGroupIndex" : 0
}
],
"type" : "STATIC_LIBRARY"
}
@@ -0,0 +1,76 @@
{
"abstract" : true,
"backtrace" : 3,
"backtraceGraph" :
{
"commands" :
[
"add_library",
"find_package",
"set_target_properties"
],
"files" :
[
"/usr/share/cmake-4.2/Modules/FindOpenGL.cmake",
"build/_deps/imgui-sfml-src/CMakeLists.txt"
],
"nodes" :
[
{
"file" : 1
},
{
"command" : 1,
"file" : 1,
"line" : 61,
"parent" : 0
},
{
"file" : 0,
"parent" : 1
},
{
"command" : 0,
"file" : 0,
"line" : 843,
"parent" : 2
},
{
"command" : 2,
"file" : 0,
"line" : 851,
"parent" : 2
}
]
},
"codemodelVersion" :
{
"major" : 2,
"minor" : 9
},
"id" : "OpenGL::EGL::@0d4f94df99120bc7405e",
"imported" : true,
"interfaceCompileDependencies" :
[
{
"backtrace" : 4,
"id" : "OpenGL::OpenGL::@0d4f94df99120bc7405e"
}
],
"interfaceLinkLibraries" :
[
{
"backtrace" : 4,
"id" : "OpenGL::OpenGL::@0d4f94df99120bc7405e"
}
],
"local" : true,
"name" : "OpenGL::EGL",
"paths" :
{
"build" : "_deps/imgui-sfml-build",
"source" : "build/_deps/imgui-sfml-src"
},
"sources" : [],
"type" : "UNKNOWN_LIBRARY"
}
@@ -0,0 +1,55 @@
{
"abstract" : true,
"backtrace" : 3,
"backtraceGraph" :
{
"commands" :
[
"add_library",
"find_package"
],
"files" :
[
"/usr/share/cmake-4.2/Modules/FindOpenGL.cmake",
"build/_deps/imgui-sfml-src/CMakeLists.txt"
],
"nodes" :
[
{
"file" : 1
},
{
"command" : 1,
"file" : 1,
"line" : 61,
"parent" : 0
},
{
"file" : 0,
"parent" : 1
},
{
"command" : 0,
"file" : 0,
"line" : 815,
"parent" : 2
}
]
},
"codemodelVersion" :
{
"major" : 2,
"minor" : 9
},
"id" : "OpenGL::GL::@0d4f94df99120bc7405e",
"imported" : true,
"local" : true,
"name" : "OpenGL::GL",
"paths" :
{
"build" : "_deps/imgui-sfml-build",
"source" : "build/_deps/imgui-sfml-src"
},
"sources" : [],
"type" : "UNKNOWN_LIBRARY"
}
@@ -0,0 +1,55 @@
{
"abstract" : true,
"backtrace" : 3,
"backtraceGraph" :
{
"commands" :
[
"add_library",
"find_package"
],
"files" :
[
"/usr/share/cmake-4.2/Modules/FindOpenGL.cmake",
"build/_deps/imgui-sfml-src/CMakeLists.txt"
],
"nodes" :
[
{
"file" : 1
},
{
"command" : 1,
"file" : 1,
"line" : 61,
"parent" : 0
},
{
"file" : 0,
"parent" : 1
},
{
"command" : 0,
"file" : 0,
"line" : 752,
"parent" : 2
}
]
},
"codemodelVersion" :
{
"major" : 2,
"minor" : 9
},
"id" : "OpenGL::GLES2::@0d4f94df99120bc7405e",
"imported" : true,
"local" : true,
"name" : "OpenGL::GLES2",
"paths" :
{
"build" : "_deps/imgui-sfml-build",
"source" : "build/_deps/imgui-sfml-src"
},
"sources" : [],
"type" : "UNKNOWN_LIBRARY"
}
@@ -0,0 +1,55 @@
{
"abstract" : true,
"backtrace" : 3,
"backtraceGraph" :
{
"commands" :
[
"add_library",
"find_package"
],
"files" :
[
"/usr/share/cmake-4.2/Modules/FindOpenGL.cmake",
"build/_deps/imgui-sfml-src/CMakeLists.txt"
],
"nodes" :
[
{
"file" : 1
},
{
"command" : 1,
"file" : 1,
"line" : 61,
"parent" : 0
},
{
"file" : 0,
"parent" : 1
},
{
"command" : 0,
"file" : 0,
"line" : 787,
"parent" : 2
}
]
},
"codemodelVersion" :
{
"major" : 2,
"minor" : 9
},
"id" : "OpenGL::GLES3::@0d4f94df99120bc7405e",
"imported" : true,
"local" : true,
"name" : "OpenGL::GLES3",
"paths" :
{
"build" : "_deps/imgui-sfml-build",
"source" : "build/_deps/imgui-sfml-src"
},
"sources" : [],
"type" : "UNKNOWN_LIBRARY"
}
@@ -0,0 +1,76 @@
{
"abstract" : true,
"backtrace" : 3,
"backtraceGraph" :
{
"commands" :
[
"add_library",
"find_package",
"set_target_properties"
],
"files" :
[
"/usr/share/cmake-4.2/Modules/FindOpenGL.cmake",
"build/_deps/imgui-sfml-src/CMakeLists.txt"
],
"nodes" :
[
{
"file" : 1
},
{
"command" : 1,
"file" : 1,
"line" : 61,
"parent" : 0
},
{
"file" : 0,
"parent" : 1
},
{
"command" : 0,
"file" : 0,
"line" : 728,
"parent" : 2
},
{
"command" : 2,
"file" : 0,
"line" : 736,
"parent" : 2
}
]
},
"codemodelVersion" :
{
"major" : 2,
"minor" : 9
},
"id" : "OpenGL::GLX::@0d4f94df99120bc7405e",
"imported" : true,
"interfaceCompileDependencies" :
[
{
"backtrace" : 4,
"id" : "OpenGL::OpenGL::@0d4f94df99120bc7405e"
}
],
"interfaceLinkLibraries" :
[
{
"backtrace" : 4,
"id" : "OpenGL::OpenGL::@0d4f94df99120bc7405e"
}
],
"local" : true,
"name" : "OpenGL::GLX",
"paths" :
{
"build" : "_deps/imgui-sfml-build",
"source" : "build/_deps/imgui-sfml-src"
},
"sources" : [],
"type" : "UNKNOWN_LIBRARY"
}
@@ -0,0 +1,55 @@
{
"abstract" : true,
"backtrace" : 3,
"backtraceGraph" :
{
"commands" :
[
"add_library",
"find_package"
],
"files" :
[
"/usr/share/cmake-4.2/Modules/FindOpenGL.cmake",
"build/_deps/imgui-sfml-src/CMakeLists.txt"
],
"nodes" :
[
{
"file" : 1
},
{
"command" : 1,
"file" : 1,
"line" : 61,
"parent" : 0
},
{
"file" : 0,
"parent" : 1
},
{
"command" : 0,
"file" : 0,
"line" : 711,
"parent" : 2
}
]
},
"codemodelVersion" :
{
"major" : 2,
"minor" : 9
},
"id" : "OpenGL::OpenGL::@0d4f94df99120bc7405e",
"imported" : true,
"local" : true,
"name" : "OpenGL::OpenGL",
"paths" :
{
"build" : "_deps/imgui-sfml-build",
"source" : "build/_deps/imgui-sfml-src"
},
"sources" : [],
"type" : "UNKNOWN_LIBRARY"
}
@@ -0,0 +1,41 @@
{
"abstract" : true,
"backtrace" : 1,
"backtraceGraph" :
{
"commands" :
[
"add_library"
],
"files" :
[
"CMakeLists.txt"
],
"nodes" :
[
{
"file" : 0
},
{
"command" : 0,
"file" : 0,
"line" : 43,
"parent" : 0
}
]
},
"codemodelVersion" :
{
"major" : 2,
"minor" : 9
},
"id" : "common::@6890427a1f51a3e7e1df",
"name" : "common",
"paths" :
{
"build" : ".",
"source" : "."
},
"sources" : [],
"type" : "INTERFACE_LIBRARY"
}
@@ -2,7 +2,7 @@
"artifacts" :
[
{
"path" : "bin/mainV3"
"path" : "bin/mainV5"
}
],
"backtrace" : 1,
@@ -21,7 +21,8 @@
"build/_deps/sfml-src/src/SFML/Graphics/CMakeLists.txt",
"build/_deps/sfml-src/src/SFML/Window/CMakeLists.txt",
"/usr/share/cmake-4.2/Modules/FindX11.cmake",
"build/_deps/sfml-src/src/SFML/System/CMakeLists.txt"
"build/_deps/sfml-src/src/SFML/System/CMakeLists.txt",
"build/_deps/imgui-sfml-src/CMakeLists.txt"
],
"nodes" :
[
@@ -31,13 +32,13 @@
{
"command" : 0,
"file" : 0,
"line" : 29,
"line" : 59,
"parent" : 0
},
{
"command" : 1,
"file" : 0,
"line" : 31,
"line" : 60,
"parent" : 0
},
{
@@ -112,6 +113,15 @@
"file" : 1,
"line" : 156,
"parent" : 3
},
{
"file" : 5
},
{
"command" : 1,
"file" : 5,
"line" : 73,
"parent" : 17
}
]
},
@@ -126,6 +136,14 @@
"backtrace" : 2,
"id" : "sfml-graphics::@98af38147d5fa7e70f61"
},
{
"backtrace" : 2,
"id" : "ImGui-SFML::@0d4f94df99120bc7405e"
},
{
"backtrace" : 2,
"id" : "common::@6890427a1f51a3e7e1df"
},
{
"backtrace" : 2,
"id" : "glm::@ce54d98d7b326a3e12a8"
@@ -138,10 +156,18 @@
[
{
"fragment" : "-g"
},
{
"backtrace" : 2,
"fragment" : "-Wall"
}
],
"defines" :
[
{
"backtrace" : 2,
"define" : "IMGUI_USER_CONFIG=\"imconfig-SFML.h\""
},
{
"backtrace" : 2,
"define" : "SFML_STATIC"
@@ -157,6 +183,16 @@
"backtrace" : 2,
"isSystem" : true,
"path" : "/home/endertom/Documenti/ProgettoFinaleRep/FCG_VisualizzatoreCamminata/build/_deps/sfml-src/include"
},
{
"backtrace" : 2,
"isSystem" : true,
"path" : "/home/endertom/Documenti/ProgettoFinaleRep/FCG_VisualizzatoreCamminata/build/_deps/imgui-src"
},
{
"backtrace" : 2,
"isSystem" : true,
"path" : "/home/endertom/Documenti/ProgettoFinaleRep/FCG_VisualizzatoreCamminata/build/_deps/imgui-sfml-src"
}
],
"language" : "CXX",
@@ -191,9 +227,13 @@
{
"backtrace" : 2,
"id" : "glm::@ce54d98d7b326a3e12a8"
},
{
"backtrace" : 2,
"id" : "ImGui-SFML::@0d4f94df99120bc7405e"
}
],
"id" : "mainV3::@6890427a1f51a3e7e1df",
"id" : "mainV5::@6890427a1f51a3e7e1df",
"link" :
{
"commandFragments" :
@@ -207,11 +247,21 @@
"fragment" : "_deps/sfml-build/lib/libsfml-graphics-s-d.a",
"role" : "libraries"
},
{
"backtrace" : 2,
"fragment" : "_deps/imgui-sfml-build/libImGui-SFML.a",
"role" : "libraries"
},
{
"backtrace" : 2,
"fragment" : "_deps/glm-build/glm/libglm.a",
"role" : "libraries"
},
{
"backtrace" : 2,
"fragment" : "_deps/sfml-build/lib/libsfml-graphics-s-d.a",
"role" : "libraries"
},
{
"backtrace" : 4,
"fragment" : "_deps/sfml-build/lib/libsfml-window-s-d.a",
@@ -281,6 +331,11 @@
"backtrace" : 16,
"fragment" : "/usr/lib/x86_64-linux-gnu/libfreetype.so",
"role" : "libraries"
},
{
"backtrace" : 18,
"fragment" : "/usr/lib/x86_64-linux-gnu/libGL.so",
"role" : "libraries"
}
],
"language" : "CXX"
@@ -291,13 +346,21 @@
"backtrace" : 2,
"id" : "sfml-graphics::@98af38147d5fa7e70f61"
},
{
"backtrace" : 2,
"id" : "ImGui-SFML::@0d4f94df99120bc7405e"
},
{
"backtrace" : 2,
"id" : "common::@6890427a1f51a3e7e1df"
},
{
"backtrace" : 2,
"id" : "glm::@ce54d98d7b326a3e12a8"
}
],
"name" : "mainV3",
"nameOnDisk" : "mainV3",
"name" : "mainV5",
"nameOnDisk" : "mainV5",
"paths" :
{
"build" : ".",
+74
View File
@@ -0,0 +1,74 @@
# This file will be configured to contain variables for CPack. These variables
# should be set in the CMake list file of the project before CPack module is
# included. The list of available CPACK_xxx variables and their associated
# documentation may be obtained using
# cpack --help-variable-list
#
# Some variables are common to all generators (e.g. CPACK_PACKAGE_NAME)
# and some are specific to a generator
# (e.g. CPACK_NSIS_EXTRA_INSTALL_COMMANDS). The generator specific variables
# usually begin with CPACK_<GENNAME>_xxxx.
set(CPACK_BINARY_7Z "OFF")
set(CPACK_BINARY_IFW "OFF")
set(CPACK_BINARY_INNOSETUP "OFF")
set(CPACK_BINARY_NSIS "ON")
set(CPACK_BINARY_NUGET "OFF")
set(CPACK_BINARY_WIX "OFF")
set(CPACK_BINARY_ZIP "OFF")
set(CPACK_BUILD_SOURCE_DIRS "C:/Users/Tommy/Documents/UNIGE/ProgettoFinale/FCG_VisualizzatoreCamminata;C:/Users/Tommy/Documents/UNIGE/ProgettoFinale/FCG_VisualizzatoreCamminata/build")
set(CPACK_CMAKE_GENERATOR "MinGW Makefiles")
set(CPACK_COMPONENTS_ALL "Unspecified;devel;headers")
set(CPACK_COMPONENT_UNSPECIFIED_HIDDEN "TRUE")
set(CPACK_COMPONENT_UNSPECIFIED_REQUIRED "TRUE")
set(CPACK_DEFAULT_PACKAGE_DESCRIPTION_FILE "C:/Program Files/CMake/share/cmake-3.31/Templates/CPack.GenericDescription.txt")
set(CPACK_DEFAULT_PACKAGE_DESCRIPTION_SUMMARY "CMakeSFMLProject built using CMake")
set(CPACK_GENERATOR "NSIS")
set(CPACK_INNOSETUP_ARCHITECTURE "x64")
set(CPACK_INSTALL_CMAKE_PROJECTS "C:/Users/Tommy/Documents/UNIGE/ProgettoFinale/FCG_VisualizzatoreCamminata/build;CMakeSFMLProject;ALL;/")
set(CPACK_INSTALL_PREFIX "C:/Program Files (x86)/CMakeSFMLProject")
set(CPACK_MODULE_PATH "C:/Users/Tommy/Documents/UNIGE/ProgettoFinale/FCG_VisualizzatoreCamminata/build/_deps/sfml-src/cmake/Modules/;C:/Users/Tommy/Documents/UNIGE/ProgettoFinale/FCG_VisualizzatoreCamminata/build/_deps/ogg-src/cmake")
set(CPACK_NSIS_DISPLAY_NAME "CMakeSFMLProject 1.3.5")
set(CPACK_NSIS_INSTALLER_ICON_CODE "")
set(CPACK_NSIS_INSTALLER_MUI_ICON_CODE "")
set(CPACK_NSIS_INSTALL_ROOT "$PROGRAMFILES64")
set(CPACK_NSIS_PACKAGE_NAME "CMakeSFMLProject 1.3.5")
set(CPACK_NSIS_UNINSTALL_NAME "Uninstall")
set(CPACK_OBJCOPY_EXECUTABLE "C:/msys64/ucrt64/bin/objcopy.exe")
set(CPACK_OBJDUMP_EXECUTABLE "C:/msys64/ucrt64/bin/objdump.exe")
set(CPACK_OUTPUT_CONFIG_FILE "C:/Users/Tommy/Documents/UNIGE/ProgettoFinale/FCG_VisualizzatoreCamminata/build/CPackConfig.cmake")
set(CPACK_PACKAGE_DEFAULT_LOCATION "/")
set(CPACK_PACKAGE_DESCRIPTION_FILE "C:/Program Files/CMake/share/cmake-3.31/Templates/CPack.GenericDescription.txt")
set(CPACK_PACKAGE_DESCRIPTION_SUMMARY "CMakeSFMLProject built using CMake")
set(CPACK_PACKAGE_FILE_NAME "CMakeSFMLProject-1.3.5-win64")
set(CPACK_PACKAGE_INSTALL_DIRECTORY "CMakeSFMLProject 1.3.5")
set(CPACK_PACKAGE_INSTALL_REGISTRY_KEY "CMakeSFMLProject 1.3.5")
set(CPACK_PACKAGE_NAME "CMakeSFMLProject")
set(CPACK_PACKAGE_RELOCATABLE "true")
set(CPACK_PACKAGE_VENDOR "Humanity")
set(CPACK_PACKAGE_VERSION "1.3.5")
set(CPACK_PACKAGE_VERSION_MAJOR "0")
set(CPACK_PACKAGE_VERSION_MINOR "1")
set(CPACK_PACKAGE_VERSION_PATCH "1")
set(CPACK_READELF_EXECUTABLE "C:/msys64/ucrt64/bin/readelf.exe")
set(CPACK_RESOURCE_FILE_LICENSE "C:/Program Files/CMake/share/cmake-3.31/Templates/CPack.GenericLicense.txt")
set(CPACK_RESOURCE_FILE_README "C:/Program Files/CMake/share/cmake-3.31/Templates/CPack.GenericDescription.txt")
set(CPACK_RESOURCE_FILE_WELCOME "C:/Program Files/CMake/share/cmake-3.31/Templates/CPack.GenericWelcome.txt")
set(CPACK_SET_DESTDIR "OFF")
set(CPACK_SOURCE_7Z "ON")
set(CPACK_SOURCE_GENERATOR "7Z;ZIP")
set(CPACK_SOURCE_OUTPUT_CONFIG_FILE "C:/Users/Tommy/Documents/UNIGE/ProgettoFinale/FCG_VisualizzatoreCamminata/build/CPackSourceConfig.cmake")
set(CPACK_SOURCE_ZIP "ON")
set(CPACK_SYSTEM_NAME "win64")
set(CPACK_THREADS "1")
set(CPACK_TOPLEVEL_TAG "win64")
set(CPACK_WIX_SIZEOF_VOID_P "8")
if(NOT CPACK_PROPERTIES_FILE)
set(CPACK_PROPERTIES_FILE "C:/Users/Tommy/Documents/UNIGE/ProgettoFinale/FCG_VisualizzatoreCamminata/build/CPackProperties.cmake")
endif()
if(EXISTS ${CPACK_PROPERTIES_FILE})
include(${CPACK_PROPERTIES_FILE})
endif()
+82
View File
@@ -0,0 +1,82 @@
# This file will be configured to contain variables for CPack. These variables
# should be set in the CMake list file of the project before CPack module is
# included. The list of available CPACK_xxx variables and their associated
# documentation may be obtained using
# cpack --help-variable-list
#
# Some variables are common to all generators (e.g. CPACK_PACKAGE_NAME)
# and some are specific to a generator
# (e.g. CPACK_NSIS_EXTRA_INSTALL_COMMANDS). The generator specific variables
# usually begin with CPACK_<GENNAME>_xxxx.
set(CPACK_BINARY_7Z "OFF")
set(CPACK_BINARY_IFW "OFF")
set(CPACK_BINARY_INNOSETUP "OFF")
set(CPACK_BINARY_NSIS "ON")
set(CPACK_BINARY_NUGET "OFF")
set(CPACK_BINARY_WIX "OFF")
set(CPACK_BINARY_ZIP "OFF")
set(CPACK_BUILD_SOURCE_DIRS "C:/Users/Tommy/Documents/UNIGE/ProgettoFinale/FCG_VisualizzatoreCamminata;C:/Users/Tommy/Documents/UNIGE/ProgettoFinale/FCG_VisualizzatoreCamminata/build")
set(CPACK_CMAKE_GENERATOR "MinGW Makefiles")
set(CPACK_COMPONENTS_ALL "Unspecified;devel;headers")
set(CPACK_COMPONENT_UNSPECIFIED_HIDDEN "TRUE")
set(CPACK_COMPONENT_UNSPECIFIED_REQUIRED "TRUE")
set(CPACK_DEFAULT_PACKAGE_DESCRIPTION_FILE "C:/Program Files/CMake/share/cmake-3.31/Templates/CPack.GenericDescription.txt")
set(CPACK_DEFAULT_PACKAGE_DESCRIPTION_SUMMARY "CMakeSFMLProject built using CMake")
set(CPACK_GENERATOR "7Z;ZIP")
set(CPACK_IGNORE_FILES "/CVS/;/\\.svn/;/\\.bzr/;/\\.hg/;/\\.git/;\\.swp\$;\\.#;/#")
set(CPACK_INNOSETUP_ARCHITECTURE "x64")
set(CPACK_INSTALLED_DIRECTORIES "C:/Users/Tommy/Documents/UNIGE/ProgettoFinale/FCG_VisualizzatoreCamminata;/")
set(CPACK_INSTALL_CMAKE_PROJECTS "")
set(CPACK_INSTALL_PREFIX "C:/Program Files (x86)/CMakeSFMLProject")
set(CPACK_MODULE_PATH "C:/Users/Tommy/Documents/UNIGE/ProgettoFinale/FCG_VisualizzatoreCamminata/build/_deps/sfml-src/cmake/Modules/;C:/Users/Tommy/Documents/UNIGE/ProgettoFinale/FCG_VisualizzatoreCamminata/build/_deps/ogg-src/cmake")
set(CPACK_NSIS_DISPLAY_NAME "CMakeSFMLProject 1.3.5")
set(CPACK_NSIS_INSTALLER_ICON_CODE "")
set(CPACK_NSIS_INSTALLER_MUI_ICON_CODE "")
set(CPACK_NSIS_INSTALL_ROOT "$PROGRAMFILES64")
set(CPACK_NSIS_PACKAGE_NAME "CMakeSFMLProject 1.3.5")
set(CPACK_NSIS_UNINSTALL_NAME "Uninstall")
set(CPACK_OBJCOPY_EXECUTABLE "C:/msys64/ucrt64/bin/objcopy.exe")
set(CPACK_OBJDUMP_EXECUTABLE "C:/msys64/ucrt64/bin/objdump.exe")
set(CPACK_OUTPUT_CONFIG_FILE "C:/Users/Tommy/Documents/UNIGE/ProgettoFinale/FCG_VisualizzatoreCamminata/build/CPackConfig.cmake")
set(CPACK_PACKAGE_DEFAULT_LOCATION "/")
set(CPACK_PACKAGE_DESCRIPTION_FILE "C:/Program Files/CMake/share/cmake-3.31/Templates/CPack.GenericDescription.txt")
set(CPACK_PACKAGE_DESCRIPTION_SUMMARY "CMakeSFMLProject built using CMake")
set(CPACK_PACKAGE_FILE_NAME "CMakeSFMLProject-1.3.5-Source")
set(CPACK_PACKAGE_INSTALL_DIRECTORY "CMakeSFMLProject 1.3.5")
set(CPACK_PACKAGE_INSTALL_REGISTRY_KEY "CMakeSFMLProject 1.3.5")
set(CPACK_PACKAGE_NAME "CMakeSFMLProject")
set(CPACK_PACKAGE_RELOCATABLE "true")
set(CPACK_PACKAGE_VENDOR "Humanity")
set(CPACK_PACKAGE_VERSION "1.3.5")
set(CPACK_PACKAGE_VERSION_MAJOR "0")
set(CPACK_PACKAGE_VERSION_MINOR "1")
set(CPACK_PACKAGE_VERSION_PATCH "1")
set(CPACK_READELF_EXECUTABLE "C:/msys64/ucrt64/bin/readelf.exe")
set(CPACK_RESOURCE_FILE_LICENSE "C:/Program Files/CMake/share/cmake-3.31/Templates/CPack.GenericLicense.txt")
set(CPACK_RESOURCE_FILE_README "C:/Program Files/CMake/share/cmake-3.31/Templates/CPack.GenericDescription.txt")
set(CPACK_RESOURCE_FILE_WELCOME "C:/Program Files/CMake/share/cmake-3.31/Templates/CPack.GenericWelcome.txt")
set(CPACK_RPM_PACKAGE_SOURCES "ON")
set(CPACK_SET_DESTDIR "OFF")
set(CPACK_SOURCE_7Z "ON")
set(CPACK_SOURCE_GENERATOR "7Z;ZIP")
set(CPACK_SOURCE_IGNORE_FILES "/CVS/;/\\.svn/;/\\.bzr/;/\\.hg/;/\\.git/;\\.swp\$;\\.#;/#")
set(CPACK_SOURCE_INSTALLED_DIRECTORIES "C:/Users/Tommy/Documents/UNIGE/ProgettoFinale/FCG_VisualizzatoreCamminata;/")
set(CPACK_SOURCE_OUTPUT_CONFIG_FILE "C:/Users/Tommy/Documents/UNIGE/ProgettoFinale/FCG_VisualizzatoreCamminata/build/CPackSourceConfig.cmake")
set(CPACK_SOURCE_PACKAGE_FILE_NAME "CMakeSFMLProject-1.3.5-Source")
set(CPACK_SOURCE_TOPLEVEL_TAG "win64-Source")
set(CPACK_SOURCE_ZIP "ON")
set(CPACK_STRIP_FILES "")
set(CPACK_SYSTEM_NAME "win64")
set(CPACK_THREADS "1")
set(CPACK_TOPLEVEL_TAG "win64-Source")
set(CPACK_WIX_SIZEOF_VOID_P "8")
if(NOT CPACK_PROPERTIES_FILE)
set(CPACK_PROPERTIES_FILE "C:/Users/Tommy/Documents/UNIGE/ProgettoFinale/FCG_VisualizzatoreCamminata/build/CPackProperties.cmake")
endif()
if(EXISTS ${CPACK_PROPERTIES_FILE})
include(${CPACK_PROPERTIES_FILE})
endif()
+44
View File
@@ -0,0 +1,44 @@
[Window][Debug##Default]
Pos=60,60
Size=400,400
[Window][Dear ImGui Demo]
Pos=473,13
Size=936,873
[Window][Hello, world!]
Pos=11,12
Size=212,56
[Window][Dear ImGui Demo/##Basket_87771727]
IsChild=1
Size=478,260
[Window][Dear ImGui Demo/##Basket_529977C1]
IsChild=1
Size=478,260
[Window][Example: Custom rendering]
Pos=68,96
Size=740,472
[Window][Set data position]
Pos=0,589
Size=780,30
[Window][Dear ImGui Demo/ResizableChild_478B81A3]
IsChild=1
Size=499,136
[Window][Dear ImGui Demo/Red_BEEF922B]
IsChild=1
Size=200,100
[Window][Dear ImGui Style Editor]
Pos=60,60
Size=353,1005
[Window][Set visualization plane]
Pos=380,0
Size=400,30
BIN
View File
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
+1 -1
View File
@@ -21,7 +21,7 @@ class JointInterface{
public:
std::vector<rb::Vector3> offset;
std::vector<rb::Vector3_s> rotOffset;
std::vector<rb::Vector3> rotOffset;
PieceInterface* father;
std::vector<PieceInterface*> childs;
+8 -2
View File
@@ -4,10 +4,16 @@ class PivotJoint : public JointInterface {
protected:
void rotate(unsigned int id) override;
void traslate(unsigned int id) override;
void updatePivot();
rb::Vector3_s oldRot;
rb::Vector3 oldRot;
std::vector<rb::Vector3> oldCRot;
rb::Vector3 pivot;
std::vector<rb::Vector3_s> oldCRot;
rb::Vector3 stPivot;
//angolo attuale pivot e offset
rb::Vector3 pivotAngle;
std::vector<rb::Vector3> offsetAngle;
//possono servire per calcolare l'offset rispetto alla posizione precedente
rb::Vector3 oldPos;
+66 -45
View File
@@ -2,43 +2,74 @@
#define ZERO_INT 0.00001
void PivotJoint::updatePivot(){
rb::Vector3 fRot = father->body.getRot();
pivotAngle = pivotAngle + (fRot - oldRot); // trovo angolo totale da angolo di partenza
float cosA = glm::cos(pivotAngle[0]);
float sinA = glm::sin(pivotAngle[0]);
float cosA1 = glm::cos(pivotAngle[1]);
float sinA1 = glm::sin(pivotAngle[1]);
glm::mat4 Rpx = glm::mat4{
1 , 0, 0, 0,
0, cosA, sinA, 0,
0, -sinA, cosA, 0,
0, 0, 0, 1
};
glm::mat4 Rpy = glm::mat4{
cosA1 , 0, sinA1, 0,
0, 1, 0, 0,
-sinA1, 0, cosA1, 0,
0, 0, 0, 1
};
glm::vec4 pivotN = Rpy * Rpx * glm::vec4(stPivot[0], stPivot[1], stPivot[2],1);
pivot = rb::Vector3{pivotN[0],pivotN[1],pivotN[2]};
oldRot = fRot;
}
void PivotJoint::rotate(unsigned int id){
rb::Vector3_s fRot = father->body.getRot();
rb::Vector3 fPos = father->body.getPos();
rb::Vector3_s cRot = childs[id]->body.getRot();
rb::Vector3 cRot = childs[id]->body.getRot();
//// sposto l'origine passivamente su tutti gli assi ////
float alpha = float (fRot[2] - oldRot[2]);
float cosA = glm::cos(alpha);
float sinA = glm::sin(alpha);
float beta = float (cRot[2] - oldCRot[id][2]);
float cosB = glm::cos(beta);
float sinB = glm::sin(beta);
glm::mat3 R1 = glm::mat3(
/*cos*/ cosA, /*sin*/ sinA, 0,
/*-sin*/ -sinA , /*cos*/ cosA, 0,
0, 0, 1
);
glm::mat3 R2 = glm::mat3(
/*cos*/ cosB, /*sin*/ sinB, 0,
/*-sin*/ -sinB , /*cos*/ cosB, 0,
0, 0, 1
);
glm::vec3 pivotNXZ = R1 * glm::vec3(pivot[0],pivot[2],1);
pivot = rb::Vector3{pivotNXZ[0],pivot[1],pivotNXZ[1]};
glm::vec3 offsetNXZ = R2 * glm::vec3(offset[id][0],offset[id][2],1);
offset[id] = rb::Vector3{offsetNXZ[0],offset[id][1],offsetNXZ[1]};
offsetAngle[id] = offsetAngle[id] + (cRot - oldCRot[id]);
childs[id]->body.setPos(rb::Vector3{fPos[0]+offset[id][0]+pivot[0],fPos[1]+offset[id][1]+pivot[1],fPos[2]+offset[id][2]+pivot[2]});
float cosB = glm::cos(offsetAngle[id][0]);
float sinB = glm::sin(offsetAngle[id][0]);
float cosB1 = glm::cos(offsetAngle[id][1]);
float sinB1 = glm::sin(offsetAngle[id][1]);
glm::mat4 Rcx = glm::mat4{
1 , 0, 0, 0,
0, cosB, sinB, 0,
0, -sinB, cosB, 0,
0, 0, 0, 1
};
glm::mat4 Rcy = glm::mat4{
cosB1 , 0, sinB1, 0,
0, 1, 0, 0,
-sinB1, 0, cosB1, 0,
0, 0, 0, 1
};
oldRot = fRot; //aggiorno la rotazione per il ciclo successivo
glm::vec4 offN = Rcy * Rcx * glm::vec4(offset[id][0],offset[id][1],offset[id][2],1);
// offset[id] = rb::Vector3{offN[0],offN[1],offN[2]};
childs[id]->body.setPos(rb::Vector3{fPos[0]+offN[0]+pivot[0],fPos[1]+offN[1]+pivot[1],fPos[2]+offN[2]+pivot[2]});
//printf("Offset = %f %f %f \n" , offN[0], offN[1], offN[2]);
oldCRot[id] = cRot;
}
@@ -52,34 +83,24 @@ PivotJoint::PivotJoint(PieceInterface* father,std::vector<PieceInterface*> child
this->childs = childs;
this->father = father;
rb::Vector3 fCoords = father->globalPos + father->body.getPos();
rb::Vector3_s fRot = father->body.getRot();
rb::Vector3 fRot = father->body.getRot();
pivot = pivotPoint;
rb::Vector3 pivotCenter = father->globalPos + father->body.getPos() + pivot;
/*
float sign = pivot[2] >= 0 ? 1 : -1;
float r = sqrt(pow(pivot[0],2)+pow(pivot[2],2));
rotOffset.push_back( rb::Vector3_s{0,0,_Float16( acos(sign * pivot[0]/r) )} );
*/
stPivot = pivotPoint;
rb::Vector3 pivotCenter = father->body.getPos() + stPivot;
pivotAngle = rb::Vector3{0,0,0};
oldRot = father->body.getRot();
//mi calcolo l'offset per ogni child rispetto al pivot
for(PieceInterface* c : childs){
rb::Vector3 tmpCoords;
rb::Vector3 cCoords = c->globalPos + c->body.getPos();
rb::Vector3 cCoords = c->body.getPos();
tmpCoords = cCoords - pivotCenter;
/*
float r = sqrt(pow(tmpCoords[0],2)+pow(tmpCoords[2],2));
oldCRot.push_back( rb::Vector3_s{0,0,_Float16( acos(tmpCoords[0]/r) )} );
*/
oldCRot.push_back(c->body.getRot());
offset.push_back(tmpCoords);
offsetAngle.push_back(rb::Vector3{0,0,0});
}
@@ -91,7 +112,7 @@ PivotJoint::~PivotJoint(){
void PivotJoint::movechild(){
updatePivot();
for ( unsigned int i = 0; i < childs.size(); i++){
traslate(i);
rotate(i);
+37 -19
View File
@@ -5,37 +5,55 @@
//using namespace glm;
void RigidJoint::rotate(unsigned int id){
rb::Vector3_s fRot = father->body.getRot();
rb::Vector3_s fRotOld = childs[id]->body.getRot() - rotOffset[id];
rb::Vector3 fRot = father->body.getRot();
rb::Vector3 fRotOld = childs[id]->body.getRot() - rotOffset[id];
rb::Vector3 fPos = father->body.getPos();
rb::Vector3 cPos = childs[id]->body.getPos();
childs[id]->body.setRot(fRot + rotOffset[id]);
// sposto il alla distanza offset rispetto all'origine R*pos
//passo a coordinate 3D per calcolare rotazione sul piano YZ oltre che al piano XZ
// calcolo alpha angolo
float alpha = float (fRot[2] - fRotOld[2]);
float alpha = float (fRot[0] - fRotOld[0]);
float beta = float (fRot[1] - fRotOld[1]);
float cosA = glm::cos(alpha);
float sinA = glm::sin(alpha);
float cosB = glm::cos(beta);
float sinB = glm::sin(beta);
glm::mat3 R = glm::mat3(
/*cos*/ cosA, /*sin*/ sinA, 0,
/*-sin*/ -sinA , /*cos*/ cosA, 0,
0, 0, 1
);
//sposto il child all'origine rispetto al padre
glm::mat4 Rx = glm::mat4{
1 , 0, 0, 0,
0, cosA, sinA, 0,
0, -sinA, cosA, 0,
0, 0, 0, 1
};
glm::vec3 XZ_cPos = {offset[id][0],offset[id][2],1};
glm::vec3 resRot = R * XZ_cPos;
glm::mat4 Ry = glm::mat4{
cosB , 0, sinB, 0,
0, 1, 0, 0,
-sinB, 0, cosB, 0,
0, 0, 0, 1
};
offset[id][0] = resRot[0] ;
offset[id][2] = resRot[1] ;
glm::mat4 T = glm::mat4{
1, 0, 0, 0,
0, 1, 0, 0,
0 ,0, 1, 0,
fPos[0], fPos[1], fPos[2], 1
};
glm::vec4 resRot = Rx * Ry * glm::vec4(offset[id][0],offset[id][1],offset[id][2],1);
offset[id] = rb::Vector3{resRot[0], resRot[1], resRot[2]};
glm::vec4 resTransf = T * resRot;
childs[id]->body.setPos({resTransf[0],resTransf[1],resTransf[2]});
childs[id]->body.setPos({fPos[0]-offset[id][0],offset[id][1],fPos[2] -offset[id][2]});
}
void RigidJoint::traslate(unsigned int id){
@@ -47,7 +65,7 @@ RigidJoint::RigidJoint(PieceInterface* father,std::vector<PieceInterface*> child
this->childs = childs;
this->father = father;
rb::Vector3 fCoords = father->globalPos + father->body.getPos();
rb::Vector3_s fRot = father->body.getRot();
rb::Vector3 fRot = father->body.getRot();
@@ -55,7 +73,7 @@ RigidJoint::RigidJoint(PieceInterface* father,std::vector<PieceInterface*> child
//mi calcolo l'offset per ogni child rispetto al padre
for(PieceInterface* c : childs){
rb::Vector3 tmpCoords;
rb::Vector3_s tmpRot;
rb::Vector3 tmpRot;
rb::Vector3 cCoords = c->globalPos + c->body.getPos();
+2 -2
View File
@@ -8,9 +8,9 @@
enum class ReferencePlane {
XY,
XZ,
YZ,
XZ
XZN
};
//classi
+4 -5
View File
@@ -14,12 +14,9 @@ class Sensore : public PieceInterface{
std::vector<std::vector<float>> gData;
std::vector<std::vector<float>> rotData;
std::vector<float> timeData;
rb::Vector3 stPos;
//in che punto sto controllando il segnale
unsigned int dataPos;
unsigned int dataIntvl;
unsigned int* dataPos;
//funzioni ausiliarie
void calcRotWithG(unsigned int index);
@@ -27,7 +24,7 @@ class Sensore : public PieceInterface{
public:
Sensore(rb::Vector3 coords, _Float16 mass);
Sensore(rb::Vector3 coords, _Float16 mass, unsigned int st, unsigned int dataIntvl, std::vector<std::vector<float>> data);
Sensore(rb::Vector3 coords, _Float16 mass, unsigned int* st, std::vector<std::vector<float>> data);
~Sensore();
void update(sf::Clock cl) override;
@@ -35,6 +32,8 @@ class Sensore : public PieceInterface{
//funzioni specifiche
void initCSV(std::vector<std::vector<float>> data);
void setIntervall(int min, int max);
void setPos(int &pos);
};
+5 -3
View File
@@ -22,23 +22,25 @@ void Caviglia::update(sf::Clock cl){
sf::Shape* Caviglia::draw(ReferencePlane plane){
rb::Vector3 tmpPos = body.getPos();
rb::Vector3_s tmpRot = body.getRot();
rb::Vector3 tmpRot = body.getRot();
switch (plane)
{
case ReferencePlane::XZ:
{
sf::Shape* shape = shapeXZ;
shape->setRotation(sf::Angle(sf::radians(tmpRot[2])));
shape->setRotation(sf::Angle(sf::radians(tmpRot[1])));
shape->setPosition({tmpPos[0]+globalPos[0],tmpPos[2]+globalPos[2]});
shape->setScale({1,cos(float(tmpRot[0]))});
return shape;}
break;
case ReferencePlane::YZ:
{
sf::Shape* shape = shapeYZ;
shape->setRotation(sf::Angle(sf::radians(tmpRot[1])));
shape->setRotation(sf::Angle(sf::radians(tmpRot[0])));
shape->setPosition({tmpPos[1]+globalPos[1],tmpPos[2]+globalPos[2]});
shape->setScale({1,cos(float(tmpRot[1]))});
return shape;}
break;
+13 -3
View File
@@ -20,7 +20,7 @@ void Coscia::update(sf::Clock cl){
sf::Shape* Coscia::draw(ReferencePlane plane){
rb::Vector3 tmpPos = body.getPos();
rb::Vector3_s tmpRot = body.getRot();
rb::Vector3 tmpRot = body.getRot();
switch (plane)
@@ -28,16 +28,26 @@ sf::Shape* Coscia::draw(ReferencePlane plane){
case ReferencePlane::XZ:
{
sf::Shape* shape = shapeXZ;
shape->setRotation(sf::Angle(sf::radians(tmpRot[2])));
shape->setRotation(sf::Angle(sf::radians(tmpRot[1])));
shape->setPosition({tmpPos[0]+globalPos[0],tmpPos[2]+globalPos[2]});
//calcolo ridimensionamento dato da cos(x)-> questo per definire l'ancoraggio corretto del pivot
shape->setScale({1,cos(float(tmpRot[0]))});
//shape->setScale({1,(0.5* cos(float(tmpRot[0]*2)))+0.5});
return shape;}
break;
case ReferencePlane::YZ:
{
sf::Shape* shape = shapeYZ;
shape->setRotation(sf::Angle(sf::radians(tmpRot[1])));
shape->setRotation(sf::Angle(sf::radians(tmpRot[0])));
shape->setPosition({tmpPos[1]+globalPos[1],tmpPos[2]+globalPos[2]});
//calcolo ridimensionamento dato da cos(x) -> questo per definire l'ancoraggio corretto del pivot
shape->setScale({1,cos(float(tmpRot[1]))});
//shape->setScale({1,(0.5* cos(float(tmpRot[1]*2)))+0.5});
return shape;}
break;
+18 -22
View File
@@ -9,9 +9,8 @@ Sensore::Sensore(rb::Vector3 coords, _Float16 mass){
initialize_shapes(sensore_Dim);
}
Sensore::Sensore(rb::Vector3 coords, _Float16 mass, unsigned int st, unsigned int dataIntvl, std::vector<std::vector<float>> data) : Sensore(coords, mass){
Sensore::Sensore(rb::Vector3 coords, _Float16 mass, unsigned int* st, std::vector<std::vector<float>> data) : Sensore(coords, mass){
dataPos = st;
this->dataIntvl = dataIntvl;
initCSV(data);
}
@@ -33,6 +32,9 @@ void Sensore::initCSV(std::vector<std::vector<float>> data){
std::vector<float> tmpA = {row[5],row[6],row[4]};
std::vector<float> tmpG = {-row[8],-row[9],-row[7]};
/////// DA CAMBIARE QUI ///////////
rotData.push_back(tmpR);
accData.push_back(tmpA);
gData.push_back(tmpG);
@@ -41,24 +43,21 @@ void Sensore::initCSV(std::vector<std::vector<float>> data){
void Sensore::update(sf::Clock cl){
// Aggiorno la posizione nei dati
int64_t currTime = cl.getElapsedTime().asMicroseconds() *100000;
if (timeData[dataPos] < currTime && dataIntvl - dataPos > 0) { //aggiorno solo se ho cambiato posizione
dataPos++;
//calcolo la posizione e velocità
if (*dataPos >= gData.size()) *dataPos = gData.size()-1;
//calcolo la posizione e velocità
calcRotWithG(dataPos);
calcRotWithG(*dataPos);
body.setAcc(rb::Vector3{accData[dataPos]});
body.step(cl);
}
body.setAcc(rb::Vector3{accData[*dataPos]});
body.step(cl);
}
sf::Shape* Sensore::draw(ReferencePlane plane){
rb::Vector3_s tmpRot = body.getRot();
rb::Vector3 tmpRot = body.getRot();
rb::Vector3 tmpPos = body.getPos();
switch (plane)
@@ -66,7 +65,7 @@ sf::Shape* Sensore::draw(ReferencePlane plane){
case ReferencePlane::XZ:
{
sf::Shape* shape = shapeXZ;
shape->setRotation(sf::Angle(sf::radians(tmpRot[2])));
shape->setRotation(sf::Angle(sf::radians(tmpRot[1])));
shape->setPosition({tmpPos[0]+globalPos[0],tmpPos[2]+globalPos[2]});
return shape;}
break;
@@ -74,7 +73,7 @@ sf::Shape* Sensore::draw(ReferencePlane plane){
case ReferencePlane::YZ:
{
sf::Shape* shape = shapeYZ;
shape->setRotation(sf::Angle(sf::radians(tmpRot[1])));
shape->setRotation(sf::Angle(sf::radians(tmpRot[0])));
shape->setPosition({tmpPos[1]+globalPos[1],tmpPos[2]+globalPos[2]});
return shape;}
break;
@@ -98,16 +97,13 @@ void Sensore::calcRotWithG(unsigned int index){ // calcolo rotazione con valori
float tmpSinY = -grav[1] / modG;
float tmpSinZ = -grav[2] / modG;
float tmpAX = acos(tmpSinY);
float tmpAY = acos(tmpSinZ);
float tmpAZ = acos(tmpSinX);
float tmpAX = acos(tmpSinX);
float tmpAY = acos(tmpSinY);
float tmpAZ = acos(tmpSinZ);
body.setRot(rb::Vector3_s{_Float16( tmpAX),_Float16( tmpAY),_Float16( tmpAZ) });
body.setRot(rb::Vector3{tmpAY, tmpAX, tmpAZ });
}
/*
void Sensore::calcRotWithConstraint(){
};*/
/////////////// cinematica inversa
+3 -3
View File
@@ -20,7 +20,7 @@ void Torso::update(sf::Clock cl){
sf::Shape* Torso::draw(ReferencePlane plane){
rb::Vector3_s tmpRot = body.getRot();
rb::Vector3 tmpRot = body.getRot();
rb::Vector3 tmpPos = body.getPos();
@@ -29,7 +29,7 @@ sf::Shape* Torso::draw(ReferencePlane plane){
case ReferencePlane::XZ:
{
sf::Shape* shape = shapeXZ;
shape->setRotation(sf::Angle(sf::radians(tmpRot[2])));
shape->setRotation(sf::Angle(sf::radians(tmpRot[1])));
shape->setPosition({tmpPos[0]+globalPos[0],tmpPos[2]+globalPos[2]});
return shape;}
break;
@@ -37,7 +37,7 @@ sf::Shape* Torso::draw(ReferencePlane plane){
case ReferencePlane::YZ:
{
sf::Shape* shape = shapeYZ;
shape->setRotation(sf::Angle(sf::radians(tmpRot[1])));
shape->setRotation(sf::Angle(sf::radians(tmpRot[0])));
shape->setPosition({tmpPos[1]+globalPos[1],tmpPos[2]+globalPos[2]});
return shape;}
break;
+6 -27
View File
@@ -7,14 +7,14 @@
namespace rb{
typedef std::vector<float> Vector3;
typedef std::vector<_Float16> Vector3_s;
//typedef std::vector<_Float16> Vector3;
class rigidbody
{
private:
Vector3 vel = {0,0,0};
Vector3 acc = {0,0,0};
Vector3_s rot = {0,0,0};
Vector3 rot = {0,0,0};
Vector3 tanAcc = {0,0,0};
_Float16 mass = 1;
@@ -40,9 +40,9 @@
Vector3 getPos();
Vector3_s getRot();
Vector3 getRot();
void setPos(const Vector3 Npos);
void setRot(const Vector3_s Nrot);
void setRot(const Vector3 Nrot);
void setVel(const Vector3 Nacc);
void setAcc(const Vector3 Nvel);
void step(const sf::Clock time);
@@ -76,30 +76,9 @@
v1[2] - v2[2]
};
}
inline rb::Vector3_s operator+(const rb::Vector3_s& v1, const rb::Vector3_s& v2) {
if (v1.size() != 3 || v2.size() != 3) {
throw std::invalid_argument("I vettori devono avere esattamente 3 elementi.");
}
return rb::Vector3_s{
v1[0] + v2[0],
v1[1] + v2[1],
v1[2] + v2[2]
};
}
inline rb::Vector3_s operator-(const rb::Vector3_s& v1, const rb::Vector3_s& v2) {
if (v1.size() != 3 || v2.size() != 3) {
throw std::invalid_argument("I vettori devono avere esattamente 3 elementi.");
}
return rb::Vector3_s{
v1[0] - v2[0],
v1[1] - v2[1],
v1[2] - v2[2]
};
}
/*
inline bool operator!=(const rb::Vector3_s& v1, const rb::Vector3_s& v2) {
inline bool operator!=(const rb::Vector3& v1, const rb::Vector3& v2) {
if (v1.size() != 3 || v2.size() != 3) {
throw std::invalid_argument("I vettori devono avere esattamente 3 elementi.");
}
+4 -4
View File
@@ -21,8 +21,8 @@ rigidbody::~rigidbody()
Vector3 rigidbody::getPos(){
return Vector3 {coords};
}
Vector3_s rigidbody::getRot(){
return Vector3_s {rot};
Vector3 rigidbody::getRot(){
return Vector3 {rot};
}
void rigidbody::setPos(Vector3 Npos){
@@ -47,11 +47,11 @@ void rigidbody::setAcc(const Vector3 Nacc){
}
void rigidbody::setRot(const Vector3_s Nrot){
void rigidbody::setRot(const Vector3 Nrot){
if (Nrot.size() != 3) throw "Vel vector must be 3 in lenght!";
int i = 0;
for (_Float16 axis : Nrot){
for (float axis : Nrot){
rot[i] = axis;
i++;
}
+137 -31
View File
@@ -2,6 +2,8 @@
#include <math.h>
#include "pieces/headers/piece_interface.hpp"
#include "joints/headers/joint_interface.hpp"
#include <imgui.h>
#include <imgui-SFML.h>
template <typename T1, typename T2>
double dist(sf::Vector2<T1> p1, sf::Vector2<T2> p2)
@@ -31,12 +33,26 @@ struct State
bool drag = false;
sf::Vector2i mouse_pos;
State(unsigned w, unsigned h, std::string title)
/// per settare l'ntervallo di visualizzazione
unsigned int* pos ;
unsigned int* intervalMajLimit ;
unsigned int* intervalMinLimit ;
unsigned int maxEntries = 1000;
bool play = true;
State(unsigned w, unsigned h, std::string title, unsigned int* maj, unsigned int* min, unsigned int* pos)
{
window = sf::RenderWindow(sf::VideoMode({w, h}), title);
if (ImGui::SFML::Init(window)); // L'if è solo per togliere il warning, va aggiustato gestendo le eccezioni
clock.restart();
intervalMajLimit = maj;
intervalMinLimit = min;
this->pos = pos;
}
void update();
void setIntervall(int n){
maxEntries = n;
}
};
///
@@ -47,13 +63,15 @@ struct State
void State::update(){
for(PieceInterface* p : pieces){
p->update(clock);
if (play){
for(PieceInterface* p : pieces){
p->update(clock);
}
}
for(JointInterface* j : joints){
j->movechild();
}
}
///
@@ -61,17 +79,17 @@ void State::update(){
////////////////////////////////////////////////////////////
/// Callback functions
void handle(const sf::Event::Closed &, State &gs)
void handle_close(State &gs)
{
gs.window.close();
}
void handle(const sf::Event::TextEntered &textEnter, State &gs)
void handle_text(const sf::Event::TextEntered &textEnter, State &gs)
{
}
void handle(const sf::Event::KeyPressed &keyPressed, State &gs)
void handle_keyPressed(const sf::Event::KeyPressed &keyPressed, State &gs)
{
if (keyPressed.scancode == sf::Keyboard::Scancode::Space){
if (gs.selectedPlane == ReferencePlane::XZ)
@@ -81,33 +99,49 @@ void handle(const sf::Event::KeyPressed &keyPressed, State &gs)
}
}
void handle(const sf::Event::MouseMoved &mouseMoved, State &gs)
void handle_mouseMove(const sf::Event::MouseMoved &mouseMoved, State &gs)
{
sf::Vector2i offset = mouseMoved.position - gs.mouse_pos;
gs.mouse_pos = mouseMoved.position;
float px = 1;
float py = 0;
switch (gs.selectedPlane)
{
case ReferencePlane::XZ:
px = 1;
py = 0;
break;
case ReferencePlane::YZ:
px = 0;
py = 1;
break;
default:
break;
}
if (gs.drag){
for(PieceInterface* p : gs.pieces){
p->globalPos = {p->globalPos[0] + offset.x, p->globalPos[1],p->globalPos[2] + offset.y};
/// Devo spostare sul piano di visualizzazione
/// Quindi dovrò settare una variabile che mi definisce qual è il piano preso in considerazione, questo sarà nello state
p->globalPos = {p->globalPos[0] + (offset.x * px), p->globalPos[1]+ (offset.x * py),p->globalPos[2] + offset.y};
}
}
if (gs.selected != -1 && gs.drag_Piece){
rb::Vector3 tmp = gs.pieces[gs.selected]->body.getPos();
gs.pieces[gs.selected]->body.setPos({tmp[0]+offset.x,tmp[1],tmp[2]+offset.y});
gs.pieces[gs.selected]->body.setPos({tmp[0]+ (offset.x * px),tmp[1]+ (offset.x * py),tmp[2]+offset.y});
}
if (gs.selected != -1 && gs.rot_Piece){
rb::Vector3_s tmp = gs.pieces[gs.selected]->body.getRot();
rb::Vector3 tmp = gs.pieces[gs.selected]->body.getRot();
_Float16 nrot = _Float16(offset.x)/10;
gs.pieces[gs.selected]->body.setRot({tmp[0],tmp[1],tmp[2]+nrot});
float nrot = float(offset.x)/100;
gs.pieces[gs.selected]->body.setRot({tmp[0]+(nrot*py),tmp[1]+(nrot*px),tmp[2]});
//printf("Rotation : %f,%f,%f \n",gs.pieces[gs.selected]->body.getRot()[0],gs.pieces[gs.selected]->body.getRot()[1],gs.pieces[gs.selected]->body.getRot()[2]);
}
}
void handle(const sf::Event::MouseButtonPressed &mouseBP, State &gs)
void handle_mousePressed(const sf::Event::MouseButtonPressed &mouseBP, State &gs)
{
gs.mouse_pos = mouseBP.position;
if ( mouseBP.button == sf::Mouse::Button::Middle) gs.drag = true;
@@ -115,8 +149,11 @@ void handle(const sf::Event::MouseButtonPressed &mouseBP, State &gs)
gs.drag_Piece = true;
int i = 0;
for (PieceInterface* p : gs.pieces){
sf::Vector2f pos = {p->globalPos[0]+ p->body.getPos()[0], p->globalPos[2]+ p->body.getPos()[2]};
sf::Vector2f pos;
if (gs.selectedPlane == ReferencePlane::XZ)
pos = {p->globalPos[0]+ p->body.getPos()[0], p->globalPos[2]+ p->body.getPos()[2]};
else if (gs.selectedPlane == ReferencePlane::YZ)
pos = {p->globalPos[1]+ p->body.getPos()[1], p->globalPos[2]+ p->body.getPos()[2]};
if (dist(pos,mouseBP.position) < 20){
gs.selected = i;
@@ -128,8 +165,11 @@ void handle(const sf::Event::MouseButtonPressed &mouseBP, State &gs)
gs.rot_Piece = true;
int i = 0;
for (PieceInterface* p : gs.pieces){
sf::Vector2f pos = {p->globalPos[0]+ p->body.getPos()[0], p->globalPos[2]+ p->body.getPos()[2]};
sf::Vector2f pos;
if (gs.selectedPlane == ReferencePlane::XZ)
pos = {p->globalPos[0]+ p->body.getPos()[0], p->globalPos[2]+ p->body.getPos()[2]};
else if (gs.selectedPlane == ReferencePlane::YZ)
pos = {p->globalPos[1]+ p->body.getPos()[1], p->globalPos[2]+ p->body.getPos()[2]};
if (dist(pos,mouseBP.position) < 20){
gs.selected = i;
@@ -140,7 +180,7 @@ void handle(const sf::Event::MouseButtonPressed &mouseBP, State &gs)
}
void handle(const sf::Event::MouseButtonReleased &, State &gs)
void handle_mouseRelease(const sf::Event::MouseButtonReleased &, State &gs)
{
gs.drag = false;
gs.drag_Piece = false;
@@ -148,17 +188,13 @@ void handle(const sf::Event::MouseButtonReleased &, State &gs)
gs.selected = -1;
}
void handle(const sf::Event::Resized &resized, State &gs)
void handle_resize(const sf::Event::Resized &resized, State &gs)
{
sf::FloatRect visibleArea({0.f, 0.f}, sf::Vector2f(resized.size));
gs.window.setView(sf::View(visibleArea));
}
template <typename T>
void handle(const T &, State &gs)
{
// All unhandled events will end up here
}
///
////////////////////////////////////////////////////////////
@@ -169,18 +205,88 @@ void doGUI(State &gs)
{
// TODO: here code to display the menus
//Bottoni
sf::Time elapsed = gs.clock.restart();
unsigned int zero = 0;
ImGui::SFML::Update(gs.window, elapsed);
ImGui::ShowDemoWindow();
//Finestra gestione posizione nei dati
ImGuiWindowFlags sdp_flags = ImGuiWindowFlags_NoMove|
ImGuiWindowFlags_NoResize|
ImGuiWindowFlags_NoScrollbar|
ImGuiWindowFlags_NoCollapse|
ImGuiWindowFlags_NoTitleBar;
ImGui::Begin("Set data position", 0,sdp_flags);
ImGui::SetNextItemWidth(ImGui::GetContentRegionAvail().x * 0.3);
ImGui::SliderScalar("Start", ImGuiDataType_U32 ,gs.intervalMinLimit,&zero,gs.intervalMajLimit);
ImGui::SameLine();
ImGui::SetNextItemWidth(ImGui::GetContentRegionAvail().x * 0.5);
if (ImGui::SliderScalar("Pos", ImGuiDataType_U32 ,gs.pos,gs.intervalMinLimit,gs.intervalMajLimit)){
gs.play = false;
}
ImGui::SameLine();
ImGui::SetNextItemWidth(ImGui::GetContentRegionAvail().x * 0.8);
ImGui::SliderScalar("End", ImGuiDataType_U32 ,gs.intervalMajLimit,gs.intervalMinLimit,&gs.maxEntries);
bool red = false;
if (!gs.play){
ImGui::PushStyleColor(ImGuiCol_Button, ImVec4(1,0,0,1));
red = true;
}
ImGui::SameLine();
if (ImGui::ArrowButton("Play", ImGuiDir_Right)){
gs.play = !gs.play;
}
if (red) ImGui::PopStyleColor();
ImGui::End();
//Finestra gestione piano visualizzazione
ImGui::Begin("Set visualization plane",0,sdp_flags);
const char* MyEnumNames[] = { "XZ", "YZ", "-XZ" };
int currentPlane = (int)gs.selectedPlane;
ImGui::SliderInt("Selected Plane", &currentPlane,0,2,MyEnumNames[currentPlane]);
gs.selectedPlane = (ReferencePlane)currentPlane;
ImGui::End();
sf::Vector2u wsize = gs.window.getSize();
ImGui::SetWindowPos("Set data position",ImVec2(0,wsize.y - 30));
ImGui::SetWindowSize("Set data position",ImVec2(wsize.x,30));
ImGui::SetWindowPos("Set visualization plane",ImVec2(wsize.x-400,0));
ImGui::SetWindowSize("Set visualization plane",ImVec2(400,30));
ImGui::SFML::Render(gs.window);
}
void doGraphics(State &gs)
{
gs.window.clear();
doGUI(gs);
for(PieceInterface* p: gs.pieces){
gs.window.draw(*p->draw(gs.selectedPlane));
}
while (const std::optional event = gs.window.pollEvent()) {
ImGui::SFML::ProcessEvent(gs.window, *event);
if (event->is<sf::Event::Closed>())
handle_close (gs);
if (const auto* resized = event->getIf<sf::Event::Resized>())
handle_resize (*resized, gs);
if (const auto* pressed = event->getIf<sf::Event::KeyPressed>())
handle_keyPressed (*pressed, gs);
if (const auto* moved = event->getIf<sf::Event::MouseMoved>())
handle_mouseMove (*moved, gs);
if (const auto* mpressed = event->getIf<sf::Event::MouseButtonPressed>())
handle_mousePressed (*mpressed, gs);
if (const auto* mreleased = event->getIf<sf::Event::MouseButtonReleased>())
handle_mouseRelease (*mreleased, gs);
}
doGUI(gs);
// TODO: add here code to display shapes in your canvas
gs.window.display();
+32 -14
View File
@@ -28,40 +28,47 @@ int main() {
std::cerr << "Error: " << e.what() << std::endl;
}
// inizializzo variabili per gestire l'intervallo di visualizzazione
unsigned int min = 0;
unsigned int pos = 0;
unsigned int maj = 100;
//Costruisco la GUI
State gs(800, 600, "Visualizzatore passo");
gs.window.setFramerateLimit(60);
State gs(800, 600, "Visualizzatore passo",&maj,&min,&pos);
gs.window.setFramerateLimit(70);
printf("Costruisco gli oggetti\n");
try{
processor.readCSVFile (DATA_PATH + "coscia_filt.csv");
const auto& coscia = processor.getData();
gs.setIntervall(coscia.size());
gs.pieces.push_back(new Coscia (rb::Vector3{300,10,300},2));
gs.pieces.push_back(new Sensore (rb::Vector3{300,300,300},_Float16( 0.2 ),900,3000,coscia));
gs.pieces.push_back(new Caviglia (rb::Vector3{300,10,500},1));
gs.pieces.push_back(new Coscia (rb::Vector3{300,300,300},2));
gs.pieces.push_back(new Sensore (rb::Vector3{300,300,300},_Float16( 0.2 ),&pos,coscia));
gs.pieces.push_back(new Caviglia (rb::Vector3{300,300,500},1));
gs.pieces[1]->body.setRot({0,0,0});
processor.readCSVFile(DATA_PATH + "caviglia_filt.csv");
const auto& caviglia = processor.getData();
gs.pieces.push_back(new Sensore (rb::Vector3{300,700,500},_Float16( 0.2 ),900,3000,caviglia));
gs.pieces.push_back(new Sensore (rb::Vector3{300,300,500},_Float16( 0.2 ),&pos,caviglia));
gs.pieces.push_back(new Torso(rb::Vector3{300,400,150},2));
// modifico la rotazione relativa della gamba
gs.pieces[1]->body.setRot({0,0,_Float16 (1.6)});
gs.pieces[3]->body.setRot({0,0,_Float16 (1.7)});
gs.pieces[1]->body.setRot({_Float16 (1.3),_Float16 (1.7),0});
gs.pieces[3]->body.setRot({_Float16 (1.8),_Float16 (1.7),0});
// aggiungo i joint
gs.joints.push_back(new PivotJoint(gs.pieces[4], {gs.pieces[1]}, rb::Vector3{0,-100,50}));
gs.joints.push_back(new RigidJoint(gs.pieces[1], {gs.pieces[0]}));
gs.joints.push_back(new PivotJoint(gs.pieces[1], {gs.pieces[3]}, rb::Vector3{0,0,100}));
gs.joints.push_back(new RigidJoint(gs.pieces[3], {gs.pieces[2]}));
gs.joints.push_back(new PivotJoint(gs.pieces[4], {gs.pieces[1]}, rb::Vector3{0,0,50}));
printf("Ho costruito tutto!\n");
@@ -70,13 +77,24 @@ int main() {
printf("%s\n",e);
}
printf("Avvio l'interfaccia grafica\n");
unsigned int curTime = 0;
unsigned int freq = 50;
const unsigned int T = 1000/freq; //i sensori hanno una freq di campionamento di 50hz
//Avvio il loop della GUI
gs.clock.start();
sf::Clock mainClock;
while (gs.window.isOpen())
{
// event loop and handler through callbacks
gs.window.handleEvents([&](const auto &event)
{ handle(event, gs); });
curTime += mainClock.restart().asMilliseconds();
if (curTime > T){
if (gs.play && pos+curTime/T < maj) pos += curTime / T;
curTime = 0;
}
// Show update
gs.update();
doGraphics(gs);