GRASS GIS 7 Programmer's Manual  7.5.svn(2018)-r72846
 All Data Structures Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
n_geom.c File Reference
#include <grass/N_pde.h>
Include dependency graph for n_geom.c:

Go to the source code of this file.

Functions

N_geom_dataN_alloc_geom_data (void)
 Allocate the pde geometry data structure and return a pointer to the new allocated structure. More...
 
void N_free_geom_data (N_geom_data *geom)
 Release memory of a pde geometry data structure. More...
 
N_geom_dataN_init_geom_data_3d (RASTER3D_Region *region3d, N_geom_data *geodata)
 Initiate a pde geometry data structure with a 3d region. More...
 
N_geom_dataN_init_geom_data_2d (struct Cell_head *region, N_geom_data *geodata)
 Initiate a pde geometry data structure with a 2d region. More...
 
double N_get_geom_data_area_of_cell (N_geom_data *geom, int row)
 Get the areay size in square meter of one cell (x*y) at row. More...
 

Function Documentation

N_geom_data* N_alloc_geom_data ( void  )

Allocate the pde geometry data structure and return a pointer to the new allocated structure.

Returns
N_geom_data *

Definition at line 30 of file n_geom.c.

References N_geom_data::area, N_geom_data::dim, NULL, and N_geom_data::planimetric.

Referenced by N_init_geom_data_2d(), and N_init_geom_data_3d().

void N_free_geom_data ( N_geom_data geom)

Release memory of a pde geometry data structure.

Parameters
geomN_geom_data *
Returns
void

Definition at line 50 of file n_geom.c.

References N_geom_data::area, G_free(), and NULL.

double N_get_geom_data_area_of_cell ( N_geom_data geom,
int  row 
)

Get the areay size in square meter of one cell (x*y) at row.

This function works for two and three dimensions

Parameters
geomN_geom_data *
rowint
Returns
area double

Definition at line 192 of file n_geom.c.

References N_geom_data::area, N_geom_data::Az, G_debug(), and N_geom_data::planimetric.

Referenced by N_callback_gwflow_2d(), N_callback_gwflow_3d(), N_callback_solute_transport_2d(), and N_callback_solute_transport_3d().

N_geom_data* N_init_geom_data_2d ( struct Cell_head region,
N_geom_data geodata 
)

Initiate a pde geometry data structure with a 2d region.

If the projection is not planimetric, a double array will be created based on the number of rows of the provided region storing all computed areas for each row

Parameters
regionsruct Cell_head *
geodataN_geom_data * - if a NULL pointer is given, a new structure will be allocatet and returned
Returns
N_geom_data *

Definition at line 114 of file n_geom.c.

References N_geom_data::area, N_geom_data::Az, N_geom_data::cols, Cell_head::cols, N_geom_data::dim, N_geom_data::dx, N_geom_data::dy, Cell_head::ew_res, G_area_of_cell_at_row(), G_begin_cell_area_calculations(), G_database_units_to_meters_factor(), G_debug(), G_free(), G_get_set_window(), N_alloc_geom_data(), Cell_head::ns_res, NULL, N_geom_data::planimetric, Rast_set_window(), N_geom_data::rows, and Cell_head::rows.

Referenced by N_init_geom_data_3d().

N_geom_data* N_init_geom_data_3d ( RASTER3D_Region region3d,
N_geom_data geodata 
)

Initiate a pde geometry data structure with a 3d region.

If the projection is not planimetric, a double array will be created based on the number of rows of the provided region

Parameters
region3dRASTER3D_Region *
geodataN_geom_data * - if a NULL pointer is given, a new structure will be allocatet and returned
Returns
N_geom_data *

Definition at line 73 of file n_geom.c.

References RASTER3D_Region::depths, N_geom_data::depths, N_geom_data::dim, N_geom_data::dz, G_database_units_to_meters_factor(), G_debug(), G_get_set_window(), N_alloc_geom_data(), N_init_geom_data_2d(), NULL, Rast3d_region_to_cell_head(), and RASTER3D_Region::tb_res.