AnisotropicPointsToImplicit3.h
Go to the documentation of this file.
1 /*************************************************************************
2 > File Name: AnisotropicPointsToImplicit3.h
3 > Project Name: CubbyFlow
4 > Author: Chan-Ho Chris Ohk
5 > Purpose: 3-D points-to-implicit converter using Anisotropic kernels.
6 > Created Time: 2017/11/19
7 > Copyright (c) 2018, Chan-Ho Chris Ohk
8 *************************************************************************/
9 #ifndef CUBBYFLOW_ANISOTROPIC_POINTS_TO_IMPLICIT3_H
10 #define CUBBYFLOW_ANISOTROPIC_POINTS_TO_IMPLICIT3_H
11 
13 
14 namespace CubbyFlow
15 {
29  {
30  public:
40  double kernelRadius = 1.0,
41  double cutOffDensity = 0.5,
42  double positionSmoothingFactor = 0.5,
43  size_t minNumNeighbors = 25,
44  bool isOutputSDF = true);
45 
47  void Convert(const ConstArrayAccessor1<Vector3D>& points, ScalarGrid3* output) const override;
48 
49  private:
50  double m_kernelRadius = 1.0;
51  double m_cutOffDensity = 0.5;
52  double m_positionSmoothingFactor = 0.0;
53  size_t m_minNumNeighbors = 25;
54  bool m_isOutputSDF = true;
55  };
56 
58  using AnisotropicPointsToImplicit3Ptr = std::shared_ptr<AnisotropicPointsToImplicit3>;
59 }
60 
61 #endif
1-D read-only array accessor class.
Definition: ArrayAccessor1.h:185
void Convert(const ConstArrayAccessor1< Vector3D > &points, ScalarGrid3 *output) const override
Converts the given points to implicit surface scalar field.
Definition: pybind11Utils.h:24
3-D points-to-implicit converter using Anisotropic kernels.
Definition: AnisotropicPointsToImplicit3.h:28
Abstract base class for 3-D points-to-implicit converters.
Definition: PointsToImplicit3.h:19
Abstract base class for 3-D scalar grid structure.
Definition: ScalarGrid3.h:21
AnisotropicPointsToImplicit3(double kernelRadius=1.0, double cutOffDensity=0.5, double positionSmoothingFactor=0.5, size_t minNumNeighbors=25, bool isOutputSDF=true)
Constructs the converter with given parameters.
std::shared_ptr< AnisotropicPointsToImplicit3 > AnisotropicPointsToImplicit3Ptr
Shared pointer for the AnisotropicPointsToImplicit3 type.
Definition: AnisotropicPointsToImplicit3.h:58