SphericalPointsToImplicit3.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_SPHERICAL_POINTS_TO_IMPLICIT3_HPP
12 #define CUBBYFLOW_SPHERICAL_POINTS_TO_IMPLICIT3_HPP
13 
15 
16 namespace CubbyFlow
17 {
22 {
23  public:
25  SphericalPointsToImplicit3(double radius = 1.0, bool isOutputSDF = true);
26 
28  void Convert(const ConstArrayView1<Vector3D>& points,
29  ScalarGrid3* output) const override;
30 
31  private:
32  double m_radius = 1.0;
33  bool m_isOutputSDF = true;
34 };
35 
38  std::shared_ptr<SphericalPointsToImplicit3>;
39 } // namespace CubbyFlow
40 
41 #endif
Abstract base class for N-D scalar grid structure.
Definition: ScalarGrid.hpp:24
Definition: pybind11Utils.hpp:20
Abstract base class for 3-D points-to-implicit converters.
Definition: PointsToImplicit3.hpp:20
Generic N-dimensional array class interface.
Definition: Array.hpp:32
std::shared_ptr< SphericalPointsToImplicit3 > SphericalPointsToImplicit3Ptr
Shared pointer type for SphericalPointsToImplicit3.
Definition: SphericalPointsToImplicit3.hpp:38
3-D points-to-implicit converter based on simple sphere model.
Definition: SphericalPointsToImplicit3.hpp:21
void Convert(const ConstArrayView1< Vector3D > &points, ScalarGrid3 *output) const override
Converts the given points to implicit surface scalar field.
SphericalPointsToImplicit3(double radius=1.0, bool isOutputSDF=true)
Constructs the converter with given sphere radius.