Salome HOME
0022098: EDF 2036 SMESH: Create groups from none conected parts of a mesh
authoreap <eap@opencascade.com>
Thu, 16 May 2013 16:22:25 +0000 (16:22 +0000)
committereap <eap@opencascade.com>
Thu, 16 May 2013 16:22:25 +0000 (16:22 +0000)
Move SMESH_ElementSearcher to from SMESH/SMESH_MeshEditor.hxx SMESHUtils/SMESH_MeshAlgos.hxx
in order to make SMESH_ElementSearcher accessible from Controls/SMESH_Controls.cxx

-  static bool FaceNormal(const SMDS_MeshElement* F, gp_XYZ& normal, bool normalized=true);
-  static std::vector< const SMDS_MeshNode*> GetCommonNodes(const SMDS_MeshElement* e1,
-                                                           const SMDS_MeshElement* e2);

src/SMESH/SMESH_Algo.cxx
src/SMESH/SMESH_Algo.hxx

index 17d4f91..38e00d2 100644 (file)
@@ -316,45 +316,6 @@ double SMESH_Algo::EdgeLength(const TopoDS_Edge & E)
 
 //================================================================================
 /*!
- * \brief Calculate normal of a mesh face
- */
-//================================================================================
-
-bool SMESH_Algo::FaceNormal(const SMDS_MeshElement* F, gp_XYZ& normal, bool normalized)
-{
-  if ( !F || F->GetType() != SMDSAbs_Face )
-    return false;
-
-  normal.SetCoord(0,0,0);
-  int nbNodes = F->IsQuadratic() ? F->NbNodes()/2 : F->NbNodes();
-  for ( int i = 0; i < nbNodes-2; ++i )
-  {
-    gp_XYZ p[3];
-    for ( int n = 0; n < 3; ++n )
-    {
-      const SMDS_MeshNode* node = F->GetNode( i + n );
-      p[n].SetCoord( node->X(), node->Y(), node->Z() );
-    }
-    normal += ( p[2] - p[1] ) ^ ( p[0] - p[1] );
-  }
-  double size2 = normal.SquareModulus();
-  bool ok = ( size2 > numeric_limits<double>::min() * numeric_limits<double>::min());
-  if ( normalized && ok )
-    normal /= sqrt( size2 );
-
-  return ok;
-}
-
-/*
- * Moved to SMESH_MesherHelper
- */
-// bool SMESH_Algo::IsReversedSubMesh (const TopoDS_Face&  theFace,
-//                                     SMESHDS_Mesh*       theMeshDS)
-// {
-// }
-
-//================================================================================
-/*!
  * \brief Just return false as the algorithm does not hold parameters values
  */
 //================================================================================
@@ -584,21 +545,6 @@ const SMDS_MeshNode* SMESH_Algo::VertexNode(const TopoDS_Vertex& V,
 }
 
 //=======================================================================
-//function : GetCommonNodes
-//purpose  : Return nodes common to two elements
-//=======================================================================
-
-vector< const SMDS_MeshNode*> SMESH_Algo::GetCommonNodes(const SMDS_MeshElement* e1,
-                                                         const SMDS_MeshElement* e2)
-{
-  vector< const SMDS_MeshNode*> common;
-  for ( int i = 0 ; i < e1->NbNodes(); ++i )
-    if ( e2->GetNodeIndex( e1->GetNode( i )) >= 0 )
-      common.push_back( e1->GetNode( i ));
-  return common;
-}
-
-//=======================================================================
 //function : GetMeshError
 //purpose  : Finds topological errors of a sub-mesh
 //WARNING  : 1D check is NOT implemented so far
index 3f8f2c8..a9872d8 100644 (file)
@@ -325,11 +325,6 @@ public:
    */
   static double EdgeLength(const TopoDS_Edge & E);
 
-  /*!
-   * \brief Calculate normal of a mesh face
-   */
-  static bool FaceNormal(const SMDS_MeshElement* F, gp_XYZ& normal, bool normalized=true);
-
   //static int NumberOfWires(const TopoDS_Shape& S);
   int NumberOfPoints(SMESH_Mesh& aMesh,const TopoDS_Wire& W);
 
@@ -356,12 +351,6 @@ public:
    */
   static const SMDS_MeshNode* VertexNode(const TopoDS_Vertex& V, const SMESHDS_Mesh* meshDS);
 
-  /*!
-   * \brief Return nodes common to two elements
-   */
-  static std::vector< const SMDS_MeshNode*> GetCommonNodes(const SMDS_MeshElement* e1,
-                                                           const SMDS_MeshElement* e2);
-
   enum EMeshError { MEr_OK = 0, MEr_HOLES, MEr_BAD_ORI, MEr_EMPTY };
 
   /*!