PostGIS  2.1.10dev-r@@SVN_REVISION@@
static LWGEOM * lwgeom_locate_between_m ( LWGEOM lwin,
double  m0,
double  m1 
)
static

Definition at line 654 of file lwgeom_functions_lrs.c.

References COLLECTIONTYPE, LINETYPE, lwcollection_locate_between_m(), lwerror(), lwline_locate_between_m(), lwpoint_locate_between_m(), MULTILINETYPE, MULTIPOINTTYPE, MULTIPOLYGONTYPE, POINTTYPE, POLYGONTYPE, and LWGEOM::type.

Referenced by lwcollection_locate_between_m(), and LWGEOM_locate_between_m().

655 {
656  POSTGIS_DEBUGF(2, "lwgeom_locate_between called for lwgeom %x", lwin);
657 
658  switch (lwin->type)
659  {
660  case POINTTYPE:
662  (LWPOINT *)lwin, m0, m1);
663  case LINETYPE:
665  (LWLINE *)lwin, m0, m1);
666 
667  case MULTIPOINTTYPE:
668  case MULTILINETYPE:
669  case COLLECTIONTYPE:
671  (LWCOLLECTION *)lwin, m0, m1);
672 
673  /* Polygon types are not supported */
674  case POLYGONTYPE:
675  case MULTIPOLYGONTYPE:
676  lwerror("Areal geometries are not supported by locate_between_measures");
677  return NULL;
678  }
679 
680  lwerror("Unkonwn geometry type (%s:%d)", __FILE__, __LINE__);
681  return NULL;
682 }
#define LINETYPE
Definition: liblwgeom.h:61
static LWGEOM * lwcollection_locate_between_m(LWCOLLECTION *lwcoll, double m0, double m1)
#define POLYGONTYPE
Definition: liblwgeom.h:62
#define MULTIPOINTTYPE
Definition: liblwgeom.h:63
static LWGEOM * lwline_locate_between_m(LWLINE *lwline_in, double m0, double m1)
void lwerror(const char *fmt,...)
Write a notice out to the error handler.
Definition: lwutil.c:67
static LWGEOM * lwpoint_locate_between_m(LWPOINT *lwpoint, double m0, double m1)
#define MULTIPOLYGONTYPE
Definition: liblwgeom.h:65
#define POINTTYPE
LWTYPE numbers, used internally by PostGIS.
Definition: liblwgeom.h:60
uint8_t type
Definition: liblwgeom.h:352
#define MULTILINETYPE
Definition: liblwgeom.h:64
#define COLLECTIONTYPE
Definition: liblwgeom.h:66

Here is the call graph for this function:

Here is the caller graph for this function: