[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [53432] trunk/blender/source/blender/bmesh /intern: Add BM_edge_calc_squared_length() query function

Nicholas Bishop nicholasbishop at gmail.com
Sun Dec 30 19:22:22 CET 2012


Revision: 53432
          http://projects.blender.org/scm/viewvc.php?view=rev&root=bf-blender&revision=53432
Author:   nicholasbishop
Date:     2012-12-30 18:22:21 +0000 (Sun, 30 Dec 2012)
Log Message:
-----------
Add BM_edge_calc_squared_length() query function

Same as BM_edge_calc_length(), but avoids square root for cases where
only comparison is needed.

Modified Paths:
--------------
    trunk/blender/source/blender/bmesh/intern/bmesh_queries.c
    trunk/blender/source/blender/bmesh/intern/bmesh_queries.h

Modified: trunk/blender/source/blender/bmesh/intern/bmesh_queries.c
===================================================================
--- trunk/blender/source/blender/bmesh/intern/bmesh_queries.c	2012-12-30 18:20:52 UTC (rev 53431)
+++ trunk/blender/source/blender/bmesh/intern/bmesh_queries.c	2012-12-30 18:22:21 UTC (rev 53432)
@@ -468,7 +468,7 @@
 }
 
 /**
- * Returms edge length
+ * Returns edge length
  */
 float BM_edge_calc_length(BMEdge *e)
 {
@@ -476,6 +476,14 @@
 }
 
 /**
+ * Returns edge length squared (for comparisons)
+ */
+float BM_edge_calc_squared_length(BMEdge *e)
+{
+	return len_squared_v3v3(e->v1->co, e->v2->co);
+}
+
+/**
  * Utility function, since enough times we have an edge
  * and want to access 2 connected faces.
  *

Modified: trunk/blender/source/blender/bmesh/intern/bmesh_queries.h
===================================================================
--- trunk/blender/source/blender/bmesh/intern/bmesh_queries.h	2012-12-30 18:20:52 UTC (rev 53431)
+++ trunk/blender/source/blender/bmesh/intern/bmesh_queries.h	2012-12-30 18:22:21 UTC (rev 53432)
@@ -37,6 +37,7 @@
 int     BM_verts_in_edge(BMVert *v1, BMVert *v2, BMEdge *e);
 
 float   BM_edge_calc_length(BMEdge *e);
+float   BM_edge_calc_squared_length(BMEdge *e);
 int     BM_edge_face_pair(BMEdge *e, BMFace **r_fa, BMFace **r_fb);
 int     BM_edge_loop_pair(BMEdge *e, BMLoop **r_la, BMLoop **r_lb);
 BMVert *BM_edge_other_vert(BMEdge *e, BMVert *v);




More information about the Bf-blender-cvs mailing list