GRASS GIS 8 Programmer's Manual  8.5.0dev(2024)-d6dec75dd4
fpreclass.c File Reference
#include <grass/gis.h>
#include <grass/raster.h>
Include dependency graph for fpreclass.c:

Go to the source code of this file.

Macros

#define NO_DEFAULT_RULE   (!r->defaultDRuleSet)
 
#define NO_LEFT_INFINITE_RULE   (!r->infiniteLeftSet)
 
#define NO_RIGHT_INFINITE_RULE   (!r->infiniteRightSet)
 
#define NO_FINITE_RULE   (r->nofRules <= 0)
 
#define NO_EXPLICIT_RULE    (NO_FINITE_RULE && NO_LEFT_INFINITE_RULE && NO_RIGHT_INFINITE_RULE)
 
#define DEFAULT_MIN   ((DCELL)1)
 
#define DEFAULT_MAX   ((DCELL)255)
 

Functions

void Rast_fpreclass_clear (struct FPReclass *r)
 
void Rast_fpreclass_reset (struct FPReclass *r)
 
void Rast_fpreclass_init (struct FPReclass *r)
 
void Rast_fpreclass_set_domain (struct FPReclass *r, DCELL dLow, DCELL dHigh)
 
void Rast_fpreclass_set_range (struct FPReclass *r, DCELL low, DCELL high)
 
int Rast_fpreclass_get_limits (const struct FPReclass *r, DCELL *dMin, DCELL *dMax, DCELL *rMin, DCELL *rMax)
 
int Rast_fpreclass_nof_rules (const struct FPReclass *r)
 
void Rast_fpreclass_get_ith_rule (const struct FPReclass *r, int i, DCELL *dLow, DCELL *dHigh, DCELL *rLow, DCELL *rHigh)
 
void Rast_fpreclass_set_neg_infinite_rule (struct FPReclass *r, DCELL dLeft, DCELL c)
 
int Rast_fpreclass_get_neg_infinite_rule (const struct FPReclass *r, DCELL *dLeft, DCELL *c)
 
void Rast_fpreclass_set_pos_infinite_rule (struct FPReclass *r, DCELL dRight, DCELL c)
 
int Rast_fpreclass_get_pos_infinite_rule (const struct FPReclass *r, DCELL *dRight, DCELL *c)
 
void Rast_fpreclass_add_rule (struct FPReclass *r, DCELL dLow, DCELL dHigh, DCELL rLow, DCELL rHigh)
 
void Rast_fpreclass_reverse_rule_order (struct FPReclass *r)
 
DCELL Rast_fpreclass_get_cell_value (const struct FPReclass *r, DCELL cellVal)
 
void Rast_fpreclass_perform_di (const struct FPReclass *r, const DCELL *dcell, CELL *cell, int n)
 
void Rast_fpreclass_perform_df (const struct FPReclass *r, const DCELL *dcell, FCELL *cell, int n)
 
void Rast_fpreclass_perform_dd (const struct FPReclass *r, const DCELL *dcell, DCELL *cell, int n)
 
void Rast_fpreclass_perform_fi (const struct FPReclass *r, const FCELL *fcell, CELL *cell, int n)
 
void Rast_fpreclass_perform_ff (const struct FPReclass *r, const FCELL *fcell, FCELL *cell, int n)
 
void Rast_fpreclass_perform_fd (const struct FPReclass *r, const FCELL *fcell, DCELL *cell, int n)
 
void Rast_fpreclass_perform_ii (const struct FPReclass *r, const CELL *icell, CELL *cell, int n)
 
void Rast_fpreclass_perform_if (const struct FPReclass *r, const CELL *icell, FCELL *cell, int n)
 
void Rast_fpreclass_perform_id (const struct FPReclass *r, const CELL *icell, DCELL *cell, int n)
 

Macro Definition Documentation

◆ DEFAULT_MAX

#define DEFAULT_MAX   ((DCELL)255)

Definition at line 253 of file fpreclass.c.

◆ DEFAULT_MIN

#define DEFAULT_MIN   ((DCELL)1)

Definition at line 252 of file fpreclass.c.

◆ NO_DEFAULT_RULE

#define NO_DEFAULT_RULE   (!r->defaultDRuleSet)

Definition at line 245 of file fpreclass.c.

◆ NO_EXPLICIT_RULE

#define NO_EXPLICIT_RULE    (NO_FINITE_RULE && NO_LEFT_INFINITE_RULE && NO_RIGHT_INFINITE_RULE)

Definition at line 249 of file fpreclass.c.

◆ NO_FINITE_RULE

#define NO_FINITE_RULE   (r->nofRules <= 0)

Definition at line 248 of file fpreclass.c.

◆ NO_LEFT_INFINITE_RULE

#define NO_LEFT_INFINITE_RULE   (!r->infiniteLeftSet)

Definition at line 246 of file fpreclass.c.

◆ NO_RIGHT_INFINITE_RULE

#define NO_RIGHT_INFINITE_RULE   (!r->infiniteRightSet)

Definition at line 247 of file fpreclass.c.

Function Documentation

◆ Rast_fpreclass_add_rule()

void Rast_fpreclass_add_rule ( struct FPReclass r,
DCELL  dLow,
DCELL  dHigh,
DCELL  rLow,
DCELL  rHigh 
)

Definition at line 451 of file fpreclass.c.

◆ Rast_fpreclass_clear()

void Rast_fpreclass_clear ( struct FPReclass r)

Definition at line 257 of file fpreclass.c.

References r.

Referenced by Rast_fpreclass_reset().

◆ Rast_fpreclass_get_cell_value()

◆ Rast_fpreclass_get_ith_rule()

void Rast_fpreclass_get_ith_rule ( const struct FPReclass r,
int  i,
DCELL dLow,
DCELL dHigh,
DCELL rLow,
DCELL rHigh 
)

Definition at line 371 of file fpreclass.c.

References r.

◆ Rast_fpreclass_get_limits()

int Rast_fpreclass_get_limits ( const struct FPReclass r,
DCELL dMin,
DCELL dMax,
DCELL rMin,
DCELL rMax 
)

Definition at line 332 of file fpreclass.c.

References DEFAULT_MAX, DEFAULT_MIN, NO_DEFAULT_RULE, NO_EXPLICIT_RULE, and r.

◆ Rast_fpreclass_get_neg_infinite_rule()

int Rast_fpreclass_get_neg_infinite_rule ( const struct FPReclass r,
DCELL dLeft,
DCELL c 
)

Definition at line 412 of file fpreclass.c.

◆ Rast_fpreclass_get_pos_infinite_rule()

int Rast_fpreclass_get_pos_infinite_rule ( const struct FPReclass r,
DCELL dRight,
DCELL c 
)

Definition at line 437 of file fpreclass.c.

◆ Rast_fpreclass_init()

void Rast_fpreclass_init ( struct FPReclass r)

Definition at line 279 of file fpreclass.c.

References r, and Rast_fpreclass_reset().

◆ Rast_fpreclass_nof_rules()

int Rast_fpreclass_nof_rules ( const struct FPReclass r)

Definition at line 364 of file fpreclass.c.

References r.

◆ Rast_fpreclass_perform_dd()

void Rast_fpreclass_perform_dd ( const struct FPReclass r,
const DCELL dcell,
DCELL cell,
int  n 
)

◆ Rast_fpreclass_perform_df()

void Rast_fpreclass_perform_df ( const struct FPReclass r,
const DCELL dcell,
FCELL cell,
int  n 
)

◆ Rast_fpreclass_perform_di()

void Rast_fpreclass_perform_di ( const struct FPReclass r,
const DCELL dcell,
CELL cell,
int  n 
)

◆ Rast_fpreclass_perform_fd()

void Rast_fpreclass_perform_fd ( const struct FPReclass r,
const FCELL fcell,
DCELL cell,
int  n 
)

◆ Rast_fpreclass_perform_ff()

void Rast_fpreclass_perform_ff ( const struct FPReclass r,
const FCELL fcell,
FCELL cell,
int  n 
)

◆ Rast_fpreclass_perform_fi()

void Rast_fpreclass_perform_fi ( const struct FPReclass r,
const FCELL fcell,
CELL cell,
int  n 
)

◆ Rast_fpreclass_perform_id()

void Rast_fpreclass_perform_id ( const struct FPReclass r,
const CELL icell,
DCELL cell,
int  n 
)

◆ Rast_fpreclass_perform_if()

void Rast_fpreclass_perform_if ( const struct FPReclass r,
const CELL icell,
FCELL cell,
int  n 
)

◆ Rast_fpreclass_perform_ii()

void Rast_fpreclass_perform_ii ( const struct FPReclass r,
const CELL icell,
CELL cell,
int  n 
)

◆ Rast_fpreclass_reset()

void Rast_fpreclass_reset ( struct FPReclass r)

Definition at line 267 of file fpreclass.c.

References G_free(), r, and Rast_fpreclass_clear().

Referenced by Rast_fpreclass_init().

◆ Rast_fpreclass_reverse_rule_order()

void Rast_fpreclass_reverse_rule_order ( struct FPReclass r)

Definition at line 482 of file fpreclass.c.

◆ Rast_fpreclass_set_domain()

void Rast_fpreclass_set_domain ( struct FPReclass r,
DCELL  dLow,
DCELL  dHigh 
)

Definition at line 287 of file fpreclass.c.

References r.

◆ Rast_fpreclass_set_neg_infinite_rule()

void Rast_fpreclass_set_neg_infinite_rule ( struct FPReclass r,
DCELL  dLeft,
DCELL  c 
)

Definition at line 401 of file fpreclass.c.

◆ Rast_fpreclass_set_pos_infinite_rule()

void Rast_fpreclass_set_pos_infinite_rule ( struct FPReclass r,
DCELL  dRight,
DCELL  c 
)

Definition at line 426 of file fpreclass.c.

◆ Rast_fpreclass_set_range()

void Rast_fpreclass_set_range ( struct FPReclass r,
DCELL  low,
DCELL  high 
)

Definition at line 296 of file fpreclass.c.

References r.