]> SALOME platform Git repositories - modules/smesh.git/commitdiff
Salome HOME
PAL15429 Computation of the mesh, based on "014.brep" via Tetrahedron(NETGEN), is...
authoreap <eap@opencascade.com>
Fri, 20 Feb 2009 07:14:17 +0000 (07:14 +0000)
committereap <eap@opencascade.com>
Fri, 20 Feb 2009 07:14:17 +0000 (07:14 +0000)
    fix for G7.py
+  /*!
+   * \brief Return number of unique ancestors of the shape
+   */
+  static int NbAncestors(const TopoDS_Shape& shape,
+                         const SMESH_Mesh&   mesh,
+                         TopAbs_ShapeEnum    ancestorType=TopAbs_SHAPE);
+

src/SMESH/SMESH_MesherHelper.cxx

index 292c29ecb7fc8964985f66f29ef4b03eaae0c53c..35bfeef1a3246a03e8155175f7880ac976b175c0 100644 (file)
@@ -1149,6 +1149,25 @@ bool SMESH_MesherHelper::LoadNodeColumns(TParam2ColumnMap & theParam2ColumnMap,
   return true;
 }
 
+//=======================================================================
+/*!
+ * \brief Return number of unique ancestors of the shape
+ */
+//=======================================================================
+
+int SMESH_MesherHelper::NbAncestors(const TopoDS_Shape& shape,
+                                    const SMESH_Mesh&   mesh,
+                                    TopAbs_ShapeEnum    ancestorType/*=TopAbs_SHAPE*/)
+{
+  TopTools_MapOfShape ancestors;
+  TopTools_ListIteratorOfListOfShape ansIt( mesh.GetAncestors(shape) );
+  for ( ; ansIt.More(); ansIt.Next() ) {
+    if ( ancestorType == TopAbs_SHAPE || ansIt.Value().ShapeType() == ancestorType )
+      ancestors.Add( ansIt.Value() );
+  }
+  return ancestors.Extent();
+}
+
 //=======================================================================
 /**
  * Check mesh without geometry for: if all elements on this shape are quadratic,