36 #ifndef NEKTAR_LIB_UTILITIES_CADSYSTEM_CADSYSTEM_H
37 #define NEKTAR_LIB_UTILITIES_CADSYSTEM_CADSYSTEM_H
39 #include <boost/shared_ptr.hpp>
44 #include <Standard_Macro.hxx>
51 namespace LibUtilities {
101 return search->second;
113 return search->second;
126 void AddCurve(
int i, TopoDS_Shape in);
128 void AddSurf(
int i, TopoDS_Shape in,
129 std::vector<std::vector<std::pair<int,int> > > ein);
CADSurfSharedPtr GetSurf(int i)
Gets suface from map.
#define ASSERTL0(condition, msg)
int GetEPC()
Return Euler-Poincare number.
CADSystem(const std::string &name)
Default constructor.
int GetNumSurf()
Return number of surfaces.
std::map< int, CADSurfSharedPtr > m_surfs
map of surfaces
General purpose memory allocation routines with the ability to allocate from thread specific memory p...
int GetNumCurve()
Return number of curves.
void AddCurve(int i, TopoDS_Shape in)
Private function to add curve to CADSystem::m_curves.
void Report()
Reports basic properties to screen.
boost::shared_ptr< CADCurve > CADCurveSharedPtr
Base class for CAD interface system.
bool LoadCAD()
Initialises CAD and makes surface and curve maps.
#define LIB_UTILITIES_EXPORT
const CADCurveSharedPtr GetCurve(int i)
Gets curve type from map.
StandardMatrixTag boost::call_traits< LhsDataType >::const_reference rhs typedef NekMatrix< LhsDataType, StandardMatrixTag >::iterator iterator
std::map< int, CADCurveSharedPtr > m_curves
map of curves
int m_epc
Euler-Poincare number of the CAD.
std::string GetName()
Return the name of the CAD system.
boost::shared_ptr< CADSurf > CADSurfSharedPtr
Array< OneD, NekDouble > GetBoundingBox()
Returns bounding box of the domain.
boost::shared_ptr< CADSystem > CADSystemSharedPtr
std::string m_name
Name of cad file to be opened, including file extension.
void AddSurf(int i, TopoDS_Shape in, std::vector< std::vector< std::pair< int, int > > > ein)
Private function to add surface to CADSystem::m_surfs.