Nektar++
|
Base class for CAD interface system. More...
#include <CADSystem.h>
Public Member Functions | |
CADSystem (const std::string &name) | |
Default constructor. More... | |
std::string | GetName () |
Return the name of the CAD system. More... | |
bool | LoadCAD () |
Initialises CAD and makes surface, curve and vertex maps. More... | |
void | Report () |
Reports basic properties to screen. More... | |
Array< OneD, NekDouble > | GetBoundingBox () |
Returns bounding box of the domain. More... | |
int | GetNumSurf () |
Get the number of surfaces. More... | |
int | GetNumCurve () |
Get the number of curves. More... | |
CADCurveSharedPtr | GetCurve (int i) |
Gets a curve from the map. More... | |
CADSurfSharedPtr | GetSurf (int i) |
Gets a surface from the map. More... | |
std::map< int, CADVertSharedPtr > | GetVerts () |
Gets map of all vertices. More... | |
int | GetNumVerts () |
Gets number of vertices. More... | |
bool | InsideShape (Array< OneD, NekDouble > loc) |
based on location in space, uses opencascade routines to determin if the point is within the domain. This routine is slow and should be used sparingly, it is smart enough to take and form of geometry More... | |
Private Member Functions | |
void | AddVert (int i, TopoDS_Shape in) |
Function to add curve to CADSystem::m_verts. More... | |
void | AddCurve (int i, TopoDS_Shape in, int fv, int lv) |
Function to add curve to CADSystem::m_curves. More... | |
void | AddSurf (int i, TopoDS_Shape in, std::vector< EdgeLoop > ein) |
Function to add surface to CADSystem::m_surfs. More... | |
Private Attributes | |
std::string | m_name |
Name of cad file to be opened, including file extension. More... | |
std::map< int, CADCurveSharedPtr > | m_curves |
Map of curves. More... | |
std::map< int, CADSurfSharedPtr > | m_surfs |
Map of surfaces. More... | |
std::map< int, CADVertSharedPtr > | m_verts |
Map of vertices. More... | |
TopoDS_Shape | shape |
OCC master object. More... | |
Friends | |
class | MemoryManager< CADSystem > |
Base class for CAD interface system.
A class which can load and interact with CAD for Nektar++ using OpenCascade. This class contains maps to subclasses surface and curves.
Definition at line 65 of file CADSystem.h.
|
inline |
Default constructor.
Definition at line 73 of file CADSystem.h.
|
private |
Function to add curve to CADSystem::m_curves.
Definition at line 358 of file CADSystem.cpp.
|
private |
Function to add surface to CADSystem::m_surfs.
Definition at line 370 of file CADSystem.cpp.
References ASSERTL0.
|
private |
Function to add curve to CADSystem::m_verts.
Definition at line 351 of file CADSystem.cpp.
Returns bounding box of the domain.
Gets the bounding box of the domain by considering the start and end points of each curve in the geometry.
Definition at line 64 of file CADSystem.cpp.
|
inline |
Gets a curve from the map.
Definition at line 123 of file CADSystem.h.
References ASSERTL0, Nektar::iterator, and m_curves.
string Nektar::NekMeshUtils::CADSystem::GetName | ( | ) |
Return the name of the CAD system.
Definition at line 52 of file CADSystem.cpp.
|
inline |
Get the number of curves.
Definition at line 115 of file CADSystem.h.
References m_curves.
|
inline |
Get the number of surfaces.
Definition at line 107 of file CADSystem.h.
References m_surfs.
|
inline |
Gets number of vertices.
Definition at line 153 of file CADSystem.h.
References m_verts.
|
inline |
Gets a surface from the map.
Definition at line 134 of file CADSystem.h.
References ASSERTL0, Nektar::iterator, and m_surfs.
|
inline |
Gets map of all vertices.
Definition at line 145 of file CADSystem.h.
References m_verts.
based on location in space, uses opencascade routines to determin if the point is within the domain. This routine is slow and should be used sparingly, it is smart enough to take and form of geometry
Definition at line 395 of file CADSystem.cpp.
bool Nektar::NekMeshUtils::CADSystem::LoadCAD | ( | ) |
Initialises CAD and makes surface, curve and vertex maps.
TODO fix this test
Definition at line 93 of file CADSystem.cpp.
References ASSERTL0, Nektar::NekMeshUtils::EdgeLoop::center, Nektar::NekMeshUtils::curve, Nektar::NekMeshUtils::EdgeLoop::edgeo, Nektar::NekMeshUtils::EdgeLoop::edges, and Nektar::iterator.
void Nektar::NekMeshUtils::CADSystem::Report | ( | ) |
Reports basic properties to screen.
Definition at line 57 of file CADSystem.cpp.
|
friend |
Definition at line 68 of file CADSystem.h.
|
private |
Map of curves.
Definition at line 176 of file CADSystem.h.
Referenced by GetCurve(), and GetNumCurve().
|
private |
Name of cad file to be opened, including file extension.
Definition at line 174 of file CADSystem.h.
|
private |
Map of surfaces.
Definition at line 178 of file CADSystem.h.
Referenced by GetNumSurf(), and GetSurf().
|
private |
Map of vertices.
Definition at line 180 of file CADSystem.h.
Referenced by GetNumVerts(), and GetVerts().
|
private |
OCC master object.
Definition at line 182 of file CADSystem.h.