radarlib 1.4.6
odimh5v21_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_ODIMH5V21_FACTORY_HPP__
28#define __RADAR_ODIMH5V21_FACTORY_HPP__
29
30#include <radarlib/defs.h>
33
34namespace OdimH5v21 {
35
36 /*===========================================================================*/
37 /* ODIM FACTORY */
38 /*===========================================================================*/
39
51 class RADAR_API OdimFactory
52 {
53 public:
54 OdimFactory();
55 virtual ~OdimFactory();
56
75 virtual OdimObject* create(const std::string& path);
76
95 virtual OdimObject* open(const std::string& path);
96
117 virtual OdimObject* open(const std::string& path, int h5flags);
118
136 virtual PolarVolume* createPolarVolume(const std::string& path);
137
155 virtual ImageObject* createImageObject(const std::string& path);
156
174 virtual CompObject* createCompObject(const std::string& path);
175
193 virtual XsecObject* createXsecObject(const std::string& path);
194
213 virtual PolarVolume* openPolarVolume(const std::string& path);
214
234 virtual PolarVolume* openPolarVolume(const std::string& path, int h5flags);
235
254 virtual ImageObject* openImageObject(const std::string& path);
255
275 virtual ImageObject* openImageObject(const std::string& path, int h5flags);
276
295 virtual CompObject* openCompObject(const std::string& path);
296
316 virtual CompObject* openCompObject(const std::string& path, int h5flags);
317
336 virtual XsecObject* openXsecObject(const std::string& path);
337
357 virtual XsecObject* openXsecObject(const std::string& path, int h5flags);
358
370 virtual OdimObjectDumper* getDumper();
371
372 protected:
373 virtual H5::H5File* openOdimFile(const std::string& path, int h5flags, std::string& objtype);
374 virtual PolarVolume* createPolarVolume(H5::H5File* file);
375 virtual ImageObject* createImageObject(H5::H5File* file);
376 virtual CompObject* createCompObject (H5::H5File* file);
377 virtual XsecObject* createXsecObject (H5::H5File* file);
378
379 };
380
381 /*===========================================================================*/
382
383}
384
385#endif
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
413
414
OdimH5 v2.1 CompObject.
Definition odimh5v21_classes.hpp:1799
OdimH5 v2.1 ImageObject.
Definition odimh5v21_classes.hpp:1772
virtual OdimObject * open(const std::string &path)
Get a OdimH5 object from an existing file.
Definition odimh5v21_factory.cpp:118
virtual ImageObject * openImageObject(const std::string &path)
Get a OdimH5 IMAGE object from an existing file.
Definition odimh5v21_factory.cpp:291
virtual PolarVolume * openPolarVolume(const std::string &path)
Get a OdimH5 PVOL object from an existing file.
Definition odimh5v21_factory.cpp:266
virtual CompObject * createCompObject(const std::string &path)
Create a new OdimH5 COMP object and the associated file.
Definition odimh5v21_factory.cpp:221
virtual XsecObject * createXsecObject(const std::string &path)
Create a new OdimH5 XSEC object and the associated file.
Definition odimh5v21_factory.cpp:246
virtual OdimObjectDumper * getDumper()
Create a dumper for OdimH5 objects.
Definition odimh5v21_factory.cpp:366
virtual PolarVolume * createPolarVolume(const std::string &path)
Create a new OdimH5 PVOL object and the associated file.
Definition odimh5v21_factory.cpp:171
virtual CompObject * openCompObject(const std::string &path)
Get a OdimH5 COMP object from an existing file.
Definition odimh5v21_factory.cpp:316
virtual OdimObject * create(const std::string &path)
Create a new generic OdimH5 object and the associated file.
Definition odimh5v21_factory.cpp:51
virtual XsecObject * openXsecObject(const std::string &path)
Get a OdimH5 XSEC object from an existing file.
Definition odimh5v21_factory.cpp:341
virtual ImageObject * createImageObject(const std::string &path)
Create a new OdimH5 IMAGE object and the associated file.
Definition odimh5v21_factory.cpp:196
OdimH5 object dumper.
Definition odimh5v21_dump.hpp:52
Generic OdimH5 v2.1 object.
Definition odimh5v21_classes.hpp:96
OdimH5 v2.1 Polar Volume.
Definition odimh5v21_classes.hpp:882
OdimH5 v2.1 XsecObject.
Definition odimh5v21_classes.hpp:1826
Internal library macros.
Namespace related to ODIMH5 version 2.1.
Definition odimh5v21.hpp:46
Main library classes (generic objects, polar volumes etc.)
OdimH5 classes to create OdimH5 objects dumps.