Public Member Functions | |
None | calcFromGrid (self, std_vector_float res, Vector3i dims, AffineXf3f gridToMeshXf, float beta, func_bool_from_float cb='MR::ProgressCallback{}') |
None | calcFromGridWithDistances (self, std_vector_float res, Vector3i dims, AffineXf3f gridToMeshXf, float windingNumberThreshold, float beta, float maxDistSq, float minDistSq, func_bool_from_float cb) |
None | calcFromVector (self, std_vector_float res, std_vector_Vector3_float points, float beta, FaceId skipFace='MR::FaceId{}') |
bool | calcSelfIntersections (self, FaceBitSet res, float beta, func_bool_from_float cb='MR::ProgressCallback{}') |
Generated from: MR::IFastWindingNumber Abstract class for fast approximate computation of generalized winding number for a mesh (using its AABB tree)
None meshlib.mrmeshpy.IFastWindingNumber.calcFromGrid | ( | self, | |
std_vector_float | res, | ||
Vector3i | dims, | ||
AffineXf3f | gridToMeshXf, | ||
float | beta, | ||
func_bool_from_float | cb = 'MR::ProgressCallback{}' ) |
<summary> calculates winding numbers in each point from a three-dimensional grid </summary> <param name="res">resulting winding numbers, will be resized automatically</param> <param name="dims">dimensions of the grid</param> <param name="gridToMeshXf">transform from integer grid locations to voxel's centers in mesh reference frame</param> <param name="beta">determines the precision of the approximation: the more the better, recommended value 2 or more</param>
Reimplemented in meshlib.mrcudapy.FastWindingNumber, and meshlib.mrmeshpy.FastWindingNumber.
None meshlib.mrmeshpy.IFastWindingNumber.calcFromGridWithDistances | ( | self, | |
std_vector_float | res, | ||
Vector3i | dims, | ||
AffineXf3f | gridToMeshXf, | ||
float | windingNumberThreshold, | ||
float | beta, | ||
float | maxDistSq, | ||
float | minDistSq, | ||
func_bool_from_float | cb ) |
<summary> calculates distances with the sign obtained from winding number in each point from a three-dimensional grid </summary> <param name="res">resulting signed distances, will be resized automatically</param> <param name="dims">dimensions of the grid</param> <param name="gridToMeshXf">transform from integer grid locations to voxel's centers in mesh reference frame</param> <param name="windingNumberThreshold">positive distance if winding number below or equal this threshold</param> <param name="beta">determines the precision of the approximation: the more the better, recommended value 2 or more</param>
Reimplemented in meshlib.mrcudapy.FastWindingNumber, and meshlib.mrmeshpy.FastWindingNumber.
None meshlib.mrmeshpy.IFastWindingNumber.calcFromVector | ( | self, | |
std_vector_float | res, | ||
std_vector_Vector3_float | points, | ||
float | beta, | ||
FaceId | skipFace = 'MR::FaceId{}' ) |
<summary> calculates winding numbers in the points from given vector </summary> <param name="res">resulting winding numbers, will be resized automatically</param> <param name="points">incoming points</param> <param name="beta">determines the precision of the approximation: the more the better, recommended value 2 or more</param> <param name="skipFace">this triangle (if it is close to `q`) will be skipped from summation</param>
Reimplemented in meshlib.mrcudapy.FastWindingNumber, and meshlib.mrmeshpy.FastWindingNumber.
bool meshlib.mrmeshpy.IFastWindingNumber.calcSelfIntersections | ( | self, | |
FaceBitSet | res, | ||
float | beta, | ||
func_bool_from_float | cb = 'MR::ProgressCallback{}' ) |
<summary> calculates winding numbers for all centers of mesh's triangles. if winding number is less than 0 or greater then 1, that face is marked as self-intersected </summary> <param name="res">resulting bit set</param> <param name="beta">determines the precision of the approximation: the more the better, recommended value 2 or more</param> <returns>false if the operation was canceled by the user</returns>
Reimplemented in meshlib.mrcudapy.FastWindingNumber, and meshlib.mrmeshpy.FastWindingNumber.