Lagrange
|
Fast winding number computation for triangle soups. More...
#include <lagrange/winding/FastWindingNumber.h>
Classes | |
struct | Impl |
Public Member Functions | |
template<typename Scalar , typename Index > | |
FastWindingNumber (const SurfaceMesh< Scalar, Index > &mesh) | |
Constructs an acceleration structure on a given mesh to speed up winding number queries. More... | |
FastWindingNumber () | |
Constructs a new instance. | |
~FastWindingNumber () | |
Destroys the object. | |
FastWindingNumber (FastWindingNumber &&other) noexcept | |
Constructs a new instance. More... | |
FastWindingNumber & | operator= (FastWindingNumber &&other) noexcept |
Assignment operator. More... | |
FastWindingNumber (const FastWindingNumber &other)=delete | |
Constructs a new instance. More... | |
FastWindingNumber & | operator= (const FastWindingNumber &other)=delete |
Assignment operator. More... | |
bool | is_inside (const std::array< float, 3 > &pos) const |
Determines whether the specified query point is inside the volume. More... | |
float | solid_angle (const std::array< float, 3 > &pos) const |
Computes the solid angle at the query point. More... | |
Protected Attributes | |
value_ptr< Impl > | m_impl |
PIMPL to hide internal data structures. | |
Fast winding number computation for triangle soups.
FastWindingNumber | ( | const SurfaceMesh< Scalar, Index > & | mesh | ) |
Constructs an acceleration structure on a given mesh to speed up winding number queries.
float
and vertex indices are converted to int
.[in] | mesh | Triangle mesh used to initialize the fast winding number acceleration structure. |
|
defaultnoexcept |
Constructs a new instance.
other | Instance to move from. |
|
delete |
Constructs a new instance.
[in] | other | Instance to copy from. |
|
defaultnoexcept |
Assignment operator.
other | Instance to move from. |
|
delete |
Assignment operator.
[in] | other | Instance to copy from. |
bool is_inside | ( | const std::array< float, 3 > & | pos | ) | const |
Determines whether the specified query point is inside the volume.
[in] | pos | Query position. |
float solid_angle | ( | const std::array< float, 3 > & | pos | ) | const |
Computes the solid angle at the query point.
[in] | pos | Query position. |