Welcome to mirror list, hosted at ThFree Co, Russian Federation.

git.blender.org/blender.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorCampbell Barton <ideasman42@gmail.com>2013-07-12 04:18:27 +0400
committerCampbell Barton <ideasman42@gmail.com>2013-07-12 04:18:27 +0400
commit55c79821b9c6fde4324391123d5a6c84ead866cd (patch)
treefe5cc4fca1e1d4589aabb80d2f52fb53ac4bfab4 /source/blender/freestyle
parent17ee2732f423182ce9a58ee0f6c94acc5e029c88 (diff)
optimize interp_weights_poly_v2(), well tested, was calculating the area twice as much as was needed.
Diffstat (limited to 'source/blender/freestyle')
-rw-r--r--source/blender/freestyle/intern/blender_interface/BlenderFileLoader.cpp9
1 files changed, 6 insertions, 3 deletions
diff --git a/source/blender/freestyle/intern/blender_interface/BlenderFileLoader.cpp b/source/blender/freestyle/intern/blender_interface/BlenderFileLoader.cpp
index 85956dbcac8..cd8ce14567e 100644
--- a/source/blender/freestyle/intern/blender_interface/BlenderFileLoader.cpp
+++ b/source/blender/freestyle/intern/blender_interface/BlenderFileLoader.cpp
@@ -308,6 +308,9 @@ void BlenderFileLoader::addTriangle(struct LoaderState *ls, float v1[3], float v
// zero otherwise.
int BlenderFileLoader::testDegenerateTriangle(float v1[3], float v2[3], float v3[3])
{
+ const float eps = 1.0e-6;
+ const float eps_sq = eps * eps;
+
#if 0
float area = area_tri_v3(v1, v2, v3);
bool verbose = (area < 1.0e-6);
@@ -321,9 +324,9 @@ int BlenderFileLoader::testDegenerateTriangle(float v1[3], float v2[3], float v3
#endif
return 1;
}
- if (dist_to_line_segment_v3(v1, v2, v3) < 1.0e-6 ||
- dist_to_line_segment_v3(v2, v1, v3) < 1.0e-6 ||
- dist_to_line_segment_v3(v3, v1, v2) < 1.0e-6)
+ if (dist_squared_to_line_segment_v3(v1, v2, v3) < eps_sq ||
+ dist_squared_to_line_segment_v3(v2, v1, v3) < eps_sq ||
+ dist_squared_to_line_segment_v3(v3, v1, v2) < eps_sq)
{
#if 0
if (verbose && G.debug & G_DEBUG_FREESTYLE) {