| 28 | } |
| 29 | |
| 30 | Vector3f triPoint( const MeshTopology & topology, const VertCoords & points, const MeshTriPoint & p ) |
| 31 | { |
| 32 | if ( p.bary.b == 0 ) |
| 33 | { |
| 34 | // do not require to have triangular face to the left of p.e |
| 35 | const Vector3f v0 = orgPnt( topology, points, p.e ); |
| 36 | const Vector3f v1 = destPnt( topology, points, p.e ); |
| 37 | return ( 1 - p.bary.a ) * v0 + p.bary.a * v1; |
| 38 | } |
| 39 | Vector3f v0, v1, v2; |
| 40 | getLeftTriPoints( topology, points, p.e, v0, v1, v2 ); |
| 41 | return p.bary.interpolate( v0, v1, v2 ); |
| 42 | } |
| 43 | |
| 44 | MeshTriPoint toTriPoint( const MeshTopology & topology, const VertCoords & points, FaceId f, const Vector3f & p ) |
| 45 | { |
no test coverage detected