-
-
-//=======================================================================
-/*!
- * \brief Searcher for the node closest to point
- */
-//=======================================================================
-struct SMESH_NodeSearcher
-{
- virtual const SMDS_MeshNode* FindClosestTo( const gp_Pnt& pnt ) = 0;
- virtual void MoveNode( const SMDS_MeshNode* node, const gp_Pnt& toPnt ) = 0;
-};
-
-//=======================================================================
-/*!
- * \brief Searcher for elements
- */
-//=======================================================================
-
-struct SMESH_ElementSearcher
-{
- /*!
- * \brief 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
- */
- virtual int FindElementsByPoint(const gp_Pnt& point,
- SMDSAbs_ElementType type,
- std::vector< const SMDS_MeshElement* >& foundElems)=0;
- /*!
- * \brief Return an element most close to the given point
- */
- virtual const SMDS_MeshElement* FindClosestTo( const gp_Pnt& point,
- SMDSAbs_ElementType type) = 0;
- /*!
- * \brief Return elements possibly intersecting the line
- */
- virtual void GetElementsNearLine( const gp_Ax1& line,
- SMDSAbs_ElementType type,
- std::vector< const SMDS_MeshElement* >& foundElems)=0;
- /*!
- * \brief Find out if the given point is out of closed 2D mesh.
- */
- virtual TopAbs_State GetPointState(const gp_Pnt& point) = 0;
-
-};