PointsToImplicit2.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_POINTS_TO_IMPLICIT2_HPP
12 #define CUBBYFLOW_POINTS_TO_IMPLICIT2_HPP
13 
14 #include <Core/Array/ArrayView.hpp>
15 #include <Core/Grid/ScalarGrid.hpp>
16 
17 namespace CubbyFlow
18 {
21 {
22  public:
24  PointsToImplicit2() = default;
25 
27  PointsToImplicit2(const PointsToImplicit2&) = default;
28 
30  PointsToImplicit2(PointsToImplicit2&&) noexcept = default;
31 
33  virtual ~PointsToImplicit2() = default;
34 
37 
39  PointsToImplicit2& operator=(PointsToImplicit2&&) noexcept = default;
40 
42  virtual void Convert(const ConstArrayView1<Vector2D>& points,
43  ScalarGrid2* output) const = 0;
44 };
45 
47 using PointsToImplicit2Ptr = std::shared_ptr<PointsToImplicit2>;
48 } // namespace CubbyFlow
49 
50 #endif
PointsToImplicit2 & operator=(const PointsToImplicit2 &)=default
Default copy assignment operator.
Abstract base class for N-D scalar grid structure.
Definition: ScalarGrid.hpp:24
virtual ~PointsToImplicit2()=default
Default virtual destructor.
std::shared_ptr< PointsToImplicit2 > PointsToImplicit2Ptr
Shared pointer for the PointsToImplicit2 type.
Definition: PointsToImplicit2.hpp:47
Abstract base class for 2-D points-to-implicit converters.
Definition: PointsToImplicit2.hpp:20
Definition: pybind11Utils.hpp:20
PointsToImplicit2()=default
Default constructor.
Generic N-dimensional array class interface.
Definition: Array.hpp:32
virtual void Convert(const ConstArrayView1< Vector2D > &points, ScalarGrid2 *output) const =0
Converts the given points to implicit surface scalar field.