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

Last change on this file since 540 was 540, checked in by mhnguyen, 10 years ago

Reorganizing structure of grid

+) Grid doesn't have domain_ref and axis_ref anymore.
All domain and axis of a grid must be inside grid (These domain and axis can be defined or refer to others)
+) Grid contains list of domain and axis
+) Reorder some functions to make sure new functionlities work

Test
+) On Curie
+) Mode attached and detached
+) Only test_new_features
+) Passed

  • 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
73         bool isChecked;
74         std::set<StdString> relFiles;
75
76         DECLARE_REF_FUNC(Axis,axis)
77
78
79   }; // class CAxis
80
81   ///--------------------------------------------------------------
82
83   // Declare/Define CAxisGroup and CAxisDefinition
84   DECLARE_GROUP(CAxis);
85
86   ///--------------------------------------------------------------
87
88} // namespace xios
89
90#endif // __XMLIO_CAxis__
Note: See TracBrowser for help on using the repository browser.