PostGIS  2.2.8dev-r@@SVN_REVISION@@

◆ lwcollection_set_effective_area()

static LWCOLLECTION* lwcollection_set_effective_area ( const LWCOLLECTION igeom,
int  set_area,
double  trshld 
)
static

Definition at line 502 of file effectivearea.c.

References LWCOLLECTION::flags, FLAGS_GET_M, FLAGS_GET_Z, LWCOLLECTION::geoms, lwcollection_add_lwgeom(), lwcollection_construct_empty(), lwcollection_is_empty(), LWDEBUG, lwgeom_set_effective_area(), LWCOLLECTION::ngeoms, LWCOLLECTION::srid, and LWCOLLECTION::type.

Referenced by lwgeom_set_effective_area().

503 {
504  LWDEBUG(2, "Entered lwcollection_set_effective_area");
505  int i;
506  int set_m;
507  if(set_area)
508  set_m=1;
509  else
510  set_m=FLAGS_GET_M(igeom->flags);
511  LWCOLLECTION *out = lwcollection_construct_empty(igeom->type, igeom->srid, FLAGS_GET_Z(igeom->flags), set_m);
512 
513  if( lwcollection_is_empty(igeom) )
514  return out; /* should we return NULL instead ? */
515 
516  for( i = 0; i < igeom->ngeoms; i++ )
517  {
518  LWGEOM *ngeom = lwgeom_set_effective_area(igeom->geoms[i],set_area,trshld);
519  if ( ngeom ) out = lwcollection_add_lwgeom(out, ngeom);
520  }
521 
522  return out;
523 }
uint8_t type
Definition: liblwgeom.h:487
#define LWDEBUG(level, msg)
Definition: lwgeom_log.h:50
LWGEOM * lwgeom_set_effective_area(const LWGEOM *igeom, int set_area, double trshld)
uint8_t flags
Definition: liblwgeom.h:488
int lwcollection_is_empty(const LWCOLLECTION *col)
Definition: lwcollection.c:481
LWGEOM ** geoms
Definition: liblwgeom.h:493
int32_t srid
Definition: liblwgeom.h:490
#define FLAGS_GET_Z(flags)
Macros for manipulating the &#39;flags&#39; byte.
Definition: liblwgeom.h:124
#define FLAGS_GET_M(flags)
Definition: liblwgeom.h:125
LWCOLLECTION * lwcollection_construct_empty(uint8_t type, int srid, char hasz, char hasm)
Definition: lwcollection.c:81
LWCOLLECTION * lwcollection_add_lwgeom(LWCOLLECTION *col, const LWGEOM *geom)
Appends geom to the collection managed by col.
Definition: lwcollection.c:174
Here is the call graph for this function:
Here is the caller graph for this function: