Version: 9.12.0
SMESH_ElementSearcher Struct Referenceabstract

Searcher for elements. More...

#include <SMESH_MeshAlgos.hxx>

Inheritance diagram for SMESH_ElementSearcher:

Public Member Functions

virtual int FindElementsByPoint (const gp_Pnt &point, SMDSAbs_ElementType type, std::vector< const SMDS_MeshElement * > &foundElems)=0
 Find elements of given type where the given point is IN or ON. More...
 
virtual const SMDS_MeshElementFindClosestTo (const gp_Pnt &point, SMDSAbs_ElementType type)=0
 Return an element most close to the given point. More...
 
virtual void GetElementsNearLine (const gp_Ax1 &line, SMDSAbs_ElementType type, std::vector< const SMDS_MeshElement * > &foundElems)=0
 Return elements possibly intersecting the line. More...
 
virtual void GetElementsInSphere (const gp_XYZ &center, const double radius, SMDSAbs_ElementType type, std::vector< const SMDS_MeshElement * > &foundElems)=0
 Return elements whose bounding box intersects a sphere. More...
 
virtual void GetElementsInBox (const Bnd_B3d &box, SMDSAbs_ElementType type, std::vector< const SMDS_MeshElement * > &foundElems)=0
 Return elements whose bounding box intersects a given bounding box. More...
 
virtual TopAbs_State GetPointState (const gp_Pnt &point)=0
 Find out if the given point is out of closed 2D mesh. More...
 
virtual gp_XYZ Project (const gp_Pnt &point, SMDSAbs_ElementType type, const SMDS_MeshElement **closestFace=0)=0
 Return a projection of a given point to a 2D mesh. More...
 
virtual ~SMESH_ElementSearcher ()
 Implementation of search for the elements by point and of classification of point in 2D mesh. More...
 

Detailed Description

Searcher for elements.

Constructor & Destructor Documentation

◆ ~SMESH_ElementSearcher()

SMESH_ElementSearcher::~SMESH_ElementSearcher ( )
virtual

Implementation of search for the elements by point and of classification of point in 2D mesh.

Member Function Documentation

◆ FindClosestTo()

virtual const SMDS_MeshElement* SMESH_ElementSearcher::FindClosestTo ( const gp_Pnt &  point,
SMDSAbs_ElementType  type 
)
pure virtual

Return an element most close to the given point.

Implemented in SMESH_ElementSearcherImpl.

Referenced by SMESH_MeshEditor::GetHexaFacetsToSplit(), and SMESH_MeshEditor_i::Reorient2D().

◆ FindElementsByPoint()

virtual int SMESH_ElementSearcher::FindElementsByPoint ( const gp_Pnt &  point,
SMDSAbs_ElementType  type,
std::vector< const SMDS_MeshElement * > &  foundElems 
)
pure virtual

Find elements of given type where the given point is IN or ON.

Returns nb of found elements and elements them-selves.

'ALL' type means elements of any type excluding nodes and 0D elements

Implemented in SMESH_ElementSearcherImpl.

Referenced by SMESH_MeshEditor_i::FindAmongElementsByPoint(), SMESH_MeshAlgos::FindCoincidentFreeBorders(), and SMESH_MeshEditor_i::FindElementsByPoint().

◆ GetElementsInBox()

virtual void SMESH_ElementSearcher::GetElementsInBox ( const Bnd_B3d &  box,
SMDSAbs_ElementType  type,
std::vector< const SMDS_MeshElement * > &  foundElems 
)
pure virtual

Return elements whose bounding box intersects a given bounding box.

Implemented in SMESH_ElementSearcherImpl.

◆ GetElementsInSphere()

virtual void SMESH_ElementSearcher::GetElementsInSphere ( const gp_XYZ &  center,
const double  radius,
SMDSAbs_ElementType  type,
std::vector< const SMDS_MeshElement * > &  foundElems 
)
pure virtual

Return elements whose bounding box intersects a sphere.

Implemented in SMESH_ElementSearcherImpl.

Referenced by StdMeshers_QuadToTriaAdaptor::Compute2ndPart(), StdMeshers_QuadToTriaAdaptor::LimitHeight(), and SMESH_MeshAlgos::MakePolyLine().

◆ GetElementsNearLine()

virtual void SMESH_ElementSearcher::GetElementsNearLine ( const gp_Ax1 &  line,
SMDSAbs_ElementType  type,
std::vector< const SMDS_MeshElement * > &  foundElems 
)
pure virtual

◆ GetPointState()

virtual TopAbs_State SMESH_ElementSearcher::GetPointState ( const gp_Pnt &  point)
pure virtual

Find out if the given point is out of closed 2D mesh.

Implemented in SMESH_ElementSearcherImpl.

Referenced by StdMeshers_QuadToTriaAdaptor::Compute(), and SMESH_MeshEditor_i::GetPointState().

◆ Project()

virtual gp_XYZ SMESH_ElementSearcher::Project ( const gp_Pnt &  point,
SMDSAbs_ElementType  type,
const SMDS_MeshElement **  closestFace = 0 
)
pure virtual

Return a projection of a given point to a 2D mesh.

Optionally return the closest face

Implemented in SMESH_ElementSearcherImpl.

Referenced by getNodeElemDistance(), SMESH_MeshAlgos::MakePolyLine(), and SMESH_MeshEditor_i::ProjectPoint().