need to clean up some fluidsim stuff

This commit is contained in:
yggdrasil75
2026-02-07 08:30:04 -05:00
parent d6d4a30798
commit 02361effc5
2 changed files with 23 additions and 13 deletions

View File

@@ -1,5 +1,17 @@
#ifndef FLUIDSIM_CPP
#define FLUIDSIM_CPP
#include "../util/sim/fluidsim.hpp" #include "../util/sim/fluidsim.hpp"
#include "../util/timing_decorator.cpp" #include "../util/timing_decorator.cpp"
#include "../util/output/bmpwriter.hpp"
#include "../util/output/aviwriter.hpp"
#include "../imgui/imgui.h"
#include "../imgui/backends/imgui_impl_glfw.h"
#include "../imgui/backends/imgui_impl_opengl3.h"
#include <GLFW/glfw3.h>
#include "../stb/stb_image.h"
int main() { int main() {
fluidSim sim; fluidSim sim;
@@ -83,4 +95,6 @@ int main() {
std::cout << "Simulation Complete." << std::endl; std::cout << "Simulation Complete." << std::endl;
FunctionTimer::printStats(FunctionTimer::Mode::ENHANCED); FunctionTimer::printStats(FunctionTimer::Mode::ENHANCED);
return 0; return 0;
} }
#endif

View File

@@ -1,3 +1,6 @@
#ifndef FLUIDSIM_HPP
#define FLUIDSIM_HPP
#include <map> #include <map>
#include <iostream> #include <iostream>
#include <vector> #include <vector>
@@ -10,17 +13,7 @@
#include <algorithm> #include <algorithm>
#include "../util/grid/grid3eigen.hpp" #include "../util/grid/grid3eigen.hpp"
#include "../util/output/bmpwriter.hpp"
#include "../util/output/frame.hpp" #include "../util/output/frame.hpp"
#include "../util/noise/pnoise2.hpp"
#include "../util/noise/pnoise.cpp"
#include "../util/output/aviwriter.hpp"
#include "../imgui/imgui.h"
#include "../imgui/backends/imgui_impl_glfw.h"
#include "../imgui/backends/imgui_impl_opengl3.h"
#include <GLFW/glfw3.h>
#include "../stb/stb_image.h"
struct fluidParticle { struct fluidParticle {
Eigen::Matrix<float, 3, 1> velocity; Eigen::Matrix<float, 3, 1> velocity;
@@ -173,11 +166,11 @@ class fluidSim {
private: private:
std::unordered_map<size_t, Eigen::Matrix<float, 3, 1>> idposMap; std::unordered_map<size_t, Eigen::Matrix<float, 3, 1>> idposMap;
float newMass = 1000; float newMass = 1000;
gridConfig config;
int nextObjectId = 0; int nextObjectId = 0;
std::map<float, Eigen::Vector3f> gradientmap; std::map<float, Eigen::Vector3f> gradientmap;
float closeThresh = 0.01f * config.SMOOTHING_RADIUS;
public: public:
gridConfig config;
float closeThresh = 0.01f * config.SMOOTHING_RADIUS;
Octree<fluidParticle> grid; Octree<fluidParticle> grid;
fluidSim() : grid({-config.gridSizeCube, -config.gridSizeCube, -config.gridSizeCube}, {config.gridSizeCube, config.gridSizeCube, config.gridSizeCube}) { fluidSim() : grid({-config.gridSizeCube, -config.gridSizeCube, -config.gridSizeCube}, {config.gridSizeCube, config.gridSizeCube, config.gridSizeCube}) {
@@ -359,3 +352,6 @@ public:
replaceLost(); replaceLost();
} }
}; };
#endif