]> SALOME platform Git repositories - tools/medcoupling.git/commitdiff
Salome HOME
*** empty log message ***
authorageay <ageay>
Thu, 23 Sep 2010 10:13:43 +0000 (10:13 +0000)
committerageay <ageay>
Thu, 23 Sep 2010 10:13:43 +0000 (10:13 +0000)
src/MEDCoupling/MEDCouplingFieldDouble.cxx
src/MEDCoupling/MEDCouplingFieldDouble.hxx
src/MEDCoupling_Swig/libMEDCoupling_Swig.i

index 3a08625fc91c4ee02b89771973801f4c7b2659d3..aeb69c0384f5d182102c544f066ed927d36ec9b4 100644 (file)
@@ -598,11 +598,25 @@ void MEDCouplingFieldDouble::applyFuncFast64(const char *func) throw(INTERP_KERN
   _time_discr->applyFuncFast64(func);
 }
 
-int MEDCouplingFieldDouble::getNumberOfComponents() const
+/*!
+ * This method makes the assumption that the default array has been set before.
+ * If not an exception will be sent.
+ * If default array set, the number of components will be sent.
+ */
+int MEDCouplingFieldDouble::getNumberOfComponents() const throw(INTERP_KERNEL::Exception)
 {
+  if(getArray()==0)
+    throw INTERP_KERNEL::Exception("MEDCouplingFieldDouble::getNumberOfComponents : No array specified !");
   return getArray()->getNumberOfComponents();
 }
 
+/*!
+ * This method makes the assumption that _mesh has be set before the call of this method and description of gauss
+ * localizations in case of Gauss field. If not an exception will sent.
+ * \b Contrary to MEDCouplingFieldDouble::getNumberOfComponents and MEDCouplingFieldDouble::getNumberOfValues is
+ * \b not aware of the presence of the default array.
+ * \b WARNING \b no coherency check is done here. MEDCouplingFieldDouble::checkCoherency method should be called to check that !
+ */
 int MEDCouplingFieldDouble::getNumberOfTuples() const throw(INTERP_KERNEL::Exception)
 {
   if(!_mesh)
@@ -610,6 +624,18 @@ int MEDCouplingFieldDouble::getNumberOfTuples() const throw(INTERP_KERNEL::Excep
   return _type->getNumberOfTuples(_mesh);
 }
 
+/*!
+ * This method makes the assumption that the default array has been set before.
+ * If not an exception will be sent.
+ * If default array set, the number of values present in the default array will be sent.
+ */
+int MEDCouplingFieldDouble::getNumberOfValues() const throw(INTERP_KERNEL::Exception)
+{
+  if(getArray()==0)
+    throw INTERP_KERNEL::Exception("MEDCouplingFieldDouble::getNumberOfValues : No array specified !");
+  return getArray()->getNbOfElems();
+}
+
 void MEDCouplingFieldDouble::updateTime()
 {
   MEDCouplingField::updateTime();
index f86b013beb662ab3526bbf8aabbd2d41e6e8de70..a3c40d86c437fe3c446d9c767b498b6539bb8935 100644 (file)
@@ -84,8 +84,9 @@ namespace ParaMEDMEM
     void applyFunc(const char *func);
     void applyFuncFast32(const char *func) throw(INTERP_KERNEL::Exception);
     void applyFuncFast64(const char *func) throw(INTERP_KERNEL::Exception);
-    int getNumberOfComponents() const;
+    int getNumberOfComponents() const throw(INTERP_KERNEL::Exception);
     int getNumberOfTuples() const throw(INTERP_KERNEL::Exception);
+    int getNumberOfValues() const throw(INTERP_KERNEL::Exception);
     void updateTime();
     //
     void getTinySerializationIntInformation(std::vector<int>& tinyInfo) const;
index 9d783c3d379a3fc6e8e92b4c98fa2915bd9952fe..a1ee44c3647feb601c18cdcbd58f6cd38c99021f 100644 (file)
@@ -778,8 +778,9 @@ namespace ParaMEDMEM
     DataArrayDouble *getArray() const throw(INTERP_KERNEL::Exception);
     DataArrayDouble *getEndArray() const throw(INTERP_KERNEL::Exception);
     void applyLin(double a, double b, int compoId) throw(INTERP_KERNEL::Exception);
-    int getNumberOfComponents() const;
+    int getNumberOfComponents() const throw(INTERP_KERNEL::Exception);
     int getNumberOfTuples() const throw(INTERP_KERNEL::Exception);
+    int getNumberOfValues() const throw(INTERP_KERNEL::Exception);
     NatureOfField getNature() const { return _nature; }
     void setNature(NatureOfField nat) throw(INTERP_KERNEL::Exception);
     void updateTime();