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

◆ lwgeom_chaikin()

LWGEOM * lwgeom_chaikin ( const LWGEOM igeom,
int  n_iterations,
int  preserve_endpoint 
)

Definition at line 182 of file lwchaikins.c.

183{
184 LWDEBUG(2, "Entered lwgeom_set_effective_area");
185 switch (igeom->type)
186 {
187 case POINTTYPE:
188 case MULTIPOINTTYPE:
189 return lwgeom_clone(igeom);
190 case LINETYPE:
191 return (LWGEOM*)lwline_chaikin((LWLINE*)igeom, n_iterations);
192 case POLYGONTYPE:
193 return (LWGEOM*)lwpoly_chaikin((LWPOLY*)igeom,n_iterations,preserve_endpoint);
194 case MULTILINETYPE:
195 case MULTIPOLYGONTYPE:
196 case COLLECTIONTYPE:
197 return (LWGEOM*)lwcollection_chaikin((LWCOLLECTION *)igeom,n_iterations,preserve_endpoint);
198 default:
199 lwerror("lwgeom_chaikin: unsupported geometry type: %s",lwtype_name(igeom->type));
200 }
201 return NULL;
202}
const char * lwtype_name(uint8_t type)
Return the type name string associated with a type number (e.g.
Definition lwutil.c:216
#define COLLECTIONTYPE
Definition liblwgeom.h:108
#define MULTILINETYPE
Definition liblwgeom.h:106
#define LINETYPE
Definition liblwgeom.h:103
#define MULTIPOINTTYPE
Definition liblwgeom.h:105
LWGEOM * lwgeom_clone(const LWGEOM *lwgeom)
Clone LWGEOM object.
Definition lwgeom.c:519
#define POINTTYPE
LWTYPE numbers, used internally by PostGIS.
Definition liblwgeom.h:102
#define MULTIPOLYGONTYPE
Definition liblwgeom.h:107
#define POLYGONTYPE
Definition liblwgeom.h:104
static LWCOLLECTION * lwcollection_chaikin(const LWCOLLECTION *igeom, int n_iterations, int preserve_endpoint)
Definition lwchaikins.c:162
static LWPOLY * lwpoly_chaikin(const LWPOLY *ipoly, int n_iterations, int preserve_endpoint)
Definition lwchaikins.c:126
static LWLINE * lwline_chaikin(const LWLINE *iline, int n_iterations)
Definition lwchaikins.c:101
#define LWDEBUG(level, msg)
Definition lwgeom_log.h:101
void void lwerror(const char *fmt,...) __attribute__((format(printf
Write a notice out to the error handler.
uint8_t type
Definition liblwgeom.h:462

References COLLECTIONTYPE, LINETYPE, lwcollection_chaikin(), LWDEBUG, lwerror(), lwgeom_clone(), lwline_chaikin(), lwpoly_chaikin(), lwtype_name(), MULTILINETYPE, MULTIPOINTTYPE, MULTIPOLYGONTYPE, POINTTYPE, POLYGONTYPE, LWGEOM::type, and LWLINE::type.

Referenced by do_test_chaikin(), lwcollection_chaikin(), and LWGEOM_ChaikinSmoothing().

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