36 #ifndef NekMeshUtils_CADSYSTEM_CADSYSTEM
37 #define NekMeshUtils_CADSYSTEM_CADSYSTEM
39 #include <boost/shared_ptr.hpp>
50 namespace NekMeshUtils
80 std::vector<CADCurveSharedPtr>
edges;
81 std::vector<CADOrientation::Orientation>
edgeo;
135 std::cout << std::endl <<
"CAD report:" << std::endl;
136 std::cout <<
"\tCAD has: " <<
m_curves.size() <<
" curves." << std::endl;
137 std::cout <<
"\tCAD has: " <<
m_surfs.size() <<
" surfaces." << std::endl;
174 return search->second;
185 return search->second;
#define ASSERTL0(condition, msg)
LibUtilities::NekFactory< std::string, CADSystem, std::string > EngineFactory
base class for CAD curves.
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.
std::vector< CADCurveSharedPtr > edges
std::string m_name
Name of cad file.
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.
CADSystem(std::string name)
Default constructor.
virtual Array< OneD, NekDouble > GetBoundingBox()=0
Returns bounding box of the domain.
base class for a cad surface
virtual bool LoadCAD()=0
Initialises CAD and makes surface, curve and vertex maps.
std::vector< CADOrientation::Orientation > edgeo
CADCurveSharedPtr GetCurve(int i)
Gets a curve from the map.
base class for CAD verticies.
boost::shared_ptr< CADSurf > CADSurfSharedPtr
StandardMatrixTag boost::call_traits< LhsDataType >::const_reference rhs typedef NekMatrix< LhsDataType, StandardMatrixTag >::iterator iterator
EngineFactory & GetEngineFactory()
boost::shared_ptr< CADSystem > CADSystemSharedPtr
void SetNACA(std::string i)
std::map< int, CADSurfSharedPtr > m_surfs
Map of surfaces.
Array< OneD, NekDouble > center
struct which descibes a collection of cad edges which are a loop on the cad surface ...
std::string GetName()
Return the name of the CAD system.
boost::shared_ptr< EdgeLoop > EdgeLoopSharedPtr
boost::shared_ptr< CADVert > CADVertSharedPtr
CADSurfSharedPtr GetSurf(int i)
Gets a surface from the map.
boost::shared_ptr< CADCurve > CADCurveSharedPtr
Provides a generic Factory class.