ABLATE Source Documentation  0.12.33
convexPolygon.hpp
1 #ifndef ABLATELIBRARY_CONVEXPOLYGON_HPP
2 #define ABLATELIBRARY_CONVEXPOLYGON_HPP
3 
4 #include <memory>
5 #include "geometry.hpp"
6 #include "triangle.hpp"
7 namespace ablate::mathFunctions::geom {
8 
13 class ConvexPolygon : public Geometry {
14  private:
16  std::vector<Triangle> triangles;
17 
18  public:
19  explicit ConvexPolygon(std::vector<std::vector<double>> points, double maxDistance = {}, const std::shared_ptr<mathFunctions::MathFunction>& insideValues = {},
20  const std::shared_ptr<mathFunctions::MathFunction>& outsideValues = {});
21 
29  explicit ConvexPolygon(std::vector<std::shared_ptr<std::vector<double>>> points, double maxDistance = {}, const std::shared_ptr<mathFunctions::MathFunction>& insideValues = {},
30  const std::shared_ptr<mathFunctions::MathFunction>& outsideValues = {});
31 
32  bool InsideGeometry(const double* xyz, const int& ndims, const double& time) const override;
33 };
34 
35 } // namespace ablate::mathFunctions::geom
36 #endif // ABLATELIBRARY_CONVEXPOLYGON_HPP
Definition: convexPolygon.hpp:13
bool InsideGeometry(const double *xyz, const int &ndims, const double &time) const override
Definition: convexPolygon.cpp:44
Definition: geometry.hpp:9