From 7d094fe719923db5eb6b30edcc4fa01c6ce2cc2e Mon Sep 17 00:00:00 2001 From: "Claudius \"keldu\" Holeksa" Date: Fri, 7 Aug 2026 12:34:22 +0200 Subject: Cleaning up code --- modules/core/c++/particle/cuboid/aabb.hpp | 40 +++++++++++++++++++++++++++ modules/core/c++/particle/cuboid/common.hpp | 10 +++++++ modules/core/c++/particle/cuboid/particle.hpp | 9 ++++++ modules/core/c++/particle/cuboid/porosity.hpp | 10 +++++++ 4 files changed, 69 insertions(+) create mode 100644 modules/core/c++/particle/cuboid/aabb.hpp create mode 100644 modules/core/c++/particle/cuboid/common.hpp create mode 100644 modules/core/c++/particle/cuboid/particle.hpp create mode 100644 modules/core/c++/particle/cuboid/porosity.hpp (limited to 'modules/core/c++/particle/cuboid') diff --git a/modules/core/c++/particle/cuboid/aabb.hpp b/modules/core/c++/particle/cuboid/aabb.hpp new file mode 100644 index 0000000..502132a --- /dev/null +++ b/modules/core/c++/particle/cuboid/aabb.hpp @@ -0,0 +1,40 @@ +#pragma once + +#include "common.hpp" +#include "../aabb.hpp" + +namespace kel { +namespace lbm { + +template +class particle_aabb< + sch::ParticleGroup> +> final { +public: + using Schema = sch::ParticleGroup>; + + using AABB = sch::Struct< + sch::Member, "a">, + sch::Member, "b"> + >; + +public: + template + static constexpr saw::error_or> calculate(const saw::data& pg, const saw::data>& index, const saw::data>& meta){ + static_assert(PC > 0u, "Can't calculate from no particle"); + if(not (index.at({0u}).get() < PC)){ + return saw::make_error("Too large i in particle_aabb coll::Cuboid"); + } + + saw::data aabb; + auto& parts = pg.template get<"particles">(); + auto& pi = parts.at(index); + auto& pirb = pi.template get<"rigid_body">(); + + /// TODO + + return aabb; + } +}; +} +} diff --git a/modules/core/c++/particle/cuboid/common.hpp b/modules/core/c++/particle/cuboid/common.hpp new file mode 100644 index 0000000..a859cbe --- /dev/null +++ b/modules/core/c++/particle/cuboid/common.hpp @@ -0,0 +1,10 @@ +#pragma once + +namespace kel { +namespace lbm { +namespace coll { +template +struct Cuboid {}; +} +} +} diff --git a/modules/core/c++/particle/cuboid/particle.hpp b/modules/core/c++/particle/cuboid/particle.hpp new file mode 100644 index 0000000..e19d543 --- /dev/null +++ b/modules/core/c++/particle/cuboid/particle.hpp @@ -0,0 +1,9 @@ +#pragma once + +#include "common.hpp" +#include "porosity.hpp" + +namespace kel { +namespace lbm { +} +} diff --git a/modules/core/c++/particle/cuboid/porosity.hpp b/modules/core/c++/particle/cuboid/porosity.hpp new file mode 100644 index 0000000..bccfebf --- /dev/null +++ b/modules/core/c++/particle/cuboid/porosity.hpp @@ -0,0 +1,10 @@ +#pragma once + +#include "common.hpp" +#include "../porosity.hpp" + +namespace kel { +namespace lbm { + +} +} -- cgit v1.2.3