MeshLib Python Docs
Loading...
Searching...
No Matches
meshlib.mrmeshpy.IFastWindingNumber Class Reference
+ Inheritance diagram for meshlib.mrmeshpy.IFastWindingNumber:

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{}')
 

Detailed Description

Generated from:  MR::IFastWindingNumber

Abstract class for fast approximate computation of generalized winding number for a mesh (using its AABB tree)

Member Function Documentation

◆ calcFromGrid()

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.

◆ calcFromGridWithDistances()

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.

◆ calcFromVector()

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.

◆ calcSelfIntersections()

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.


The documentation for this class was generated from the following file: