载入中...
搜索中...
未找到
VolumeFluidCoupling.h
浏览该文件的文档.
1#pragma once
2
3#include <memory>
4#include <span>
5#include "common/Export.h"
6#include "common/Result.h"
7
8namespace eve::physics {
9class Body3D;
10class World3D;
11} // namespace eve::physics
12namespace eve::fluids {
13class VolumeFluid;
14struct VolumeFluidCollider;
15struct VolumeFluidThermalRule;
16
26public:
34 [[nodiscard]] Result<void> attach(physics::Body3D& body, const VolumeFluidCollider& localShape);
36 void detach(unsigned label);
44 [[nodiscard]] Result<void> setImpulseLimits(float maximumLinearDelta, float maximumAngularDelta);
46 [[nodiscard]] unsigned lastClampedBodyCount() const;
62 [[nodiscard]] Result<unsigned> step(physics::World3D& world, VolumeFluid& fluid, float dt, unsigned substeps = 4,
63 std::span<const VolumeFluidThermalRule> rules = {});
64
65private:
66 struct Impl;
67 std::unique_ptr<Impl> impl_;
68};
69} // namespace eve::fluids
std::string label
#define EVENGINE_API_DOMAINS
Definition Export.h:110
World3D * world
Move-only, checked operation results for the common layer.
float step
Definition TreeMesh.cpp:314
std::string body
Move-only operation result carrying either a value or Status.
Definition Result.h:155
Process-local generation-checked bridge between fluid samples and rigid bodies. @ownership Owns local...
VolumeFluidCoupling(const VolumeFluidCoupling &)=delete
VolumeFluidCoupling & operator=(const VolumeFluidCoupling &)=delete
~VolumeFluidCoupling()
Volume fluid coupling.
CPU position-based free-volume fluid with a bounded spatial grid. @ownership Owns all particle state;...
3D rigid body (Box3D) in meter-space coordinates (+Y up by convention). Owned by a World3D; create pr...
Definition Body3D.h:24
Box3D rigid-body world. Script coordinates are meters (Box3D native), unlike 2D World which uses pixe...
Definition World3D.h:63
GLSL compute kernels for the GPU surface-flow solver.
Definition FluidTarget.h:12
Optional physics backend for vehicle mobility and body attach.
Definition Climbing.h:36
Owned obstacle sample; the caller updates moving obstacles before stepping.