Revision: 73025
http://sourceforge.net/p/brlcad/code/73025
Author: starseeker
Date: 2019-05-08 19:29:26 +0000 (Wed, 08 May 2019)
Log Message:
-----------
flatten if-else hierarchy to if-return
Modified Paths:
--------------
brlcad/trunk/src/libbrep/cdt.cpp
Modified: brlcad/trunk/src/libbrep/cdt.cpp
===================================================================
--- brlcad/trunk/src/libbrep/cdt.cpp 2019-05-08 11:15:49 UTC (rev 73024)
+++ brlcad/trunk/src/libbrep/cdt.cpp 2019-05-08 19:29:26 UTC (rev 73025)
@@ -812,7 +812,7 @@
fastf_t vdist = v2 - v1;
if ((udist < min_dist + ON_ZERO_TOLERANCE)
- || (vdist < min_dist + ON_ZERO_TOLERANCE)) {
+ || (vdist < min_dist + ON_ZERO_TOLERANCE)) {
return;
}
@@ -830,15 +830,15 @@
}
if (i == 1) {
getSurfacePoints(s, u1, u1 + step, v1, v2, min_dist,
- within_dist, cos_within_ang, on_surf_points,
left,
- below);
+ within_dist, cos_within_ang, on_surf_points, left,
+ below);
} else if (i == isteps) {
getSurfacePoints(s, u2 - step, u2, v1, v2, min_dist,
- within_dist, cos_within_ang, on_surf_points,
left,
- below);
+ within_dist, cos_within_ang, on_surf_points, left,
+ below);
} else {
getSurfacePoints(s, step_u - step, step_u, v1, v2, min_dist,
within_dist,
- cos_within_ang, on_surf_points, left, below);
+ cos_within_ang, on_surf_points, left, below);
}
left = false;
@@ -848,7 +848,9 @@
on_surf_points.Append(p2d);
}
}
- } else if (vdist > ldfactor * udist) {
+ return;
+ }
+ if (vdist > ldfactor * udist) {
int isteps = (int)(vdist / udist);
isteps = (int)(vdist / udist / ldfactor * 2.0);
fastf_t step = vdist / (fastf_t) isteps;
@@ -862,15 +864,15 @@
if (i == 1) {
getSurfacePoints(s, u1, u2, v1, v1 + step, min_dist,
- within_dist, cos_within_ang, on_surf_points,
left,
- below);
+ within_dist, cos_within_ang, on_surf_points, left,
+ below);
} else if (i == isteps) {
getSurfacePoints(s, u1, u2, v2 - step, v2, min_dist,
- within_dist, cos_within_ang, on_surf_points,
left,
- below);
+ within_dist, cos_within_ang, on_surf_points, left,
+ below);
} else {
getSurfacePoints(s, u1, u2, step_v - step, step_v, min_dist,
within_dist,
- cos_within_ang, on_surf_points, left, below);
+ cos_within_ang, on_surf_points, left, below);
}
below = false;
@@ -881,11 +883,13 @@
on_surf_points.Append(p2d);
}
}
- } else if ((surface_EvNormal(s, u1, v1, p[0], norm[0]))
- && (surface_EvNormal(s, u2, v1, p[1], norm[1])) // for u
- && (surface_EvNormal(s, u2, v2, p[2], norm[2]))
- && (surface_EvNormal(s, u1, v2, p[3], norm[3]))
- && (surface_EvNormal(s, u, v, mid, norm_mid))) {
+ return;
+ }
+ if ((surface_EvNormal(s, u1, v1, p[0], norm[0]))
+ && (surface_EvNormal(s, u2, v1, p[1], norm[1])) // for u
+ && (surface_EvNormal(s, u2, v2, p[2], norm[2]))
+ && (surface_EvNormal(s, u1, v2, p[3], norm[3]))
+ && (surface_EvNormal(s, u, v, mid, norm_mid))) {
double udot;
double vdot;
ON_Line line1(p[0], p[2]);
@@ -897,18 +901,10 @@
return;
}
- if (VNEAR_EQUAL(norm[0], norm[1], ON_ZERO_TOLERANCE)) {
- udot = 1.0;
- } else {
- udot = norm[0] * norm[1];
- }
- if (VNEAR_EQUAL(norm[0], norm[3], ON_ZERO_TOLERANCE)) {
- vdot = 1.0;
- } else {
- vdot = norm[0] * norm[3];
- }
- if ((udot < cos_within_ang - ON_ZERO_TOLERANCE)
- && (vdot < cos_within_ang - ON_ZERO_TOLERANCE)) {
+ udot = (VNEAR_EQUAL(norm[0], norm[1], ON_ZERO_TOLERANCE)) ? 1.0 :
norm[0] * norm[1];
+ vdot = (VNEAR_EQUAL(norm[0], norm[3], ON_ZERO_TOLERANCE)) ? 1.0 :
norm[0] * norm[3];
+
+ if ((udot < cos_within_ang - ON_ZERO_TOLERANCE) && (vdot <
cos_within_ang - ON_ZERO_TOLERANCE)) {
if (left) {
p2d.Set(u1, v);
on_surf_points.Append(p2d);
@@ -928,14 +924,16 @@
on_surf_points.Append(p2d);
getSurfacePoints(s, u1, u, v1, v, min_dist, within_dist,
- cos_within_ang, on_surf_points, left, below);
+ cos_within_ang, on_surf_points, left, below);
getSurfacePoints(s, u1, u, v, v2, min_dist, within_dist,
- cos_within_ang, on_surf_points, left, false);
+ cos_within_ang, on_surf_points, left, false);
getSurfacePoints(s, u, u2, v1, v, min_dist, within_dist,
- cos_within_ang, on_surf_points, false, below);
+ cos_within_ang, on_surf_points, false, below);
getSurfacePoints(s, u, u2, v, v2, min_dist, within_dist,
- cos_within_ang, on_surf_points, false, false);
- } else if (udot < cos_within_ang - ON_ZERO_TOLERANCE) {
+ cos_within_ang, on_surf_points, false, false);
+ return;
+ }
+ if (udot < cos_within_ang - ON_ZERO_TOLERANCE) {
if (below) {
p2d.Set(u, v1);
on_surf_points.Append(p2d);
@@ -944,10 +942,12 @@
p2d.Set(u, v2);
on_surf_points.Append(p2d);
getSurfacePoints(s, u1, u, v1, v2, min_dist, within_dist,
- cos_within_ang, on_surf_points, left, below);
+ cos_within_ang, on_surf_points, left, below);
getSurfacePoints(s, u, u2, v1, v2, min_dist, within_dist,
- cos_within_ang, on_surf_points, false, below);
- } else if (vdot < cos_within_ang - ON_ZERO_TOLERANCE) {
+ cos_within_ang, on_surf_points, false, below);
+ return;
+ }
+ if (vdot < cos_within_ang - ON_ZERO_TOLERANCE) {
if (left) {
p2d.Set(u1, v);
on_surf_points.Append(p2d);
@@ -957,39 +957,40 @@
on_surf_points.Append(p2d);
getSurfacePoints(s, u1, u2, v1, v, min_dist, within_dist,
- cos_within_ang, on_surf_points, left, below);
+ cos_within_ang, on_surf_points, left, below);
getSurfacePoints(s, u1, u2, v, v2, min_dist, within_dist,
- cos_within_ang, on_surf_points, left, false);
- } else {
- if (left) {
- p2d.Set(u1, v);
- on_surf_points.Append(p2d);
- }
- if (below) {
- p2d.Set(u, v1);
- on_surf_points.Append(p2d);
- }
- //center
- p2d.Set(u, v);
+ cos_within_ang, on_surf_points, left, false);
+ return;
+ }
+
+ if (left) {
+ p2d.Set(u1, v);
on_surf_points.Append(p2d);
- //right
- p2d.Set(u2, v);
+ }
+ if (below) {
+ p2d.Set(u, v1);
on_surf_points.Append(p2d);
- //top
- p2d.Set(u, v2);
- on_surf_points.Append(p2d);
+ }
+ //center
+ p2d.Set(u, v);
+ on_surf_points.Append(p2d);
+ //right
+ p2d.Set(u2, v);
+ on_surf_points.Append(p2d);
+ //top
+ p2d.Set(u, v2);
+ on_surf_points.Append(p2d);
- if (dist > within_dist + ON_ZERO_TOLERANCE) {
+ if (dist > within_dist + ON_ZERO_TOLERANCE) {
- getSurfacePoints(s, u1, u, v1, v, min_dist, within_dist,
- cos_within_ang, on_surf_points, left, below);
- getSurfacePoints(s, u1, u, v, v2, min_dist, within_dist,
- cos_within_ang, on_surf_points, left, false);
- getSurfacePoints(s, u, u2, v1, v, min_dist, within_dist,
- cos_within_ang, on_surf_points, false, below);
- getSurfacePoints(s, u, u2, v, v2, min_dist, within_dist,
- cos_within_ang, on_surf_points, false, false);
- }
+ getSurfacePoints(s, u1, u, v1, v, min_dist, within_dist,
+ cos_within_ang, on_surf_points, left, below);
+ getSurfacePoints(s, u1, u, v, v2, min_dist, within_dist,
+ cos_within_ang, on_surf_points, left, false);
+ getSurfacePoints(s, u, u2, v1, v, min_dist, within_dist,
+ cos_within_ang, on_surf_points, false, below);
+ getSurfacePoints(s, u, u2, v, v2, min_dist, within_dist,
+ cos_within_ang, on_surf_points, false, false);
}
}
}
This was sent by the SourceForge.net collaborative development platform, the
world's largest Open Source development site.
_______________________________________________
BRL-CAD Source Commits mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/brlcad-commits