RAVE
cartesian_odim_io.h
Go to the documentation of this file.
1/* --------------------------------------------------------------------
2Copyright (C) 2010 Swedish Meteorological and Hydrological Institute, SMHI,
3
4This file is part of RAVE.
5
6RAVE is free software: you can redistribute it and/or modify
7it under the terms of the GNU Lesser General Public License as published by
8the Free Software Foundation, either version 3 of the License, or
9(at your option) any later version.
10
11RAVE is distributed in the hope that it will be useful,
12but WITHOUT ANY WARRANTY; without even the implied warranty of
13MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14GNU Lesser General Public License for more details.
15
16You should have received a copy of the GNU Lesser General Public License
17along with RAVE. If not, see <http://www.gnu.org/licenses/>.
18------------------------------------------------------------------------*/
26#ifndef CARTESIAN_ODIM_IO_H
27#define CARTESIAN_ODIM_IO_H
28#include "rave_object.h"
29#include "hlhdf.h"
30#include "cartesian.h"
31#include "cartesianvolume.h"
32#include "lazy_nodelist_reader.h"
33
38
43
50
57
65
73
81
89int CartesianOdimIO_readCartesian(CartesianOdimIO_t* self, LazyNodeListReader_t* lazyReader, Cartesian_t* cartesian);
90
98int CartesianOdimIO_readVolume(CartesianOdimIO_t* self, LazyNodeListReader_t* lazyReader, CartesianVolume_t* volume);
99
107int CartesianOdimIO_fillImage(CartesianOdimIO_t* self, HL_NodeList* nodelist, Cartesian_t* cartesian);
108
116int CartesianOdimIO_fillVolume(CartesianOdimIO_t* self, HL_NodeList* nodelist, CartesianVolume_t* volume);
117
118
128int CartesianOdimIO_isValidImageAddMsg(Cartesian_t* cartesian, char* msg, int maxlen);
129
138
148int CartesianOdimIO_isValidVolumeImageAddMsg(Cartesian_t* cartesian, char* msg, int maxlen);
149
158
166int CartesianOdimIO_isValidVolumeAddMsg(CartesianVolume_t* volume, char* msg, int maxlen);
167
178
186
194
195#endif /* CARTESIAN_ODIM_IO_H */
Defines the functions available when working with cartesian products.
struct _Cartesian_t Cartesian_t
Defines a Cartesian product.
Definition cartesian.h:43
RaveCoreObjectType CartesianOdimIO_TYPE
Type definition to use when creating a rave object.
Definition cartesian_odim_io.c:1632
int CartesianOdimIO_isValidVolumeImage(Cartesian_t *cartesian)
Validates an image belonging to a volume in order to verify if it contains necessary information for ...
Definition cartesian_odim_io.c:1536
RaveIO_ODIM_Version CartesianOdimIO_getVersion(CartesianOdimIO_t *self)
Returns the version that this io class handles.
Definition cartesian_odim_io.c:1039
int CartesianOdimIO_readCartesian(CartesianOdimIO_t *self, LazyNodeListReader_t *lazyReader, Cartesian_t *cartesian)
Reads a cartesian from the nodelist and sets the data in the cartesian.
Definition cartesian_odim_io.c:1063
int CartesianOdimIO_isValidImage(Cartesian_t *cartesian)
Validates an image in order to verify if it contains necessary information for writing.
Definition cartesian_odim_io.c:1481
struct _CartesianOdimIO_t CartesianOdimIO_t
Defines the odim h5 adaptor for cartesian products.
Definition cartesian_odim_io.h:37
int CartesianOdimIO_readVolume(CartesianOdimIO_t *self, LazyNodeListReader_t *lazyReader, CartesianVolume_t *volume)
Reads a volume from the nodelist and sets the data in the volume.
Definition cartesian_odim_io.c:1115
int CartesianOdimIO_isStrict(CartesianOdimIO_t *self)
If writing should be done strictly.
Definition cartesian_odim_io.c:1051
void CartesianOdimIO_setStrict(CartesianOdimIO_t *self, int strict)
If writing should be done strictly.
Definition cartesian_odim_io.c:1045
int CartesianOdimIO_validateVolumeHowAttributes(CartesianOdimIO_t *self, CartesianVolume_t *volume)
Validates a volume according to strictness and version in order to verify if it contains necessary in...
Definition cartesian_odim_io.c:1583
int CartesianOdimIO_isValidImageAddMsg(Cartesian_t *cartesian, char *msg, int maxlen)
Validates an image in order to verify if it contains necessary information for writing.
Definition cartesian_odim_io.c:1422
const char * CartesianOdimIO_getErrorMessage(CartesianOdimIO_t *self)
If an error occurs during writing, you might get an indication for why by checking the error message.
Definition cartesian_odim_io.c:1057
int CartesianOdimIO_validateCartesianHowAttributes(CartesianOdimIO_t *self, Cartesian_t *image)
Validates an image according to strictness and version in order to verify if it contains necessary in...
Definition cartesian_odim_io.c:1612
int CartesianOdimIO_fillVolume(CartesianOdimIO_t *self, HL_NodeList *nodelist, CartesianVolume_t *volume)
Fills a HL nodelist with information from a cartesian volume.
Definition cartesian_odim_io.c:1324
int CartesianOdimIO_isValidVolumeImageAddMsg(Cartesian_t *cartesian, char *msg, int maxlen)
Validates an image belonging to a volume in order to verify if it contains necessary information for ...
Definition cartesian_odim_io.c:1486
void CartesianOdimIO_setVersion(CartesianOdimIO_t *self, RaveIO_ODIM_Version version)
Sets the version that this io class should handle.
Definition cartesian_odim_io.c:1033
int CartesianOdimIO_fillImage(CartesianOdimIO_t *self, HL_NodeList *nodelist, Cartesian_t *cartesian)
Fills a HL nodelist with information from a cartesian product.
Definition cartesian_odim_io.c:1174
int CartesianOdimIO_isValidVolumeAddMsg(CartesianVolume_t *volume, char *msg, int maxlen)
Validates an volume in order to verify if it contains necessary information for writing.
Definition cartesian_odim_io.c:1541
int CartesianOdimIO_isValidVolume(CartesianVolume_t *volume)
Validates an volume in order to verify if it contains necessary information for writing.
Definition cartesian_odim_io.c:1578
Defines the functions available when working with cartesian volumes.
struct _CartesianVolume_t CartesianVolume_t
Defines a Cartesian volume.
Definition cartesianvolume.h:38
Generic implementation of an object that is used within rave.
struct _raveobjecttype RaveCoreObjectType
The rave object type definition.
RaveIO_ODIM_Version
The /Conventions version in a ODIM HDF5 file.
Definition rave_types.h:43
Represents the adaptor.
Definition cartesian_odim_io.c:51
int strict
if writing should be validated strictly or not
Definition cartesian_odim_io.c:54
RAVE_OBJECT_HEAD RaveIO_ODIM_Version version
Always on top.
Definition cartesian_odim_io.c:53