OpenVDB  5.2.0
Classes | Namespaces | Functions
PotentialFlow.h File Reference

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...
 
struct  ComputeNeumannVelocityOp< Vec3GridT, GradientT >
 
struct  SolveBoundaryOp< Vec3GridT, MaskT >
 

Namespaces

 openvdb
 
 openvdb::v5_2
 
 openvdb::v5_2::tools
 
 openvdb::v5_2::tools::potential_flow_internal
 

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...
 

Detailed Description

Tools for creating potential flow fields through solving Laplace's equation.

Authors
Todd Keeler, Dan Bailey