Inheritance diagram for mrmeshpy.FastWindingNumber:Public Member Functions | |
| None | __init__ (self, Mesh mesh) |
| None | __init__ (self, FastWindingNumber arg0) |
| 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) |
| float | calcWithDistances (self, Vector3f p, DistanceToMeshOptions options) |
Static Public Member Functions | |
| None | __init__ (*args, **kwargs) |
Static Public Member Functions inherited from mrmeshpy.IFastWindingNumber | |
| IFastWindingNumber | operator (*args, **kwargs) |
Generated from: MR::FastWindingNumber
the class for fast approximate computation of winding number for a mesh (using its AABB tree)
Note, this used to be `[[nodiscard]]`, but GCC 12 doesn't understand both `[[...]]` and `__attribute__(...)` on the same class.
A possible fix is to change `MRMESH_CLASS` globally to `[[__gnu__::__visibility__("default")]]`.
|
static |
| None mrmeshpy.FastWindingNumber.__init__ | ( | self, | |
| Mesh | mesh ) |
constructs this from AABB tree of given mesh; this remains valid only if tree is valid
| None mrmeshpy.FastWindingNumber.__init__ | ( | self, | |
| FastWindingNumber | arg0 ) |
Implicit copy constructor.
| None mrmeshpy.FastWindingNumber.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 from mrmeshpy.IFastWindingNumber.
| None mrmeshpy.FastWindingNumber.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 from mrmeshpy.IFastWindingNumber.
| None mrmeshpy.FastWindingNumber.calcFromVector | ( | self, | |
| std_vector_float | res, | ||
| std_vector_Vector3_float | points, | ||
| float | beta, | ||
| FaceId | skipFace, | ||
| func_bool_from_float | cb ) |
see methods' descriptions in IFastWindingNumber
Reimplemented from mrmeshpy.IFastWindingNumber.
| None mrmeshpy.FastWindingNumber.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 from mrmeshpy.IFastWindingNumber.
| float mrmeshpy.FastWindingNumber.calcWithDistances | ( | self, | |
| Vector3f | p, | ||
| DistanceToMeshOptions | options ) |