36 #ifndef NekMeshUtils_CADSYSTEM_CADSYSTEM
37 #define NekMeshUtils_CADSYSTEM_CADSYSTEM
39 #include <boost/shared_ptr.hpp>
48 namespace NekMeshUtils
128 return search->second;
139 return search->second;
168 void AddVert(
int i, TopoDS_Shape in);
170 void AddCurve(
int i, TopoDS_Shape in,
int fv,
int lv);
172 void AddSurf(
int i, TopoDS_Shape in, std::vector<EdgeLoop> ein);
#define ASSERTL0(condition, msg)
TopoDS_Shape shape
OCC master object.
void AddVert(int i, TopoDS_Shape in)
Function to add curve to CADSystem::m_verts.
int GetNumVerts()
Gets number of vertices.
int GetNumCurve()
Get the number of curves.
General purpose memory allocation routines with the ability to allocate from thread specific memory p...
Base class for CAD interface system.
std::map< int, CADVertSharedPtr > GetVerts()
Gets map of all vertices.
int GetNumSurf()
Get the number of surfaces.
struct which descibes a collection of cad edges which for a loop on the cad surface ...
std::string m_name
Name of cad file to be opened, including file extension.
std::map< int, CADCurveSharedPtr > m_curves
Map of curves.
void Report()
Reports basic properties to screen.
std::map< int, CADVertSharedPtr > m_verts
Map of vertices.
class for handleing a cad surface
CADSystem(const std::string &name)
Default constructor.
void AddCurve(int i, TopoDS_Shape in, int fv, int lv)
Function to add curve to CADSystem::m_curves.
void AddSurf(int i, TopoDS_Shape in, std::vector< EdgeLoop > ein)
Function to add surface to CADSystem::m_surfs.
bool LoadCAD()
Initialises CAD and makes surface, curve and vertex maps.
CADCurveSharedPtr GetCurve(int i)
Gets a curve from the map.
boost::shared_ptr< CADSurf > CADSurfSharedPtr
StandardMatrixTag boost::call_traits< LhsDataType >::const_reference rhs typedef NekMatrix< LhsDataType, StandardMatrixTag >::iterator iterator
Array< OneD, NekDouble > GetBoundingBox()
Returns bounding box of the domain.
boost::shared_ptr< CADSystem > CADSystemSharedPtr
bool InsideShape(Array< OneD, NekDouble > loc)
based on location in space, uses opencascade routines to determin if the point is within the domain...
std::map< int, CADSurfSharedPtr > m_surfs
Map of surfaces.
std::string GetName()
Return the name of the CAD system.
boost::shared_ptr< CADVert > CADVertSharedPtr
CADSurfSharedPtr GetSurf(int i)
Gets a surface from the map.
boost::shared_ptr< CADCurve > CADCurveSharedPtr