ABLATE Source Documentation  0.12.33
surface.hpp
1 #ifndef ABLATELIBRARY_GEOM_SURFACE_HPP
2 #define ABLATELIBRARY_GEOM_SURFACE_HPP
3 
4 #include <egads.h>
5 #include <petsc.h>
6 #include <filesystem>
7 #include "geometry.hpp"
8 
9 namespace ablate::mathFunctions::geom {
10 
11 class Surface : public Geometry {
12  private:
13  ego context = nullptr;
14  ego model = nullptr;
15 
16  public:
17  explicit Surface(const std::filesystem::path& meshPath, const std::shared_ptr<mathFunctions::MathFunction>& insideValues = {},
18  const std::shared_ptr<mathFunctions::MathFunction>& outsideValues = {}, int egadsVerboseLevel = 0);
19  ~Surface() override;
20 
21  bool InsideGeometry(const double* xyz, const int& ndims, const double& time) const override;
22 };
23 } // namespace ablate::mathFunctions::geom
24 
25 #endif // ABLATELIBRARY_MESH_HPP
Definition: geometry.hpp:9
Definition: surface.hpp:11
bool InsideGeometry(const double *xyz, const int &ndims, const double &time) const override
Definition: surface.cpp:26