RAVE
compositeenginebase.h
Go to the documentation of this file.
1/* --------------------------------------------------------------------
2Copyright (C) 2025 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------------------------------------------------------------------------*/
25 #ifndef COMPOSITE_ENGINE_BASE_H
26 #define COMPOSITE_ENGINE_BASE_H
27 #include "cartesian.h"
28 #include "cartesianvolume.h"
29 #include "compositearguments.h"
30 #include "rave_attribute.h"
31 #include "rave_object.h"
32 #include "rave_types.h"
33 #include "rave_value.h"
34 #include "raveobject_list.h"
35 #include "raveobject_hashtable.h"
36 #include "projection_pipeline.h"
37 #include <strings.h>
38
48
60
67
69
70 #endif /* COMPOSITE_ENGINE_BASE_H */
71
Defines the functions available when working with cartesian products.
struct _Cartesian_t Cartesian_t
Defines a Cartesian product.
Definition cartesian.h:43
Defines the functions available when working with cartesian volumes.
The arguments that should be passed on to the composite generator.
struct _CompositeArguments_t CompositeArguments_t
Defines a Geographical Area.
Definition compositearguments.h:41
CompositeEngineObjectBinding_t * CompositeEngineObjectBinding_createObjectBinding(CompositeArguments_t *arguments, Cartesian_t *cartesian, int *nobjects, OdimSources_t *sources)
Creates the binding between radar objects, pipelines, sources and other values that are relevant when...
Definition compositeenginebase.c:44
void CompositeEngineObjectBinding_releaseObjectBinding(CompositeEngineObjectBinding_t **arr, int nobjects)
Releases the objects and then deallocates the array.
Definition compositeenginebase.c:115
struct _OdimSource_t OdimSource_t
Defines a Geographical Area.
Definition odim_source.h:33
struct _OdimSources_t OdimSources_t
Defines the odim sources.
Definition odim_sources.h:35
Helper class to support both legacy PROJ.4 projection and > PROJ.4 This object supports RAVE_OBJECT_C...
struct _ProjectionPipeline_t ProjectionPipeline_t
Defines a projection pipeline.
Definition projection_pipeline.h:34
Used for keeping track on attributes.
Generic implementation of an object that is used within rave.
struct _raveobject RaveCoreObject
The basic raveobject that contains the header information for all rave objects.
Type definitions for RAVE.
A value object that can represent standard types like int, double, .
struct _RaveValue_t RaveValue_t
Defines a rave value.
Definition rave_value.h:47
Implementation of a rave object hashtable that maps between strings and rave core objects.
Implementation of a rave object list that ensures that the objects contained within the list are rele...
Binding for associating rave objects with pipelines, sources and other miscellaneous information.
Definition compositeenginebase.h:42
ProjectionPipeline_t * pipeline
the projection pipeline
Definition compositeenginebase.h:44
RaveCoreObject * object
the rave object
Definition compositeenginebase.h:43
RaveValue_t * value
a rave value, can be used to cache information
Definition compositeenginebase.h:46
OdimSource_t * source
the source associated with the object
Definition compositeenginebase.h:45