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.
This commit is contained in:
@@ -468,13 +468,21 @@ BMEdge *BM_vert_other_disk_edge(BMVert *v, BMEdge *e_first)
|
||||
}
|
||||
|
||||
/**
|
||||
* Returms edge length
|
||||
* Returns edge length
|
||||
*/
|
||||
float BM_edge_calc_length(BMEdge *e)
|
||||
{
|
||||
return len_v3v3(e->v1->co, e->v2->co);
|
||||
}
|
||||
|
||||
/**
|
||||
* 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.
|
||||
|
||||
@@ -37,6 +37,7 @@ int BM_vert_in_edge(BMEdge *e, BMVert *v);
|
||||
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);
|
||||
|
||||
Reference in New Issue
Block a user