- Parameters
-
mesh | pointer toward the mesh |
ia | index of first extremity of the edge |
ib | index of second extremity of the edge |
kdep | pointer toward the index of the first element intersecting the edge |
list | pointer toward the list of elts intersected by the edge |
- Returns
- 4 if the edge exist in the mesh, 0 if fail, ??? otherwise
Calculate the list of all the triangles intersected by edge (ia,ib), starting from kdep = one triangle in the ball of ia; list starts at index 0 (and ends at index lon-1). It stores 3*k + iare, where k is an intersected tria and iare is an intersected edge.
prod1, prod2 and prod3 allow to localize the edge regarding the tria:
- if all are >0, the edge doesn't cross the tria (same sign for all areas)
- if 2 are negative and 1 is positive, the edge intersect 2 triangle edges
- if 2 are 0, the edge pass through 1 of the tria vertices
- if 3 are 0, the edge coincide with 1 of the tria edges
ia-ib intersect 2 triangle edges => 2 products are <0, 1 is >0