载入中...
搜索中...
未找到
VolumeFluidFoam.cpp
浏览该文件的文档.
17 return Status::failure(Diagnostic::error(DiagnosticCode::InvalidArgument, message, "fluids.volume.foam"));
36Result<unsigned> VolumeFluidFoam::advance(const VolumeFluid& source, VolumeFluidDiffuse& pool, float seconds) {
40Result<unsigned> VolumeFluidFoam::advanceFromActor(const VolumeFluid& source, VolumeFluidDiffuse& pool, float seconds,
50Result<unsigned> VolumeFluidFoam::advanceFiltered(const VolumeFluid& source, VolumeFluidDiffuse& pool, float seconds,
102 {positionScratch_[at] + jitter(rng, settings_.randomness), field.velocity, settings_.lifetime});
128 !range(s.vorticityThreshold, 0.f, 1000000.f) || !range(s.densityThreshold, 0.f, 1000000000.f) ||
static Diagnostic error(DiagnosticCode code, std::string message, std::string path={}, DiagnosticDetails details={}, std::string source={})
Construct an error diagnostic with the standard error severity.
Definition Diagnostic.h:125
static Result failure(Status status)
Construct a failed result from a structured status.
Definition Result.h:175
static Status failure(StatusCode code, Diagnostic diagnostic)
Construct a failed status with one diagnostic.
Definition Status.h:84
Bounded, one-way fluid-advected secondary particle pool. @ownership Owns particles and capacity; no f...
Definition VolumeFluidDiffuse.h:38
Result< void > emit(std::span< const VolumeFluidDiffuseParticle > particles)
Admits an entire batch or fails without mutation; finite speed must be <=100 m/s.
Definition VolumeFluidDiffuse.cpp:14
unsigned availableCapacity() const
Returns remaining admission capacity without allocating.
Definition VolumeFluidDiffuse.cpp:69
Result< unsigned > advanceFromActor(const VolumeFluid &source, VolumeFluidDiffuse &pool, float seconds, unsigned actorGroup)
Emits only from particles owned by one emitter actor group.
Definition VolumeFluidFoam.cpp:40
Result< void > restore(const VolumeFluidFoamSnapshot &state)
Validates all settings/schema/credit/RNG before atomic replacement.
Definition VolumeFluidFoam.cpp:120
Result< unsigned > advanceFromActorInterpolated(const VolumeFluid &source, VolumeFluidDiffuse &pool, float seconds, unsigned actorGroup, float alpha)
Emits from one actor using fixed-step interpolated source positions.
Definition VolumeFluidFoam.cpp:45
Result< unsigned > advance(const VolumeFluid &source, VolumeFluidDiffuse &pool, float seconds)
Emits after the caller steps the source and advects existing diffuse particles.
Definition VolumeFluidFoam.cpp:36
VolumeFluidFoamSnapshot snapshot() const
Copies owning settings, fractional credit and isolated RNG state.
Definition VolumeFluidFoam.cpp:113
CPU position-based free-volume fluid with a bounded spatial grid. @ownership Owns all particle state;...
Definition VolumeFluid.h:517
constexpr HexDirection next(HexDirection d) noexcept
The next direction clockwise (NW wraps to NE).
Definition HexMetrics.h:76
const EditorValue * field(const EditorValue &value, const char *name)
Definition RoadNetworkEditTarget.cpp:15
@ InvalidArgument
float densityThreshold
Definition VolumeFluidFoam.h:17
float vorticityThreshold
Definition VolumeFluidFoam.h:16
Owning strict version-1 foam controller state; checkpoint the diffuse pool separately.
Definition VolumeFluidFoam.h:22