Loading...
Searching...
No Matches
FMMLevelSetSolver2.hpp
Go to the documentation of this file.
1// This code is based on Jet framework.
2// Copyright (c) 2018 Doyub Kim
3// CubbyFlow is voxel-based fluid simulation engine for computer games.
4// Copyright (c) 2020 CubbyFlow Team
5// Core Part: Chris Ohk, Junwoo Hwang, Jihong Sin, Seungwoo Yoo
6// AI Part: Dongheon Cho, Minseo Kim
7// We are making my contributions/submissions to this project solely in our
8// personal capacity and are not conveying any rights to any intellectual
9// property of any third parties.
10
11#ifndef CUBBYFLOW_FMM_LEVEL_SET_SOLVER2_HPP
12#define CUBBYFLOW_FMM_LEVEL_SET_SOLVER2_HPP
13
15
16namespace CubbyFlow
17{
31{
32 public:
34 FMMLevelSetSolver2() = default;
35
44 ScalarGrid2* outputSDF) override;
45
55 double maxDistance, ScalarGrid2* output) override;
56
67 const ScalarField2& sdf, double maxDistance,
69
80 double maxDistance, FaceCenteredGrid2* output) override;
81
82 private:
85 const Vector2D& gridSpacing, double maxDistance,
87};
88
90using FMMLevelSetSolver2Ptr = std::shared_ptr<FMMLevelSetSolver2>;
91} // namespace CubbyFlow
92
93#endif
Abstract base class for N-D collocated vector grid structure.
Definition CollocatedVectorGrid.hpp:23
Two-dimensional fast marching method (FMM) implementation.
Definition FMMLevelSetSolver2.hpp:31
void Extrapolate(const ScalarGrid2 &input, const ScalarField2 &sdf, double maxDistance, ScalarGrid2 *output) override
void Reinitialize(const ScalarGrid2 &inputSDF, double maxDistance, ScalarGrid2 *outputSDF) override
FMMLevelSetSolver2()=default
Default constructor.
void Extrapolate(const CollocatedVectorGrid2 &input, const ScalarField2 &sdf, double maxDistance, CollocatedVectorGrid2 *output) override
void Extrapolate(const FaceCenteredGrid2 &input, const ScalarField2 &sdf, double maxDistance, FaceCenteredGrid2 *output) override
N-D face-centered (a.k.a MAC or staggered) grid.
Definition FaceCenteredGrid.hpp:32
Abstract base class for 2-D level set solver.
Definition LevelSetSolver2.hpp:24
Definition Matrix.hpp:30
Abstract base class for N-D scalar field.
Definition ScalarField.hpp:25
Abstract base class for N-D scalar grid structure.
Definition ScalarGrid.hpp:25
Definition pybind11Utils.hpp:21
std::shared_ptr< FMMLevelSetSolver2 > FMMLevelSetSolver2Ptr
Shared pointer type for the FMMLevelSetSolver2.
Definition FMMLevelSetSolver2.hpp:90