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 Public Member Functions

IFastWindingNumber operator (*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

◆ calcFromGrid()

None mrmeshpy.IFastWindingNumber.calcFromGrid ( self,
std_vector_float res,
Vector3i dims,
AffineXf3f gridToMeshXf,
float beta,
func_bool_from_float cb = '{}' )
calculates winding numbers in each point from a three-dimensional grid
\\param res resulting winding numbers, will be resized automatically
\\param dims dimensions of the grid
\\param gridToMeshXf transform from integer grid locations to voxel's centers in mesh reference frame
\\param beta determines the precision of the approximation: the more the better, recommended value 2 or more

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 )
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
\\param res resulting signed distances, will be resized automatically
\\param dims dimensions of the grid

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 = '{}' )
calculates winding numbers in the points from given vector
\\param res resulting winding numbers, will be resized automatically
\\param points incoming points
\\param beta determines the precision of the approximation: the more the better, recommended value 2 or more
\\param skipFace this triangle (if it is close to `q`) will be skipped from summation

Reimplemented in mrmeshpy.FastWindingNumber.

◆ calcSelfIntersections()

None mrmeshpy.IFastWindingNumber.calcSelfIntersections ( self,
FaceBitSet res,
float beta,
func_bool_from_float cb = '{}' )
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
\\param res resulting bit set
\\param beta determines the precision of the approximation: the more the better, recommended value 2 or more

Reimplemented in mrmeshpy.FastWindingNumber.

◆ operator()

IFastWindingNumber mrmeshpy.IFastWindingNumber.operator ( * args,
** kwargs )
static

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