]> granicus.if.org Git - postgis/commitdiff
Move many internal signatures into liblwgeom_internal.h (Closes #3873)
authorPaul Ramsey <pramsey@cleverelephant.ca>
Tue, 3 Oct 2017 19:10:14 +0000 (19:10 +0000)
committerPaul Ramsey <pramsey@cleverelephant.ca>
Tue, 3 Oct 2017 19:10:14 +0000 (19:10 +0000)
git-svn-id: http://svn.osgeo.org/postgis/trunk@15881 b70326c6-7e19-0410-871a-916f4a2858ee

liblwgeom/liblwgeom.h.in
liblwgeom/liblwgeom_internal.h
liblwgeom/lwgeom_topo.c
postgis/lwgeom_functions_basic.c
postgis/lwgeom_functions_lrs.c

index 702283d6464238b49adee4fabb883a0341d6fedd..d42d446050ef4d8ff10f3cbc3ac98ef7e33f7f3c 100644 (file)
@@ -962,9 +962,6 @@ extern int ptarray_is_closed(const POINTARRAY *pa);
 extern int ptarray_is_closed_2d(const POINTARRAY *pa);
 extern int ptarray_is_closed_3d(const POINTARRAY *pa);
 extern int ptarray_is_closed_z(const POINTARRAY *pa);
-extern void ptarray_longitude_shift(POINTARRAY *pa);
-extern int ptarray_isccw(const POINTARRAY *pa);
-extern void ptarray_reverse(POINTARRAY *pa);
 extern POINTARRAY* ptarray_flip_coordinates(POINTARRAY *pa);
 
 /**
@@ -1210,19 +1207,12 @@ extern LWPOINT* lwcompound_get_startpoint(const LWCOMPOUND *lwcmp);
 extern LWPOINT* lwcompound_get_endpoint(const LWCOMPOUND *lwcmp);
 extern LWPOINT* lwcompound_get_lwpoint(const LWCOMPOUND *lwcmp, int where);
 
-
 extern double ptarray_length_2d(const POINTARRAY *pts);
-extern double ptarray_length(const POINTARRAY *pts);
-extern double ptarray_arc_length_2d(const POINTARRAY *pts);
-
-
 extern int pt_in_ring_2d(const POINT2D *p, const POINTARRAY *ring);
 extern int azimuth_pt_pt(const POINT2D *p1, const POINT2D *p2, double *ret);
 extern int lwpoint_inside_circle(const LWPOINT *p, double cx, double cy, double rad);
+
 extern void lwgeom_reverse(LWGEOM *lwgeom);
-extern void lwline_reverse(LWLINE *line);
-extern void lwpoly_reverse(LWPOLY *poly);
-extern void lwtriangle_reverse(LWTRIANGLE *triangle);
 extern char* lwgeom_summary(const LWGEOM *lwgeom, int offset);
 extern char* lwpoint_to_latlon(const LWPOINT *p, const char *format);
 extern int lwgeom_startpoint(const LWGEOM* lwgeom, POINT4D* pt);
@@ -1232,16 +1222,11 @@ extern int lwgeom_startpoint(const LWGEOM* lwgeom, POINT4D* pt);
 * are counter-clockwise.
 */
 extern void lwgeom_force_clockwise(LWGEOM *lwgeom);
-extern void lwpoly_force_clockwise(LWPOLY *poly);
-extern void lwtriangle_force_clockwise(LWTRIANGLE *triangle);
-
 extern int lwgeom_is_clockwise(LWGEOM *lwgeom);
-extern int lwpoly_is_clockwise(LWPOLY *poly);
-extern int lwtriangle_is_clockwise(LWTRIANGLE *triangle);
 
 extern void interpolate_point4d(POINT4D *A, POINT4D *B, POINT4D *I, double F);
 
-void lwgeom_longitude_shift(LWGEOM *lwgeom);
+extern void lwgeom_longitude_shift(LWGEOM *lwgeom);
 
 /**
  * @brief wrap geometry on given cut x value
@@ -1304,14 +1289,7 @@ extern int lwgeom_is_closed(const LWGEOM *geom);
 extern int lwgeom_dimensionality(LWGEOM *geom);
 
 /* Is lwgeom1 geometrically equal to lwgeom2 ? */
-char lwgeom_same(const LWGEOM *lwgeom1, const LWGEOM *lwgeom2);
-char ptarray_same(const POINTARRAY *pa1, const POINTARRAY *pa2);
-char lwpoint_same(const LWPOINT *p1, const LWPOINT *p2);
-char lwline_same(const LWLINE *p1, const LWLINE *p2);
-char lwpoly_same(const LWPOLY *p1, const LWPOLY *p2);
-char lwtriangle_same(const LWTRIANGLE *p1, const LWTRIANGLE *p2);
-char lwcollection_same(const LWCOLLECTION *p1, const LWCOLLECTION *p2);
-char lwcircstring_same(const LWCIRCSTRING *p1, const LWCIRCSTRING *p2);
+extern char lwgeom_same(const LWGEOM *lwgeom1, const LWGEOM *lwgeom2);
 
 
 /**
@@ -1327,10 +1305,7 @@ extern LWGEOM *lwgeom_clone(const LWGEOM *lwgeom);
 * Deep clone an LWGEOM, everything is copied
 */
 extern LWGEOM *lwgeom_clone_deep(const LWGEOM *lwgeom);
-
-/* TODO Move to Internal */
-LWPOINT *lwpoint_clone(const LWPOINT *lwgeom);
-POINTARRAY *ptarray_clone_deep(const POINTARRAY *ptarray);
+extern POINTARRAY *ptarray_clone_deep(const POINTARRAY *ptarray);
 
 
 /*
index a04c355d43f1905cf1637109bc89dcbcf1801479..6e098f9b2bf43a245c88d4c60e685682e9683942 100644 (file)
@@ -278,7 +278,7 @@ double lwtriangle_area(const LWTRIANGLE *triangle);
 * Pull a #GBOX from the header of a #GSERIALIZED, if one is available. If
 * it is not, return LW_FAILURE.
 */
-extern int gserialized_read_gbox_p(const GSERIALIZED *g, GBOX *gbox);
+int gserialized_read_gbox_p(const GSERIALIZED *g, GBOX *gbox);
 
 /*
 * Length calculations
@@ -319,9 +319,16 @@ int ptarray_has_z(const POINTARRAY *pa);
 int ptarray_has_m(const POINTARRAY *pa);
 double ptarray_signed_area(const POINTARRAY *pa);
 
+/*
+* Length
+*/
+double ptarray_length(const POINTARRAY *pts);
+double ptarray_arc_length_2d(const POINTARRAY *pts);
+
 /*
 * Clone support
 */
+LWPOINT *lwpoint_clone(const LWPOINT *lwgeom);
 LWLINE *lwline_clone(const LWLINE *lwgeom);
 LWPOLY *lwpoly_clone(const LWPOLY *lwgeom);
 LWTRIANGLE *lwtriangle_clone(const LWTRIANGLE *lwgeom);
@@ -335,9 +342,38 @@ LWCOLLECTION *lwcollection_clone_deep(const LWCOLLECTION *lwgeom);
 GBOX *gbox_clone(const GBOX *gbox);
 
 /*
- * Reverse
- */
-extern void lwcircstring_reverse(LWCIRCSTRING *curve);
+* Clockwise
+*/
+void lwpoly_force_clockwise(LWPOLY *poly);
+void lwtriangle_force_clockwise(LWTRIANGLE *triangle);
+int lwpoly_is_clockwise(LWPOLY *poly);
+int lwtriangle_is_clockwise(LWTRIANGLE *triangle);
+int ptarray_isccw(const POINTARRAY *pa);
+
+/*
+* Same
+*/
+char ptarray_same(const POINTARRAY *pa1, const POINTARRAY *pa2);
+char lwpoint_same(const LWPOINT *p1, const LWPOINT *p2);
+char lwline_same(const LWLINE *p1, const LWLINE *p2);
+char lwpoly_same(const LWPOLY *p1, const LWPOLY *p2);
+char lwtriangle_same(const LWTRIANGLE *p1, const LWTRIANGLE *p2);
+char lwcollection_same(const LWCOLLECTION *p1, const LWCOLLECTION *p2);
+char lwcircstring_same(const LWCIRCSTRING *p1, const LWCIRCSTRING *p2);
+
+/*
+* Shift
+*/
+void ptarray_longitude_shift(POINTARRAY *pa);
+
+/*
+* Reverse
+*/
+void lwcircstring_reverse(LWCIRCSTRING *curve);
+void ptarray_reverse(POINTARRAY *pa);
+void lwline_reverse(LWLINE *line);
+void lwpoly_reverse(LWPOLY *poly);
+void lwtriangle_reverse(LWTRIANGLE *triangle);
 
 /*
 * Startpoint
@@ -437,7 +473,7 @@ int lwline_split_by_point_to(const LWLINE* ln, const LWPOINT* pt, LWMLINE* to);
 void lwcollection_reserve(LWCOLLECTION *col, int ngeoms);
 
 /** Check if subtype is allowed in collectiontype */
-extern int lwcollection_allows_subtype(int collectiontype, int subtype);
+int lwcollection_allows_subtype(int collectiontype, int subtype);
 
 /** GBOX utility functions to figure out coverage/location on the globe */
 double gbox_angular_height(const GBOX* gbox);
@@ -445,7 +481,7 @@ double gbox_angular_width(const GBOX* gbox);
 int gbox_centroid(const GBOX* gbox, POINT2D* out);
 
 /* Utilities */
-extern void trim_trailing_zeros(char *num);
+void trim_trailing_zeros(char *num);
 
 extern uint8_t MULTITYPE[NUMTYPES];
 
index b1db9bb5753c1010d9ddad6ba32ce5622e153a28..eb9d2d1886d0f61dc45767eabbdf17e2c2281d78 100644 (file)
@@ -6608,7 +6608,6 @@ _lwt_RegisterFaceOnEdgeSide(LWT_TOPOLOGY *topo, LWT_ISO_EDGE *edge,
                             LWT_ELEMID *registered)
 {
   const LWT_BE_IFACE *iface = topo->be_iface;
-  int sedge = edge->edge_id * side;
   /* this is arbitrary, could be taken as parameter */
   static const int placeholder_faceid = LWT_HOLES_FACE_PLACEHOLDER;
   LWT_EDGERING *ring;
@@ -6626,7 +6625,7 @@ _lwt_RegisterFaceOnEdgeSide(LWT_TOPOLOGY *topo, LWT_ISO_EDGE *edge,
     /* Create new face */
     LWT_ISO_FACE newface;
 
-    LWDEBUGF(1, "Ring of edge %d is a shell (shell %d)", sedge, shells->size);
+    LWDEBUGF(1, "Ring of edge %d is a shell (shell %d)", edge->edge_id * side, shells->size);
 
     newface.mbr = _lwt_EdgeRingGetBbox(ring);
 
@@ -6660,7 +6659,7 @@ _lwt_RegisterFaceOnEdgeSide(LWT_TOPOLOGY *topo, LWT_ISO_EDGE *edge,
   }
   else /* cw, so is an hole */
   {
-    LWDEBUGF(1, "Ring of edge %d is a hole (hole %d)", sedge, holes->size);
+    LWDEBUGF(1, "Ring of edge %d is a hole (hole %d)", edge->edge_id * side, holes->size);
     *registered = placeholder_faceid;
     LWT_EDGERING_ARRAY_PUSH(holes, ring);
   }
index 5147ac7a287b20dedfee56aa544e317fa756ac14..0f9d6ac9722fcc8d2be887491e379e0d4d9fae7e 100644 (file)
@@ -2046,7 +2046,7 @@ Datum LWGEOM_same(PG_FUNCTION_ARGS)
        /* invoke appropriate function */
        result = lwgeom_same(lwg1, lwg2);
 
-       /* Relase memory */
+       /* Release memory */
        lwgeom_free(lwg1);
        lwgeom_free(lwg2);
        PG_FREE_IF_COPY(g1, 0);
index d5f683334e4534cfdfa9c5d70523d0cde1d12a7a..b17b21666ee649b1c57efc98e3fefca724072655 100644 (file)
@@ -527,7 +527,7 @@ lwpoint_locate_between_m(LWPOINT *lwpoint, double m0, double m1)
        {
                POSTGIS_DEBUG(3, " lwpoint... returning a clone of input");
 
-               return (LWGEOM *)lwpoint_clone(lwpoint);
+               return lwgeom_clone((LWGEOM *)lwpoint);
        }
        else
        {