ext/h3/src/src/h3lib/include/faceijk.h in h3-3.4.4 vs ext/h3/src/src/h3lib/include/faceijk.h in h3-3.5.0
- old
+ new
@@ -1,7 +1,7 @@
/*
- * Copyright 2016-2018 Uber Technologies, Inc.
+ * Copyright 2016-2019 Uber Technologies, Inc.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
@@ -48,29 +48,41 @@
} FaceOrientIJK;
extern const GeoCoord faceCenterGeo[NUM_ICOSA_FACES];
// indexes for faceNeighbors table
-/** Invalid faceNeighbors table direction */
-#define INVALID -1
-/** Center faceNeighbors table direction */
-#define CENTER 0
/** IJ quadrant faceNeighbors table direction */
#define IJ 1
/** KI quadrant faceNeighbors table direction */
#define KI 2
/** JK quadrant faceNeighbors table direction */
#define JK 3
+/** Invalid face index */
+#define INVALID_FACE -1
+
+/** Digit representing overage type */
+typedef enum {
+ /** No overage (on original face) */
+ NO_OVERAGE = 0,
+ /** On face edge (only occurs on substrate grids) */
+ FACE_EDGE = 1,
+ /** Overage on new face interior */
+ NEW_FACE = 2
+} Overage;
+
// Internal functions
void _geoToFaceIjk(const GeoCoord* g, int res, FaceIJK* h);
void _geoToHex2d(const GeoCoord* g, int res, int* face, Vec2d* v);
void _faceIjkToGeo(const FaceIJK* h, int res, GeoCoord* g);
void _faceIjkToGeoBoundary(const FaceIJK* h, int res, int isPentagon,
GeoBoundary* g);
void _faceIjkPentToGeoBoundary(const FaceIJK* h, int res, GeoBoundary* g);
+void _faceIjkToVerts(FaceIJK* fijk, int* res, FaceIJK* fijkVerts);
+void _faceIjkPentToVerts(FaceIJK* fijk, int* res, FaceIJK* fijkVerts);
void _hex2dToGeo(const Vec2d* v, int face, int res, int substrate, GeoCoord* g);
-int _adjustOverageClassII(FaceIJK* fijk, int res, int pentLeading4,
- int substrate);
+Overage _adjustOverageClassII(FaceIJK* fijk, int res, int pentLeading4,
+ int substrate);
+Overage _adjustPentVertOverage(FaceIJK* fijk, int res);
#endif