Merge pull request #51 from Kromster80/HULL-UNDEF

Renamed enums to avoid name collisions with "hull" variables
This commit is contained in:
Mikko Mononen 2014-12-13 13:55:33 +02:00
commit ff7549bb57

View File

@ -237,8 +237,8 @@ static unsigned short getHeight(const float fx, const float fy, const float fz,
enum EdgeValues enum EdgeValues
{ {
UNDEF = -1, EV_UNDEF = -1,
HULL = -2, EV_HULL = -2,
}; };
static int findEdge(const int* edges, int nedges, int s, int t) static int findEdge(const int* edges, int nedges, int s, int t)
@ -249,7 +249,7 @@ static int findEdge(const int* edges, int nedges, int s, int t)
if ((e[0] == s && e[1] == t) || (e[0] == t && e[1] == s)) if ((e[0] == s && e[1] == t) || (e[0] == t && e[1] == s))
return i; return i;
} }
return UNDEF; return EV_UNDEF;
} }
static int addEdge(rcContext* ctx, int* edges, int& nedges, const int maxEdges, int s, int t, int l, int r) static int addEdge(rcContext* ctx, int* edges, int& nedges, const int maxEdges, int s, int t, int l, int r)
@ -257,12 +257,12 @@ static int addEdge(rcContext* ctx, int* edges, int& nedges, const int maxEdges,
if (nedges >= maxEdges) if (nedges >= maxEdges)
{ {
ctx->log(RC_LOG_ERROR, "addEdge: Too many edges (%d/%d).", nedges, maxEdges); ctx->log(RC_LOG_ERROR, "addEdge: Too many edges (%d/%d).", nedges, maxEdges);
return UNDEF; return EV_UNDEF;
} }
// Add edge if not already in the triangulation. // Add edge if not already in the triangulation.
int e = findEdge(edges, nedges, s, t); int e = findEdge(edges, nedges, s, t);
if (e == UNDEF) if (e == EV_UNDEF)
{ {
int* edge = &edges[nedges*4]; int* edge = &edges[nedges*4];
edge[0] = s; edge[0] = s;
@ -273,15 +273,15 @@ static int addEdge(rcContext* ctx, int* edges, int& nedges, const int maxEdges,
} }
else else
{ {
return UNDEF; return EV_UNDEF;
} }
} }
static void updateLeftFace(int* e, int s, int t, int f) static void updateLeftFace(int* e, int s, int t, int f)
{ {
if (e[0] == s && e[1] == t && e[2] == UNDEF) if (e[0] == s && e[1] == t && e[2] == EV_UNDEF)
e[2] = f; e[2] = f;
else if (e[1] == s && e[0] == t && e[3] == UNDEF) else if (e[1] == s && e[0] == t && e[3] == EV_UNDEF)
e[3] = f; e[3] = f;
} }
@ -322,12 +322,12 @@ static void completeFacet(rcContext* ctx, const float* pts, int npts, int* edges
// Cache s and t. // Cache s and t.
int s,t; int s,t;
if (edge[2] == UNDEF) if (edge[2] == EV_UNDEF)
{ {
s = edge[0]; s = edge[0];
t = edge[1]; t = edge[1];
} }
else if (edge[3] == UNDEF) else if (edge[3] == EV_UNDEF)
{ {
s = edge[1]; s = edge[1];
t = edge[0]; t = edge[0];
@ -390,15 +390,15 @@ static void completeFacet(rcContext* ctx, const float* pts, int npts, int* edges
// Add new edge or update face info of old edge. // Add new edge or update face info of old edge.
e = findEdge(edges, nedges, pt, s); e = findEdge(edges, nedges, pt, s);
if (e == UNDEF) if (e == EV_UNDEF)
addEdge(ctx, edges, nedges, maxEdges, pt, s, nfaces, UNDEF); addEdge(ctx, edges, nedges, maxEdges, pt, s, nfaces, EV_UNDEF);
else else
updateLeftFace(&edges[e*4], pt, s, nfaces); updateLeftFace(&edges[e*4], pt, s, nfaces);
// Add new edge or update face info of old edge. // Add new edge or update face info of old edge.
e = findEdge(edges, nedges, t, pt); e = findEdge(edges, nedges, t, pt);
if (e == UNDEF) if (e == EV_UNDEF)
addEdge(ctx, edges, nedges, maxEdges, t, pt, nfaces, UNDEF); addEdge(ctx, edges, nedges, maxEdges, t, pt, nfaces, EV_UNDEF);
else else
updateLeftFace(&edges[e*4], t, pt, nfaces); updateLeftFace(&edges[e*4], t, pt, nfaces);
@ -406,7 +406,7 @@ static void completeFacet(rcContext* ctx, const float* pts, int npts, int* edges
} }
else else
{ {
updateLeftFace(&edges[e*4], s, t, HULL); updateLeftFace(&edges[e*4], s, t, EV_HULL);
} }
} }
@ -420,14 +420,14 @@ static void delaunayHull(rcContext* ctx, const int npts, const float* pts,
edges.resize(maxEdges*4); edges.resize(maxEdges*4);
for (int i = 0, j = nhull-1; i < nhull; j=i++) for (int i = 0, j = nhull-1; i < nhull; j=i++)
addEdge(ctx, &edges[0], nedges, maxEdges, hull[j],hull[i], HULL, UNDEF); addEdge(ctx, &edges[0], nedges, maxEdges, hull[j],hull[i], EV_HULL, EV_UNDEF);
int currentEdge = 0; int currentEdge = 0;
while (currentEdge < nedges) while (currentEdge < nedges)
{ {
if (edges[currentEdge*4+2] == UNDEF) if (edges[currentEdge*4+2] == EV_UNDEF)
completeFacet(ctx, pts, npts, &edges[0], nedges, maxEdges, nfaces, currentEdge); completeFacet(ctx, pts, npts, &edges[0], nedges, maxEdges, nfaces, currentEdge);
if (edges[currentEdge*4+3] == UNDEF) if (edges[currentEdge*4+3] == EV_UNDEF)
completeFacet(ctx, pts, npts, &edges[0], nedges, maxEdges, nfaces, currentEdge); completeFacet(ctx, pts, npts, &edges[0], nedges, maxEdges, nfaces, currentEdge);
currentEdge++; currentEdge++;
} }