X-Git-Url: http://git.salome-platform.org/gitweb/?a=blobdiff_plain;f=src%2FSMESHUtils%2FSMESH_MeshAlgos.hxx;h=1114bfe025cc94729bda191a5954445938172034;hb=ca5275c924507e615246cc4ceed8267c9dddc0a7;hp=9b860a6ab1150ef5169e25d1b81a6d89d27ba68b;hpb=02ac54c6f33c5437c1d2204d704cf3da6fd31a8e;p=modules%2Fsmesh.git diff --git a/src/SMESHUtils/SMESH_MeshAlgos.hxx b/src/SMESHUtils/SMESH_MeshAlgos.hxx index 9b860a6ab..1114bfe02 100644 --- a/src/SMESHUtils/SMESH_MeshAlgos.hxx +++ b/src/SMESHUtils/SMESH_MeshAlgos.hxx @@ -1,4 +1,4 @@ -// Copyright (C) 2007-2015 CEA/DEN, EDF R&D, OPEN CASCADE +// Copyright (C) 2007-2016 CEA/DEN, EDF R&D, OPEN CASCADE // // Copyright (C) 2003-2007 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN, // CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS @@ -58,6 +58,7 @@ struct SMESHUtils_EXPORT SMESH_NodeSearcher virtual int FindNearPoint(const gp_Pnt& point, const double tolerance, std::vector< const SMDS_MeshNode* >& foundNodes) = 0; + virtual ~SMESH_NodeSearcher() {} }; //======================================================================= @@ -88,6 +89,13 @@ struct SMESHUtils_EXPORT SMESH_ElementSearcher virtual void GetElementsNearLine( const gp_Ax1& line, SMDSAbs_ElementType type, std::vector< const SMDS_MeshElement* >& foundElems) = 0; + /*! + * \brief Return elements whose bounding box intersects a sphere + */ + virtual void GetElementsInSphere( const gp_XYZ& center, + const double radius, + SMDSAbs_ElementType type, + std::vector< const SMDS_MeshElement* >& foundElems) = 0; /*! * \brief Find out if the given point is out of closed 2D mesh. */ @@ -152,6 +160,9 @@ namespace SMESH_MeshAlgos SMESHUtils_EXPORT SMESH_NodeSearcher* GetNodeSearcher( SMDS_Mesh& mesh ); + SMESHUtils_EXPORT + SMESH_NodeSearcher* GetNodeSearcher( SMDS_ElemIteratorPtr elemIt ); + /*! * \brief Return SMESH_ElementSearcher. The caller is responsible for deleting it */ @@ -195,6 +206,16 @@ namespace SMESH_MeshAlgos CoincidentFreeBorders & foundFreeBordes); -} // SMESH_MeshAlgos + /*! + * \brief Find nodes whose merge makes the element invalid + * + * (Implemented in SMESH_DeMerge.cxx) + */ + SMESHUtils_EXPORT + void DeMerge(const SMDS_MeshElement* elem, + std::vector< const SMDS_MeshNode* >& newNodes, + std::vector< const SMDS_MeshNode* >& noMergeNodes); + +} // namespace SMESH_MeshAlgos #endif