source: XMLIO_V2/dev/dev_rv/src/xmlio/data_output.cpp @ 189

Last change on this file since 189 was 189, checked in by hozdoba, 10 years ago
File size: 2.8 KB
Line 
1#include "data_output.hpp"
2
3#include "attribute_template_impl.hpp"
4
5namespace xmlioserver
6{
7   namespace io
8   {
9      /// ////////////////////// Définitions ////////////////////// ///
10
11      CDataOutput::~CDataOutput(void)
12      { /* Ne rien faire de plus */ }
13
14      //----------------------------------------------------------------
15
16      void CDataOutput::writeGrid
17         (const boost::shared_ptr<tree::CGrid> grid)
18      {
19         if (grid->domain_ref.isEmpty())
20            ERROR("CONetCDF4Adv::writeGrid(grid)",
21                   << " domain is not defined !");
22
23         if (grid->axis_ref.isEmpty())
24         {
25            this->writeGrid
26            (CObjectFactory::GetObject<tree::CDomain>(grid->domain_ref.getValue()));
27         }
28         else
29         {
30            this->writeGrid
31            (CObjectFactory::GetObject<tree::CDomain>(grid->domain_ref.getValue()),
32             CObjectFactory::GetObject<tree::CAxis>(grid->axis_ref.getValue()));
33         }
34      }
35
36      //----------------------------------------------------------------
37
38      void CDataOutput::writeFile
39         (const boost::shared_ptr<tree::CFile>  file)
40      {
41         this->writeFile_(file);
42      }
43
44      //----------------------------------------------------------------
45
46      void CDataOutput::writeGrid
47         (const boost::shared_ptr<tree::CDomain> domain,
48          const boost::shared_ptr<tree::CAxis> axis)
49      {
50         this->writeDomain_(domain);
51         this->writeAxis_(axis);
52      }
53
54      //----------------------------------------------------------------
55
56      void CDataOutput::writeGrid
57         (const boost::shared_ptr<tree::CDomain> domain)
58      {
59         this->writeDomain_(domain);
60      }
61
62      //----------------------------------------------------------------
63
64      void CDataOutput::writeField
65         (const boost::shared_ptr<tree::CField> field)
66      {
67         this->writeField_(field);
68      }
69
70      //----------------------------------------------------------------
71
72      void CDataOutput::writeFieldGrid
73         (const boost::shared_ptr<tree::CField> field)
74      {
75         this->writeGrid(field->getRelGrid());
76      }
77     
78      //----------------------------------------------------------------
79     
80      void CDataOutput::writeFieldData(const boost::shared_ptr<tree::CField> field)
81      {
82         boost::shared_ptr<CGrid> grid =
83            CObjectFactory::GetObject<CGrid>(field->grid_ref.getValue());
84         boost::shared_ptr<CDomain> domain =
85            CObjectFactory::GetObject<CDomain>(grid->domain_ref.getValue());
86           
87         if (domain->isEmpty()) return;
88         this->writeFieldData_(field);
89      }
90     
91      ///----------------------------------------------------------------
92
93   } // namespace io
94} // namespace xmlioserver
Note: See TracBrowser for help on using the repository browser.