载入中...
搜索中...
未找到
VolumeFluidEmitter.cpp 文件参考
#include "fluids/VolumeFluidEmitter.h"
#include <algorithm>
#include <cmath>
#include <glm/geometric.hpp>
#include <glm/gtc/quaternion.hpp>
#include <iomanip>
#include <limits>
#include <locale>
#include <sstream>
#include <stdexcept>

浏览源代码.

命名空间

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

函数

Result< VolumeFluidEmitterBlueprintMetrics > eve::fluids::evaluateVolumeFluidEmitterBlueprint3D (float resolution, float restDensity, float smoothing)
 Evaluates Fluid3DEmitterBlueprintBase/Fluid3DEmitterBlueprint formulas in 3D.
 
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.
 
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< 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.
 
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.