STLExplorer Class Reference

#include <STLExplorer.H>

List of all members.

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< STLMeshm_msh
RefCountedPtr< STLBoxm_sb
KDTreem_ptree
bool m_freestlbox
bool m_printdebug
Vector< IntVectm_vertmap
Vector< Vector< IntVect > > m_trimap

Private Member Functions

 STLExplorer ()
void operator= (const STLExplorer &a_inputReader)


Constructor & Destructor Documentation

STLExplorer::STLExplorer ( RefCountedPtr< STLMesh a_stlmesh  ) 

Constructor - just need a mesh.

STLExplorer::~STLExplorer (  ) 

Destructor.

STLExplorer::STLExplorer (  )  [inline, private]

References MayDay::Abort().


Member Function Documentation

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::GetVertMap ( Vector< IntVect > **  a_vertmap  ) 

void STLExplorer::GetTriMap ( Vector< Vector< IntVect > > **  a_trimap  ) 

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().


Member Data Documentation

bool STLExplorer::m_freestlbox [protected]

bool STLExplorer::m_printdebug [protected]


The documentation for this class was generated from the following file:

Generated on Fri Apr 5 04:25:18 2019 for Chombo + EB by  doxygen 1.5.5