35 #ifndef UTILITIES_NEKMESH_PROCESSPROJECTCAD
36 #define UTILITIES_NEKMESH_PROCESSPROJECTCAD
40 #include <boost/geometry.hpp>
41 #include <boost/geometry/geometries/point.hpp>
42 #include <boost/geometry/geometries/box.hpp>
44 #include <boost/geometry/index/rtree.hpp>
46 namespace bg = boost::geometry;
47 namespace bgi = boost::geometry::index;
49 typedef bg::model::point<float, 3, bg::cs::cartesian>
point;
50 typedef bg::model::box<point>
box;
51 typedef std::pair<box, unsigned>
boxI;
81 bool IsNotValid(std::vector<NekMeshUtils::ElementSharedPtr> &els);
std::pair< box, unsigned int > boxI
std::pair< box, unsigned > boxI
bg::model::point< float, 3, bg::cs::cartesian > point
bg::model::box< point > box
static std::shared_ptr< DataType > AllocateSharedPtr(const Args &...args)
Allocate a shared pointer from the memory pool.
Abstract base class for processing modules.
virtual void Process()
Write mesh to output file.
bool findAndProject(bgi::rtree< boxI, bgi::quadratic< 16 > > &rtree, Array< OneD, NekDouble > in, int &surf)
ProcessProjectCAD(NekMeshUtils::MeshSharedPtr m)
bool IsNotValid(std::vector< NekMeshUtils::ElementSharedPtr > &els)
static std::shared_ptr< Module > create(NekMeshUtils::MeshSharedPtr m)
Creates an instance of this class.
static NekMeshUtils::ModuleKey className
virtual ~ProcessProjectCAD()
std::pair< ModuleType, std::string > ModuleKey
std::shared_ptr< Mesh > MeshSharedPtr
Shared pointer to a mesh.