AnisotropicPointsToImplicit2.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_ANISOTROPIC_POINTS_TO_IMPLICIT2_HPP
12 #define CUBBYFLOW_ANISOTROPIC_POINTS_TO_IMPLICIT2_HPP
13 
15 
16 namespace CubbyFlow
17 {
31 {
32  public:
43  AnisotropicPointsToImplicit2(double kernelRadius = 1.0,
44  double cutOffDensity = 0.5,
45  double positionSmoothingFactor = 0.5,
46  size_t minNumNeighbors = 8,
47  bool isOutputSDF = true);
48 
50  void Convert(const ConstArrayView1<Vector2D>& points,
51  ScalarGrid2* output) const override;
52 
53  private:
54  double m_kernelRadius = 1.0;
55  double m_cutOffDensity = 0.5;
56  double m_positionSmoothingFactor = 0.0;
57  size_t m_minNumNeighbors = 8;
58  bool m_isOutputSDF = true;
59 };
60 
63  std::shared_ptr<AnisotropicPointsToImplicit2>;
64 } // namespace CubbyFlow
65 
66 #endif
std::shared_ptr< AnisotropicPointsToImplicit2 > AnisotropicPointsToImplicit2Ptr
Shared pointer for the AnisotropicPointsToImplicit2 type.
Definition: AnisotropicPointsToImplicit2.hpp:63
AnisotropicPointsToImplicit2(double kernelRadius=1.0, double cutOffDensity=0.5, double positionSmoothingFactor=0.5, size_t minNumNeighbors=8, bool isOutputSDF=true)
Constructs the converter with given parameters.
Abstract base class for N-D scalar grid structure.
Definition: ScalarGrid.hpp:24
Abstract base class for 2-D points-to-implicit converters.
Definition: PointsToImplicit2.hpp:20
Definition: pybind11Utils.hpp:20
Generic N-dimensional array class interface.
Definition: Array.hpp:32
2-D points-to-implicit converter using Anisotropic kernels.
Definition: AnisotropicPointsToImplicit2.hpp:30
void Convert(const ConstArrayView1< Vector2D > &points, ScalarGrid2 *output) const override
Converts the given points to implicit surface scalar field.