Merge pull request #51 from Kromster80/HULL-UNDEF
Renamed enums to avoid name collisions with "hull" variables
This commit is contained in:
commit
ff7549bb57
@ -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++;
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user