#include <STLExplorer.H>
Public Member Functions | |
| STLExplorer (RefCountedPtr< STLMesh > a_stlmesh) | |
| Constructor - just need a mesh. | |
| ~STLExplorer () | |
| Destructor. | |
| void | Explore (RefCountedPtr< STLBox > a_sb) |
| builds cellToTriangles - connectivity between box and stlmesh | |
| void | Explore (const Box &a_region, const ProblemDomain &a_domain, const RealVect &a_origin, const RealVect &a_dx) |
| void | GetCellEdgeIntersection (const CellEdge &a_celledge, RealVect &a_intersectPt, bool &a_isNode0Inside, bool &a_isNode1Inside) |
| void | GetPointInOut (const IntVect &a_point, bool &a_inout) |
| return whether or not a point is inside or outside the domain | |
| void | GetVertMap (Vector< IntVect > **a_vertmap) |
| void | GetTriMap (Vector< Vector< IntVect > > **a_trimap) |
| void | GetSTLBox (RefCountedPtr< STLBox > &a_sb) |
Protected Member Functions | |
| void | DoExplore () |
| void | FindCellsOnVertices () |
| void | FindCellsOnEdges () |
| void | FindCellsInTriangles () |
| void | RemoveCellsOutsideDomain () |
| void | FindCellEdgesOnBondary () |
| void | BuildKDTree () |
| bool | WhichNodeIsInside (const CellEdge &celledge, const int &triangle) |
| void | FindEdgeInOut (const CellEdge &celledge, bool &isNode0Inside, bool &isNode1Inside) |
| void | FindEdgeInOutWithKDTree (const CellEdge &celledge, bool &isNode0Inside, bool &isNode1Inside) |
| RealVect | FindPlaneLineIntersection (const CellEdge &celledge, const int &triangle) |
| bool | IsPointInTriangle (const RealVect &point, const int &triangle) |
| bool | IsPointOnCellEdge (const RealVect &point, const CellEdge &celledge) |
| void | FillInCellLine (vector< IntVect > &cells, int &i, const int &itri, const int &idir0, const int &idir1) |
| void | RecursiveKDTreeInsert (vector< pair< RealVect, pair< IntVect, bool > * > > &allNodes, const int &nstart, const int &nend, const int &depth) |
Protected Attributes | |
| RefCountedPtr< STLMesh > | m_msh |
| RefCountedPtr< STLBox > | m_sb |
| KDTree * | m_ptree |
| bool | m_freestlbox |
| bool | m_printdebug |
| Vector< IntVect > | m_vertmap |
| Vector< Vector< IntVect > > | m_trimap |
Private Member Functions | |
| STLExplorer () | |
| void | operator= (const STLExplorer &a_inputReader) |
| STLExplorer::STLExplorer | ( | RefCountedPtr< STLMesh > | a_stlmesh | ) |
Constructor - just need a mesh.
| STLExplorer::~STLExplorer | ( | ) |
Destructor.
| STLExplorer::STLExplorer | ( | ) | [inline, private] |
References MayDay::Abort().
| void STLExplorer::Explore | ( | RefCountedPtr< STLBox > | a_sb | ) |
builds cellToTriangles - connectivity between box and stlmesh
| void STLExplorer::Explore | ( | const Box & | a_region, | |
| const ProblemDomain & | a_domain, | |||
| const RealVect & | a_origin, | |||
| const RealVect & | a_dx | |||
| ) |
| void STLExplorer::GetCellEdgeIntersection | ( | const CellEdge & | a_celledge, | |
| RealVect & | a_intersectPt, | |||
| bool & | a_isNode0Inside, | |||
| bool & | a_isNode1Inside | |||
| ) |
return the point of intersection between a cellEdge and the mesh and whether the two nodes are inside or outside a_intersectPt is bogus if both nodes are inside or both outside
| void STLExplorer::GetPointInOut | ( | const IntVect & | a_point, | |
| bool & | a_inout | |||
| ) |
return whether or not a point is inside or outside the domain
| void STLExplorer::GetSTLBox | ( | RefCountedPtr< STLBox > & | a_sb | ) |
| void STLExplorer::DoExplore | ( | ) | [protected] |
| void STLExplorer::FindCellsOnVertices | ( | ) | [protected] |
| void STLExplorer::FindCellsOnEdges | ( | ) | [protected] |
| void STLExplorer::FindCellsInTriangles | ( | ) | [protected] |
| void STLExplorer::RemoveCellsOutsideDomain | ( | ) | [protected] |
| void STLExplorer::FindCellEdgesOnBondary | ( | ) | [protected] |
| void STLExplorer::BuildKDTree | ( | ) | [protected] |
| bool STLExplorer::WhichNodeIsInside | ( | const CellEdge & | celledge, | |
| const int & | triangle | |||
| ) | [protected] |
| void STLExplorer::FindEdgeInOut | ( | const CellEdge & | celledge, | |
| bool & | isNode0Inside, | |||
| bool & | isNode1Inside | |||
| ) | [protected] |
| void STLExplorer::FindEdgeInOutWithKDTree | ( | const CellEdge & | celledge, | |
| bool & | isNode0Inside, | |||
| bool & | isNode1Inside | |||
| ) | [protected] |
| RealVect STLExplorer::FindPlaneLineIntersection | ( | const CellEdge & | celledge, | |
| const int & | triangle | |||
| ) | [protected] |
| bool STLExplorer::IsPointInTriangle | ( | const RealVect & | point, | |
| const int & | triangle | |||
| ) | [protected] |
| bool STLExplorer::IsPointOnCellEdge | ( | const RealVect & | point, | |
| const CellEdge & | celledge | |||
| ) | [protected] |
| void STLExplorer::FillInCellLine | ( | vector< IntVect > & | cells, | |
| int & | i, | |||
| const int & | itri, | |||
| const int & | idir0, | |||
| const int & | idir1 | |||
| ) | [protected] |
| void STLExplorer::RecursiveKDTreeInsert | ( | vector< pair< RealVect, pair< IntVect, bool > * > > & | allNodes, | |
| const int & | nstart, | |||
| const int & | nend, | |||
| const int & | depth | |||
| ) | [protected] |
| void STLExplorer::operator= | ( | const STLExplorer & | a_inputReader | ) | [inline, private] |
References MayDay::Abort().
RefCountedPtr<STLMesh> STLExplorer::m_msh [protected] |
RefCountedPtr<STLBox> STLExplorer::m_sb [protected] |
KDTree* STLExplorer::m_ptree [protected] |
bool STLExplorer::m_freestlbox [protected] |
bool STLExplorer::m_printdebug [protected] |
Vector<IntVect> STLExplorer::m_vertmap [protected] |
Vector<Vector<IntVect> > STLExplorer::m_trimap [protected] |
1.5.5