|
EBGeometry
Compact, header-only C++ library for fast evaluation of signed distance functions
|
Helpers shared by VertexT::computeVertexNormalAngleWeighted() and DCEL::reconcile(). More...
Functions | |
| template<class T > | |
| Vec3T< T > | angleWeightedTerm (const Vec3T< T > &a_x0, const Vec3T< T > &a_x1, const Vec3T< T > &a_x2, const Vec3T< T > &a_normal) noexcept |
| One face's term in a vertex's angle-weighted pseudonormal: the face's normal weighted by the angle the face subtends at the vertex. | |
Helpers shared by VertexT::computeVertexNormalAngleWeighted() and DCEL::reconcile().
Internal; not part of the public API.
|
inlineprotectednoexcept |
One face's term in a vertex's angle-weighted pseudonormal: the face's normal weighted by the angle the face subtends at the vertex.
The host's reconcile and DCEL::reconcile() both take their terms from here, so that their arithmetic cannot drift apart. The positions must be distinct.
| T | Floating-point precision. |
| [in] | a_x0 | The vertex's position. |
| [in] | a_x1 | The position of the vertex before it on the face. |
| [in] | a_x2 | The position of the vertex after it on the face. |
| [in] | a_normal | The face's normal. |
a_x0 between the edges to a_x1 and a_x2, times a_normal.