OpenVDB
12.0.0
|
Tools for creating potential flow fields through solving Laplace's equation. More...
#include <openvdb/openvdb.h>
#include "GridOperators.h"
#include "GridTransformer.h"
#include "Mask.h"
#include "Morphology.h"
#include "PoissonSolver.h"
Go to the source code of this file.
Classes | |
struct | VectorToScalarGrid< VecGridT > |
Metafunction to convert a vector-valued grid type to a scalar grid type. More... | |
Namespaces | |
openvdb | |
openvdb::v12_0 | |
openvdb::v12_0::tools | |
Functions | |
template<typename GridT , typename MaskT = typename GridT::template ValueConverter<ValueMask>::Type> | |
MaskT::Ptr | createPotentialFlowMask (const GridT &grid, int dilation=5) |
Construct a mask for the Potential Flow domain. More... | |
template<typename Vec3T , typename GridT , typename MaskT > | |
GridT::template ValueConverter< Vec3T >::Type::Ptr | createPotentialFlowNeumannVelocities (const GridT &collider, const MaskT &domain, const typename GridT::template ValueConverter< Vec3T >::Type::ConstPtr boundaryVelocity, const Vec3T &backgroundVelocity) |
Create a Potential Flow velocities grid for the Neumann boundary. More... | |
template<typename Vec3GridT , typename MaskT , typename InterrupterT = util::NullInterrupter> | |
VectorToScalarGrid< Vec3GridT >::Ptr | computeScalarPotential (const MaskT &domain, const Vec3GridT &neumann, math::pcg::State &state, InterrupterT *interrupter=nullptr) |
Compute the Potential on the domain using the Neumann boundary conditions on solid boundaries. More... | |
template<typename Vec3GridT > | |
Vec3GridT::Ptr | computePotentialFlow (const typename VectorToScalarGrid< Vec3GridT >::Type &potential, const Vec3GridT &neumann, const typename Vec3GridT::ValueType backgroundVelocity=zeroVal< typename Vec3GridT::TreeType::ValueType >()) |
Compute a vector Flow Field comprising the gradient of the potential with Neumann boundary conditions applied. More... | |
Tools for creating potential flow fields through solving Laplace's equation.