diff --git a/vtk/.gitignore b/particle-track-and-trace/.gitignore similarity index 100% rename from vtk/.gitignore rename to particle-track-and-trace/.gitignore diff --git a/vtk/README.md b/particle-track-and-trace/README.md similarity index 98% rename from vtk/README.md rename to particle-track-and-trace/README.md index 8f87e04..188a816 100644 --- a/vtk/README.md +++ b/particle-track-and-trace/README.md @@ -19,7 +19,7 @@ data/ hydrodynamic_U.h5 hydrodynamic_V.h5 interactive-track-and-trace/ - opening-hdf5/ + particle-track-and-trace/ ... ``` diff --git a/vtk/src/CMakeLists.txt b/particle-track-and-trace/src/CMakeLists.txt similarity index 69% rename from vtk/src/CMakeLists.txt rename to particle-track-and-trace/src/CMakeLists.txt index 1c34e0f..d08133f 100644 --- a/vtk/src/CMakeLists.txt +++ b/particle-track-and-trace/src/CMakeLists.txt @@ -1,6 +1,6 @@ cmake_minimum_required(VERSION 3.12 FATAL_ERROR) -project(VtkBase) +project(ParticleTrackTrace) set(CMAKE_CXX_STANDARD 23) set(CMAKE_CXX_STANDARD_REQUIRED ON) @@ -36,24 +36,23 @@ endif() # netcdf setup find_package(netCDF REQUIRED) -add_executable(VtkBase MACOSX_BUNDLE main.cpp - CartographicTransformation.cpp - commands/CameraMoveCallback.cpp - commands/CameraMoveCallback.h - commands/SpawnPointCallback.cpp - commands/SpawnPointCallback.h - commands/TimerCallbackCommand.cpp - commands/TimerCallbackCommand.h - layers/BackgroundImage.cpp - layers/BackgroundImage.h - layers/EGlyphLayer.cpp - layers/EGlyphLayer.h - layers/Layer.cpp - layers/Layer.h - layers/LGlyphLayer.cpp - layers/LGlyphLayer.h - Program.cpp - Program.h +add_executable(ParticleTrackTrace MACOSX_BUNDLE main.cpp + layers/BackgroundImage.cpp + layers/BackgroundImage.h + layers/EGlyphLayer.cpp + layers/EGlyphLayer.h + layers/Layer.cpp + layers/Layer.h + layers/LGlyphLayer.cpp + layers/LGlyphLayer.h + Program.cpp + Program.h + commands/TimerCallbackCommand.h + commands/TimerCallbackCommand.cpp + commands/SpawnPointCallback.h + commands/SpawnPointCallback.cpp + commands/CameraMoveCallback.cpp + commands/CameraMoveCallback.h CartographicTransformation.cpp advection/AdvectionKernel.h advection/EulerAdvectionKernel.cpp @@ -82,16 +81,16 @@ execute_process( OUTPUT_STRIP_TRAILING_WHITESPACE ) -target_include_directories(VtkBase PUBLIC ${netCDF_INCLUDE_DIR}) +target_include_directories(ParticleTrackTrace PUBLIC ${netCDF_INCLUDE_DIR}) find_library(NETCDF_LIB NAMES netcdf-cxx4 netcdf_c++4 PATHS ${NETCDFCXX_LIB_DIR} NO_DEFAULT_PATH) # Prevent a "command line is too long" failure in Windows. set(CMAKE_NINJA_FORCE_RESPONSE_FILE "ON" CACHE BOOL "Force Ninja to use response files.") -target_link_libraries(VtkBase ${NETCDF_LIB} ${VTK_LIBRARIES}) +target_link_libraries(ParticleTrackTrace ${NETCDF_LIB} ${VTK_LIBRARIES}) # vtk_module_autoinit is needed vtk_module_autoinit( - TARGETS VtkBase + TARGETS ParticleTrackTrace MODULES ${VTK_LIBRARIES} ) diff --git a/vtk/src/CartographicTransformation.cpp b/particle-track-and-trace/src/CartographicTransformation.cpp similarity index 100% rename from vtk/src/CartographicTransformation.cpp rename to particle-track-and-trace/src/CartographicTransformation.cpp diff --git a/vtk/src/CartographicTransformation.h b/particle-track-and-trace/src/CartographicTransformation.h similarity index 87% rename from vtk/src/CartographicTransformation.h rename to particle-track-and-trace/src/CartographicTransformation.h index 334cfb4..e59be8d 100644 --- a/vtk/src/CartographicTransformation.h +++ b/particle-track-and-trace/src/CartographicTransformation.h @@ -1,12 +1,11 @@ +#ifndef NORMALISEDCARTOGRAPHICCAMERA_H +#define NORMALISEDCARTOGRAPHICCAMERA_H + #include #include #include #include "advection/UVGrid.h" -#ifndef VTKBASE_NORMALISEDCARTOGRAPHICCAMERA_H -#define VTKBASE_NORMALISEDCARTOGRAPHICCAMERA_H - -#endif //VTKBASE_NORMALISEDCARTOGRAPHICCAMERA_H /** * Constructs a orthographically projected camera that looks at the square x,y in [-1, 1] with z = 0 and w = 1. @@ -29,3 +28,4 @@ vtkSmartPointer getCartographicTransformMatrix(const std::shared_p * @return pointer to transform filter */ vtkSmartPointer createCartographicTransformFilter(const std::shared_ptr uvGrid); +#endif //NORMALISEDCARTOGRAPHICCAMERA_H diff --git a/vtk/src/Program.cpp b/particle-track-and-trace/src/Program.cpp similarity index 100% rename from vtk/src/Program.cpp rename to particle-track-and-trace/src/Program.cpp diff --git a/vtk/src/Program.h b/particle-track-and-trace/src/Program.h similarity index 100% rename from vtk/src/Program.h rename to particle-track-and-trace/src/Program.h diff --git a/vtk/src/advection/AdvectionKernel.h b/particle-track-and-trace/src/advection/AdvectionKernel.h similarity index 90% rename from vtk/src/advection/AdvectionKernel.h rename to particle-track-and-trace/src/advection/AdvectionKernel.h index 3515e6c..5479858 100644 --- a/vtk/src/advection/AdvectionKernel.h +++ b/particle-track-and-trace/src/advection/AdvectionKernel.h @@ -1,5 +1,5 @@ -#ifndef ADVECTION_ADVECTIONKERNEL_H -#define ADVECTION_ADVECTIONKERNEL_H +#ifndef ADVECTIONKERNEL_H +#define ADVECTIONKERNEL_H #include @@ -28,4 +28,4 @@ public: virtual ~AdvectionKernel() = default; // Apparently I need this, idk why }; -#endif //ADVECTION_ADVECTIONKERNEL_H +#endif //ADVECTIONKERNEL_H diff --git a/vtk/src/advection/EulerAdvectionKernel.cpp b/particle-track-and-trace/src/advection/EulerAdvectionKernel.cpp similarity index 100% rename from vtk/src/advection/EulerAdvectionKernel.cpp rename to particle-track-and-trace/src/advection/EulerAdvectionKernel.cpp diff --git a/vtk/src/advection/EulerAdvectionKernel.h b/particle-track-and-trace/src/advection/EulerAdvectionKernel.h similarity index 81% rename from vtk/src/advection/EulerAdvectionKernel.h rename to particle-track-and-trace/src/advection/EulerAdvectionKernel.h index df3d3d8..a098a06 100644 --- a/vtk/src/advection/EulerAdvectionKernel.h +++ b/particle-track-and-trace/src/advection/EulerAdvectionKernel.h @@ -1,5 +1,5 @@ -#ifndef ADVECTION_EULERADVECTIONKERNEL_H -#define ADVECTION_EULERADVECTIONKERNEL_H +#ifndef EULERADVECTIONKERNEL_H +#define EULERADVECTIONKERNEL_H #include "AdvectionKernel.h" #include "UVGrid.h" @@ -23,4 +23,4 @@ public: }; -#endif //ADVECTION_EULERADVECTIONKERNEL_H +#endif //EULERADVECTIONKERNEL_H diff --git a/vtk/src/advection/RK4AdvectionKernel.cpp b/particle-track-and-trace/src/advection/RK4AdvectionKernel.cpp similarity index 100% rename from vtk/src/advection/RK4AdvectionKernel.cpp rename to particle-track-and-trace/src/advection/RK4AdvectionKernel.cpp diff --git a/vtk/src/advection/RK4AdvectionKernel.h b/particle-track-and-trace/src/advection/RK4AdvectionKernel.h similarity index 82% rename from vtk/src/advection/RK4AdvectionKernel.h rename to particle-track-and-trace/src/advection/RK4AdvectionKernel.h index af44cdd..94668ce 100644 --- a/vtk/src/advection/RK4AdvectionKernel.h +++ b/particle-track-and-trace/src/advection/RK4AdvectionKernel.h @@ -1,5 +1,5 @@ -#ifndef ADVECTION_RK4ADVECTIONKERNEL_H -#define ADVECTION_RK4ADVECTIONKERNEL_H +#ifndef RK4ADVECTIONKERNEL_H +#define RK4ADVECTIONKERNEL_H #include "AdvectionKernel.h" #include "UVGrid.h" @@ -20,4 +20,4 @@ public: }; -#endif //ADVECTION_RK4ADVECTIONKERNEL_H +#endif //RK4ADVECTIONKERNEL_H diff --git a/vtk/src/advection/UVGrid.cpp b/particle-track-and-trace/src/advection/UVGrid.cpp similarity index 100% rename from vtk/src/advection/UVGrid.cpp rename to particle-track-and-trace/src/advection/UVGrid.cpp diff --git a/vtk/src/advection/UVGrid.h b/particle-track-and-trace/src/advection/UVGrid.h similarity index 95% rename from vtk/src/advection/UVGrid.h rename to particle-track-and-trace/src/advection/UVGrid.h index f068ea9..221363f 100644 --- a/vtk/src/advection/UVGrid.h +++ b/particle-track-and-trace/src/advection/UVGrid.h @@ -1,5 +1,5 @@ -#ifndef ADVECTION_UVGRID_H -#define ADVECTION_UVGRID_H +#ifndef UVGRID_H +#define UVGRID_H #include #include "Vel.h" @@ -62,4 +62,4 @@ public: void streamSlice(std::ostream &os, size_t t); }; -#endif //ADVECTION_UVGRID_H +#endif //UVGRID_H diff --git a/vtk/src/advection/Vel.cpp b/particle-track-and-trace/src/advection/Vel.cpp similarity index 100% rename from vtk/src/advection/Vel.cpp rename to particle-track-and-trace/src/advection/Vel.cpp diff --git a/vtk/src/advection/Vel.h b/particle-track-and-trace/src/advection/Vel.h similarity index 94% rename from vtk/src/advection/Vel.h rename to particle-track-and-trace/src/advection/Vel.h index 74d62cd..2adb193 100644 --- a/vtk/src/advection/Vel.h +++ b/particle-track-and-trace/src/advection/Vel.h @@ -1,5 +1,5 @@ -#ifndef ADVECTION_VEL_H -#define ADVECTION_VEL_H +#ifndef VEL_H +#define VEL_H #include #include @@ -41,4 +41,4 @@ Vel operator*(Scalar scalar, const Vel& p) { return Vel(p.u * scalar, p.v * scalar); } -#endif //ADVECTION_VEL_H +#endif //VEL_H diff --git a/vtk/src/advection/interpolate.cpp b/particle-track-and-trace/src/advection/interpolate.cpp similarity index 100% rename from vtk/src/advection/interpolate.cpp rename to particle-track-and-trace/src/advection/interpolate.cpp diff --git a/vtk/src/advection/interpolate.h b/particle-track-and-trace/src/advection/interpolate.h similarity index 89% rename from vtk/src/advection/interpolate.h rename to particle-track-and-trace/src/advection/interpolate.h index 80176d5..6318dd8 100644 --- a/vtk/src/advection/interpolate.h +++ b/particle-track-and-trace/src/advection/interpolate.h @@ -1,5 +1,5 @@ -#ifndef ADVECTION_INTERPOLATE_H -#define ADVECTION_INTERPOLATE_H +#ifndef INTERPOLATE_H +#define INTERPOLATE_H #include @@ -25,4 +25,4 @@ Vel bilinearinterpolate(const UVGrid &uvGrid, int time, double lat, double lon); */ std::vector bilinearinterpolation(const UVGrid &uvGrid, std::vector> points); -#endif //ADVECTION_INTERPOLATE_H +#endif //INTERPOLATE_H diff --git a/vtk/src/advection/readdata.cpp b/particle-track-and-trace/src/advection/readdata.cpp similarity index 100% rename from vtk/src/advection/readdata.cpp rename to particle-track-and-trace/src/advection/readdata.cpp diff --git a/vtk/src/advection/readdata.h b/particle-track-and-trace/src/advection/readdata.h similarity index 82% rename from vtk/src/advection/readdata.h rename to particle-track-and-trace/src/advection/readdata.h index 56a3fee..fea3f99 100644 --- a/vtk/src/advection/readdata.h +++ b/particle-track-and-trace/src/advection/readdata.h @@ -1,5 +1,5 @@ -#ifndef ADVECTION_READDATA_H -#define ADVECTION_READDATA_H +#ifndef READDATA_H +#define READDATA_H /** * reads the file hydrodynamic_U.h5 @@ -19,4 +19,4 @@ std::vector readHydrodynamicV(); */ std::tuple, std::vector, std::vector> readGrid(); -#endif //ADVECTION_READDATA_H +#endif //READDATA_H diff --git a/vtk/src/commands/CameraMoveCallback.cpp b/particle-track-and-trace/src/commands/CameraMoveCallback.cpp similarity index 100% rename from vtk/src/commands/CameraMoveCallback.cpp rename to particle-track-and-trace/src/commands/CameraMoveCallback.cpp diff --git a/vtk/src/commands/CameraMoveCallback.h b/particle-track-and-trace/src/commands/CameraMoveCallback.h similarity index 95% rename from vtk/src/commands/CameraMoveCallback.h rename to particle-track-and-trace/src/commands/CameraMoveCallback.h index 13e0553..5a6e519 100644 --- a/vtk/src/commands/CameraMoveCallback.h +++ b/particle-track-and-trace/src/commands/CameraMoveCallback.h @@ -1,5 +1,5 @@ -#ifndef VTKBASE_CAMERAMOVECALLBACK_H -#define VTKBASE_CAMERAMOVECALLBACK_H +#ifndef CAMERAMOVECALLBACK_H +#define CAMERAMOVECALLBACK_H #include diff --git a/vtk/src/commands/SpawnPointCallback.cpp b/particle-track-and-trace/src/commands/SpawnPointCallback.cpp similarity index 100% rename from vtk/src/commands/SpawnPointCallback.cpp rename to particle-track-and-trace/src/commands/SpawnPointCallback.cpp diff --git a/vtk/src/commands/SpawnPointCallback.h b/particle-track-and-trace/src/commands/SpawnPointCallback.h similarity index 88% rename from vtk/src/commands/SpawnPointCallback.h rename to particle-track-and-trace/src/commands/SpawnPointCallback.h index a7dec2e..b7f7682 100644 --- a/vtk/src/commands/SpawnPointCallback.h +++ b/particle-track-and-trace/src/commands/SpawnPointCallback.h @@ -1,5 +1,5 @@ -#ifndef VTKBASE_SPAWNPOINTCALLBACK_H -#define VTKBASE_SPAWNPOINTCALLBACK_H +#ifndef SPAWNPOINTCALLBACK_H +#define SPAWNPOINTCALLBACK_H #include @@ -38,4 +38,4 @@ private: }; -#endif //VTKBASE_SPAWNPOINTCALLBACK_H +#endif //SPAWNPOINTCALLBACK_H diff --git a/vtk/src/commands/TimerCallbackCommand.cpp b/particle-track-and-trace/src/commands/TimerCallbackCommand.cpp similarity index 100% rename from vtk/src/commands/TimerCallbackCommand.cpp rename to particle-track-and-trace/src/commands/TimerCallbackCommand.cpp diff --git a/vtk/src/commands/TimerCallbackCommand.h b/particle-track-and-trace/src/commands/TimerCallbackCommand.h similarity index 100% rename from vtk/src/commands/TimerCallbackCommand.h rename to particle-track-and-trace/src/commands/TimerCallbackCommand.h diff --git a/vtk/src/layers/BackgroundImage.cpp b/particle-track-and-trace/src/layers/BackgroundImage.cpp similarity index 100% rename from vtk/src/layers/BackgroundImage.cpp rename to particle-track-and-trace/src/layers/BackgroundImage.cpp diff --git a/vtk/src/layers/BackgroundImage.h b/particle-track-and-trace/src/layers/BackgroundImage.h similarity index 100% rename from vtk/src/layers/BackgroundImage.h rename to particle-track-and-trace/src/layers/BackgroundImage.h diff --git a/vtk/src/layers/EGlyphLayer.cpp b/particle-track-and-trace/src/layers/EGlyphLayer.cpp similarity index 100% rename from vtk/src/layers/EGlyphLayer.cpp rename to particle-track-and-trace/src/layers/EGlyphLayer.cpp diff --git a/vtk/src/layers/EGlyphLayer.h b/particle-track-and-trace/src/layers/EGlyphLayer.h similarity index 100% rename from vtk/src/layers/EGlyphLayer.h rename to particle-track-and-trace/src/layers/EGlyphLayer.h diff --git a/vtk/src/layers/LGlyphLayer.cpp b/particle-track-and-trace/src/layers/LGlyphLayer.cpp similarity index 99% rename from vtk/src/layers/LGlyphLayer.cpp rename to particle-track-and-trace/src/layers/LGlyphLayer.cpp index 53faf7a..3a4077a 100644 --- a/vtk/src/layers/LGlyphLayer.cpp +++ b/particle-track-and-trace/src/layers/LGlyphLayer.cpp @@ -29,7 +29,6 @@ vtkSmartPointer LGlyphLayer::createSpawnPointCallback() { // Further notes; current thinking is to allow tracking a particle's age by using a scalar array in the VtkPolyData. This would be incremented for every tick/updateData function call. // Another challenge is the concept of beaching; dead particles must not be included in the advect function call (wasted computations), but they should not be outright deleted from the vtkPoints either (we still want to display them). Working Solution: have another array of ints in the vtkPolyData, which tracks for how many calls of UpdateData a given particle has not had its position changed. If this int reaches some treshold (5? 10? 3? needs some testing), exclude the particle from the advect call. -// // TODO: modelling all this in vtkClasses is workable, but ideally i would want to work with a native C++ class. See if this is doable and feasible. LGlyphLayer::LGlyphLayer(std::shared_ptr uvGrid, std::unique_ptr advectionKernel) { diff --git a/vtk/src/layers/LGlyphLayer.h b/particle-track-and-trace/src/layers/LGlyphLayer.h similarity index 100% rename from vtk/src/layers/LGlyphLayer.h rename to particle-track-and-trace/src/layers/LGlyphLayer.h diff --git a/vtk/src/layers/Layer.cpp b/particle-track-and-trace/src/layers/Layer.cpp similarity index 100% rename from vtk/src/layers/Layer.cpp rename to particle-track-and-trace/src/layers/Layer.cpp diff --git a/vtk/src/layers/Layer.h b/particle-track-and-trace/src/layers/Layer.h similarity index 100% rename from vtk/src/layers/Layer.h rename to particle-track-and-trace/src/layers/Layer.h diff --git a/vtk/src/main.cpp b/particle-track-and-trace/src/main.cpp similarity index 100% rename from vtk/src/main.cpp rename to particle-track-and-trace/src/main.cpp diff --git a/vtk/src/modules.json b/particle-track-and-trace/src/modules.json similarity index 100% rename from vtk/src/modules.json rename to particle-track-and-trace/src/modules.json diff --git a/vtk/src/script.py b/particle-track-and-trace/src/script.py similarity index 100% rename from vtk/src/script.py rename to particle-track-and-trace/src/script.py