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

Public Member Functions

None calcFromGrid (self, std_vector_float res, Vector3i dims, AffineXf3f gridToMeshXf, float beta, func_bool_from_float cb='{}')
 
None calcFromGridWithDistances (self, std_vector_float res, Vector3i dims, AffineXf3f gridToMeshXf, DistanceToMeshOptions options, func_bool_from_float cb)
 
None calcFromVector (self, std_vector_float res, std_vector_Vector3_float points, float beta, FaceId skipFace='{}', func_bool_from_float cb='{}')
 
None calcSelfIntersections (self, FaceBitSet res, float beta, func_bool_from_float cb='{}')
 

Static Protected Member Functions

 _pybind11_conduit_v1_ (*args, **kwargs)
 

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

◆ _pybind11_conduit_v1_()

mrmeshpy.IFastWindingNumber._pybind11_conduit_v1_ ( * args,
** kwargs )
staticprotected

Reimplemented in mrmeshpy.FastWindingNumber.

◆ calcFromGrid()

None mrmeshpy.IFastWindingNumber.calcFromGrid ( self,
std_vector_float res,
Vector3i dims,
AffineXf3f gridToMeshXf,
float beta,
func_bool_from_float cb = '{}' )
<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 mrmeshpy.FastWindingNumber.

◆ calcFromGridWithDistances()

None mrmeshpy.IFastWindingNumber.calcFromGridWithDistances ( self,
std_vector_float res,
Vector3i dims,
AffineXf3f gridToMeshXf,
DistanceToMeshOptions options,
func_bool_from_float cb )
<summary>
calculates distances with the sign obtained from generalized winding number in each point from a three-dimensional grid;
if sqr(res) < minDistSq or sqr(res) >= maxDistSq, then NaN is returned for such point
</summary>
<param name="res">resulting signed distances, will be resized automatically</param>
<param name="dims">dimensions of the grid</param>

Reimplemented in mrmeshpy.FastWindingNumber.

◆ calcFromVector()

None mrmeshpy.IFastWindingNumber.calcFromVector ( self,
std_vector_float res,
std_vector_Vector3_float points,
float beta,
FaceId skipFace = '{}',
func_bool_from_float cb = '{}' )
<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 mrmeshpy.FastWindingNumber.

◆ calcSelfIntersections()

None mrmeshpy.IFastWindingNumber.calcSelfIntersections ( self,
FaceBitSet res,
float beta,
func_bool_from_float cb = '{}' )
<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>

Reimplemented in mrmeshpy.FastWindingNumber.


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