PostGIS 3.7.0dev-r@@SVN_REVISION@@
Loading...
Searching...
No Matches

◆ _rti_iterator_arg_destroy()

static void _rti_iterator_arg_destroy ( _rti_iterator_arg  _param)
static

Definition at line 471 of file rt_mapalgebra.c.

471 {
472 uint32_t i = 0;
473
474 if (_param->raster != NULL)
475 rtdealloc(_param->raster);
476 if (_param->isempty != NULL)
477 rtdealloc(_param->isempty);
478 if (_param->width != NULL)
479 rtdealloc(_param->width);
480 if (_param->height != NULL)
481 rtdealloc(_param->height);
482
483 if (_param->band.rtband != NULL)
484 rtdealloc(_param->band.rtband);
485 if (_param->band.hasnodata != NULL)
486 rtdealloc(_param->band.hasnodata);
487 if (_param->band.isnodata != NULL)
488 rtdealloc(_param->band.isnodata);
489 if (_param->band.nodataval != NULL)
490 rtdealloc(_param->band.nodataval);
491 if (_param->band.minval != NULL)
492 rtdealloc(_param->band.minval);
493
494 if (_param->offset != NULL) {
495 for (i = 0; i < _param->count; i++) {
496 if (_param->offset[i] == NULL)
497 continue;
498 rtdealloc(_param->offset[i]);
499 }
500 rtdealloc(_param->offset);
501 }
502
503 if (_param->empty.values != NULL) {
504 for (i = 0; i < _param->dimension.rows; i++) {
505 if (_param->empty.values[i] == NULL)
506 continue;
507 rtdealloc(_param->empty.values[i]);
508 }
509 rtdealloc(_param->empty.values);
510 }
511 if (_param->empty.nodata != NULL) {
512 for (i = 0; i < _param->dimension.rows; i++) {
513 if (_param->empty.nodata[i] == NULL)
514 continue;
515 rtdealloc(_param->empty.nodata[i]);
516 }
517 rtdealloc(_param->empty.nodata);
518 }
519
520 if (_param->arg != NULL) {
521 if (_param->arg->values != NULL)
522 rtdealloc(_param->arg->values);
523 if (_param->arg->nodata != NULL)
524 rtdealloc(_param->arg->nodata);
525 if (_param->arg->src_pixel != NULL) {
526 for (i = 0; i < _param->count; i++) {
527 if (_param->arg->src_pixel[i] == NULL)
528 continue;
529 rtdealloc(_param->arg->src_pixel[i]);
530 }
531
532 rtdealloc(_param->arg->src_pixel);
533 }
534
535 rtdealloc(_param->arg);
536 }
537
538 rtdealloc(_param);
539}
void rtdealloc(void *mem)
Definition rt_context.c:206
struct _rti_iterator_arg_t::@16 band
struct _rti_iterator_arg_t::@18 dimension
struct _rti_iterator_arg_t::@19 empty
rt_iterator_arg arg
double *** values
Definition librtcore.h:2675

References _rti_iterator_arg_t::arg, _rti_iterator_arg_t::band, _rti_iterator_arg_t::count, _rti_iterator_arg_t::dimension, _rti_iterator_arg_t::empty, _rti_iterator_arg_t::hasnodata, _rti_iterator_arg_t::height, _rti_iterator_arg_t::isempty, _rti_iterator_arg_t::isnodata, _rti_iterator_arg_t::minval, rt_iterator_arg_t::nodata, _rti_iterator_arg_t::nodata, _rti_iterator_arg_t::nodataval, _rti_iterator_arg_t::offset, _rti_iterator_arg_t::raster, _rti_iterator_arg_t::rows, _rti_iterator_arg_t::rtband, rtdealloc(), rt_iterator_arg_t::src_pixel, rt_iterator_arg_t::values, _rti_iterator_arg_t::values, and _rti_iterator_arg_t::width.

Referenced by rt_raster_iterator().

Here is the call graph for this function:
Here is the caller graph for this function: