CPU reference solver for droplets moving over static, rigid or deforming surfaces. 更多...
#include <SurfaceDropletSimulation.h>
Public 成员函数 | |
| SurfaceDropletSimulation (FluidSurfaceBinding *binding, const SurfaceDropletParams ¶ms={}, SurfaceWetnessField *wetness=nullptr) | |
| Surface droplet simulation. | |
| bool | addDroplet (const SurfaceLocation &location, float volume=1.f, const glm::vec3 &relativeVelocity=glm::vec3(0.f)) |
| Add one bound droplet. Invalid locations are rejected. | |
| void | step (float dt) |
| Advance all bound droplets and rebuild the detached event list. | |
| const std::vector< SurfaceDroplet > & | droplets () const |
| Droplets. | |
| const std::vector< DetachedDroplet > & | detachedDroplets () const |
| Detached droplets. | |
| const std::vector< AirborneDroplet > & | airborneDroplets () const |
| Airborne droplets. | |
| float | dropletRadius (float volume) const |
| Droplet radius. | |
| SurfaceDropletParams & | params () |
| Params. | |
| const SurfaceDropletParams & | params () const |
| Params. | |
| void | clear () |
| Remove attached droplets and pending detach events. | |
详细描述
CPU reference solver for droplets moving over static, rigid or deforming surfaces.
The binding owns topology and poses; this solver owns only material-space droplet addresses. It applies gravity relative to surface acceleration, transports droplets across triangle adjacency, and emits world-space states at open edges or when the outward acceleration exceeds adhesion.
在文件 SurfaceDropletSimulation.h 第 72 行定义.
构造及析构函数说明
◆ SurfaceDropletSimulation()
|
explicit |
Surface droplet simulation.
- 参数
-
binding dynamic surface; it must outlive this solver.
在文件 SurfaceDropletSimulation.cpp 第 10 行定义.
成员函数说明
◆ addDroplet()
| bool eve::fluids::SurfaceDropletSimulation::addDroplet | ( | const SurfaceLocation & | location, |
| float | volume = 1.f, |
||
| const glm::vec3 & | relativeVelocity = glm::vec3(0.f) |
||
| ) |
Add one bound droplet. Invalid locations are rejected.
在文件 SurfaceDropletSimulation.cpp 第 25 行定义.
引用了 eve::fluids::FluidSurfaceBinding::evaluate(), eve::fluids::SurfaceDroplet::id, eve::fluids::FluidSurfaceBinding::isValid(), eve::fluids::SurfaceDroplet::location, eve::fluids::SurfaceDroplet::relativeVelocity, eve::fluids::SurfaceLocation::triangle, eve::fluids::FluidSurfaceBinding::triangleCount(), volume , 以及 eve::fluids::SurfaceDroplet::volume.
◆ airborneDroplets()
|
inline |
Airborne droplets.
- 返回
- droplets currently travelling through world space.
在文件 SurfaceDropletSimulation.h 第 97 行定义.
◆ clear()
| void eve::fluids::SurfaceDropletSimulation::clear | ( | ) |
Remove attached droplets and pending detach events.
在文件 SurfaceDropletSimulation.cpp 第 148 行定义.
◆ detachedDroplets()
|
inline |
Detached droplets.
- 返回
- droplets detached during the most recent step.
在文件 SurfaceDropletSimulation.h 第 93 行定义.
◆ dropletRadius()
| float eve::fluids::SurfaceDropletSimulation::dropletRadius | ( | float | volume | ) | const |
Droplet radius.
- 返回
- spherical-cap base radius derived from volume and contact angle.
在文件 SurfaceDropletSimulation.cpp 第 15 行定义.
引用了 eve::fluids::SurfaceDropletParams::contactAngleDegrees , 以及 volume.
◆ droplets()
|
inline |
◆ params() [1/2]
|
inline |
Params.
- 返回
- mutable solver parameters.
在文件 SurfaceDropletSimulation.h 第 105 行定义.
被这些函数引用 eve::fluids_editing::SurfaceFluidRuntimeApplier::apply() , 以及 eve::fluids::SurfaceFluidRenderData::update().
◆ params() [2/2]
|
inline |
◆ step()
| void eve::fluids::SurfaceDropletSimulation::step | ( | float | dt | ) |
Advance all bound droplets and rebuild the detached event list.
在文件 SurfaceDropletSimulation.cpp 第 40 行定义.
该类的文档由以下文件生成:
- src/modules/fluids/SurfaceDropletSimulation.h
- src/modules/fluids/SurfaceDropletSimulation.cpp