载入中...
搜索中...
未找到
eve::fluids::VolumeFluidFoam类 参考final

Generates secondary particles at high-curl, low-density fluid source positions. @ownership Owns settings, credit and RNG only; neither source nor pool is retained. @thread Simulation-thread affine, including snapshot/restore; no concurrent calls. @reentrancy No callbacks or script invocation. No global time or RNG access. 更多...

#include <VolumeFluidFoam.h>

Public 成员函数

Result< unsigned > advance (const VolumeFluid &source, VolumeFluidDiffuse &pool, float seconds)
 Emits after the caller steps the source and advects existing diffuse particles.
 
Result< unsigned > advanceFromActor (const VolumeFluid &source, VolumeFluidDiffuse &pool, float seconds, unsigned actorGroup)
 Emits only from particles owned by one emitter actor group.
 
Result< unsigned > advanceFromActorInterpolated (const VolumeFluid &source, VolumeFluidDiffuse &pool, float seconds, unsigned actorGroup, float alpha)
 Emits from one actor using fixed-step interpolated source positions.
 
VolumeFluidFoamSnapshot snapshot () const
 Copies owning settings, fractional credit and isolated RNG state.
 
Result< void > restore (const VolumeFluidFoamSnapshot &state)
 Validates all settings/schema/credit/RNG before atomic replacement.
 

详细描述

Generates secondary particles at high-curl, low-density fluid source positions. @ownership Owns settings, credit and RNG only; neither source nor pool is retained. @thread Simulation-thread affine, including snapshot/restore; no concurrent calls. @reentrancy No callbacks or script invocation. No global time or RNG access.

Same checkpoint and call ordering repeats on one build; floating-point field/position comparisons across platforms require tolerance. No ECS or links.

在文件 VolumeFluidFoam.h 第 39 行定义.

成员函数说明

◆ advance()

Result< unsigned > eve::fluids::VolumeFluidFoam::advance ( const VolumeFluid &  source,
VolumeFluidDiffuse &  pool,
float  seconds 
)

Emits after the caller steps the source and advects existing diffuse particles.

参数
sourceBorrowed fluid; all its Liquid/Gas particles are eligible source sites.
poolBorrowed destination; no pressure or rendering work is performed.
secondsInjected dt in [0,1/30].
返回
Admitted count; failure preserves pool and controller state.

Whole credit beyond capacity/maxPerStep/eligible sites is discarded. Queries at most 65536 source particles with the shared 4M candidate-visit limit. Zero budget/full pool skips copying and field sampling. Successful empty eligibility consumes whole credit but not RNG. Eligible sites are counted and selected without allocating a separate per-site index array. Source positions, field samples and output batch retain peak capacity, so stable-size productive frames allocate none of these working arrays. Settings use native field units, not a claim of numerical Fluid3D threshold calibration.

在文件 VolumeFluidFoam.cpp 第 36 行定义.

引用了 source.

◆ advanceFromActor()

Result< unsigned > eve::fluids::VolumeFluidFoam::advanceFromActor ( const VolumeFluid &  source,
VolumeFluidDiffuse &  pool,
float  seconds,
unsigned  actorGroup 
)

Emits only from particles owned by one emitter actor group.

参数
sourceBorrowed fluid containing the emitter's particles.
poolBorrowed diffuse destination.
secondsInjected dt in [0,1/30].
actorGroupExplicit native identity corresponding to Fluid3DEmitter::solverIndices.
返回
Admitted count; failure preserves pool and controller state.

Fuses the actor comparison into the existing source collection pass, so it adds no traversal, allocation, query or GPU submission. The identity is transient and is not retained in snapshots.

在文件 VolumeFluidFoam.cpp 第 40 行定义.

引用了 source.

◆ advanceFromActorInterpolated()

Result< unsigned > eve::fluids::VolumeFluidFoam::advanceFromActorInterpolated ( const VolumeFluid &  source,
VolumeFluidDiffuse &  pool,
float  seconds,
unsigned  actorGroup,
float  alpha 
)

Emits from one actor using fixed-step interpolated source positions.

参数
alphaFinite render interpolation fraction in [0,1].

Matches Fluid3DFoamGenerator's solver.renderablePositions source. Field values are sampled at those positions without another source traversal or GPU work.

在文件 VolumeFluidFoam.cpp 第 45 行定义.

引用了 source.

◆ restore()

Result< void > eve::fluids::VolumeFluidFoam::restore ( const VolumeFluidFoamSnapshot &  state)

Validates all settings/schema/credit/RNG before atomic replacement.

在文件 VolumeFluidFoam.cpp 第 120 行定义.

引用了 eve::Result< T >::failure(), range, s, state , 以及 eve::Result< T >::success().

被这些函数引用 eve::fluids::decodeVolumeFluidFoam().

◆ snapshot()

VolumeFluidFoamSnapshot eve::fluids::VolumeFluidFoam::snapshot ( ) const

Copies owning settings, fractional credit and isolated RNG state.

在文件 VolumeFluidFoam.cpp 第 113 行定义.


该类的文档由以下文件生成: