Salome HOME
0021197: EDF 1772 SMESH: Automatic meshing hypothesis
[modules/smesh.git] / src / SMDS / SMDS_MeshInfo.hxx
index ca0b5ab4c503ba9f5174aefd59824eaf91893bd1..06030e27d3f8f671669d72d297549f90958e9b5a 100644 (file)
@@ -1,7 +1,4 @@
-//  Copyright (C) 2007-2008  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
+//  Copyright (C) 2007-2010  CEA/DEN, EDF R&D, OPEN CASCADE
 //
 //  This library is free software; you can redistribute it and/or
 //  modify it under the terms of the GNU Lesser General Public
@@ -19,6 +16,7 @@
 //
 //  See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com
 //
+
 // File      : SMDS_MeshInfo.hxx
 // Created   : Mon Sep 24 18:32:41 2007
 // Author    : Edward AGAPOV (eap)
@@ -41,6 +39,7 @@ public:
 
   int NbNodes() const { return myNbNodes; }
   inline int NbElements(SMDSAbs_ElementType type=SMDSAbs_All) const;
+  inline int NbEntities(SMDSAbs_EntityType  type) const;
 
   int Nb0DElements() const { return myNb0DElements; }
   inline int NbEdges      (SMDSAbs_ElementOrder order = ORDER_ANY) const;
@@ -254,4 +253,71 @@ SMDS_MeshInfo::NbElements(SMDSAbs_ElementType type) const
   }
   return nb;
 }
+
+int // NbEntities
+SMDS_MeshInfo::NbEntities(SMDSAbs_EntityType  type) const
+{
+  switch (type) {
+  case SMDSEntity_Node:
+    return myNbNodes;
+    break;
+  case SMDSEntity_0D:
+    return myNb0DElements;
+    break;
+  case SMDSEntity_Edge:
+    return myNbEdges;
+    break;
+  case SMDSEntity_Quad_Edge:
+    return myNbQuadEdges;
+    break;
+  case SMDSEntity_Triangle:
+    return myNbTriangles;
+    break;
+  case SMDSEntity_Quad_Triangle:
+    return myNbQuadTriangles;
+    break;
+  case SMDSEntity_Quadrangle:
+    return myNbQuadrangles;
+    break;
+  case SMDSEntity_Quad_Quadrangle:
+    return myNbQuadQuadrangles;
+    break;
+  case SMDSEntity_Polygon:
+    return myNbPolygons;
+    break;
+  case SMDSEntity_Tetra:
+    return myNbTetras;
+    break;
+  case SMDSEntity_Quad_Tetra:
+    return myNbQuadTetras;
+    break;
+  case SMDSEntity_Pyramid:
+    return myNbPyramids;
+    break;
+  case SMDSEntity_Quad_Pyramid:
+    return myNbQuadPyramids;
+    break;
+  case SMDSEntity_Hexa:
+    return myNbHexas;
+    break;
+  case SMDSEntity_Quad_Hexa:
+    return myNbQuadHexas;
+    break;
+  case SMDSEntity_Penta:
+    return myNbPrisms;
+    break;
+  case SMDSEntity_Quad_Penta:
+    return myNbQuadPrisms;
+    break;
+  case SMDSEntity_Polyhedra:
+    return myNbPolyhedrons;
+    break;
+  case SMDSEntity_Quad_Polygon:
+  case SMDSEntity_Quad_Polyhedra:
+  default:
+  break;
+  }
+  return 0;
+}
+
 #endif