载入中...
搜索中...
未找到
VolumeFluidEmitter.h 文件参考
#include "common/Export.h"
#include <cstdint>
#include "common/Result.h"
#include "fluids/VolumeFluid.h"

浏览源代码.

类

struct  eve::fluids::VolumeFluidEmitterBlueprintMetrics
 Exact 3D metrics derived by Fluid3DEmitterBlueprintBase from resolution and density. 更多...
 
struct  eve::fluids::VolumeFluidEmitterBlueprint3D
 Owning Fluid3DEmitterBlueprint values used to prepare a native 3D emitter. 更多...
 
struct  eve::fluids::VolumeGranularEmitterBlueprint3D
 Owning Fluid3DGranularEmitterBlueprint values used to prepare a native 3D emitter. 更多...
 
struct  eve::fluids::VolumeFluidDistributionPoint
 Owned precomputed local emission sample, including shape-specific color. 更多...
 
struct  eve::fluids::VolumeFluidEmission
 Value-owned emission description; +Z is mapped to direction. 更多...
 
struct  eve::fluids::VolumeFluidEmitterBlueprintApplication3D
 Fully owned native setup prepared from one Fluid3D-emitter blueprint. 更多...
 
struct  eve::fluids::VolumeFluidEmitterSnapshot
 Version-1 owning state for rate (kind 0) or jet (kind 1) controllers. 更多...
 
struct  eve::fluids::VolumeFluidEmitterCheckpoint
 Version-1 owning atomic checkpoint for a solver, emission description and controller. 更多...
 
struct  eve::fluids::VolumeFluidNozzlePose
 Owning world-space nozzle pose; rotation is a unit quaternion in XYZW order. 更多...
 
class  eve::fluids::VolumeFluidEmitter
 Bounded runtime stream controller with explicit snapshot/restore. 更多...
 
class  eve::fluids::VolumeFluidJetEmitter
 Spacing-driven planar/distribution jet controller with independent, owned stream phase. 更多...
 

命名空间

namespace  eve
 Build metadata (engine git commit, build time, third-party version).
 
namespace  eve::fluids
 GLSL compute kernels for the GPU surface-flow solver.
 

枚举

enum class  eve::fluids::VolumeFluidEmissionShape {
  eve::fluids::Edge , eve::fluids::Square , eve::fluids::Disk , eve::fluids::Sphere ,
  eve::fluids::Cube , eve::fluids::Distribution
}
 Local nozzle domain; disk/square lie in XY, edge lies on X. 更多...
 

函数

Result< VolumeFluidEmitterBlueprintMetrics > eve::fluids::evaluateVolumeFluidEmitterBlueprint3D (float resolution, float restDensity, float smoothing)
 Evaluates Fluid3DEmitterBlueprintBase/Fluid3DEmitterBlueprint formulas in 3D.
 
Result< std::vector< VolumeFluidDistributionPoint > > eve::fluids::buildVolumeFluidImageDistribution (std::span< const glm::vec4 > pixels, unsigned width, unsigned height, float pixelScale, float maximumSize, float spacing, float alphaThreshold)
 Precomputes a bilinear alpha-masked image distribution on a spacing lattice.
 
EVENGINE_API_DOMAINS Result< std::vector< VolumeFluidDistributionPoint > > eve::fluids::buildVolumeFluidMeshDistribution (std::span< const glm::vec3 > vertices, std::span< const uint32_t > indices, glm::vec3 scale, float spacing)
 Voxelizes indexed triangles, returning surface and enclosed interior cell centers.
 
Result< std::vector< VolumeFluidDistributionPoint > > eve::fluids::buildVolumeFluidSphereDistribution (float radius, float spacing, bool surface)
 Builds an Fluid3D-compatible spherical surface or volume lattice during setup.
 
Result< std::vector< VolumeFluidDistributionPoint > > eve::fluids::buildVolumeFluidCubeDistribution (glm::vec3 size, float spacing, bool surface)
 Builds an Fluid3D-compatible box surface or volume lattice during setup.
 
Result< std::vector< VolumeFluidDistributionPoint > > eve::fluids::buildVolumeFluidEdgeDistribution (float length, float spacing, float radialVelocityDegrees)
 Builds Fluid3D's edge lattice with per-sample radial velocity directions.
 
Result< std::vector< VolumeFluidDistributionPoint > > eve::fluids::buildVolumeFluidDiskDistribution (float radius, float spacing, bool edgeEmission)
 Builds Fluid3D's concentric disk or circumference-only distribution.
 
Result< VolumeFluidEmission > eve::fluids::composeVolumeFluidEmitterShapes (const VolumeFluidEmission &base, std::span< const VolumeFluidEmission > shapes)
 Builds one emitter distribution from an ordered set of Fluid3D emitter shapes.
 
Result< VolumeFluidEmitterBlueprintApplication3D > eve::fluids::prepareVolumeFluidEmitterBlueprint3D (const VolumeFluidEmitterBlueprint3D &blueprint)
 Atomically maps every Fluid3DEmitterBlueprint field to native 3D setup values.
 
Result< VolumeFluidEmitterBlueprintApplication3D > eve::fluids::prepareVolumeGranularEmitterBlueprint3D (const VolumeGranularEmitterBlueprint3D &blueprint)
 Atomically maps an Fluid3DGranularEmitterBlueprint to owned native 3D setup values.
 
Result< unsigned > eve::fluids::emitVolumeFluidBurst (VolumeFluid &solver, const VolumeFluidEmission &emission, unsigned count)
 Generates at most 4096 particles and admits the entire burst atomically.
 
VolumeFluidEmitterCheckpoint eve::fluids::captureVolumeFluidEmitterCheckpoint (const VolumeFluid &solver, const VolumeFluidEmission &emission, const VolumeFluidEmitter &controller)
 Captures one completed-step rate-emitter checkpoint without retaining references.
 
VolumeFluidEmitterCheckpoint eve::fluids::captureVolumeFluidEmitterCheckpoint (const VolumeFluid &solver, const VolumeFluidEmission &emission, const VolumeFluidJetEmitter &controller)
 Captures one completed-step moving-jet checkpoint without retaining references.
 
Result< void > eve::fluids::restoreVolumeFluidEmitterCheckpoint (VolumeFluid &solver, VolumeFluidEmitter &controller, const VolumeFluidEmitterCheckpoint &checkpoint)
 Atomically restores solver and rate controller after validating the complete owning candidate.
 
Result< void > eve::fluids::restoreVolumeFluidEmitterCheckpoint (VolumeFluid &solver, VolumeFluidJetEmitter &controller, const VolumeFluidEmitterCheckpoint &checkpoint)
 Atomically restores solver and moving-jet controller under the same checkpoint contract.