RAVE
compositefilter.h
Go to the documentation of this file.
1/* --------------------------------------------------------------------
2Copyright (C) 2024 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 COMPOSITE_FILTER_H
27#define COMPOSITE_FILTER_H
28#include "compositearguments.h"
29#include "rave_proj.h"
30#include "rave_object.h"
31#include "rave_attribute.h"
32#include "raveobject_list.h"
33
38
43
51int CompositeFilter_setProductsArray(CompositeFilter_t* filter, const char* products[], int nrproducts);
52
60
67
74const char* CompositeFilter_getProduct(CompositeFilter_t* filter, int index);
75
83int CompositeFilter_setQuantitiesArray(CompositeFilter_t* filter, const char* quantities[], int nrquantities);
84
92
99
106const char* CompositeFilter_getQuantity(CompositeFilter_t* filter, int index);
107
115int CompositeFilter_setInterpolationMethodsArray(CompositeFilter_t* filter, const char* methods[], int nrmethods);
116
124
131
138const char* CompositeFilter_getInterpolationMethod(CompositeFilter_t* filter, int index);
139
147
148#endif /* COMPOSITE_FILTER_H */
The arguments that should be passed on to the composite generator.
struct _CompositeArguments_t CompositeArguments_t
Defines a Geographical Area.
Definition compositearguments.h:41
RaveCoreObjectType CompositeFilter_TYPE
Type definition to use when creating a rave object.
Definition compositefilter.c:319
int CompositeFilter_setInterpolationMethodsList(CompositeFilter_t *filter, RaveList_t *methods)
Sets the interpolation methods that this filter should match.
Definition compositefilter.c:248
int CompositeFilter_match(CompositeFilter_t *filter, CompositeArguments_t *arguments)
Matches the filter against the arguments.
Definition compositefilter.c:266
struct _CompositeFilter_t CompositeFilter_t
Defines a Geographical Area.
Definition compositefilter.h:37
int CompositeFilter_setProductsArray(CompositeFilter_t *filter, const char *products[], int nrproducts)
Sets the products that this filter should match.
Definition compositefilter.c:194
int CompositeFilter_setProductsList(CompositeFilter_t *filter, RaveList_t *products)
Sets the products that this filter should match.
Definition compositefilter.c:200
int CompositeFilter_getQuantityCount(CompositeFilter_t *filter)
Returns the number of quantities set in filter.
Definition compositefilter.c:230
int CompositeFilter_setInterpolationMethodsArray(CompositeFilter_t *filter, const char *methods[], int nrmethods)
Sets the interpolation methods that this filter should match.
Definition compositefilter.c:242
const char * CompositeFilter_getInterpolationMethod(CompositeFilter_t *filter, int index)
Returns the interpolation method at specified position.
Definition compositefilter.c:260
const char * CompositeFilter_getProduct(CompositeFilter_t *filter, int index)
Returns the product string at specified position.
Definition compositefilter.c:212
const char * CompositeFilter_getQuantity(CompositeFilter_t *filter, int index)
Returns the quantity string at specified position.
Definition compositefilter.c:236
int CompositeFilter_setQuantitiesList(CompositeFilter_t *filter, RaveList_t *quantities)
Sets the quantities that this filter should match.
Definition compositefilter.c:224
int CompositeFilter_setQuantitiesArray(CompositeFilter_t *filter, const char *quantities[], int nrquantities)
Sets the quantities that this filter should match.
Definition compositefilter.c:218
int CompositeFilter_getProductCount(CompositeFilter_t *filter)
Returns the number of products set in filter.
Definition compositefilter.c:206
int CompositeFilter_getInterpolationMethodCount(CompositeFilter_t *filter)
Returns the number of interpolation methods set in filter.
Definition compositefilter.c:254
Used for keeping track on attributes.
struct _RaveList_t RaveList_t
Defines a list.
Definition rave_list.h:33
Generic implementation of an object that is used within rave.
struct _raveobjecttype RaveCoreObjectType
The rave object type definition.
Handles compatibility issues related to PROJ versions and the definitions.
Implementation of a rave object list that ensures that the objects contained within the list are rele...
Represents the area.
Definition compositefilter.c:43
RAVE_OBJECT_HEAD RaveList_t * products
Always on top.
Definition compositefilter.c:45
RaveList_t * quantities
the quantities
Definition compositefilter.c:46