31 class RenderFieldGetter {
33 using Tscal = shambase::VecComponent<Tvec>;
34 static constexpr u32 dim = shambase::VectorProperties<Tvec>::dimension;
35 using Kernel = SPHKernel<Tscal>;
41 Config &solver_config;
44 RenderFieldGetter(
ShamrockCtx &context, Config &solver_config, Storage &storage)
45 : context(context), solver_config(solver_config), storage(storage) {}
51 = std::function<sham::DeviceBuffer<Tfield>(std::function<field_getter_t>)>;
54 std::string field_name,
57 custom_getter = std::nullopt);
60 std::string field_name,
64 custom_getter = std::nullopt);
T & get_check_ref(const std::unique_ptr< T > &ptr, SourceLocation loc=SourceLocation())
Takes a std::unique_ptr and returns a reference to the object it holds. It throws a std::runtime_erro...