Changeset: af8687a5dc1d for MonetDB
URL: http://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=af8687a5dc1d
Modified Files:
        geom/monetdb5/geom.h
Branch: sfcgal
Log Message:

Declare a 3D bound box type, export the new funtions and open others which were 
declared as static


diffs (66 lines):

diff --git a/geom/monetdb5/geom.h b/geom/monetdb5/geom.h
--- a/geom/monetdb5/geom.h
+++ b/geom/monetdb5/geom.h
@@ -42,6 +42,7 @@
 geom_export str geoHasZ(int* res, int* info);
 geom_export str geoHasM(int* res, int* info);
 geom_export str geoGetType(char** res, int* info, int* flag);
+geom_export str GEOSGeomGetZ(const GEOSGeometry *geom, double *z);
 
 geom_export str geom_prelude(void *ret);
 geom_export str geom_epilogue(void *ret);
@@ -103,6 +104,7 @@ geom_export str wkbFromWKB(wkb **w, wkb 
 /* gets a GEOSGeometry and returns the mbr of it 
  * works only for 2D geometries */
 geom_export mbr* mbrFromGeos(const GEOSGeom geosGeometry);
+geom_export wkb* geos2wkb(const GEOSGeometry *geosGeometry);
 
 
 geom_export str wkbFromText(wkb **geomWKB, str *geomWKT, int* srid, int *tpe);
@@ -170,6 +172,7 @@ geom_export str wkbEndPoint(wkb **out, w
 
 geom_export str wkbNumPoints(int *out, wkb **geom, int *check);
 geom_export str wkbNumPoints_bat(bat *outBAT_id, bat *inBAT_id, int* flag);
+geom_export str numPointsGeometry(unsigned int *out, const GEOSGeometry* 
geosGeometry);
 
 geom_export str wkbPointN(wkb **out, wkb **geom, int *n);
 geom_export str wkbEnvelope(wkb **out, wkb **geom);
@@ -224,6 +227,8 @@ geom_export str wkbSegmentize(wkb**, wkb
 
 geom_export str wkbDump(bat* idBAT_id, bat* geomBAT_id, wkb**);
 geom_export str wkbDumpPoints(bat* idBAT_id, bat* geomBAT_id, wkb**);
+geom_export str wkbPolygonize(wkb **res, wkb **geom);
+geom_export str wkbSimplifyPreserveTopology(wkb **res, wkb **geom, float 
*tolerance);
 
 geom_export str geom_2_geom(wkb** resWKB, wkb **valueWKB, int* columnType, 
int* columnSRID); 
 
@@ -292,3 +297,29 @@ geom_export str wkbCoordinateFromMBR_bat
 
 geom_export int geom_catalog_upgrade(void *, int);
 geom_export str geom_sql_upgrade(int);
+
+/* To Export X3D and GeoJSON */
+#define OUT_MAX_DOUBLE_PRECISION 15
+#define OUT_MAX_DOUBLE 1E15
+#define OUT_SHOW_DIGS_DOUBLE 20
+#define OUT_MAX_DOUBLE_PRECISION 15
+#define OUT_MAX_DIGS_DOUBLE (OUT_SHOW_DIGS_DOUBLE + 2)
+#define GEOM_X3D_FLIP_XY         (1<<0)
+#define GEOM_X3D_USE_GEOCOORDS   (1<<1)
+#define X3D_USE_GEOCOORDS(x) ((x) & GEOM_X3D_USE_GEOCOORDS)
+
+
+typedef struct {
+    double xmin; 
+    double ymin; 
+    double zmin; 
+    double xmax; 
+    double ymax; 
+    double zmax; 
+} bbox3D;
+
+geom_export str bbox3DFromGeos(bbox3D **bbox, const GEOSGeom geosGeometry);
+geom_export char *geom_to_geojson(GEOSGeom geom, char *srs, int precision, int 
has_bbox);
+geom_export char *geom_to_x3d_3(GEOSGeom geom, int precision, int opts, const 
char *defid);
+geom_export str wkbAsX3D(str *res, wkb **geom, int *maxDecDigits, int 
*options);
+geom_export str wkbAsGeoJson(str *res, wkb **geom, int *maxDecDigits, int 
*options);
_______________________________________________
checkin-list mailing list
checkin-list@monetdb.org
https://www.monetdb.org/mailman/listinfo/checkin-list

Reply via email to