Index: XMLIO_V2/dev/dev_rv/src/XMLIO/file.hpp
===================================================================
--- XMLIO_V2/dev/dev_rv/src/XMLIO/file.hpp	(revision 125)
+++ XMLIO_V2/dev/dev_rv/src/XMLIO/file.hpp	(revision 127)
@@ -16,25 +16,4 @@
          {/* Ne rien faire de plus */}
 
-         static string GetName(void) { return ("file"); }
-         static string GetDefName(void)  { return (CFile::GetName()); }
-
-         virtual void parse (XMLNode& _node)
-         {
-            string name = _node.getElementName();
-            THashAttributes attributes;
-
-            /// PARSING GESTION DES ATTRIBUTS ///
-            _node.getAttributes(attributes);
-            this->setAttributes(attributes);
-            attributes.clear();
-
-            /// PARSING POUR GESION DES ENFANTS ///
-            if (_node.goToChildElement() and hasId())
-            { // Si la dÃ©finition du fichier intÃ©gre des champs et si le fichier est identifiÃ©.
-               _node.goToParentElement();
-               vfieldGroup = CreateInstanceAndParse<FieldGroup>(_node, getId().c_str(), false );
-            }
-         }
-
          AbstractDataOutput* getDataOutput(void) const { return (output); }
          void initializeDataOutput(AbstractDataOutput* _output)
@@ -50,5 +29,5 @@
          {
             std::set<const CGrid*> sgrid;
-            const std::vector<CField*> enabledFields = getEnabledFields();
+            const std::vector<CField*> enabledFields = this->getEnabledFields();
             std::vector<CField*>::const_iterator it;
 
@@ -59,7 +38,20 @@
          }
 
+         const std::set<const FieldOperation*> getEnabledOperation(void) const
+         {
+            std::set<const FieldOperation*> sope;
+            const std::vector<CField*> enabledFields = this->getEnabledFields();
+            std::vector<CField*>::const_iterator it;
+
+            for ( it = enabledFields.begin() ; it != enabledFields.end(); it++ )
+               if ((*it)->operation.hasValue())
+                  sope.insert((FieldOperation*)&(*it)->operation);
+
+            return (sope);
+         }
+
          const std::set<const CDomain*> getEnabledDomains(void) const
          {
-            const std::set<const CGrid*> sgrid = getEnabledGrids();
+            const std::set<const CGrid*> sgrid = this->getEnabledGrids();
             std::set<const CDomain*> sdomain;
 
@@ -74,5 +66,5 @@
          const std::set<const CAxis*> getEnabledAxis(void) const
          {
-            const std::set<const CGrid*> sgrid = getEnabledGrids();
+            const std::set<const CGrid*> sgrid = this->getEnabledGrids();
             std::set<const CAxis*> saxis;
 
@@ -84,10 +76,4 @@
             return (saxis);
          }
-
-         virtual bool hasChild(void) const { return (vfieldGroup != NULL); }
-         virtual void printChild(ostream& out) const { out << *vfieldGroup << std::endl; }
-
-         virtual void resolveDescInheritance(const AttributRegistrar* const _parent = 0)
-         { addAttributes(*_parent); if(vfieldGroup != NULL) vfieldGroup->resolveDescInheritance(); }
 
          void resolveFieldRefInheritance(void)
@@ -144,4 +130,30 @@
          }
 
+      public : /* virtual */
+
+         virtual void parse (XMLNode& _node)
+         {
+            string name = _node.getElementName();
+            THashAttributes attributes;
+
+            /// PARSING GESTION DES ATTRIBUTS ///
+            _node.getAttributes(attributes);
+            this->setAttributes(attributes);
+            attributes.clear();
+
+            /// PARSING POUR GESION DES ENFANTS ///
+            if (_node.goToChildElement() and hasId())
+            { // Si la dÃ©finition du fichier intÃ©gre des champs et si le fichier est identifiÃ©.
+               _node.goToParentElement();
+               vfieldGroup = CreateInstanceAndParse<FieldGroup>(_node, getId().c_str(), false );
+            }
+         }
+
+         virtual bool hasChild(void) const { return (vfieldGroup != NULL); }
+         virtual void printChild(ostream& out) const { out << *vfieldGroup << std::endl; }
+
+         virtual void resolveDescInheritance(const AttributRegistrar* const _parent = 0)
+         { addAttributes(*_parent); if(vfieldGroup != NULL) vfieldGroup->resolveDescInheritance(); }
+
          virtual  ~CFile(void)
          {
@@ -149,4 +161,9 @@
             if(output != NULL) delete output;
          }
+
+      public : /* static */
+
+         static string GetName(void) { return ("file"); }
+         static string GetDefName(void)  { return (CFile::GetName()); }
 
       private :
