]> SALOME platform Git repositories - tools/medcoupling.git/commitdiff
Salome HOME
MEDFileMesh::getNumberOfNodes
authorageay <ageay>
Thu, 21 Jun 2012 13:20:09 +0000 (13:20 +0000)
committerageay <ageay>
Thu, 21 Jun 2012 13:20:09 +0000 (13:20 +0000)
src/MEDLoader/MEDFileMesh.cxx
src/MEDLoader/MEDFileMesh.hxx

index 504301b73170d89205882b5e98009b85bacc3a1c..7403cb787c8568d31118f99f735bf904cc01c82a 100644 (file)
@@ -1735,6 +1735,14 @@ const DataArrayInt *MEDFileUMesh::getNumberFieldAtLevel(int meshDimRelToMaxExt)
   return l1->getNumberField();
 }
 
+int MEDFileUMesh::getNumberOfNodes() const throw(INTERP_KERNEL::Exception)
+{
+  const DataArrayDouble *coo=_coords;
+  if(!coo)
+    throw INTERP_KERNEL::Exception(" MEDFileUMesh::getNumberOfNodes : no coords set !");
+  return coo->getNumberOfTuples();
+}
+
 const DataArrayInt *MEDFileUMesh::getRevNumberFieldAtLevel(int meshDimRelToMaxExt) const throw(INTERP_KERNEL::Exception)
 {
   if(meshDimRelToMaxExt==1)
@@ -2639,6 +2647,14 @@ void MEDFileCMesh::synchronizeTinyInfoOnLeaves() const
   (const_cast<MEDCouplingCMesh *>(cmesh))->setTimeUnit(_dt_unit.c_str());
 }
 
+int MEDFileCMesh::getNumberOfNodes() const throw(INTERP_KERNEL::Exception)
+{
+  const MEDCouplingCMesh *cmesh(_cmesh);
+  if(!cmesh)
+    throw INTERP_KERNEL::Exception("MEDFileCMesh::getNumberOfNodes : no cartesian mesh set !");
+  return cmesh->getNumberOfNodes();
+}
+
 std::vector<int> MEDFileCMesh::getNonEmptyLevels() const
 {
   std::vector<int> ret(1);
index 4b2d571b98eefeb1f86e2834e7c6e47466a473c6..9f77de9165016479162858c7e6256de1999d112b 100644 (file)
@@ -51,6 +51,7 @@ namespace ParaMEDMEM
     double getTimeValue() const { return _time; }
     void setTimeUnit(const char *unit) { _dt_unit=unit; }
     const char *getTimeUnit() const { return _dt_unit.c_str(); }
+    virtual int getNumberOfNodes() const throw(INTERP_KERNEL::Exception) = 0;
     virtual std::vector<int> getNonEmptyLevels() const = 0;
     virtual std::vector<int> getNonEmptyLevelsExt() const = 0;
     virtual void write(const char *fileName, int mode) const throw(INTERP_KERNEL::Exception);
@@ -162,6 +163,7 @@ namespace ParaMEDMEM
     const DataArrayInt *getFamilyFieldAtLevel(int meshDimRelToMaxExt) const throw(INTERP_KERNEL::Exception);
     const DataArrayInt *getNumberFieldAtLevel(int meshDimRelToMaxExt) const throw(INTERP_KERNEL::Exception);
     const DataArrayInt *getRevNumberFieldAtLevel(int meshDimRelToMaxExt) const throw(INTERP_KERNEL::Exception);
+    int getNumberOfNodes() const throw(INTERP_KERNEL::Exception);
     std::vector<int> getNonEmptyLevels() const;
     std::vector<int> getNonEmptyLevelsExt() const;
     std::vector<int> getGrpNonEmptyLevels(const char *grp) const throw(INTERP_KERNEL::Exception);
@@ -238,6 +240,7 @@ namespace ParaMEDMEM
     DataArrayInt *getFamiliesArr(int meshDimRelToMaxExt, const std::vector<std::string>& fams, bool renum=false) const throw(INTERP_KERNEL::Exception);
     void setFamilyFieldArr(int meshDimRelToMaxExt, DataArrayInt *famArr) throw(INTERP_KERNEL::Exception);
     void setRenumFieldArr(int meshDimRelToMaxExt, DataArrayInt *renumArr) throw(INTERP_KERNEL::Exception);
+    int getNumberOfNodes() const throw(INTERP_KERNEL::Exception);
     std::vector<int> getNonEmptyLevels() const;
     std::vector<int> getNonEmptyLevelsExt() const;
     const DataArrayInt *getFamilyFieldAtLevel(int meshDimRelToMaxExt) const throw(INTERP_KERNEL::Exception);