source: XIOS/trunk/src/node/axis.hpp @ 553

Last change on this file since 553 was 551, checked in by mhnguyen, 9 years ago

Redesigning grid structure

+) Add an intermediate class to calculate distribution on client and servers
+) Change all index of attributes to zero (0), instead of one(1)

Test
+) On Curie
+) Test new features passes but some data are still shifted

  • Property copyright set to
    Software name : XIOS (Xml I/O Server)
    http://forge.ipsl.jussieu.fr/ioserver
    Creation date : January 2009
    Licence : CeCCIL version2
    see license file in root directory : Licence_CeCILL_V2-en.txt
    or http://www.cecill.info/licences/Licence_CeCILL_V2-en.html
    Holder : CEA/LSCE (Laboratoire des Sciences du CLimat et de l'Environnement)
    CNRS/IPSL (Institut Pierre Simon Laplace)
    Project Manager : Yann Meurdesoif
    yann.meurdesoif@cea.fr
File size: 2.2 KB
Line 
1#ifndef __XMLIO_CAxis__
2#define __XMLIO_CAxis__
3
4/// xios headers ///
5#include "xmlioserver_spl.hpp"
6#include "group_factory.hpp"
7
8#include "declare_group.hpp"
9#include "declare_ref_func.hpp"
10#include "attribute_array.hpp"
11#include "attribute_enum.hpp"
12#include "attribute_enum_impl.hpp"
13
14namespace xios {
15
16   /// ////////////////////// Déclarations ////////////////////// ///
17
18   class CAxisGroup;
19   class CAxisAttributes;
20   class CAxis;
21
22   ///--------------------------------------------------------------
23
24   // Declare/Define CAxisAttribute
25   BEGIN_DECLARE_ATTRIBUTE_MAP(CAxis)
26#  include "axis_attribute.conf"
27   END_DECLARE_ATTRIBUTE_MAP(CAxis)
28
29   ///--------------------------------------------------------------
30
31   class CAxis
32      : public CObjectTemplate<CAxis>
33      , public CAxisAttributes
34   {
35         /// typedef ///
36         typedef CObjectTemplate<CAxis>   SuperClass;
37         typedef CAxisAttributes SuperClassAttribute;
38
39      public :
40
41         typedef CAxisAttributes RelAttributes;
42         typedef CAxisGroup      RelGroup;
43
44         /// Constructeurs ///
45         CAxis(void);
46         explicit CAxis(const StdString & id);
47         CAxis(const CAxis & axis);       // Not implemented yet.
48         CAxis(const CAxis * const axis); // Not implemented yet.
49
50         /// Accesseurs ///
51         const std::set<StdString> & getRelFiles(void) const;
52
53         /// Test ///
54         bool IsWritten(const StdString & filename) const;
55
56         /// Mutateur ///
57         void addRelFile(const StdString & filename);
58
59         /// Vérifications ///
60         void checkAttributes(void);
61
62         /// Destructeur ///
63         virtual ~CAxis(void);
64
65         /// Accesseurs statiques ///
66         static StdString GetName(void);
67         static StdString GetDefName(void);
68
69         static ENodeType GetType(void);
70
71      private :
72         void checkData();
73         void checkMask();
74         bool isChecked;
75         std::set<StdString> relFiles;
76
77         DECLARE_REF_FUNC(Axis,axis)
78
79
80   }; // class CAxis
81
82   ///--------------------------------------------------------------
83
84   // Declare/Define CAxisGroup and CAxisDefinition
85   DECLARE_GROUP(CAxis);
86
87   ///--------------------------------------------------------------
88
89} // namespace xios
90
91#endif // __XMLIO_CAxis__
Note: See TracBrowser for help on using the repository browser.