RAVE
poo_composite_algorithm.c File Reference

POO compositing algorithm. More...

#include "poo_composite_algorithm.h"
#include "composite.h"
#include "polarvolume.h"
#include <stdio.h>
#include "raveobject_hashtable.h"
#include "raveobject_list.h"
#include "rave_debug.h"
#include "rave_alloc.h"
#include "rave_datetime.h"
#include <string.h>

Classes

struct  _PooCompositeAlgorithm_t
 Represents the cartesian product. More...
 

Functions

const char * PooCompositeAlgorithm_getName (CompositeAlgorithm_t *self)
 Implements the name part of the poo composite algorithm.
 
void PooCompositeAlgorithm_reset (CompositeAlgorithm_t *self, int x, int y)
 Resets the internals to be able to handle one pixel in the composite.
 
int PooCompositeAlgorithm_supportsProcess (CompositeAlgorithm_t *self)
 Indicates if this algorithm supports process.
 
int PooCompositeAlgorithm_process (CompositeAlgorithm_t *self, RaveCoreObject *obj, const char *quantity, double olon, double olat, double dist, RaveValueType *otype, double *ovalue, PolarNavigationInfo *navinfo)
 Implements the processing part of the poo composite algorithm.
 
int PooCompositeAlgorithm_initialize (CompositeAlgorithm_t *self, struct _Composite_t *composite)
 Initializes self.
 
int PooCompositeAlgorithm_supportsFillQualityInformation (CompositeAlgorithm_t *self, const char *howtask)
 Returns that this object supports the fillQualityInformation method for howtask = se.smhi.detector.poo.
 
int PooCompositeAlgorithm_fillQualityInformation (CompositeAlgorithm_t *self, RaveCoreObject *obj, const char *howtask, const char *quantity, RaveField_t *field, long x, long y, PolarNavigationInfo *navinfo, double gain, double offset)
 Fills the quality information in field for howtask values = se.smhi.detector.poo.
 

Variables

RaveCoreObjectType PooCompositeAlgorithm_TYPE
 Type definition to use when creating a rave object.
 

Detailed Description

POO compositing algorithm.

Author
Anders Henja (Swedish Meteorological and Hydrological Institute, SMHI)
Date
2011-10-28

Function Documentation

◆ PooCompositeAlgorithm_fillQualityInformation()

int PooCompositeAlgorithm_fillQualityInformation ( CompositeAlgorithm_t * self,
RaveCoreObject * obj,
const char * howtask,
const char * quantity,
RaveField_t * field,
long x,
long y,
PolarNavigationInfo * navinfo,
double gain,
double offset )

Fills the quality information in field for howtask values = se.smhi.detector.poo.

Parameters
[in]self- self
[in]obj- the rave core object, most likely a volume or scan
[in]howtask- the how/task value
[in]quantity- the quantity
[in]field- the rave quality field that should get it's value set
[in]x- the x coordinate in the field
[in]y- the y coordinate in the field
[in]navinfo- the navigation information that was used for the provided obj
Returns
1 on success otherwise 0

◆ PooCompositeAlgorithm_getName()

const char * PooCompositeAlgorithm_getName ( CompositeAlgorithm_t * self)

Implements the name part of the poo composite algorithm.

Parameters
[in]self- self
Returns
the unique name of this algorithm

◆ PooCompositeAlgorithm_initialize()

int PooCompositeAlgorithm_initialize ( CompositeAlgorithm_t * self,
struct _Composite_t * composite )

Initializes self.

Parameters
[in]self- self
[in]composite- the composite we are working with
Returns
1 on success otherwise 0

◆ PooCompositeAlgorithm_process()

int PooCompositeAlgorithm_process ( CompositeAlgorithm_t * self,
RaveCoreObject * obj,
const char * quantity,
double olon,
double olat,
double dist,
RaveValueType * otype,
double * ovalue,
PolarNavigationInfo * navinfo )

Implements the processing part of the poo composite algorithm.

Prior to this function call, the value/type and distance has already been calculated so instead of letting this function calculate these values again they are provided to this function.

Parameters
[in]self- self
[in]obj- the polar object (currently only scan and volume)
[in]quantity- the quantity
[in]olon- the longitude in radians
[in]olat- the latitude in radians
[in]dist- the distance from the radar origin to the given lon/lat. Can be calculated by using the obj as well
[in,out]otype- the type of the data found
[in,out]ovalue- the value of the data found
[in]navinfo- the navigation info for the provided obj/olon/olat
Returns
1 if the catype/cavalue should be used, otherwise 0

◆ PooCompositeAlgorithm_reset()

void PooCompositeAlgorithm_reset ( CompositeAlgorithm_t * self,
int x,
int y )

Resets the internals to be able to handle one pixel in the composite.

Parameters
[in]self- self
[in]x- the x coordinate
[in]y- the y coordinate

◆ PooCompositeAlgorithm_supportsFillQualityInformation()

int PooCompositeAlgorithm_supportsFillQualityInformation ( CompositeAlgorithm_t * self,
const char * howtask )

Returns that this object supports the fillQualityInformation method for howtask = se.smhi.detector.poo.

Returns
1 if the provided howtask value is se.smhi.detector.poo, otherwise 0

◆ PooCompositeAlgorithm_supportsProcess()

int PooCompositeAlgorithm_supportsProcess ( CompositeAlgorithm_t * self)

Indicates if this algorithm supports process.

Returns
always 0 (no support)

Variable Documentation

◆ PooCompositeAlgorithm_TYPE

RaveCoreObjectType PooCompositeAlgorithm_TYPE
Initial value:
= {
"PooCompositeAlgorithm",
PooCompositeAlgorithm_constructor,
PooCompositeAlgorithm_destructor,
PooCompositeAlgorithm_copyconstructor
}
struct _PooCompositeAlgorithm_t PooCompositeAlgorithm_t
Defines a Composite generator.
Definition poo_composite_algorithm.h:32

Type definition to use when creating a rave object.