mantaflow  0.10
A framework for fluid simulation
Functions
grid.cpp File Reference
#include "grid.h"
#include "levelset.h"
#include "kernel.h"
#include <limits>
#include <sstream>
#include <cstring>
#include "fileio.h"

Functions

template<class T >
GridBase::GridType Manta::typeList ()
 
template<>
GridBase::GridType Manta::typeList< Real > ()
 
template<>
GridBase::GridType Manta::typeList< int > ()
 
template<>
GridBase::GridType Manta::typeList< Vec3 > ()
 
Real Manta::CompMinReal (Grid< Real > &val)
 
Real Manta::CompMaxReal (Grid< Real > &val)
 
int Manta::CompMinInt (Grid< int > &val)
 
int Manta::CompMaxInt (Grid< int > &val)
 
Real Manta::CompMinVec (Grid< Vec3 > &val)
 
Real Manta::CompMaxVec (Grid< Vec3 > &val)
 
void Manta::knGridSetConstReal (Grid< T > &me, T val)
 
void Manta::knGridAddConstReal (Grid< T > &me, T val)
 
void Manta::knGridMultConst (Grid< T > &me, T val)
 
void Manta::knGridSafeDiv (Grid< T > &me, const Grid< T > &other)
 
void Manta::knGridClamp (Grid< T > &me, const T &min, const T &max)
 
template<typename T >
void Manta::stomp (T &v, const T &th)
 
template<>
void Manta::stomp< Vec3 > (Vec3 &v, const Vec3 &th)
 
void Manta::knGridStomp (Grid< T > &me, const T &threshold)
 
template<class GRID >
Real Manta::loop_calcL1Grid (const GRID &grid, int bnd)
 calculate L1 norm for whole grid with non-parallelized loop
 
template<class GRID >
Real Manta::loop_calcL2Grid (const GRID &grid, int bnd)
 calculate L2 norm for whole grid with non-parallelized loop
 
int Manta::knCountCells (const FlagGrid &flags, int flag, int bnd, Grid< Real > *mask)
 
PYTHON Real Manta::gridMaxDiff (Grid< Real > &g1, Grid< Real > &g2)
 
PYTHON Real Manta::gridMaxDiffInt (Grid< int > &g1, Grid< int > &g2)
 
PYTHON Real Manta::gridMaxDiffVec3 (Grid< Vec3 > &g1, Grid< Vec3 > &g2)
 
PYTHON void Manta::copyMacToVec3 (MACGrid &source, Grid< Vec3 > &target)
 
PYTHON void Manta::convertMacToVec3 (MACGrid &source, Grid< Vec3 > &target)
 
PYTHON void Manta::resampleVec3ToMac (Grid< Vec3 > &source, MACGrid &target)
 
PYTHON void Manta::resampleMacToVec3 (MACGrid &source, Grid< Vec3 > &target)
 
PYTHON void Manta::copyLevelsetToReal (LevelsetGrid &source, Grid< Real > &target)
 
PYTHON void Manta::copyVec3ToReal (Grid< Vec3 > &source, Grid< Real > &targetX, Grid< Real > &targetY, Grid< Real > &targetZ)
 
PYTHON void Manta::copyRealToVec3 (Grid< Real > &sourceX, Grid< Real > &sourceY, Grid< Real > &sourceZ, Grid< Vec3 > &target)
 
PYTHON void Manta::convertLevelsetToReal (LevelsetGrid &source, Grid< Real > &target)
 
PYTHON void Manta::swapComponents (Grid< Vec3 > &vel, int c1=0, int c2=1, int c3=2)
 
PYTHON Real Manta::getUvWeight (Grid< Vec3 > &uv)
 
void Manta::knResetUvGrid (Grid< Vec3 > &target)
 
PYTHON void Manta::resetUvGrid (Grid< Vec3 > &target)
 
PYTHON void Manta::updateUvWeight (Real resetTime, int index, int numUvs, Grid< Vec3 > &uv)
 
void Manta::knSetBoundary (Grid< T > &grid, T value, int w)
 
void Manta::knSetBoundaryNeumann (Grid< T > &grid, int w)
 
void Manta::knSetBoundaryMAC (Grid< Vec3 > &grid, Vec3 value, int w)
 
void Manta::knSetBoundaryMACNorm (Grid< Vec3 > &grid, Vec3 value, int w)
 
double Manta::knGridTotalSum (const Grid< Real > &a, FlagGrid *flags)
 
int Manta::knCountFluidCells (FlagGrid &flags)
 
PYTHON Real Manta::getGridAvg (Grid< Real > &source, FlagGrid *flags=NULL)
 
void Manta::knGetComponent (const Grid< Vec3 > &source, Grid< Real > &target, int component)
 transfer data between real and vec3 grids More...
 
PYTHON void Manta::getComponent (const Grid< Vec3 > &source, Grid< Real > &target, int component)
 
void Manta::knSetComponent (const Grid< Real > &source, Grid< Vec3 > &target, int component)
 
PYTHON void Manta::setComponent (const Grid< Real > &source, Grid< Vec3 > &target, int component)