radarlib 1.4.6
odimh5v20_factory.hpp
Go to the documentation of this file.
1/*
2 * Radar Library
3 *
4 * Copyright (C) 2009-2010 ARPA-SIM <urpsim@smr.arpa.emr.it>
5 *
6 * This program is free software; you can redistribute it and/or modify
7 * it under the terms of the GNU General Public License as published by
8 * the Free Software Foundation; either version 2 of the License, or
9 * (at your option) any later version.
10 *
11 * This program is distributed in the hope that it will be useful,
12 * but WITHOUT ANY WARRANTY; without even the implied warranty of
13 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14 * GNU General Public License for more details.
15 *
16 * You should have received a copy of the GNU General Public License along
17 * with this program; if not, write to the Free Software Foundation, Inc.,
18 * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
19 *
20 * Author: Guido Billi <guidobilli@gmail.com>
21 */
22
26
27#ifndef __RADAR_ODIMH5V20_FACTORY_HPP__
28#define __RADAR_ODIMH5V20_FACTORY_HPP__
29
30#include <radarlib/defs.h>
33
34namespace OdimH5v20 {
35
36 /*===========================================================================*/
37 /* ODIM FACTORY */
38 /*===========================================================================*/
39
49 class RADAR_API OdimFactory
50 {
51 public:
52 OdimFactory();
53 virtual ~OdimFactory();
54
73 virtual OdimObject* create(const std::string& path);
74
93 virtual OdimObject* open(const std::string& path);
94
115 virtual OdimObject* open(const std::string& path, int h5flags);
116
134 virtual PolarVolume* createPolarVolume(const std::string& path);
135
153 virtual ImageObject* createImageObject(const std::string& path);
154
172 virtual CompObject* createCompObject(const std::string& path);
173
191 virtual XsecObject* createXsecObject(const std::string& path);
192
211 virtual PolarVolume* openPolarVolume(const std::string& path);
212
232 virtual PolarVolume* openPolarVolume(const std::string& path, int h5flags);
233
252 virtual ImageObject* openImageObject(const std::string& path);
253
273 virtual ImageObject* openImageObject(const std::string& path, int h5flags);
274
293 virtual CompObject* openCompObject(const std::string& path);
294
314 virtual CompObject* openCompObject(const std::string& path, int h5flags);
315
334 virtual XsecObject* openXsecObject(const std::string& path);
335
355 virtual XsecObject* openXsecObject(const std::string& path, int h5flags);
356
368 virtual OdimObjectDumper* getDumper();
369
370 protected:
371 virtual H5::H5File* openOdimFile(const std::string& path, int h5flags, std::string& objtype);
372 virtual PolarVolume* createPolarVolume(H5::H5File* file);
373 virtual ImageObject* createImageObject(H5::H5File* file);
374 virtual CompObject* createCompObject (H5::H5File* file);
375 virtual XsecObject* createXsecObject (H5::H5File* file);
376
377 };
378
379 /*===========================================================================*/
380
381}
382
383#endif
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
OdimH5 v2.0 CompObject.
Definition odimh5v20_classes.hpp:1698
OdimH5 v2.0 ImageObject.
Definition odimh5v20_classes.hpp:1671
virtual XsecObject * openXsecObject(const std::string &path)
Get a OdimH5 XSEC object from an existing file.
Definition odimh5v20_factory.cpp:335
virtual OdimObject * open(const std::string &path)
Get a OdimH5 object from an existing file.
Definition odimh5v20_factory.cpp:112
virtual OdimObjectDumper * getDumper()
Create a dumper for OdimH5 objects.
Definition odimh5v20_factory.cpp:360
virtual PolarVolume * openPolarVolume(const std::string &path)
Get a OdimH5 PVOL object from an existing file.
Definition odimh5v20_factory.cpp:260
virtual CompObject * createCompObject(const std::string &path)
Create a new OdimH5 COMP object and the associated file.
Definition odimh5v20_factory.cpp:215
virtual XsecObject * createXsecObject(const std::string &path)
Create a new OdimH5 XSEC object and the associated file.
Definition odimh5v20_factory.cpp:240
virtual CompObject * openCompObject(const std::string &path)
Get a OdimH5 COMP object from an existing file.
Definition odimh5v20_factory.cpp:310
virtual ImageObject * openImageObject(const std::string &path)
Get a OdimH5 IMAGE object from an existing file.
Definition odimh5v20_factory.cpp:285
virtual PolarVolume * createPolarVolume(const std::string &path)
Create a new OdimH5 PVOL object and the associated file.
Definition odimh5v20_factory.cpp:165
virtual OdimObject * create(const std::string &path)
Create a new generic OdimH5 object and the associated file.
Definition odimh5v20_factory.cpp:48
virtual ImageObject * createImageObject(const std::string &path)
Create a new OdimH5 IMAGE object and the associated file.
Definition odimh5v20_factory.cpp:190
OdimH5 object dumper.
Definition odimh5v20_dump.hpp:52
Generic OdimH5 v2.0 object.
Definition odimh5v20_classes.hpp:95
OdimH5 v2.0 Polar Volume.
Definition odimh5v20_classes.hpp:846
OdimH5 v2.0 XsecObject.
Definition odimh5v20_classes.hpp:1725
Internal library macros.
Namespace related to ODIMH5 version 2.0.
Definition odimh5v20.hpp:46
Main library classes (generic objects, polar volumes etc.)
OdimH5 classes to create OdimH5 objects dumps.