source: XIOS/trunk/src/interface/c_attr/icaxis_attr.cpp @ 903

Last change on this file since 903 was 817, checked in by mhnguyen, 8 years ago

Adding some attributes for axis and grid (ticket 71, 78)

+) Add index attribute for axis
+) Change mask?d to mask_?d for grid

Test
+) On Curie
+) Test passes

  • 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
  • Property svn:eol-style set to native
File size: 13.2 KB
RevLine 
[325]1/* ************************************************************************** *
[581]2 *               Interface auto generated - do not modify                     *
[325]3 * ************************************************************************** */
4
5#include <boost/multi_array.hpp>
6#include <boost/shared_ptr.hpp>
[591]7#include "xios.hpp"
[352]8#include "attribute_template.hpp"
9#include "object_template.hpp"
10#include "group_template.hpp"
[325]11#include "icutil.hpp"
[532]12#include "icdate.hpp"
[347]13#include "timer.hpp"
[369]14#include "node_type.hpp"
[325]15
16extern "C"
17{
[581]18  typedef xios::CAxis* axis_Ptr;
19
[546]20  void cxios_set_axis_axis_ref(axis_Ptr axis_hdl, const char * axis_ref, int axis_ref_size)
21  {
22    std::string axis_ref_str;
[581]23    if (!cstr2string(axis_ref, axis_ref_size, axis_ref_str)) return;
24    CTimer::get("XIOS").resume();
[546]25    axis_hdl->axis_ref.setValue(axis_ref_str);
[581]26    CTimer::get("XIOS").suspend();
[546]27  }
[581]28
[546]29  void cxios_get_axis_axis_ref(axis_Ptr axis_hdl, char * axis_ref, int axis_ref_size)
30  {
[581]31    CTimer::get("XIOS").resume();
32    if (!string_copy(axis_hdl->axis_ref.getInheritedValue(), axis_ref, axis_ref_size))
33      ERROR("void cxios_get_axis_axis_ref(axis_Ptr axis_hdl, char * axis_ref, int axis_ref_size)", << "Input string is too short");
34    CTimer::get("XIOS").suspend();
[546]35  }
[581]36
37  bool cxios_is_defined_axis_axis_ref(axis_Ptr axis_hdl)
[546]38  {
39     CTimer::get("XIOS").resume();
[581]40     bool isDefined = axis_hdl->axis_ref.hasInheritedValue();
[546]41     CTimer::get("XIOS").suspend();
[581]42     return isDefined;
[546]43  }
[581]44
45
[666]46  void cxios_set_axis_begin(axis_Ptr axis_hdl, int begin)
47  {
48    CTimer::get("XIOS").resume();
49    axis_hdl->begin.setValue(begin);
50    CTimer::get("XIOS").suspend();
51  }
52
53  void cxios_get_axis_begin(axis_Ptr axis_hdl, int* begin)
54  {
55    CTimer::get("XIOS").resume();
56    *begin = axis_hdl->begin.getInheritedValue();
57    CTimer::get("XIOS").suspend();
58  }
59
60  bool cxios_is_defined_axis_begin(axis_Ptr axis_hdl)
61  {
62     CTimer::get("XIOS").resume();
63     bool isDefined = axis_hdl->begin.hasInheritedValue();
64     CTimer::get("XIOS").suspend();
65     return isDefined;
66  }
67
68
[674]69  void cxios_set_axis_bounds(axis_Ptr axis_hdl, double* bounds, int* extent)
[609]70  {
71    CTimer::get("XIOS").resume();
[674]72    CArray<double,2> tmp(bounds, shape(extent[0], extent[1]), neverDeleteData);
[609]73    axis_hdl->bounds.reference(tmp.copy());
74     CTimer::get("XIOS").suspend();
75  }
76
[674]77  void cxios_get_axis_bounds(axis_Ptr axis_hdl, double* bounds, int* extent)
[609]78  {
79    CTimer::get("XIOS").resume();
[674]80    CArray<double,2> tmp(bounds, shape(extent[0], extent[1]), neverDeleteData);
[609]81    tmp=axis_hdl->bounds.getInheritedValue();
82     CTimer::get("XIOS").suspend();
83  }
84
85  bool cxios_is_defined_axis_bounds(axis_Ptr axis_hdl)
86  {
87     CTimer::get("XIOS").resume();
88     bool isDefined = axis_hdl->bounds.hasInheritedValue();
89     CTimer::get("XIOS").suspend();
90     return isDefined;
91  }
92
93
[555]94  void cxios_set_axis_data_begin(axis_Ptr axis_hdl, int data_begin)
95  {
[581]96    CTimer::get("XIOS").resume();
[555]97    axis_hdl->data_begin.setValue(data_begin);
[581]98    CTimer::get("XIOS").suspend();
[555]99  }
[581]100
[555]101  void cxios_get_axis_data_begin(axis_Ptr axis_hdl, int* data_begin)
102  {
[581]103    CTimer::get("XIOS").resume();
[555]104    *data_begin = axis_hdl->data_begin.getInheritedValue();
[581]105    CTimer::get("XIOS").suspend();
[555]106  }
[581]107
108  bool cxios_is_defined_axis_data_begin(axis_Ptr axis_hdl)
[555]109  {
110     CTimer::get("XIOS").resume();
[581]111     bool isDefined = axis_hdl->data_begin.hasInheritedValue();
[555]112     CTimer::get("XIOS").suspend();
[581]113     return isDefined;
[555]114  }
[581]115
116
[674]117  void cxios_set_axis_data_index(axis_Ptr axis_hdl, int* data_index, int* extent)
[555]118  {
119    CTimer::get("XIOS").resume();
[674]120    CArray<int,1> tmp(data_index, shape(extent[0]), neverDeleteData);
[555]121    axis_hdl->data_index.reference(tmp.copy());
122     CTimer::get("XIOS").suspend();
123  }
[581]124
[674]125  void cxios_get_axis_data_index(axis_Ptr axis_hdl, int* data_index, int* extent)
[555]126  {
127    CTimer::get("XIOS").resume();
[674]128    CArray<int,1> tmp(data_index, shape(extent[0]), neverDeleteData);
[581]129    tmp=axis_hdl->data_index.getInheritedValue();
[555]130     CTimer::get("XIOS").suspend();
131  }
[581]132
133  bool cxios_is_defined_axis_data_index(axis_Ptr axis_hdl)
[555]134  {
135     CTimer::get("XIOS").resume();
[581]136     bool isDefined = axis_hdl->data_index.hasInheritedValue();
[555]137     CTimer::get("XIOS").suspend();
[581]138     return isDefined;
[555]139  }
[581]140
141
[555]142  void cxios_set_axis_data_n(axis_Ptr axis_hdl, int data_n)
143  {
[581]144    CTimer::get("XIOS").resume();
[555]145    axis_hdl->data_n.setValue(data_n);
[581]146    CTimer::get("XIOS").suspend();
[555]147  }
[581]148
[555]149  void cxios_get_axis_data_n(axis_Ptr axis_hdl, int* data_n)
150  {
[581]151    CTimer::get("XIOS").resume();
[555]152    *data_n = axis_hdl->data_n.getInheritedValue();
[581]153    CTimer::get("XIOS").suspend();
[555]154  }
[581]155
156  bool cxios_is_defined_axis_data_n(axis_Ptr axis_hdl)
[555]157  {
158     CTimer::get("XIOS").resume();
[581]159     bool isDefined = axis_hdl->data_n.hasInheritedValue();
[555]160     CTimer::get("XIOS").suspend();
[581]161     return isDefined;
[555]162  }
[581]163
164
[817]165  void cxios_set_axis_index(axis_Ptr axis_hdl, int* index, int* extent)
166  {
167    CTimer::get("XIOS").resume();
168    CArray<int,1> tmp(index, shape(extent[0]), neverDeleteData);
169    axis_hdl->index.reference(tmp.copy());
170     CTimer::get("XIOS").suspend();
171  }
172
173  void cxios_get_axis_index(axis_Ptr axis_hdl, int* index, int* extent)
174  {
175    CTimer::get("XIOS").resume();
176    CArray<int,1> tmp(index, shape(extent[0]), neverDeleteData);
177    tmp=axis_hdl->index.getInheritedValue();
178     CTimer::get("XIOS").suspend();
179  }
180
181  bool cxios_is_defined_axis_index(axis_Ptr axis_hdl)
182  {
183     CTimer::get("XIOS").resume();
184     bool isDefined = axis_hdl->index.hasInheritedValue();
185     CTimer::get("XIOS").suspend();
186     return isDefined;
187  }
188
189
[325]190  void cxios_set_axis_long_name(axis_Ptr axis_hdl, const char * long_name, int long_name_size)
191  {
192    std::string long_name_str;
[581]193    if (!cstr2string(long_name, long_name_size, long_name_str)) return;
194    CTimer::get("XIOS").resume();
[325]195    axis_hdl->long_name.setValue(long_name_str);
[581]196    CTimer::get("XIOS").suspend();
[325]197  }
[581]198
[325]199  void cxios_get_axis_long_name(axis_Ptr axis_hdl, char * long_name, int long_name_size)
200  {
[581]201    CTimer::get("XIOS").resume();
202    if (!string_copy(axis_hdl->long_name.getInheritedValue(), long_name, long_name_size))
203      ERROR("void cxios_get_axis_long_name(axis_Ptr axis_hdl, char * long_name, int long_name_size)", << "Input string is too short");
204    CTimer::get("XIOS").suspend();
[325]205  }
[581]206
207  bool cxios_is_defined_axis_long_name(axis_Ptr axis_hdl)
[432]208  {
209     CTimer::get("XIOS").resume();
[581]210     bool isDefined = axis_hdl->long_name.hasInheritedValue();
[432]211     CTimer::get("XIOS").suspend();
[581]212     return isDefined;
[432]213  }
[581]214
215
[674]216  void cxios_set_axis_mask(axis_Ptr axis_hdl, bool* mask, int* extent)
[555]217  {
218    CTimer::get("XIOS").resume();
[674]219    CArray<bool,1> tmp(mask, shape(extent[0]), neverDeleteData);
[555]220    axis_hdl->mask.reference(tmp.copy());
221     CTimer::get("XIOS").suspend();
222  }
[581]223
[674]224  void cxios_get_axis_mask(axis_Ptr axis_hdl, bool* mask, int* extent)
[555]225  {
226    CTimer::get("XIOS").resume();
[674]227    CArray<bool,1> tmp(mask, shape(extent[0]), neverDeleteData);
[581]228    tmp=axis_hdl->mask.getInheritedValue();
[555]229     CTimer::get("XIOS").suspend();
230  }
[581]231
232  bool cxios_is_defined_axis_mask(axis_Ptr axis_hdl)
[555]233  {
234     CTimer::get("XIOS").resume();
[581]235     bool isDefined = axis_hdl->mask.hasInheritedValue();
[555]236     CTimer::get("XIOS").suspend();
[581]237     return isDefined;
[555]238  }
[581]239
240
[666]241  void cxios_set_axis_n(axis_Ptr axis_hdl, int n)
[325]242  {
[581]243    CTimer::get("XIOS").resume();
[666]244    axis_hdl->n.setValue(n);
[581]245    CTimer::get("XIOS").suspend();
[325]246  }
[581]247
[666]248  void cxios_get_axis_n(axis_Ptr axis_hdl, int* n)
[325]249  {
[581]250    CTimer::get("XIOS").resume();
[666]251    *n = axis_hdl->n.getInheritedValue();
[581]252    CTimer::get("XIOS").suspend();
[325]253  }
[581]254
[666]255  bool cxios_is_defined_axis_n(axis_Ptr axis_hdl)
[432]256  {
257     CTimer::get("XIOS").resume();
[666]258     bool isDefined = axis_hdl->n.hasInheritedValue();
[432]259     CTimer::get("XIOS").suspend();
[581]260     return isDefined;
[432]261  }
[581]262
263
[779]264  void cxios_set_axis_n_distributed_partition(axis_Ptr axis_hdl, int n_distributed_partition)
265  {
266    CTimer::get("XIOS").resume();
267    axis_hdl->n_distributed_partition.setValue(n_distributed_partition);
268    CTimer::get("XIOS").suspend();
269  }
270
271  void cxios_get_axis_n_distributed_partition(axis_Ptr axis_hdl, int* n_distributed_partition)
272  {
273    CTimer::get("XIOS").resume();
274    *n_distributed_partition = axis_hdl->n_distributed_partition.getInheritedValue();
275    CTimer::get("XIOS").suspend();
276  }
277
278  bool cxios_is_defined_axis_n_distributed_partition(axis_Ptr axis_hdl)
279  {
280     CTimer::get("XIOS").resume();
281     bool isDefined = axis_hdl->n_distributed_partition.hasInheritedValue();
282     CTimer::get("XIOS").suspend();
283     return isDefined;
284  }
285
286
[666]287  void cxios_set_axis_n_glo(axis_Ptr axis_hdl, int n_glo)
[555]288  {
[581]289    CTimer::get("XIOS").resume();
[666]290    axis_hdl->n_glo.setValue(n_glo);
[581]291    CTimer::get("XIOS").suspend();
[555]292  }
[581]293
[666]294  void cxios_get_axis_n_glo(axis_Ptr axis_hdl, int* n_glo)
[555]295  {
[581]296    CTimer::get("XIOS").resume();
[666]297    *n_glo = axis_hdl->n_glo.getInheritedValue();
[581]298    CTimer::get("XIOS").suspend();
[555]299  }
[581]300
[666]301  bool cxios_is_defined_axis_n_glo(axis_Ptr axis_hdl)
[555]302  {
303     CTimer::get("XIOS").resume();
[666]304     bool isDefined = axis_hdl->n_glo.hasInheritedValue();
[555]305     CTimer::get("XIOS").suspend();
[581]306     return isDefined;
[555]307  }
[581]308
309
[666]310  void cxios_set_axis_name(axis_Ptr axis_hdl, const char * name, int name_size)
[415]311  {
[666]312    std::string name_str;
313    if (!cstr2string(name, name_size, name_str)) return;
[581]314    CTimer::get("XIOS").resume();
[666]315    axis_hdl->name.setValue(name_str);
[581]316    CTimer::get("XIOS").suspend();
[415]317  }
[581]318
[666]319  void cxios_get_axis_name(axis_Ptr axis_hdl, char * name, int name_size)
[415]320  {
[581]321    CTimer::get("XIOS").resume();
[666]322    if (!string_copy(axis_hdl->name.getInheritedValue(), name, name_size))
323      ERROR("void cxios_get_axis_name(axis_Ptr axis_hdl, char * name, int name_size)", << "Input string is too short");
[581]324    CTimer::get("XIOS").suspend();
[415]325  }
[581]326
[666]327  bool cxios_is_defined_axis_name(axis_Ptr axis_hdl)
[432]328  {
329     CTimer::get("XIOS").resume();
[666]330     bool isDefined = axis_hdl->name.hasInheritedValue();
[432]331     CTimer::get("XIOS").suspend();
[581]332     return isDefined;
[432]333  }
[581]334
335
[666]336  void cxios_set_axis_positive(axis_Ptr axis_hdl, const char * positive, int positive_size)
[325]337  {
[666]338    std::string positive_str;
339    if (!cstr2string(positive, positive_size, positive_str)) return;
[581]340    CTimer::get("XIOS").resume();
[666]341    axis_hdl->positive.fromString(positive_str);
[581]342    CTimer::get("XIOS").suspend();
[325]343  }
[581]344
[666]345  void cxios_get_axis_positive(axis_Ptr axis_hdl, char * positive, int positive_size)
[325]346  {
[581]347    CTimer::get("XIOS").resume();
[666]348    if (!string_copy(axis_hdl->positive.getInheritedStringValue(), positive, positive_size))
349      ERROR("void cxios_get_axis_positive(axis_Ptr axis_hdl, char * positive, int positive_size)", << "Input string is too short");
[581]350    CTimer::get("XIOS").suspend();
[325]351  }
[581]352
[666]353  bool cxios_is_defined_axis_positive(axis_Ptr axis_hdl)
[432]354  {
355     CTimer::get("XIOS").resume();
[666]356     bool isDefined = axis_hdl->positive.hasInheritedValue();
[432]357     CTimer::get("XIOS").suspend();
[581]358     return isDefined;
[432]359  }
[581]360
361
[325]362  void cxios_set_axis_standard_name(axis_Ptr axis_hdl, const char * standard_name, int standard_name_size)
363  {
364    std::string standard_name_str;
[581]365    if (!cstr2string(standard_name, standard_name_size, standard_name_str)) return;
366    CTimer::get("XIOS").resume();
[325]367    axis_hdl->standard_name.setValue(standard_name_str);
[581]368    CTimer::get("XIOS").suspend();
[325]369  }
[581]370
[325]371  void cxios_get_axis_standard_name(axis_Ptr axis_hdl, char * standard_name, int standard_name_size)
372  {
[581]373    CTimer::get("XIOS").resume();
374    if (!string_copy(axis_hdl->standard_name.getInheritedValue(), standard_name, standard_name_size))
375      ERROR("void cxios_get_axis_standard_name(axis_Ptr axis_hdl, char * standard_name, int standard_name_size)", << "Input string is too short");
376    CTimer::get("XIOS").suspend();
[325]377  }
[581]378
379  bool cxios_is_defined_axis_standard_name(axis_Ptr axis_hdl)
[432]380  {
381     CTimer::get("XIOS").resume();
[581]382     bool isDefined = axis_hdl->standard_name.hasInheritedValue();
[432]383     CTimer::get("XIOS").suspend();
[581]384     return isDefined;
[432]385  }
[581]386
387
[325]388  void cxios_set_axis_unit(axis_Ptr axis_hdl, const char * unit, int unit_size)
389  {
390    std::string unit_str;
[581]391    if (!cstr2string(unit, unit_size, unit_str)) return;
392    CTimer::get("XIOS").resume();
[325]393    axis_hdl->unit.setValue(unit_str);
[581]394    CTimer::get("XIOS").suspend();
[325]395  }
[581]396
[325]397  void cxios_get_axis_unit(axis_Ptr axis_hdl, char * unit, int unit_size)
398  {
[581]399    CTimer::get("XIOS").resume();
400    if (!string_copy(axis_hdl->unit.getInheritedValue(), unit, unit_size))
401      ERROR("void cxios_get_axis_unit(axis_Ptr axis_hdl, char * unit, int unit_size)", << "Input string is too short");
402    CTimer::get("XIOS").suspend();
[325]403  }
[581]404
405  bool cxios_is_defined_axis_unit(axis_Ptr axis_hdl)
[432]406  {
407     CTimer::get("XIOS").resume();
[581]408     bool isDefined = axis_hdl->unit.hasInheritedValue();
[432]409     CTimer::get("XIOS").suspend();
[581]410     return isDefined;
[432]411  }
[581]412
413
[674]414  void cxios_set_axis_value(axis_Ptr axis_hdl, double* value, int* extent)
[325]415  {
[369]416    CTimer::get("XIOS").resume();
[674]417    CArray<double,1> tmp(value, shape(extent[0]), neverDeleteData);
[369]418    axis_hdl->value.reference(tmp.copy());
[416]419     CTimer::get("XIOS").suspend();
[325]420  }
[581]421
[674]422  void cxios_get_axis_value(axis_Ptr axis_hdl, double* value, int* extent)
[325]423  {
[416]424    CTimer::get("XIOS").resume();
[674]425    CArray<double,1> tmp(value, shape(extent[0]), neverDeleteData);
[581]426    tmp=axis_hdl->value.getInheritedValue();
[347]427     CTimer::get("XIOS").suspend();
[325]428  }
[581]429
430  bool cxios_is_defined_axis_value(axis_Ptr axis_hdl)
[432]431  {
432     CTimer::get("XIOS").resume();
[581]433     bool isDefined = axis_hdl->value.hasInheritedValue();
[432]434     CTimer::get("XIOS").suspend();
[581]435     return isDefined;
[432]436  }
[325]437}
Note: See TracBrowser for help on using the repository browser.