|
|
static unsafe MR.LoadedObjectT | deserializeObjectTreeFrom3mf (string file, MR.Std.Const_Function_BoolFuncFromFloat? callback=null) |
| | Generated from function MR.deserializeObjectTreeFrom3mf. Parameter callback defaults to {}.
|
| |
|
static unsafe MR.LoadedObjectT | deserializeObjectTreeFromModel (string file, MR.Std.Const_Function_BoolFuncFromFloat? callback=null) |
| | Generated from function MR.deserializeObjectTreeFromModel. Parameter callback defaults to {}.
|
| |
|
static unsafe MR.Object | deserializeObjectTreeFromGltf (string file, MR.Std._ByValue_Function_BoolFuncFromFloat? callback=null) |
| | Generated from function MR.deserializeObjectTreeFromGltf. Parameter callback defaults to {}.
|
| |
|
static unsafe void | serializeObjectTreeToGltf (MR.Const_Object root, string file, MR.ObjectSave.Const_Settings settings) |
| | Generated from function MR.serializeObjectTreeToGltf.
|
| |
|
static void | loadIOExtras () |
| | Generated from function MR.loadIOExtras.
|
| |
| static unsafe void | zlibCompressStream (MR.Std.Istream in_, MR.Std.Ostream out_, int? level=null) |
| | compress the input data using the Deflate algorithm
|
| |
| static unsafe void | zlibDecompressStream (MR.Std.Istream in_, MR.Std.Ostream out_) |
| | /brief decompress the input data compressed using the Deflate algorithm
|
| |
|
static int | getNumNodes (int numLeaves) |
| | returns the number of nodes in the binary tree with given number of leaves Generated from function MR.getNumNodes.
|
| |
|
static int | getNumNodesPoints (int numPoints) |
| | Generated from function MR.getNumNodesPoints.
|
| |
|
static unsafe void | addNoise (MR.VertCoords points, MR.Const_VertBitSet validVerts, MR._ByValue_NoiseSettings settings) |
| | Generated from function MR.addNoise.
|
| |
|
static unsafe void | addNoise (MR.Mesh mesh, MR.Const_VertBitSet? region=null, MR.Const_NoiseSettings? settings=null) |
| | Generated from function MR.addNoise. Parameter settings defaults to {}.
|
| |
|
static unsafe MR.Mesh | alignContoursToMesh (MR.Const_Mesh mesh, MR.Std.Const_Vector_StdVectorMRVector2f contours, MR.Const_ContoursMeshAlignParams params_) |
| | Creates planar mesh out of given contour and aligns it to given surface Generated from function MR.alignContoursToMesh.
|
| |
|
static unsafe MR.Mesh | bendContoursAlongCurve (MR.Std.Const_Vector_StdVectorMRVector2f contours, MR.Std.Const_Function_MRCurvePointFuncFromFloat curve, MR.Const_BendContoursAlongCurveParams params_) |
| | Converts contours in thick mesh, and deforms it along given path Generated from function MR.bendContoursAlongCurve.
|
| |
|
static unsafe MR.Mesh | bendContoursAlongSurfacePath (MR.Std.Const_Vector_StdVectorMRVector2f contours, MR.Const_Mesh mesh, MR.Const_MeshTriPoint start, MR.Std.Const_Vector_MREdgePoint path, MR.Const_MeshTriPoint end, MR.Const_BendContoursAlongCurveParams params_) |
| | Converts contours in thick mesh, and deforms it along given surface path: start->path->end Generated from function MR.bendContoursAlongSurfacePath.
|
| |
|
static unsafe MR.Mesh | bendContoursAlongSurfacePath (MR.Std.Const_Vector_StdVectorMRVector2f contours, MR.Const_Mesh mesh, MR.Std.Const_Vector_MREdgePoint path, MR.Const_BendContoursAlongCurveParams params_) |
| | Converts contours in thick mesh, and deforms it along given surface path Generated from function MR.bendContoursAlongSurfacePath.
|
| |
| static unsafe MR.Std.Vector_Float | findPartialLens (MR.Std.Const_Vector_MRCurvePoint cp, bool? unitLength=null, MR.Misc.InOut< float >? outCurveLen=null) |
| | given a polyline by its vertices, computes partial lengths along the polyline from the initial point; return an error if the polyline is less than 2 points or all points have exactly the same location
|
| |
|
static unsafe MR.CurvePoint | getCurvePoint (MR.Std.Const_Vector_MRCurvePoint cp, MR.Std.Const_Vector_Float lens, float p) |
| | given a polyline by its vertices, and partial lengths as computed by findPartialLens, finds the location of curve point at the given parameter with extrapolation if p outside [0, lens.back()], execution time is logarithmic relative to the number of points Generated from function MR.getCurvePoint.
|
| |
| static unsafe MR.Std.Function_MRCurvePointFuncFromFloat | curveFromPoints (MR.Std.Const_Vector_MRCurvePoint cp, bool? unitLength=null, MR.Misc.InOut< float >? outCurveLen=null) |
| | given a polyline by its vertices, returns curve function representing it; return an error if the polyline is less than 2 points or all points have exactly the same location
|
| |
|
static unsafe MR.Std.Function_MRCurvePointFuncFromFloat | curveFromPoints (MR.Misc._Moved< MR.Std.Vector_MRCurvePoint > cp, bool? unitLength=null, MR.Misc.InOut< float >? outCurveLen=null) |
| | Generated from function MR.curveFromPoints. Parameter unitLength defaults to true.
|
| |
|
static unsafe MR.Std.Vector_MRCurvePoint | meshPathCurvePoints (MR.Const_Mesh mesh, MR.Const_MeshTriPoint start, MR.Std.Const_Vector_MREdgePoint path, MR.Const_MeshTriPoint end) |
| | converts polyline given as a number of MeshTriPoint/MeshEdgePoint into CurvePoints Generated from function MR.meshPathCurvePoints.
|
| |
|
static unsafe MR.Std.Vector_MRCurvePoint | meshPathCurvePoints (MR.Const_Mesh mesh, MR.Std.Const_Vector_MREdgePoint path) |
| | Generated from function MR.meshPathCurvePoints.
|
| |
|
static unsafe void | addBaseToPlanarMesh (MR.Mesh mesh, float zOffset) |
| | given a planar mesh with boundary on input located in plane XY, packs and extends it along Z on zOffset (along -Z if zOffset is negative) to make a volumetric closed mesh note that this function also packs the mesh Generated from function MR.addBaseToPlanarMesh.
|
| |
|
static unsafe MR.Mesh | makeArrow (in MR.Vector3f base_, in MR.Vector3f vert, float? thickness=null, float? coneRadius=null, float? coneSize=null, int? qual=null) |
| | Generated from function MR.makeArrow. Parameter thickness defaults to 0.0500000007f. Parameter coneRadius defaults to 0.100000001f. Parameter coneSize defaults to 0.200000003f. Parameter qual defaults to 32.
|
| |
|
static unsafe MR.Mesh | makeBasisAxes (float? size=null, float? thickness=null, float? coneRadius=null, float? coneSize=null, int? qual=null) |
| | Generated from function MR.makeBasisAxes. Parameter size defaults to 1.0f. Parameter thickness defaults to 0.0500000007f. Parameter coneRadius defaults to 0.100000001f. Parameter coneSize defaults to 0.200000003f. Parameter qual defaults to 32.
|
| |
|
static unsafe MR.Std.String | encode64 (byte? data, ulong size) |
| | encodes binary data into textual Base64 format Generated from function MR.encode64.
|
| |
|
static unsafe MR.Std.Vector_UnsignedChar | decode64 (string val) |
| | decodes Base64 format into binary data Generated from function MR.decode64.
|
| |
| static unsafe double | computeBasinVolume (MR.Const_Mesh mesh, MR.Const_FaceBitSet faces, float level) |
| | computes the volume of given mesh basin below given water level;
|
| |
|
static unsafe void | accumulatePoints (MR.PointAccumulator accum, MR.Std.Const_Vector_MRVector3f points, MR.AffineXf3f? xf=null) |
| | Adds in existing PointAccumulator all given points Generated from function MR.accumulatePoints.
|
| |
|
static unsafe void | accumulateWeighedPoints (MR.PointAccumulator accum, MR.Std.Const_Vector_MRVector3f points, MR.Std.Const_Vector_Float weights, MR.AffineXf3f? xf=null) |
| | Adds in existing PointAccumulator all given weighed points Generated from function MR.accumulateWeighedPoints.
|
| |
|
static unsafe void | accumulateFaceCenters (MR.PointAccumulator accum, MR.Const_MeshPart mp, MR.AffineXf3f? xf=null) |
| | Adds in existing PointAccumulator all mesh face centers with the weight equal to face area Generated from function MR.accumulateFaceCenters.
|
| |
|
static unsafe void | accumulateLineCenters (MR.PointAccumulator accum, MR.Const_Polyline3 pl, MR.AffineXf3f? xf=null) |
| | Adds in existing PointAccumulator all line centers with the weight equal to the length line Generated from function MR.accumulateLineCenters.
|
| |
|
static unsafe void | accumulatePoints (MR.PointAccumulator accum, MR.Const_PointCloudPart pcp, MR.AffineXf3f? xf=null) |
| | Adds in existing PointAccumulator all points from the cloud (region) with weight 1 Generated from function MR.accumulatePoints.
|
| |
|
static bool | canSolvePolynomial (ulong degree) |
| | Generated from function MR.canSolvePolynomial<MR_uint64_t>.
|
| |
|
static bool | canMinimizePolynomial (ulong degree) |
| | Generated from function MR.canMinimizePolynomial<MR_uint64_t>.
|
| |
|
static unsafe ulong | heapBytes (MR.Const_BitSet bs) |
| | returns the amount of memory given BitSet occupies on heap Generated from function MR.heapBytes.
|
| |
|
static unsafe bool | contains (MR.Const_FaceBitSet? bitset, MR.FaceId id) |
| | Generated from function MR.contains<MR.FaceId>.
|
| |
| static unsafe MR.Mesh | doBooleanOperation (MR.Misc._Moved< MR.Mesh > meshACut, MR.Misc._Moved< MR.Mesh > meshBCut, MR.Std.Const_Vector_StdVectorMREdgeId cutEdgesA, MR.Std.Const_Vector_StdVectorMREdgeId cutEdgesB, MR.BooleanOperation operation, MR.AffineXf3f? rigidB2A=null, MR.BooleanResultMapper? mapper=null, bool? mergeAllNonIntersectingComponents=null, MR.Const_BooleanInternalParameters? intParams=null) |
| | Perform boolean operation on cut meshes.
|
| |
|
static unsafe MR.UndirectedEdgeId | getAt (MR.Const_Buffer_MRUndirectedEdgeId_MRUndirectedEdgeId bmap, MR.UndirectedEdgeId key, MR._InOpt_UndirectedEdgeId def=default) |
| | given some buffer map and a key, returns the value associated with the key, or default value if key is invalid Generated from function MR.getAt<MR.UndirectedEdgeId, MR.UndirectedEdgeId>. Parameter def defaults to {}.
|
| |
|
static unsafe ulong | chunkCount (ulong totalSize, ulong chunkSize, ulong? overlap=null) |
| | returns the amount of chunks of given size required to cover the full array Generated from function MR.chunkCount. Parameter overlap defaults to 0.
|
| |
|
static unsafe MR.IteratorRange_MRChunkIterator | splitByChunks (ulong totalSize, ulong chunkSize, ulong? overlap=null) |
| | returns a pair of iterators for chunks covering the array of given size Generated from function MR.splitByChunks. Parameter overlap defaults to 0.
|
| |
|
static unsafe MR.PointAndDistance | findClosestWeightedPoint (in MR.Vector3f loc, MR.Const_AABBTreePoints tree, MR.Const_DistanceFromWeightedPointsComputeParams params_) |
| | consider a point cloud where each point has additive weight, and the distance to a point is considered equal to (euclidean distance - weight), finds the point with minimal distance to given 3D location Generated from function MR.findClosestWeightedPoint.
|
| |
|
static unsafe MR.MeshPointAndDistance | findClosestWeightedMeshPoint (in MR.Vector3f loc, MR.Const_Mesh mesh, MR.Const_DistanceFromWeightedPointsComputeParams params_) |
| | consider a mesh where each vertex has additive weight, and this weight is linearly interpolated in mesh triangles, and the distance to a point is considered equal to (euclidean distance - weight), finds the point on given mesh with minimal distance to given 3D location Generated from function MR.findClosestWeightedMeshPoint.
|
| |
|
static unsafe MR.Std.Optional_MRVertMap | findSmallestCloseVertices (MR.Const_Mesh mesh, float closeDist, MR.Std.Const_Function_BoolFuncFromFloat? cb=null) |
| | returns a map where each valid vertex is mapped to the smallest valid vertex Id located within given distance (including itself), and this smallest vertex is mapped to itself, each vertex not from valid set is mapped to itself Generated from function MR.findSmallestCloseVertices. Parameter cb defaults to {}.
|
| |
|
static unsafe MR.Std.Optional_MRVertMap | findSmallestCloseVertices (MR.Const_PointCloud cloud, float closeDist, MR.Std.Const_Function_BoolFuncFromFloat? cb=null) |
| | returns a map where each valid vertex is mapped to the smallest valid vertex Id located within given distance (including itself), and this smallest vertex is mapped to itself, each vertex not from valid set is mapped to itself Generated from function MR.findSmallestCloseVertices. Parameter cb defaults to {}.
|
| |
|
static unsafe MR.Std.Optional_MRVertMap | findSmallestCloseVertices (MR.Const_VertCoords points, float closeDist, MR.Const_VertBitSet? valid=null, MR.Std.Const_Function_BoolFuncFromFloat? cb=null) |
| | returns a map where each valid vertex is mapped to the smallest valid vertex Id located within given distance (including itself), and this smallest vertex is mapped to itself, each vertex not from valid set is mapped to itself; the search tree is constructe inside Generated from function MR.findSmallestCloseVertices. Parameter cb defaults to {}.
|
| |
|
static unsafe MR.Std.Optional_MRVertMap | findSmallestCloseVerticesUsingTree (MR.Const_VertCoords points, float closeDist, MR.Const_AABBTreePoints tree, MR.Const_VertBitSet? valid, MR.Std.Const_Function_BoolFuncFromFloat? cb=null) |
| | returns a map where each valid vertex is mapped to the smallest valid vertex Id located within given distance (including itself), and this smallest vertex is mapped to itself, each vertex not from valid set is mapped to itself; given tree is used as is Generated from function MR.findSmallestCloseVerticesUsingTree. Parameter cb defaults to {}.
|
| |
|
static unsafe MR.Std.Optional_MRVertBitSet | findCloseVertices (MR.Const_Mesh mesh, float closeDist, MR.Std.Const_Function_BoolFuncFromFloat? cb=null) |
| | finds all close vertices, where for each vertex there is another one located within given distance Generated from function MR.findCloseVertices. Parameter cb defaults to {}.
|
| |
|
static unsafe MR.Std.Optional_MRVertBitSet | findCloseVertices (MR.Const_PointCloud cloud, float closeDist, MR.Std.Const_Function_BoolFuncFromFloat? cb=null) |
| | finds all close vertices, where for each vertex there is another one located within given distance Generated from function MR.findCloseVertices. Parameter cb defaults to {}.
|
| |
|
static unsafe MR.Std.Optional_MRVertBitSet | findCloseVertices (MR.Const_VertCoords points, float closeDist, MR.Const_VertBitSet? valid=null, MR.Std.Const_Function_BoolFuncFromFloat? cb=null) |
| | finds all close vertices, where for each vertex there is another one located within given distance Generated from function MR.findCloseVertices. Parameter cb defaults to {}.
|
| |
|
static unsafe MR.VertBitSet | findCloseVertices (MR.Const_VertMap smallestMap) |
| | finds all close vertices, where for each vertex there is another one located within given distance; smallestMap is the result of findSmallestCloseVertices function call Generated from function MR.findCloseVertices.
|
| |
|
static unsafe MR.Std.Vector_StdPairMREdgeIdMREdgeId | findTwinEdgePairs (MR.Const_Mesh mesh, float closeDist) |
| | finds pairs of twin edges (each twin edge will be present at least in one of pairs) Generated from function MR.findTwinEdgePairs.
|
| |
|
static unsafe MR.EdgeBitSet | findTwinEdges (MR.Const_Mesh mesh, float closeDist) |
| | finds all directed twin edges Generated from function MR.findTwinEdges.
|
| |
|
static unsafe MR.EdgeBitSet | findTwinEdges (MR.Std.Const_Vector_StdPairMREdgeIdMREdgeId pairs) |
| | Generated from function MR.findTwinEdges.
|
| |
|
static unsafe MR.UndirectedEdgeBitSet | findTwinUndirectedEdges (MR.Const_Mesh mesh, float closeDist) |
| | finds all undirected twin edges Generated from function MR.findTwinUndirectedEdges.
|
| |
|
static unsafe MR.UndirectedEdgeBitSet | findTwinUndirectedEdges (MR.Std.Const_Vector_StdPairMREdgeIdMREdgeId pairs) |
| | Generated from function MR.findTwinUndirectedEdges.
|
| |
|
static unsafe MR.Phmap.FlatHashMap_MRUndirectedEdgeId_MRUndirectedEdgeId | findTwinUndirectedEdgeHashMap (MR.Const_Mesh mesh, float closeDist) |
| | provided that each edge has at most one twin, composes bidirectional mapping between twins Generated from function MR.findTwinUndirectedEdgeHashMap.
|
| |
|
static unsafe MR.Phmap.FlatHashMap_MRUndirectedEdgeId_MRUndirectedEdgeId | findTwinUndirectedEdgeHashMap (MR.Std.Const_Vector_StdPairMREdgeIdMREdgeId pairs) |
| | Generated from function MR.findTwinUndirectedEdgeHashMap.
|
| |
| static unsafe MR.Color | blend (in MR.Color front, in MR.Color back) |
| | Blend two colors together.
|
| |
| static unsafe float | calcOrientedArea (MR.Std.Const_Vector_MRVector2f contour) |
| | >0 for clockwise loop, < 0 for CCW loop
|
| |
| static unsafe double | calcOrientedArea (MR.Std.Const_Vector_MRVector2d contour) |
| | >0 for clockwise loop, < 0 for CCW loop
|
| |
| static unsafe MR.Vector3f | calcOrientedArea (MR.Std.Const_Vector_MRVector3f contour) |
| | returns the vector with the magnitude equal to contour area, and directed to see the contour in ccw order from the vector tip
|
| |
| static unsafe MR.Vector3d | calcOrientedArea (MR.Std.Const_Vector_MRVector3d contour) |
| | returns the vector with the magnitude equal to contour area, and directed to see the contour in ccw order from the vector tip
|
| |
| static unsafe float | calcLength (MR.Std.Const_Vector_MRVector2f contour) |
| | returns sum length of the given contour
|
| |
| static unsafe double | calcLength (MR.Std.Const_Vector_MRVector2d contour) |
| | returns sum length of the given contour
|
| |
| static unsafe float | calcLength (MR.Std.Const_Vector_MRVector3f contour) |
| | returns sum length of the given contour
|
| |
| static unsafe double | calcLength (MR.Std.Const_Vector_MRVector3d contour) |
| | returns sum length of the given contour
|
| |
|
static unsafe MR.Std.Vector_MRVector2f | convertContourTo2f (MR.Std.Const_Vector_MRVector2f from) |
| | Generated from function MR.convertContourTo2f<std.vector<MR.Vector2f>>.
|
| |
|
static unsafe MR.Std.Vector_MRVector2f | convertContourTo2f (MR.Std.Const_Vector_MRVector2d from) |
| | Generated from function MR.convertContourTo2f<std.vector<MR.Vector2d>>.
|
| |
|
static unsafe MR.Std.Vector_MRVector2f | convertContourTo2f (MR.Std.Const_Vector_MRVector3f from) |
| | Generated from function MR.convertContourTo2f<std.vector<MR.Vector3f>>.
|
| |
|
static unsafe MR.Std.Vector_MRVector2f | convertContourTo2f (MR.Std.Const_Vector_MRVector3d from) |
| | Generated from function MR.convertContourTo2f<std.vector<MR.Vector3d>>.
|
| |
|
static unsafe MR.Std.Vector_MRVector3f | convertContourTo3f (MR.Std.Const_Vector_MRVector2f from) |
| | Generated from function MR.convertContourTo3f<std.vector<MR.Vector2f>>.
|
| |
|
static unsafe MR.Std.Vector_MRVector3f | convertContourTo3f (MR.Std.Const_Vector_MRVector2d from) |
| | Generated from function MR.convertContourTo3f<std.vector<MR.Vector2d>>.
|
| |
|
static unsafe MR.Std.Vector_MRVector3f | convertContourTo3f (MR.Std.Const_Vector_MRVector3f from) |
| | Generated from function MR.convertContourTo3f<std.vector<MR.Vector3f>>.
|
| |
|
static unsafe MR.Std.Vector_MRVector3f | convertContourTo3f (MR.Std.Const_Vector_MRVector3d from) |
| | Generated from function MR.convertContourTo3f<std.vector<MR.Vector3d>>.
|
| |
|
static unsafe MR.Std.Vector_MRVector2d | convertContourTo2d (MR.Std.Const_Vector_MRVector2f from) |
| | Generated from function MR.convertContourTo2d<std.vector<MR.Vector2f>>.
|
| |
|
static unsafe MR.Std.Vector_MRVector2d | convertContourTo2d (MR.Std.Const_Vector_MRVector2d from) |
| | Generated from function MR.convertContourTo2d<std.vector<MR.Vector2d>>.
|
| |
|
static unsafe MR.Std.Vector_MRVector2d | convertContourTo2d (MR.Std.Const_Vector_MRVector3f from) |
| | Generated from function MR.convertContourTo2d<std.vector<MR.Vector3f>>.
|
| |
|
static unsafe MR.Std.Vector_MRVector2d | convertContourTo2d (MR.Std.Const_Vector_MRVector3d from) |
| | Generated from function MR.convertContourTo2d<std.vector<MR.Vector3d>>.
|
| |
|
static unsafe MR.Std.Vector_MRVector3d | convertContourTo3d (MR.Std.Const_Vector_MRVector2f from) |
| | Generated from function MR.convertContourTo3d<std.vector<MR.Vector2f>>.
|
| |
|
static unsafe MR.Std.Vector_MRVector3d | convertContourTo3d (MR.Std.Const_Vector_MRVector2d from) |
| | Generated from function MR.convertContourTo3d<std.vector<MR.Vector2d>>.
|
| |
|
static unsafe MR.Std.Vector_MRVector3d | convertContourTo3d (MR.Std.Const_Vector_MRVector3f from) |
| | Generated from function MR.convertContourTo3d<std.vector<MR.Vector3f>>.
|
| |
|
static unsafe MR.Std.Vector_MRVector3d | convertContourTo3d (MR.Std.Const_Vector_MRVector3d from) |
| | Generated from function MR.convertContourTo3d<std.vector<MR.Vector3d>>.
|
| |
|
static unsafe MR.Std.Vector_StdVectorMRVector2f | convertContoursTo2f (MR.Std.Const_Vector_StdVectorMRVector2f from) |
| | Generated from function MR.convertContoursTo2f<std.vector<std.vector<MR.Vector2f>>>.
|
| |
|
static unsafe MR.Std.Vector_StdVectorMRVector2f | convertContoursTo2f (MR.Std.Const_Vector_StdVectorMRVector2d from) |
| | Generated from function MR.convertContoursTo2f<std.vector<std.vector<MR.Vector2d>>>.
|
| |
|
static unsafe MR.Std.Vector_StdVectorMRVector2f | convertContoursTo2f (MR.Std.Const_Vector_StdVectorMRVector3f from) |
| | Generated from function MR.convertContoursTo2f<std.vector<std.vector<MR.Vector3f>>>.
|
| |
|
static unsafe MR.Std.Vector_StdVectorMRVector2f | convertContoursTo2f (MR.Std.Const_Vector_StdVectorMRVector3d from) |
| | Generated from function MR.convertContoursTo2f<std.vector<std.vector<MR.Vector3d>>>.
|
| |
|
static unsafe MR.Std.Vector_StdVectorMRVector3f | convertContoursTo3f (MR.Std.Const_Vector_StdVectorMRVector2f from) |
| | Generated from function MR.convertContoursTo3f<std.vector<std.vector<MR.Vector2f>>>.
|
| |
|
static unsafe MR.Std.Vector_StdVectorMRVector3f | convertContoursTo3f (MR.Std.Const_Vector_StdVectorMRVector2d from) |
| | Generated from function MR.convertContoursTo3f<std.vector<std.vector<MR.Vector2d>>>.
|
| |
|
static unsafe MR.Std.Vector_StdVectorMRVector3f | convertContoursTo3f (MR.Std.Const_Vector_StdVectorMRVector3f from) |
| | Generated from function MR.convertContoursTo3f<std.vector<std.vector<MR.Vector3f>>>.
|
| |
|
static unsafe MR.Std.Vector_StdVectorMRVector3f | convertContoursTo3f (MR.Std.Const_Vector_StdVectorMRVector3d from) |
| | Generated from function MR.convertContoursTo3f<std.vector<std.vector<MR.Vector3d>>>.
|
| |
|
static unsafe MR.Std.Vector_StdVectorMRVector2d | convertContoursTo2d (MR.Std.Const_Vector_StdVectorMRVector2f from) |
| | Generated from function MR.convertContoursTo2d<std.vector<std.vector<MR.Vector2f>>>.
|
| |
|
static unsafe MR.Std.Vector_StdVectorMRVector2d | convertContoursTo2d (MR.Std.Const_Vector_StdVectorMRVector2d from) |
| | Generated from function MR.convertContoursTo2d<std.vector<std.vector<MR.Vector2d>>>.
|
| |
|
static unsafe MR.Std.Vector_StdVectorMRVector2d | convertContoursTo2d (MR.Std.Const_Vector_StdVectorMRVector3f from) |
| | Generated from function MR.convertContoursTo2d<std.vector<std.vector<MR.Vector3f>>>.
|
| |
|
static unsafe MR.Std.Vector_StdVectorMRVector2d | convertContoursTo2d (MR.Std.Const_Vector_StdVectorMRVector3d from) |
| | Generated from function MR.convertContoursTo2d<std.vector<std.vector<MR.Vector3d>>>.
|
| |
|
static unsafe MR.Std.Vector_StdVectorMRVector3d | convertContoursTo3d (MR.Std.Const_Vector_StdVectorMRVector2f from) |
| | Generated from function MR.convertContoursTo3d<std.vector<std.vector<MR.Vector2f>>>.
|
| |
|
static unsafe MR.Std.Vector_StdVectorMRVector3d | convertContoursTo3d (MR.Std.Const_Vector_StdVectorMRVector2d from) |
| | Generated from function MR.convertContoursTo3d<std.vector<std.vector<MR.Vector2d>>>.
|
| |
|
static unsafe MR.Std.Vector_StdVectorMRVector3d | convertContoursTo3d (MR.Std.Const_Vector_StdVectorMRVector3f from) |
| | Generated from function MR.convertContoursTo3d<std.vector<std.vector<MR.Vector3f>>>.
|
| |
|
static unsafe MR.Std.Vector_StdVectorMRVector3d | convertContoursTo3d (MR.Std.Const_Vector_StdVectorMRVector3d from) |
| | Generated from function MR.convertContoursTo3d<std.vector<std.vector<MR.Vector3d>>>.
|
| |
| static unsafe MR.CutMeshResult | cutMesh (MR.Mesh mesh, MR.Std.Const_Vector_MROneMeshContour contours, MR.Const_CutMeshParameters? params_=null) |
| | Cuts mesh by given contours This function cuts mesh making new edges paths on place of input contours.
|
| |
| static unsafe MR.FaceBitSet | cutMeshByContour (MR.Mesh mesh, MR.Std.Const_Vector_MRVector3f contour, MR.AffineXf3f? xf=null) |
| | Cuts mesh by contour by projecting all the points.
|
| |
| static unsafe MR.FaceBitSet | cutMeshByContours (MR.Mesh mesh, MR.Std.Const_Vector_StdVectorMRVector3f contours, MR.AffineXf3f? xf=null) |
| | Cuts mesh by contours by projecting all the points.
|
| |
| static unsafe MR.Std.Vector_StdVectorMREdgeId | cutMeshByProjection (MR.Mesh mesh, MR.Std.Const_Vector_StdVectorMRVector3f contours, MR.Const_CutByProjectionSettings settings) |
| | Performs orthographic projection with of given contours to mesh and cut result lines, fails if any point of contours has missed mesh on projection stage or cut contours contains self-intersections.
|
| |
| static unsafe MR.Std.Vector_MROneMeshContour | convertMeshTriPointsSurfaceOffsetToMeshContours (MR.Const_Mesh mesh, MR.Std.Const_Vector_MRMeshTriPoint surfaceLine, float offset, MR.Const_SearchPathSettings? searchSettings=null) |
| | Makes continuous contour by iso-line from mesh tri points, if first and last meshTriPoint is the same, makes closed contour Finds shortest paths between neighbor surfaceLine and build offset contour on surface for MR.cutMesh input.
|
| |
| static unsafe MR.Std.Vector_MROneMeshContour | convertMeshTriPointsSurfaceOffsetToMeshContours (MR.Const_Mesh mesh, MR.Std.Const_Vector_MRMeshTriPoint surfaceLine, MR.Std.Const_Function_FloatFuncFromInt offsetAtPoint, MR.Const_SearchPathSettings? searchSettings=null) |
| | Makes continuous contour by iso-line from mesh tri points, if first and last meshTriPoint is the same, makes closed contour Finds shortest paths between neighbor surfaceLine and build offset contour on surface for MR.cutMesh input.
|
| |
|
static unsafe MR.Std.Vector_MRFaceBitSet | separateClosedContour (MR.Const_Mesh mesh, MR.Std.Const_Vector_MRVector3f contour, MR.Std.Const_Function_VoidFuncFromConstMREdgePointRef? cb=null) |
| | Generated from function MR.separateClosedContour. Parameter cb defaults to {}.
|
| |
|
static unsafe void | stitchContours (MR.MeshTopology topology, MR.Std.Const_Vector_MREdgeId c0, MR.Std.Const_Vector_MREdgeId c1) |
| | given two contours: 1) of equal size; 2) all edges of c0 have no left faces; 3) all edges of c1 have no right faces; merge the surface along corresponding edges of two contours, and deletes all vertices and edges from c1 Generated from function MR.stitchContours.
|
| |
|
static unsafe MR.Std.Vector_MREdgeId | cutAlongEdgeLoop (MR.MeshTopology topology, MR.Std.Const_Vector_MREdgeId c0) |
| | given a closed loop of edges, splits the surface along that loop so that after return: 1) returned loop has the same size as input, with corresponding edges in same indexed elements of both; 2) all edges of c0 have no left faces; 3) all returned edges have no right faces; Generated from function MR.cutAlongEdgeLoop.
|
| |
|
static unsafe MR.Std.Vector_MREdgeId | cutAlongEdgeLoop (MR.Mesh mesh, MR.Std.Const_Vector_MREdgeId c0) |
| | given a closed loop of edges, splits the surface along that loop so that after return: 1) returned loop has the same size as input, with corresponding edges in same indexed elements of both; 2) all edges of c0 have no left faces; 3) all returned edges have no right faces; 4) vertices of the given mesh are updated Generated from function MR.cutAlongEdgeLoop.
|
| |
|
static unsafe MR.Mesh | makeConvexHull (MR.Const_VertCoords points, MR.Const_VertBitSet validPoints) |
| | Generated from function MR.makeConvexHull.
|
| |
|
static unsafe MR.Mesh | makeConvexHull (MR.Const_Mesh in_) |
| | Generated from function MR.makeConvexHull.
|
| |
|
static unsafe MR.Mesh | makeConvexHull (MR.Const_PointCloud in_) |
| | Generated from function MR.makeConvexHull.
|
| |
|
static unsafe MR.Std.Vector_MRVector2f | makeConvexHull (MR.Std._ByValue_Vector_MRVector2f points) |
| | Generated from function MR.makeConvexHull.
|
| |
|
static unsafe MR.MeshTopology | makeCubeTopology () |
| | creates cube's topology with 8 vertices, 12 triangular faces, 18 undirected edges. The order of vertices: 0_v: x=min, y=min, z=min 1_v: x=min, y=max, z=min 2_v: x=max, y=max, z=min 3_v: x=max, y=min, z=min 4_v: x=min, y=min, z=max 5_v: x=min, y=max, z=max 6_v: x=max, y=max, z=max 7_v: x=max, y=min, z=max Generated from function MR.makeCubeTopology.
|
| |
|
static unsafe MR.Mesh | makeCube (MR.Vector3f? size=null, MR.Vector3f? base_=null) |
| | creates box mesh with given min-corner (base) and given size in every dimension; with default parameters, creates unit cube mesh with the centroid in (0,0,0) Generated from function MR.makeCube. Parameter size defaults to Vector3f.diagonal(1.0f). Parameter base_ defaults to Vector3f.diagonal(-0.5f).
|
| |
|
static unsafe MR.Mesh | makeParallelepiped (MR.Vector3f? side, in MR.Vector3f base_) |
| | creates parallelepiped mesh with given min-corner base and given directional vectors size Generated from function MR.makeParallelepiped.
|
| |
|
static unsafe MR.Mesh | makeBoxMesh (in MR.Box3f box) |
| | creates mesh visualizing a box Generated from function MR.makeBoxMesh.
|
| |
|
static unsafe MR.Mesh | makeCylinder (float? radius=null, float? length=null, int? resolution=null) |
| | Generated from function MR.makeCylinder. Parameter radius defaults to 0.100000001f. Parameter length defaults to 1.0f. Parameter resolution defaults to 16.
|
| |
|
static unsafe MR.Mesh | makeOpenCylinder (float? radius=null, float? z1=null, float? z2=null, int? numCircleSegments=null) |
| | Generated from function MR.makeOpenCylinder. Parameter radius defaults to 1. Parameter z1 defaults to -1. Parameter z2 defaults to 1. Parameter numCircleSegments defaults to 16.
|
| |
|
static unsafe MR.Mesh | makeOpenCone (float? radius=null, float? zApex=null, float? zBase=null, int? numCircleSegments=null) |
| | Generated from function MR.makeOpenCone. Parameter radius defaults to 1. Parameter zApex defaults to 0. Parameter zBase defaults to 1. Parameter numCircleSegments defaults to 16.
|
| |
|
static unsafe MR.Mesh | makeCylinderAdvanced (float? radius0=null, float? radius1=null, float? start_angle=null, float? arc_size=null, float? length=null, int? resolution=null) |
| | Generated from function MR.makeCylinderAdvanced. Parameter radius0 defaults to 0.100000001f. Parameter radius1 defaults to 0.100000001f. Parameter start_angle defaults to 0.0f. Parameter arc_size defaults to 2.0f*PI_F. Parameter length defaults to 1.0f. Parameter resolution defaults to 16.
|
| |
|
static unsafe MR.Mesh | makeCone (float? radius0=null, float? length=null, int? resolution=null) |
| | Generated from function MR.makeCone. Parameter radius0 defaults to 0.100000001f. Parameter length defaults to 1.0f. Parameter resolution defaults to 32.
|
| |
|
static unsafe void | calcDipoles (MR.Dipoles dipoles, MR.Const_AABBTree tree, MR.Const_Mesh mesh) |
| | calculates dipoles for given mesh and AABB-tree Generated from function MR.calcDipoles.
|
| |
|
static unsafe MR.Dipoles | calcDipoles (MR.Const_AABBTree tree, MR.Const_Mesh mesh) |
| | Generated from function MR.calcDipoles.
|
| |
| static unsafe float | calcFastWindingNumber (MR.Const_Dipoles dipoles, MR.Const_AABBTree tree, MR.Const_Mesh mesh, in MR.Vector3f q, float beta, MR.FaceId skipFace) |
| | compute approximate winding number at
|
| |
|
static unsafe MR.VertId | findDirMax (in MR.Vector3f dir, MR.Const_Mesh m, MR.UseAABBTree? u=null) |
| | finds the vertex in the mesh part having the largest projection on given direction, optionally uses aabb-tree inside for faster computation Generated from function MR.findDirMax. Parameter u defaults to UseAABBTree.Yes.
|
| |
|
static unsafe MR.VertId | findDirMax (in MR.Vector3f dir, MR.Const_MeshPart mp, MR.UseAABBTree? u=null) |
| | finds the vertex in the mesh part having the largest projection on given direction, optionally uses aabb-tree inside for faster computation Generated from function MR.findDirMax. Parameter u defaults to UseAABBTree.Yes.
|
| |
|
static unsafe MR.VertId | findDirMax (in MR.Vector3f dir, MR.Const_MeshVertPart mp, MR.UseAABBTree? u=null) |
| | finds the vertex in the mesh part having the largest projection on given direction, optionally uses aabb-points-tree inside for faster computation Generated from function MR.findDirMax. Parameter u defaults to UseAABBTree.Yes.
|
| |
|
static unsafe MR.VertId | findDirMax (in MR.Vector3f dir, MR.Const_Polyline3 polyline, MR.UseAABBTree? u=null) |
| | finds the vertex in the polyline having the largest projection on given direction, optionally uses aabb-tree inside for faster computation Generated from function MR.findDirMax. Parameter u defaults to UseAABBTree.Yes.
|
| |
|
static unsafe MR.VertId | findDirMax (in MR.Vector2f dir, MR.Const_Polyline2 polyline, MR.UseAABBTree? u=null) |
| | finds the vertex in the polyline having the largest projection on given direction, optionally uses aabb-tree inside for faster computation Generated from function MR.findDirMax. Parameter u defaults to UseAABBTree.Yes.
|
| |
|
static unsafe MR.VertId | findDirMax (in MR.Vector3f dir, MR.Const_PointCloud cloud, MR.Const_VertBitSet? region=null, MR.UseAABBTree? u=null) |
| | finds the point in the cloud having the largest projection on given direction, optionally uses aabb-tree inside for faster computation Generated from function MR.findDirMax. Parameter u defaults to UseAABBTree.Yes.
|
| |
|
static unsafe MR.VertId | findDirMax (in MR.Vector3f dir, MR.Const_AABBTreePoints tree, MR.Const_VertBitSet? region=null) |
| | finds the point in the tree having the largest projection on given direction Generated from function MR.findDirMax.
|
| |
|
static unsafe MR.VertId | findDirMaxBruteForce (in MR.Vector3f dir, MR.Const_VertCoords points, MR.Const_VertBitSet? region=null) |
| | finds the point having the largest projection on given direction by traversing all region points Generated from function MR.findDirMaxBruteForce.
|
| |
|
static unsafe MR.VertId | findDirMaxBruteForce (in MR.Vector2f dir, MR.Const_VertCoords2 points, MR.Const_VertBitSet? region=null) |
| | finds the point having the largest projection on given direction by traversing all region points Generated from function MR.findDirMaxBruteForce.
|
| |
|
static unsafe MR.VertId | findDirMaxBruteForce (in MR.Vector3f dir, MR.Const_PointCloud cloud, MR.Const_VertBitSet? region=null) |
| | finds the point in the cloud having the largest projection on given direction by traversing all valid points Generated from function MR.findDirMaxBruteForce.
|
| |
|
static unsafe MR.VertId | findDirMaxBruteForce (in MR.Vector3f dir, MR.Const_Polyline3 polyline) |
| | finds the vertex in the polyline having the largest projection on given direction by traversing all valid vertices Generated from function MR.findDirMaxBruteForce.
|
| |
|
static unsafe MR.VertId | findDirMaxBruteForce (in MR.Vector2f dir, MR.Const_Polyline2 polyline) |
| | finds the vertex in the polyline having the largest projection on given direction by traversing all valid vertices Generated from function MR.findDirMaxBruteForce.
|
| |
|
static unsafe MR.VertId | findDirMaxBruteForce (in MR.Vector3f dir, MR.Const_MeshPart mp) |
| | finds the vertex in the mesh part having the largest projection on given direction by traversing all (region) faces Generated from function MR.findDirMaxBruteForce.
|
| |
|
static unsafe MR.VertId | findDirMaxBruteForce (in MR.Vector3f dir, MR.Const_MeshVertPart mp) |
| | finds the vertex in the mesh part having the largest projection on given direction by traversing all (region) vertices Generated from function MR.findDirMaxBruteForce.
|
| |
|
static unsafe MR.MinMaxArg_Float_MRVertId | findDirMinMaxBruteForce (in MR.Vector3f dir, MR.Const_VertCoords points, MR.Const_VertBitSet? region=null) |
| | finds the points having the smallest and the largest projections on given direction by traversing all region points Generated from function MR.findDirMinMaxBruteForce.
|
| |
|
static unsafe MR.MinMaxArg_Float_MRVertId | findDirMinMaxBruteForce (in MR.Vector2f dir, MR.Const_VertCoords2 points, MR.Const_VertBitSet? region=null) |
| | finds the points having the smallest and the largest projections on given direction by traversing all region points Generated from function MR.findDirMinMaxBruteForce.
|
| |
|
static unsafe MR.MinMaxArg_Float_MRVertId | findDirMinMaxBruteForce (in MR.Vector3f dir, MR.Const_PointCloud cloud, MR.Const_VertBitSet? region=null) |
| | finds the points in the cloud having the smallest and the largest projections on given direction by traversing all valid points Generated from function MR.findDirMinMaxBruteForce.
|
| |
|
static unsafe MR.MinMaxArg_Float_MRVertId | findDirMinMaxBruteForce (in MR.Vector3f dir, MR.Const_Polyline3 polyline) |
| | finds the vertex in the polyline having the smallest and the largest projections on given direction by traversing all valid vertices Generated from function MR.findDirMinMaxBruteForce.
|
| |
|
static unsafe MR.MinMaxArg_Float_MRVertId | findDirMinMaxBruteForce (in MR.Vector2f dir, MR.Const_Polyline2 polyline) |
| | finds the vertex in the polyline having the smallest and the largest projections on given direction by traversing all valid vertices Generated from function MR.findDirMinMaxBruteForce.
|
| |
|
static unsafe MR.MinMaxArg_Float_MRVertId | findDirMinMaxBruteForce (in MR.Vector3f dir, MR.Const_MeshPart mp) |
| | finds the vertices in the mesh part having the smallest and the largest projections on given direction by traversing all (region) faces Generated from function MR.findDirMinMaxBruteForce.
|
| |
|
static unsafe MR.MinMaxArg_Float_MRVertId | findDirMinMaxBruteForce (in MR.Vector3f dir, MR.Const_MeshVertPart mp) |
| | finds the vertices in the mesh part having the smallest and the largest projections on given direction by traversing all (region) vertices Generated from function MR.findDirMinMaxBruteForce.
|
| |
|
static unsafe MR.DistanceMap | combineXYderivativeMaps (MR.Std._ByValue_Pair_MRDistanceMap_MRDistanceMap XYderivativeMaps) |
| | fill another distance map pair with gradients across X and Y axes of the argument map Generated from function MR.combineXYderivativeMaps.
|
| |
|
static unsafe MR.DistanceMap | computeDistanceMap (MR.Const_MeshPart mp, MR.Const_MeshToDistanceMapParams params_, MR.Std._ByValue_Function_BoolFuncFromFloat? cb=null, MR.Std.Vector_MRMeshTriPoint? outSamples=null) |
| | computes distance (height) map for given projection parameters using float-precision for finding ray-mesh intersections, which is faster but less reliable Generated from function MR.computeDistanceMap. Parameter cb defaults to {}.
|
| |
|
static unsafe MR.DistanceMap | computeDistanceMapD (MR.Const_MeshPart mp, MR.Const_MeshToDistanceMapParams params_, MR.Std._ByValue_Function_BoolFuncFromFloat? cb=null, MR.Std.Vector_MRMeshTriPoint? outSamples=null) |
| | computes distance (height) map for given projection parameters using double-precision for finding ray-mesh intersections, which is slower but more reliable Generated from function MR.computeDistanceMapD. Parameter cb defaults to {}.
|
| |
| static unsafe MR.DistanceMap | distanceMapFromContours (MR.Const_Polyline2 contours, MR.Const_ContourToDistanceMapParams params_, MR.Const_ContoursDistanceMapOptions? options=null) |
| | Computes distance of 2d contours according ContourToDistanceMapParams.
|
| |
| static unsafe void | distanceMapFromContours (MR.DistanceMap distMap, MR.Const_Polyline2 polyline, MR.Const_ContourToDistanceMapParams params_, MR.Const_ContoursDistanceMapOptions? options=null) |
| | Computes distance of 2d contours according ContourToDistanceMapParams.
|
| |
| static unsafe MR.Std.Vector_MRVector3f | edgePointsFromContours (MR.Const_Polyline2 polyline, float pixelSize, float threshold) |
| | Makes distance map and filter out pixels with large (>threshold) distance between closest points on contour in neighbor pixels Converts such points back in 3d space and return.
|
| |
|
static unsafe MR.Polyline2 | distanceMapTo2DIsoPolyline (MR.Const_DistanceMap distMap, float isoValue) |
| | converts distance map to 2d iso-lines: iso-lines are created in space DistanceMap ( plane OXY with pixelSize = (1, 1) ) Generated from function MR.distanceMapTo2DIsoPolyline.
|
| |
|
static unsafe MR.Polyline2 | distanceMapTo2DIsoPolyline (MR.Const_DistanceMap distMap, MR.Const_ContourToDistanceMapParams params_, float isoValue) |
| | iso-lines are created in real space ( plane OXY with parameters according ContourToDistanceMapParams ) Generated from function MR.distanceMapTo2DIsoPolyline.
|
| |
| static unsafe MR.Std.Pair_MRPolyline2_MRAffineXf3f | distanceMapTo2DIsoPolyline (MR.Const_DistanceMap distMap, in MR.AffineXf3f xf, float isoValue, bool? useDepth=null) |
| | computes iso-lines of distance map corresponding to given iso-value; in second returns the transformation from 0XY plane to world;
|
| |
|
static unsafe MR.Polyline2 | distanceMapTo2DIsoPolyline (MR.Const_DistanceMap distMap, float pixelSize, float isoValue) |
| | Generated from function MR.distanceMapTo2DIsoPolyline.
|
| |
|
static unsafe MR.Polyline2 | polylineOffset (MR.Const_Polyline2 polyline, float pixelSize, float offset) |
| | constructs an offset contour for given polyline Generated from function MR.polylineOffset.
|
| |
| static unsafe MR.Polyline2 | contourUnion (MR.Const_Polyline2 contoursA, MR.Const_Polyline2 contoursB, MR.Const_ContourToDistanceMapParams params_, float? offsetInside=null) |
| | computes the union of the shapes bounded by input 2d contours
|
| |
| static unsafe MR.Polyline2 | contourIntersection (MR.Const_Polyline2 contoursA, MR.Const_Polyline2 contoursB, MR.Const_ContourToDistanceMapParams params_, float? offsetInside=null) |
| | computes the intersection of the shapes bounded by input 2d contours
|
| |
| static unsafe MR.Polyline2 | contourSubtract (MR.Const_Polyline2 contoursA, MR.Const_Polyline2 contoursB, MR.Const_ContourToDistanceMapParams params_, float? offsetInside=null) |
| | computes the difference between the shapes bounded by contoursA and the shapes bounded by contoursB
|
| |
|
static unsafe MR.Mesh | distanceMapToMesh (MR.Const_DistanceMap distMap, in MR.AffineXf3f toWorld, MR.Std._ByValue_Function_BoolFuncFromFloat? cb=null) |
| | converts distance map into mesh and applies a transformation to all points Generated from function MR.distanceMapToMesh. Parameter cb defaults to {}.
|
| |
| static unsafe MR.Image | convertDistanceMapToImage (MR.Const_DistanceMap distMap, float? threshold=null) |
| | export distance map to a grayscale image
|
| |
| static unsafe MR.DistanceMap | convertImageToDistanceMap (MR.Const_Image image, float? threshold=null, bool? invert=null) |
| | load distance map from a grayscale image:
|
| |
|
static unsafe MR.IteratorRange_MRUndirectedEdgeIterator | undirectedEdges (MR.Const_MeshTopology topology) |
| | Generated from function MR.undirectedEdges.
|
| |
|
static unsafe MR.Std.Function_FloatFuncFromMREdgeId | identityMetric () |
| | metric returning 1 for every edge Generated from function MR.identityMetric.
|
| |
|
static unsafe MR.Std.Function_FloatFuncFromMREdgeId | edgeLengthMetric (MR.Const_Mesh mesh) |
| | returns edge's length as a metric; this metric is symmetric: m(e) == m(e.sym()) Generated from function MR.edgeLengthMetric.
|
| |
|
static unsafe MR.Std.Function_FloatFuncFromMREdgeId | edgeLengthMetric (MR.Const_MeshTopology topology, MR.Const_VertCoords points) |
| | Generated from function MR.edgeLengthMetric.
|
| |
|
static unsafe MR.Std.Function_FloatFuncFromMREdgeId | discreteAbsMeanCurvatureMetric (MR.Const_Mesh mesh) |
| | returns edge's absolute discrete mean curvature as a metric; the metric is minimal in the planar regions of mesh; this metric is symmetric: m(e) == m(e.sym()) Generated from function MR.discreteAbsMeanCurvatureMetric.
|
| |
|
static unsafe MR.Std.Function_FloatFuncFromMREdgeId | discreteAbsMeanCurvatureMetric (MR.Const_MeshTopology topology, MR.Const_VertCoords points) |
| | Generated from function MR.discreteAbsMeanCurvatureMetric.
|
| |
|
static unsafe MR.Std.Function_FloatFuncFromMREdgeId | discreteMinusAbsMeanCurvatureMetric (MR.Const_Mesh mesh) |
| | returns minus of edge's absolute discrete mean curvature as a metric; the metric is minimal in the most curved regions of mesh; this metric is symmetric: m(e) == m(e.sym()) Generated from function MR.discreteMinusAbsMeanCurvatureMetric.
|
| |
|
static unsafe MR.Std.Function_FloatFuncFromMREdgeId | discreteMinusAbsMeanCurvatureMetric (MR.Const_MeshTopology topology, MR.Const_VertCoords points) |
| | Generated from function MR.discreteMinusAbsMeanCurvatureMetric.
|
| |
| static unsafe MR.Std.Function_FloatFuncFromMREdgeId | edgeCurvMetric (MR.Const_Mesh mesh, float? angleSinFactor=null, float? angleSinForBoundary=null) |
| | returns edge's metric that depends both on edge's length and on the angle between its left and right faces
|
| |
|
static unsafe MR.Std.Function_FloatFuncFromMREdgeId | edgeCurvMetric (MR.Const_MeshTopology topology, MR.Const_VertCoords points, float? angleSinFactor=null, float? angleSinForBoundary=null) |
| | Generated from function MR.edgeCurvMetric. Parameter angleSinFactor defaults to 2. Parameter angleSinForBoundary defaults to 0.
|
| |
|
static unsafe MR.Std.Function_FloatFuncFromMREdgeId | edgeTableSymMetric (MR.Const_MeshTopology topology, MR.Std.Const_Function_FloatFuncFromMREdgeId metric) |
| | pre-computes the metric for all mesh edges to quickly return it later for any edge; input metric must be symmetric: metric(e) == metric(e.sym()) Generated from function MR.edgeTableSymMetric.
|
| |
|
static unsafe bool | isEdgePath (MR.Const_MeshTopology topology, MR.Std.Const_Vector_MREdgeId edges) |
| | returns true if every next edge starts where previous edge ends Generated from function MR.isEdgePath.
|
| |
|
static unsafe bool | isEdgeLoop (MR.Const_MeshTopology topology, MR.Std.Const_Vector_MREdgeId edges) |
| | returns true if every next edge starts where previous edge ends, and start vertex coincides with finish vertex Generated from function MR.isEdgeLoop.
|
| |
|
static unsafe MR.Std.Vector_StdVectorMREdgeId | splitOnSimpleLoops (MR.Const_MeshTopology topology, MR.Misc._Moved< MR.Std.Vector_StdVectorMREdgeId > loops) |
| | given a number of edge loops, splits every loop that passes via a vertex more than once on smaller loops without self-intersections Generated from function MR.splitOnSimpleLoops.
|
| |
|
static unsafe void | reverse (MR.Std.Vector_MREdgeId path) |
| | reverses the order of edges and flips each edge orientation, thus making the opposite directed edge path Generated from function MR.reverse.
|
| |
|
static unsafe void | reverse (MR.Std.Vector_StdVectorMREdgeId paths) |
| | reverse every path in the vector Generated from function MR.reverse.
|
| |
|
static unsafe double | calcPathMetric (MR.Std.Const_Vector_MREdgeId path, MR.Std._ByValue_Function_FloatFuncFromMREdgeId metric) |
| | computes summed metric of all edges in the path Generated from function MR.calcPathMetric.
|
| |
|
static unsafe double | calcPathLength (MR.Std.Const_Vector_MREdgeId path, MR.Const_Mesh mesh) |
| | Generated from function MR.calcPathLength.
|
| |
|
static unsafe MR.Vector3d | calcOrientedArea (MR.Std.Const_Vector_MREdgeId loop, MR.Const_Mesh mesh) |
| | returns the vector with the magnitude equal to the area surrounded by the loop (if the loop is planar), and directed to see the loop in ccw order from the vector tip Generated from function MR.calcOrientedArea.
|
| |
|
static unsafe void | sortPathsByMetric (MR.Std.Vector_StdVectorMREdgeId paths, MR.Std._ByValue_Function_FloatFuncFromMREdgeId metric) |
| | sorts given paths in ascending order of their metrics Generated from function MR.sortPathsByMetric.
|
| |
|
static unsafe void | sortPathsByLength (MR.Std.Vector_StdVectorMREdgeId paths, MR.Const_Mesh mesh) |
| | Generated from function MR.sortPathsByLength.
|
| |
|
static unsafe void | addLeftBand (MR.Const_MeshTopology topology, MR.Std.Const_Vector_MREdgeId loop, MR.FaceBitSet addHere) |
| | adds all faces incident to loop vertices and located to the left from the loop to given FaceBitSet Generated from function MR.addLeftBand.
|
| |
|
static unsafe MR.Std.Vector_MREdgeId | buildShortestPath (MR.Const_Mesh mesh, MR.VertId start, MR.VertId finish, float? maxPathLen=null) |
| | finds the shortest path in euclidean metric from start to finish vertices using Dijkstra algorithm; if no path can be found then empty path is returned Generated from function MR.buildShortestPath. Parameter maxPathLen defaults to 3.40282347e38f.
|
| |
|
static unsafe MR.Std.Vector_MREdgeId | buildShortestPathBiDir (MR.Const_Mesh mesh, MR.VertId start, MR.VertId finish, float? maxPathLen=null) |
| | finds the shortest path in euclidean metric from start to finish vertices using bidirectional modification of Dijkstra algorithm, constructing the path simultaneously from both start and finish, which is faster for long paths; if no path can be found then empty path is returned Generated from function MR.buildShortestPathBiDir. Parameter maxPathLen defaults to 3.40282347e38f.
|
| |
|
static unsafe MR.Std.Vector_MREdgeId | buildShortestPathBiDir (MR.Const_Mesh mesh, MR.Const_MeshTriPoint start, MR.Const_MeshTriPoint finish, MR.Misc.InOut< MR.VertId >? outPathStart=null, MR.Misc.InOut< MR.VertId >? outPathFinish=null, float? maxPathLen=null) |
| | finds the path from a vertex in start-triangle to a vertex in finish-triangle, so that the length start-first_vertex-...-last_vertex-finish is shortest in euclidean metric; using bidirectional modification of Dijkstra algorithm, constructing the path simultaneously from both start and finish, which is faster for long paths; if no path can be found then empty path is returned Generated from function MR.buildShortestPathBiDir. Parameter maxPathLen defaults to 3.40282347e38f.
|
| |
|
static unsafe MR.Std.Vector_MREdgeId | buildShortestPathAStar (MR.Const_Mesh mesh, MR.VertId start, MR.VertId finish, float? maxPathLen=null) |
| | finds the shortest path in euclidean metric from start to finish vertices using A* modification of Dijkstra algorithm, which is faster for near linear path; if no path can be found then empty path is returned Generated from function MR.buildShortestPathAStar. Parameter maxPathLen defaults to 3.40282347e38f.
|
| |
|
static unsafe MR.Std.Vector_MREdgeId | buildShortestPathAStar (MR.Const_Mesh mesh, MR.Const_MeshTriPoint start, MR.Const_MeshTriPoint finish, MR.Misc.InOut< MR.VertId >? outPathStart=null, MR.Misc.InOut< MR.VertId >? outPathFinish=null, float? maxPathLen=null) |
| | finds the path from a vertex in start-triangle to a vertex in finish-triangle, so that the length start-first_vertex-...-last_vertex-finish is shortest in euclidean metric; using A* modification of Dijkstra algorithm, which is faster for near linear path; if no path can be found then empty path is returned Generated from function MR.buildShortestPathAStar. Parameter maxPathLen defaults to 3.40282347e38f.
|
| |
|
static unsafe MR.Std.Vector_MREdgeId | buildShortestPath (MR.Const_Mesh mesh, MR.VertId start, MR.Const_VertBitSet finish, float? maxPathLen=null) |
| | builds shortest path in euclidean metric from start to finish vertices; if no path can be found then empty path is returned Generated from function MR.buildShortestPath. Parameter maxPathLen defaults to 3.40282347e38f.
|
| |
|
static unsafe MR.Std.Vector_MREdgeId | buildSmallestMetricPath (MR.Const_MeshTopology topology, MR.Std.Const_Function_FloatFuncFromMREdgeId metric, MR.VertId start, MR.VertId finish, float? maxPathMetric=null) |
| | builds shortest path in given metric from start to finish vertices; if no path can be found then empty path is returned Generated from function MR.buildSmallestMetricPath. Parameter maxPathMetric defaults to 3.40282347e38f.
|
| |
|
static unsafe MR.Std.Vector_MREdgeId | buildSmallestMetricPathBiDir (MR.Const_MeshTopology topology, MR.Std.Const_Function_FloatFuncFromMREdgeId metric, MR.VertId start, MR.VertId finish, float? maxPathMetric=null) |
| | finds the smallest metric path from start vertex to finish vertex, using bidirectional modification of Dijkstra algorithm, constructing the path simultaneously from both start and finish, which is faster for long paths; if no path can be found then empty path is returned Generated from function MR.buildSmallestMetricPathBiDir. Parameter maxPathMetric defaults to 3.40282347e38f.
|
| |
|
static unsafe MR.Std.Vector_MREdgeId | buildSmallestMetricPathBiDir (MR.Const_MeshTopology topology, MR.Std.Const_Function_FloatFuncFromMREdgeId metric, MR.Const_TerminalVertex? starts, int numStarts, MR.Const_TerminalVertex? finishes, int numFinishes, MR.Misc.InOut< MR.VertId >? outPathStart=null, MR.Misc.InOut< MR.VertId >? outPathFinish=null, float? maxPathMetric=null) |
| | finds the smallest metric path from one of start vertices to one of the finish vertices, using bidirectional modification of Dijkstra algorithm, constructing the path simultaneously from both starts and finishes, which is faster for long paths; if no path can be found then empty path is returned Generated from function MR.buildSmallestMetricPathBiDir. Parameter maxPathMetric defaults to 3.40282347e38f.
|
| |
|
static unsafe MR.Std.Vector_MREdgeId | buildSmallestMetricPath (MR.Const_MeshTopology topology, MR.Std.Const_Function_FloatFuncFromMREdgeId metric, MR.VertId start, MR.Const_VertBitSet finish, float? maxPathMetric=null) |
| | builds shortest path in given metric from start to finish vertices; if no path can be found then empty path is returned Generated from function MR.buildSmallestMetricPath. Parameter maxPathMetric defaults to 3.40282347e38f.
|
| |
|
static unsafe MR.Std.Vector_MRVertId | getVertexOrdering (MR.Const_MeshTopology topology, MR._ByValue_VertBitSet region) |
| | returns all vertices from given region ordered in each connected component in breadth-first way Generated from function MR.getVertexOrdering.
|
| |
|
static unsafe MR.Std.Vector_StdVectorMREdgeId | extractClosedLoops (MR.Const_MeshTopology topology, MR.EdgeBitSet edges) |
| | finds all closed loops from given edges and removes them from edges Generated from function MR.extractClosedLoops.
|
| |
|
static unsafe MR.Std.Vector_StdVectorMREdgeId | extractClosedLoops (MR.Const_MeshTopology topology, MR.Std.Const_Vector_MREdgeId inEdges, MR.EdgeBitSet? outNotLoopEdges=null) |
| | Generated from function MR.extractClosedLoops.
|
| |
|
static unsafe MR.Std.Vector_MREdgeId | extractLongestClosedLoop (MR.Const_Mesh mesh, MR.Std.Const_Vector_MREdgeId inEdges) |
| | Generated from function MR.extractLongestClosedLoop.
|
| |
|
static unsafe bool | dilateRegionByMetric (MR.Const_MeshTopology topology, MR.Std.Const_Function_FloatFuncFromMREdgeId metric, MR.FaceBitSet region, float dilation, MR.Std._ByValue_Function_BoolFuncFromFloat? callback=null) |
| | expands the region (of faces or vertices) on given metric value. returns false if callback also returns false Generated from function MR.dilateRegionByMetric. Parameter callback defaults to {}.
|
| |
|
static unsafe bool | dilateRegionByMetric (MR.Const_MeshTopology topology, MR.Std.Const_Function_FloatFuncFromMREdgeId metric, MR.VertBitSet region, float dilation, MR.Std._ByValue_Function_BoolFuncFromFloat? callback=null) |
| | Generated from function MR.dilateRegionByMetric. Parameter callback defaults to {}.
|
| |
|
static unsafe bool | dilateRegionByMetric (MR.Const_MeshTopology topology, MR.Std.Const_Function_FloatFuncFromMREdgeId metric, MR.UndirectedEdgeBitSet region, float dilation, MR.Std._ByValue_Function_BoolFuncFromFloat? callback=null) |
| | Generated from function MR.dilateRegionByMetric. Parameter callback defaults to {}.
|
| |
|
static unsafe bool | erodeRegionByMetric (MR.Const_MeshTopology topology, MR.Std.Const_Function_FloatFuncFromMREdgeId metric, MR.FaceBitSet region, float dilation, MR.Std._ByValue_Function_BoolFuncFromFloat? callback=null) |
| | shrinks the region (of faces or vertices) on given metric value. returns false if callback also returns false Generated from function MR.erodeRegionByMetric. Parameter callback defaults to {}.
|
| |
|
static unsafe bool | erodeRegionByMetric (MR.Const_MeshTopology topology, MR.Std.Const_Function_FloatFuncFromMREdgeId metric, MR.VertBitSet region, float dilation, MR.Std._ByValue_Function_BoolFuncFromFloat? callback=null) |
| | Generated from function MR.erodeRegionByMetric. Parameter callback defaults to {}.
|
| |
|
static unsafe bool | erodeRegionByMetric (MR.Const_MeshTopology topology, MR.Std.Const_Function_FloatFuncFromMREdgeId metric, MR.UndirectedEdgeBitSet region, float dilation, MR.Std._ByValue_Function_BoolFuncFromFloat? callback=null) |
| | Generated from function MR.erodeRegionByMetric. Parameter callback defaults to {}.
|
| |
|
static unsafe bool | dilateRegion (MR.Const_Mesh mesh, MR.FaceBitSet region, float dilation, MR.Std._ByValue_Function_BoolFuncFromFloat? callback=null) |
| | expands the region (of faces or vertices) on given value (in meters). returns false if callback also returns false Generated from function MR.dilateRegion. Parameter callback defaults to {}.
|
| |
|
static unsafe bool | dilateRegion (MR.Const_Mesh mesh, MR.VertBitSet region, float dilation, MR.Std._ByValue_Function_BoolFuncFromFloat? callback=null) |
| | Generated from function MR.dilateRegion. Parameter callback defaults to {}.
|
| |
|
static unsafe bool | dilateRegion (MR.Const_Mesh mesh, MR.UndirectedEdgeBitSet region, float dilation, MR.Std._ByValue_Function_BoolFuncFromFloat? callback=null) |
| | Generated from function MR.dilateRegion. Parameter callback defaults to {}.
|
| |
|
static unsafe bool | dilateRegion (MR.Const_MeshTopology topology, MR.Const_VertCoords points, MR.FaceBitSet region, float dilation, MR.Std._ByValue_Function_BoolFuncFromFloat? callback=null) |
| | Generated from function MR.dilateRegion. Parameter callback defaults to {}.
|
| |
|
static unsafe bool | dilateRegion (MR.Const_MeshTopology topology, MR.Const_VertCoords points, MR.VertBitSet region, float dilation, MR.Std._ByValue_Function_BoolFuncFromFloat? callback=null) |
| | Generated from function MR.dilateRegion. Parameter callback defaults to {}.
|
| |
|
static unsafe bool | dilateRegion (MR.Const_MeshTopology topology, MR.Const_VertCoords points, MR.UndirectedEdgeBitSet region, float dilation, MR.Std._ByValue_Function_BoolFuncFromFloat? callback=null) |
| | Generated from function MR.dilateRegion. Parameter callback defaults to {}.
|
| |
|
static unsafe bool | erodeRegion (MR.Const_Mesh mesh, MR.FaceBitSet region, float dilation, MR.Std._ByValue_Function_BoolFuncFromFloat? callback=null) |
| | shrinks the region (of faces or vertices) on given value (in meters). returns false if callback also returns false Generated from function MR.erodeRegion. Parameter callback defaults to {}.
|
| |
|
static unsafe bool | erodeRegion (MR.Const_Mesh mesh, MR.VertBitSet region, float dilation, MR.Std._ByValue_Function_BoolFuncFromFloat? callback=null) |
| | Generated from function MR.erodeRegion. Parameter callback defaults to {}.
|
| |
|
static unsafe bool | erodeRegion (MR.Const_Mesh mesh, MR.UndirectedEdgeBitSet region, float dilation, MR.Std._ByValue_Function_BoolFuncFromFloat? callback=null) |
| | Generated from function MR.erodeRegion. Parameter callback defaults to {}.
|
| |
|
static unsafe bool | erodeRegion (MR.Const_MeshTopology topology, MR.Const_VertCoords points, MR.FaceBitSet region, float dilation, MR.Std._ByValue_Function_BoolFuncFromFloat? callback=null) |
| | Generated from function MR.erodeRegion. Parameter callback defaults to {}.
|
| |
|
static unsafe bool | erodeRegion (MR.Const_MeshTopology topology, MR.Const_VertCoords points, MR.VertBitSet region, float dilation, MR.Std._ByValue_Function_BoolFuncFromFloat? callback=null) |
| | Generated from function MR.erodeRegion. Parameter callback defaults to {}.
|
| |
|
static unsafe bool | erodeRegion (MR.Const_MeshTopology topology, MR.Const_VertCoords points, MR.UndirectedEdgeBitSet region, float dilation, MR.Std._ByValue_Function_BoolFuncFromFloat? callback=null) |
| | Generated from function MR.erodeRegion. Parameter callback defaults to {}.
|
| |
|
static unsafe int | getPathPlaneIntersections (MR.Const_Mesh mesh, MR.Std.Const_Vector_MREdgeId path, MR.Const_Plane3f plane, MR.Std.Vector_MREdgePoint? outIntersections=null) |
| | finds all intersection points between given path and plane, adds them in outIntersections and returns their number Generated from function MR.getPathPlaneIntersections.
|
| |
|
static unsafe int | getContourPlaneIntersections (MR.Std.Const_Vector_MRVector3f path, MR.Const_Plane3f plane, MR.Std.Vector_MRVector3f? outIntersections=null) |
| | finds all intersection points between given contour and plane, adds them in outIntersections and returns their number Generated from function MR.getContourPlaneIntersections.
|
| |
|
static unsafe int | getPathEdgesInPlane (MR.Const_Mesh mesh, MR.Std.Const_Vector_MREdgeId path, MR.Const_Plane3f plane, float? tolerance=null, MR.Std.Vector_MREdgeId? outInPlaneEdges=null) |
| | finds all path edges located in given plane with given tolerance, adds them in outInPlaneEdges and returns their number Generated from function MR.getPathEdgesInPlane. Parameter tolerance defaults to 0.0f.
|
| |
|
static unsafe bool | same (MR.Const_MeshTopology topology, MR.Const_EdgePoint lhs, MR.Const_EdgePoint rhs) |
| | returns true if two edge-points are equal considering different representations Generated from function MR.same.
|
| |
|
static unsafe MR.Mesh | embedStructureToTerrain (MR.Const_Mesh terrain, MR.Const_Mesh structure, MR.Const_EmbeddedStructureParameters params_) |
| | Generated from function MR.embedStructureToTerrain.
|
| |
| static unsafe MR.VertScalars | computeSpaceDistances (MR.Const_Mesh mesh, MR.Const_PointOnFace start, float range) |
| | computes Euclidean 3D distances from given start point to all neighbor vertices within given
|
| |
| static unsafe MR.VertBitSet | findNeighborVerts (MR.Const_Mesh mesh, MR.Const_PointOnFace start, float rangeSq) |
| | calculates all neighbor vertices within a given
|
| |
|
static unsafe? byte | asString (MR.ColoringType ct) |
| | returns string representation of enum values Generated from function MR.asString.
|
| |
|
static unsafe void | expand (MR.Const_MeshTopology topology, MR.FaceBitSet region, int? hops=null) |
| | adds to the region all faces within given number of hops (stars) from the initial region boundary Generated from function MR.expand. Parameter hops defaults to 1.
|
| |
|
static unsafe MR.FaceBitSet | expand (MR.Const_MeshTopology topology, MR.FaceId f, int hops) |
| | returns the region of all faces within given number of hops (stars) from the initial face Generated from function MR.expand.
|
| |
|
static unsafe void | expand (MR.Const_MeshTopology topology, MR.VertBitSet region, int? hops=null) |
| | Generated from function MR.expand. Parameter hops defaults to 1.
|
| |
|
static unsafe MR.VertBitSet | expand (MR.Const_MeshTopology topology, MR.VertId v, int hops) |
| | returns the region of all vertices within given number of hops (stars) from the initial vertex Generated from function MR.expand.
|
| |
|
static unsafe void | shrink (MR.Const_MeshTopology topology, MR.FaceBitSet region, int? hops=null) |
| | removes from the region all faces within given number of hops (stars) from the initial region boundary Generated from function MR.shrink. Parameter hops defaults to 1.
|
| |
|
static unsafe void | shrink (MR.Const_MeshTopology topology, MR.VertBitSet region, int? hops=null) |
| | removes from the region all vertices within given number of hops (stars) from the initial region boundary Generated from function MR.shrink. Parameter hops defaults to 1.
|
| |
| static unsafe MR.FaceBitSet | expandFaces (MR.Const_MeshTopology topology, MR.Const_FaceBitSet region, MR.Const_UndirectedEdgeBitSet? stopEdges=null) |
| | returns given region with all faces sharing an edge with a region face;
|
| |
| static unsafe MR.FaceBitSet | shrinkFaces (MR.Const_MeshTopology topology, MR.Const_FaceBitSet region, MR.Const_UndirectedEdgeBitSet? stopEdges=null) |
| | returns given region without all faces sharing an edge with not-region face;
|
| |
|
static unsafe MR.FaceBitSet | getBoundaryFaces (MR.Const_MeshTopology topology, MR.Const_FaceBitSet region) |
| | returns faces from given region that have at least one neighbor face with shared edge not from the region Generated from function MR.getBoundaryFaces.
|
| |
|
static unsafe MR.Std.Vector_StdVectorMREdgePoint | extractIsolines (MR.Const_MeshTopology topology, MR.Std.Const_Function_FloatFuncFromMRVertId vertValues, MR.Const_FaceBitSet? region=null) |
| | extracts all iso-lines from given scalar field and iso-value=0 Generated from function MR.extractIsolines.
|
| |
|
static unsafe bool | hasAnyIsoline (MR.Const_MeshTopology topology, MR.Std.Const_Function_FloatFuncFromMRVertId vertValues, MR.Const_FaceBitSet? region=null) |
| | quickly returns true if extractIsolines produce not-empty set for the same arguments Generated from function MR.hasAnyIsoline.
|
| |
|
static unsafe MR.Std.Vector_StdVectorMREdgePoint | extractIsolines (MR.Const_MeshTopology topology, MR.Const_VertScalars vertValues, float isoValue, MR.Const_FaceBitSet? region=null) |
| | extracts all iso-lines from given scalar field and iso-value Generated from function MR.extractIsolines.
|
| |
|
static unsafe bool | hasAnyIsoline (MR.Const_MeshTopology topology, MR.Const_VertScalars vertValues, float isoValue, MR.Const_FaceBitSet? region=null) |
| | quickly returns true if extractIsolines produce not-empty set for the same arguments Generated from function MR.hasAnyIsoline.
|
| |
|
static unsafe MR.Std.Vector_StdVectorMREdgePoint | extractPlaneSections (MR.Const_MeshPart mp, MR.Const_Plane3f plane, MR.UseAABBTree? u=null) |
| | extracts all plane sections of given mesh Generated from function MR.extractPlaneSections. Parameter u defaults to UseAABBTree.Yes.
|
| |
|
static unsafe bool | hasAnyPlaneSection (MR.Const_MeshPart mp, MR.Const_Plane3f plane, MR.UseAABBTree? u=null) |
| | quickly returns true if extractPlaneSections produce not-empty set for the same arguments Generated from function MR.hasAnyPlaneSection. Parameter u defaults to UseAABBTree.Yes.
|
| |
|
static unsafe MR.Std.Vector_StdVectorMREdgePoint | extractXYPlaneSections (MR.Const_MeshPart mp, float zLevel, MR.UseAABBTree? u=null) |
| | extracts all sections of given mesh with the plane z=zLevel Generated from function MR.extractXYPlaneSections. Parameter u defaults to UseAABBTree.Yes.
|
| |
|
static unsafe bool | hasAnyXYPlaneSection (MR.Const_MeshPart mp, float zLevel, MR.UseAABBTree? u=null) |
| | quickly returns true if extractXYPlaneSections produce not-empty set for the same arguments Generated from function MR.hasAnyXYPlaneSection. Parameter u defaults to UseAABBTree.Yes.
|
| |
| static unsafe MR.Std.Vector_MRLineSegm3f | findTriangleSectionsByXYPlane (MR.Const_MeshPart mp, float zLevel, MR.Std.Vector_MRFaceId? faces=null, MR.UseAABBTree? u=null) |
| | finds all intersected triangles by the plane z=zLevel
|
| |
|
static unsafe MR.Std.Vector_MREdgePoint | trackSection (MR.Const_MeshPart mp, MR.Const_MeshTriPoint start, MR.MeshTriPoint end, in MR.Vector3f direction, float distance) |
| | track section of plane set by start point, direction and surface normal in start point in given direction while given distance or mesh boundary is not reached, or track looped negative distance means moving in opposite direction returns track on surface and end point (same as start if path has looped) Generated from function MR.trackSection.
|
| |
| static unsafe MR.Std.Vector_MREdgePoint | trackSection (MR.Const_MeshPart mp, MR.Const_MeshTriPoint start, MR.Const_MeshTriPoint end, in MR.Vector3f planePoint, bool ccw) |
| | track section of plane set by start point, end point and planePoint from start to end
|
| |
|
static unsafe bool | isConsistentlyOriented (MR.Const_MeshTopology topology, MR.Std.Const_Vector_MREdgePoint isoline) |
| | returns true if left(isoline[i].e) == right(isoline[i+1].e) and valid for all i; all above functions produce consistently oriented lines Generated from function MR.isConsistentlyOriented.
|
| |
|
static unsafe MR.FaceBitSet | getCrossedFaces (MR.Const_MeshTopology topology, MR.Std.Const_Vector_MREdgePoint isoline) |
| | for a consistently oriented isoline, returns all faces it goes inside Generated from function MR.getCrossedFaces.
|
| |
|
static unsafe MR.Std.Vector_MRVector2f | planeSectionToContour2f (MR.Const_Mesh mesh, MR.Std.Const_Vector_MREdgePoint section, in MR.AffineXf3f meshToPlane) |
| | converts PlaneSections in 2D contours by computing coordinate of each point, applying given xf to it, and retaining only x and y Generated from function MR.planeSectionToContour2f.
|
| |
|
static unsafe MR.Std.Vector_StdVectorMRVector2f | planeSectionsToContours2f (MR.Const_Mesh mesh, MR.Std.Const_Vector_StdVectorMREdgePoint sections, in MR.AffineXf3f meshToPlane) |
| | Generated from function MR.planeSectionsToContours2f.
|
| |
| static unsafe MR.Std.Optional_MRFaceScalars | calcFaceDistances (MR.Const_MeshTopology topology, MR.Std.Const_Function_FloatFuncFromMREdgeId metric, MR.Const_FaceBitSet starts, MR.Const_FaceDistancesSettings? settings=null) |
| | computes and returns the distance of traveling from one of start faces to all other reachable faces on the mesh; all unreachable faces will get FLT_MAX value;
|
| |
|
static unsafe MR.VisualObject | makeObjectFromEnum (MR.FeaturesObjectKind kind) |
| | Allocates an object of type kind, passing params... to its constructor. Generated from function MR.makeObjectFromEnum<>.
|
| |
|
static unsafe MR.VisualObject | makeObjectFromClassName (string className) |
| | Allocates an object of type kind, passing params... to its constructor. Generated from function MR.makeObjectFromClassName<>.
|
| |
|
static unsafe MR.Std.Optional_MRVector3f | getFeatureNormal (MR.FeatureObject? feature) |
| | Generated from function MR.getFeatureNormal.
|
| |
|
static unsafe MR.Std.Optional_MRVector3f | getFeatureDirection (MR.FeatureObject? feature) |
| | Generated from function MR.getFeatureDirection.
|
| |
|
static unsafe MR.Std.UnorderedSet_StdString | getFeaturesTypeWithNormals () |
| | Generated from function MR.getFeaturesTypeWithNormals.
|
| |
|
static unsafe MR.Std.UnorderedSet_StdString | getFeaturesTypeWithDirections () |
| | Generated from function MR.getFeaturesTypeWithDirections.
|
| |
|
static unsafe MR.AffineXf3f | refineFeatureObject (MR.Const_FeatureObject featObj, MR.Const_Mesh mesh, MR.Const_RefineParameters? params_=null) |
| | Recalculate the feature object's position so it would better fit with the given mesh Generated from function MR.refineFeatureObject. Parameter params_ defaults to {}.
|
| |
|
static unsafe MR.AffineXf3f | refineFeatureObject (MR.Const_FeatureObject featObj, MR.Const_PointCloud pointCloud, MR.Const_RefineParameters? params_=null) |
| | Recalculate the feature object's position so it would better fit with the given point cloud Generated from function MR.refineFeatureObject. Parameter params_ defaults to {}.
|
| |
|
static unsafe MR.FaceBitSet | fillContourLeft (MR.Const_MeshTopology topology, MR.Std.Const_Vector_MREdgeId contour) |
| | Generated from function MR.fillContourLeft.
|
| |
|
static unsafe MR.FaceBitSet | fillContourLeft (MR.Const_MeshTopology topology, MR.Std.Const_Vector_StdVectorMREdgeId contours) |
| | Generated from function MR.fillContourLeft.
|
| |
|
static unsafe MR.FaceBitSet | fillContourLeftByGraphCut (MR.Const_MeshTopology topology, MR.Std.Const_Vector_MREdgeId contour, MR.Std.Const_Function_FloatFuncFromMREdgeId metric, MR.Std.Const_Function_BoolFuncFromFloat? progress=null) |
| | Fills region located to the left from given contour, by minimizing the sum of metric over the boundary If the computations are terminated by progress, then returns the best approximation found by the moment of termination Generated from function MR.fillContourLeftByGraphCut. Parameter progress defaults to {}.
|
| |
|
static unsafe MR.FaceBitSet | fillContourLeftByGraphCut (MR.Const_MeshTopology topology, MR.Std.Const_Vector_StdVectorMREdgeId contours, MR.Std.Const_Function_FloatFuncFromMREdgeId metric, MR.Std.Const_Function_BoolFuncFromFloat? progress=null) |
| | Fills region located to the left from given contours, by minimizing the sum of metric over the boundary If the computations are terminated by progress, then returns the best approximation found by the moment of termination Generated from function MR.fillContourLeftByGraphCut. Parameter progress defaults to {}.
|
| |
|
static unsafe MR.FaceBitSet | segmentByGraphCut (MR.Const_MeshTopology topology, MR.Const_FaceBitSet source, MR.Const_FaceBitSet sink, MR.Std.Const_Function_FloatFuncFromMREdgeId metric, MR.Std.Const_Function_BoolFuncFromFloat? progress=null) |
| | Finds segment that divide mesh on source and sink (source included, sink excluded), by minimizing the sum of metric over the boundary If the computations are terminated by progress, then returns the best approximation found by the moment of termination Generated from function MR.segmentByGraphCut. Parameter progress defaults to {}.
|
| |
| static unsafe void | fillContours2D (MR.Mesh mesh, MR.Std.Const_Vector_MREdgeId holeRepresentativeEdges) |
| | fill holes with border in same plane (i.e. after cut by plane)
|
| |
|
static unsafe MR.AffineXf3f | getXfFromOxyPlane (MR.Std.Const_Vector_StdVectorMRVector3f contours) |
| | computes the transformation that maps O into center mass of contours' points OXY into best plane containing the points Generated from function MR.getXfFromOxyPlane.
|
| |
|
static unsafe MR.AffineXf3f | getXfFromOxyPlane (MR.Const_Mesh mesh, MR.Std.Const_Vector_StdVectorMREdgeId paths) |
| | Generated from function MR.getXfFromOxyPlane.
|
| |
|
static unsafe void | fillPlanarHole (MR.ObjectMeshData data, MR.Std.Vector_StdVectorMREdgeId holeContours) |
| | given an ObjectMeshData and the contours of a planar hole in it, fills the hole using fillContours2D function and updates all per-element attributes; if some contours were not closed on input, then it closes them by adding a bridge edge in each Generated from function MR.fillPlanarHole.
|
| |
| static unsafe MR.FaceBitSet | fillHoleNicely (MR.Mesh mesh, MR.EdgeId holeEdge, MR.Const_FillHoleNicelySettings settings) |
| | fills a hole in mesh specified by one of its edge, optionally subdivides new patch on smaller triangles, optionally make smooth connection with existing triangles outside the hole
|
| |
| static unsafe void | filterCreaseEdges (MR.Const_Mesh mesh, MR.UndirectedEdgeBitSet creaseEdges, float critLength, bool? filterComponents=null, bool? filterBranches=null) |
| | filters given edges using the following criteria: if
|
| |
|
static unsafe MR.Std.Vector_MRVector3f | makeFreeFormOriginGrid (in MR.Box3f box, in MR.Vector3i resolution) |
| | Returns positions of grid points in given box with given resolution Generated from function MR.makeFreeFormOriginGrid.
|
| |
|
static unsafe MR.Std.Vector_MRVector3f | findBestFreeformDeformation (in MR.Box3f box, MR.Std.Const_Vector_MRVector3f source, MR.Std.Const_Vector_MRVector3f target, MR.Vector3i? resolution=null, MR.AffineXf3f? samplesToBox=null) |
| | Generated from function MR.findBestFreeformDeformation. Parameter resolution defaults to Vector3i.diagonal(2).
|
| |
| static unsafe bool | reducePathViaVertex (MR.Const_Mesh mesh, MR.Const_MeshTriPoint start, MR.VertId v, MR.Const_MeshTriPoint end, MR.Std.Vector_MREdgePoint outPath, MR.Std.Vector_MRVector2f tmp, MR.Std.Vector_MREdgePoint cachePath) |
| | given path s-v-e, tries to decrease its length by moving away from v
|
| |
|
static unsafe int | reducePath (MR.Const_Mesh mesh, MR.Const_MeshTriPoint start, MR.Std.Vector_MREdgePoint path, MR.Const_MeshTriPoint end, int? maxIter=null) |
| | converts any input surface path into geodesic path (so reduces its length): start-path-end; returns actual number of iterations performed Generated from function MR.reducePath. Parameter maxIter defaults to 5.
|
| |
|
static unsafe MR.Std.Optional_MRVertBitSet | verticesGridSampling (MR.Const_MeshPart mp, float voxelSize, MR.Std.Const_Function_BoolFuncFromFloat? cb=null) |
| | performs sampling of mesh vertices; subdivides mesh bounding box on voxels of approximately given size and returns at most one vertex per voxel; if voxelSize<=0 then returns all region vertices as samples; returns std.nullopt if it was terminated by the callback Generated from function MR.verticesGridSampling. Parameter cb defaults to {}.
|
| |
|
static unsafe MR.Std.Optional_MRVertBitSet | pointGridSampling (MR.Const_PointCloudPart pcp, float voxelSize, MR.Std.Const_Function_BoolFuncFromFloat? cb=null) |
| | performs sampling of cloud points; subdivides point cloud bounding box on voxels of approximately given size and returns at most one point per voxel; if voxelSize<=0 then returns all valid points as samples; returns std.nullopt if it was terminated by the callback Generated from function MR.pointGridSampling. Parameter cb defaults to {}.
|
| |
|
static unsafe MR.Std.Optional_StdVectorMRObjVertId | multiModelGridSampling (MR.Const_Vector_MRModelPointsData_MRObjId models, float voxelSize, MR.Std.Const_Function_BoolFuncFromFloat? cb=null) |
| | performs sampling of several models respecting their world transformations subdivides models bounding box on voxels of approximately given size and returns at most one point per voxel; if voxelSize<=0 then returns all points from all models as samples; returns std.nullopt if it was terminated by the callback Generated from function MR.multiModelGridSampling. Parameter cb defaults to {}.
|
| |
|
static unsafe ulong | heapBytes (MR.Std.Const_Vector_MRColor vec) |
| | returns the amount of memory given vector occupies on heap Generated from function MR.heapBytes<MR.Color>.
|
| |
|
static unsafe ulong | heapBytes (MR.Std.Const_Vector_StdSharedPtrMRObject vec) |
| | returns the amount of memory given vector occupies on heap Generated from function MR.heapBytes<std.shared_ptr<MR.Object>>.
|
| |
|
static unsafe ulong | heapBytes (MR.Std.Const_Vector_Float vec) |
| | returns the amount of memory given vector occupies on heap Generated from function MR.heapBytes<float>.
|
| |
|
static unsafe ulong | heapBytes (MR.Std.Const_Vector_MRUint64T vec) |
| | returns the amount of memory given vector occupies on heap Generated from function MR.heapBytes<MR_uint64_t>.
|
| |
|
static unsafe ulong | heapBytes (MR.Const_Vector_MRMeshTexture_MRTextureId vec) |
| | Generated from function MR.heapBytes<MR.MeshTexture, MR.TextureId>.
|
| |
|
static unsafe ulong | heapBytes (MR.Const_Mesh ptr) |
| | returns the amount of memory this smart pointer and its pointed object own together on heap Generated from function MR.heapBytes<MR.Mesh>.
|
| |
|
static unsafe ulong | heapBytes (MR.Const_Object ptr) |
| | returns the amount of memory this smart pointer and its pointed object own together on heap Generated from function MR.heapBytes<MR.Object>.
|
| |
|
static unsafe ulong | heapBytes (MR.Const_PointCloud ptr) |
| | returns the amount of memory this smart pointer and its pointed object own together on heap Generated from function MR.heapBytes<MR.PointCloud>.
|
| |
|
static unsafe ulong | heapBytes (MR.Const_Polyline3 ptr) |
| | returns the amount of memory this smart pointer and its pointed object own together on heap Generated from function MR.heapBytes<MR.Polyline3>.
|
| |
| static unsafe MR.Std.Pair_Bool_Int | filterHistoryActionsVector (MR.Std.Vector_StdSharedPtrMRHistoryAction historyVector, MR.Std._ByValue_Function_BoolFuncFromConstStdSharedPtrMRHistoryActionRef filteringCondition, ulong? firstRedoIndex=null, bool? deepFiltering=null) |
| | Remove actions from history actions vector that match the condition.
|
| |
|
static unsafe ulong | getNumSamples (MR.Const_IPointPairs pairs) |
| | returns the number of samples able to form pairs Generated from function MR.getNumSamples.
|
| |
|
static unsafe ulong | getNumActivePairs (MR.Const_IPointPairs pairs) |
| | computes the number of active pairs Generated from function MR.getNumActivePairs.
|
| |
|
static unsafe MR.NumSum | getSumSqDistToPoint (MR.Const_IPointPairs pairs, double? inaccuracy=null) |
| | computes the number of active pairs and the sum of squared distances between points or the difference between the squared distances between points and inaccuracy Generated from function MR.getSumSqDistToPoint.
|
| |
|
static unsafe MR.NumSum | getSumSqDistToPlane (MR.Const_IPointPairs pairs, double? inaccuracy=null) |
| | computes the number of active pairs and the sum of squared deviation from points to target planes or the difference between the squared distances between points to target planes and inaccuracy Generated from function MR.getSumSqDistToPlane.
|
| |
|
static unsafe float | getMeanSqDistToPoint (MR.Const_IPointPairs pairs) |
| | computes root-mean-square deviation between points Generated from function MR.getMeanSqDistToPoint.
|
| |
|
static unsafe float | getMeanSqDistToPlane (MR.Const_IPointPairs pairs) |
| | computes root-mean-square deviation from points to target planes Generated from function MR.getMeanSqDistToPlane.
|
| |
|
static unsafe MR.Std.String | getICPStatusInfo (int iterations, MR.ICPExitType exitType) |
| | returns status info string Generated from function MR.getICPStatusInfo.
|
| |
|
static unsafe MR.AffineXf3d | getAligningXf (MR.Const_PointToPlaneAligningTransform p2pl, MR.ICPMode mode, float angleLimit, float scaleLimit, in MR.Vector3f fixedRotationAxis) |
| | given prepared (p2pl) object, finds the best transformation from it of given type with given limitations on rotation angle and global scale Generated from function MR.getAligningXf.
|
| |
|
static unsafe ulong | deactivateFarPairs (MR.IPointPairs pairs, float maxDistSq) |
| | reset active bit if pair distance is further than maxDistSq Generated from function MR.deactivateFarPairs.
|
| |
|
static unsafe void | updatePointPairs (MR.PointPairs pairs, MR.Const_MeshOrPointsXf src, MR.Const_MeshOrPointsXf tgt, float cosThreshold, float distThresholdSq, bool mutualClosest) |
| | in each pair updates the target data and performs basic filtering (activation) Generated from function MR.updatePointPairs.
|
| |
| static unsafe bool | improveSampling (MR.Const_PointCloud cloud, MR.VertBitSet samples, MR.Const_ImproveSamplingSettings settings) |
| | Finds more representative sampling starting from a given one following k-means method;.
|
| |
| static unsafe MR.ShellVertexInfo | classifyShellVert (MR.Const_MeshPart mp, in MR.Vector3f shellPoint, MR.Const_FindInnerShellSettings? settings=null) |
| | Tests.
|
| |
| static unsafe MR.VertBitSet | findInnerShellVerts (MR.Const_MeshPart mp, MR.Const_Mesh shell, MR.Const_FindInnerShellSettings? settings=null) |
| | Finds inner-shell vertices on bidirectional.
|
| |
| static unsafe MR.FaceBitSet | findInnerShellFacesWithSplits (MR.Const_MeshPart mp, MR.Mesh shell, MR.Const_FindInnerShellSettings? settings=null) |
| | Finds inner-shell faces on bidirectional.
|
| |
| static unsafe MR.Std.Optional_MRVector2f | intersection (MR.Const_LineSegm2f segm1, MR.Const_LineSegm2f segm2) |
| | finds an intersection between a segm1 and a segm2
|
| |
| static unsafe MR.Std.Vector_StdVectorMRVarEdgeTri | orderIntersectionContours (MR.Const_MeshTopology topologyA, MR.Const_MeshTopology topologyB, MR.Std.Const_Vector_MRVarEdgeTri intersections) |
| | Combines unordered input intersections (and flips orientation of intersected edges from mesh B) into ordered oriented contours with the properties:
|
| |
| static unsafe MR.Std.Vector_StdVectorMRVarEdgeTri | orderSelfIntersectionContours (MR.Const_MeshTopology topology, MR.Std.Const_Vector_MREdgeTri intersections) |
| | Combines unordered input self-intersections (and flips orientation of some intersected edges) into ordered oriented contours with the properties:
|
| |
|
static unsafe bool | isClosed (MR.Std.Const_Vector_MRVarEdgeTri contour) |
| | returns true if contour is closed Generated from function MR.isClosed.
|
| |
|
static unsafe MR.Std.Vector_Int | detectLoneContours (MR.Std.Const_Vector_StdVectorMRVarEdgeTri contours, bool? ignoreOpen=null) |
| | Detects contours that fully lay inside one triangle if ignoreOpen then do not mark non-closed contours as lone, even if they really are returns they indices in contours Generated from function MR.detectLoneContours. Parameter ignoreOpen defaults to false.
|
| |
|
static unsafe void | removeLoneDegeneratedContours (MR.Const_MeshTopology edgesTopology, MR.Std.Vector_MROneMeshContour faceContours, MR.Std.Vector_MROneMeshContour edgeContours) |
| | Removes contours with zero area (do not remove if contour is handle on topology) edgesTopology - topology on which contours are represented with edges faceContours - lone contours represented by faces (all intersections are in same mesh A face) edgeContours - lone contours represented by edges (all intersections are in mesh B edges, edgesTopology: meshB.topology) Generated from function MR.removeLoneDegeneratedContours.
|
| |
|
static unsafe void | removeLoneContours (MR.Std.Vector_StdVectorMRVarEdgeTri contours, bool? ignoreOpen=null) |
| | Removes contours that fully lay inside one triangle from the contours if ignoreOpen then do not consider non-closed contours as lone, even if they really are Generated from function MR.removeLoneContours. Parameter ignoreOpen defaults to false.
|
| |
|
static unsafe MR.Std.Optional_MRIOFilter | findFilter (MR.Std.Const_Vector_MRIOFilter filters, string extension) |
| | find a corresponding filter for a given extension Generated from function MR.findFilter.
|
| |
|
static unsafe MR.Std.Vector_MRUint64T | splitByLines (byte? data, ulong size) |
| | Generated from function MR.splitByLines.
|
| |
|
static unsafe void | parseFirstNum (string str, ref int num) |
| | Generated from function MR.parseFirstNum.
|
| |
|
static unsafe void | parsePolygon (string str, MR.Misc.InOut< MR.VertId >? vertId, MR.Misc.InOut< int >? numPoints) |
| | Generated from function MR.parsePolygon.
|
| |
|
static MR.DepthFunction | bitand (MR.DepthFunction a, MR.DepthFunction b) |
| | Generated from function MR.operator&.
|
| |
|
static MR.DepthFunction | bitor (MR.DepthFunction a, MR.DepthFunction b) |
| | Generated from function MR.operator|.
|
| |
|
static MR.DepthFunction | compl (MR.DepthFunction a) |
| | Generated from function MR.operator~.
|
| |
|
static unsafe ref MR.DepthFunction | bitandAssign (ref MR.DepthFunction a, MR.DepthFunction b) |
| | Generated from function MR.operator&=.
|
| |
|
static unsafe ref MR.DepthFunction | bitorAssign (ref MR.DepthFunction a, MR.DepthFunction b) |
| | Generated from function MR.operator|=.
|
| |
|
static MR.DepthFunction | mul (MR.DepthFunction a, bool b) |
| | Generated from function MR.operator*.
|
| |
|
static MR.DepthFunction | mul (bool a, MR.DepthFunction b) |
| | Generated from function MR.operator*.
|
| |
|
static unsafe ref MR.DepthFunction | mulAssign (ref MR.DepthFunction a, bool b) |
| | Generated from function MR.operator*=.
|
| |
|
static MR.BasicUiRenderTask.InteractionMask | bitand (MR.BasicUiRenderTask.InteractionMask a, MR.BasicUiRenderTask.InteractionMask b) |
| | Generated from function MR.operator&.
|
| |
|
static MR.BasicUiRenderTask.InteractionMask | bitor (MR.BasicUiRenderTask.InteractionMask a, MR.BasicUiRenderTask.InteractionMask b) |
| | Generated from function MR.operator|.
|
| |
|
static MR.BasicUiRenderTask.InteractionMask | compl (MR.BasicUiRenderTask.InteractionMask a) |
| | Generated from function MR.operator~.
|
| |
|
static unsafe ref MR.BasicUiRenderTask.InteractionMask | bitandAssign (ref MR.BasicUiRenderTask.InteractionMask a, MR.BasicUiRenderTask.InteractionMask b) |
| | Generated from function MR.operator&=.
|
| |
|
static unsafe ref MR.BasicUiRenderTask.InteractionMask | bitorAssign (ref MR.BasicUiRenderTask.InteractionMask a, MR.BasicUiRenderTask.InteractionMask b) |
| | Generated from function MR.operator|=.
|
| |
|
static MR.BasicUiRenderTask.InteractionMask | mul (MR.BasicUiRenderTask.InteractionMask a, bool b) |
| | Generated from function MR.operator*.
|
| |
|
static MR.BasicUiRenderTask.InteractionMask | mul (bool a, MR.BasicUiRenderTask.InteractionMask b) |
| | Generated from function MR.operator*.
|
| |
|
static unsafe ref MR.BasicUiRenderTask.InteractionMask | mulAssign (ref MR.BasicUiRenderTask.InteractionMask a, bool b) |
| | Generated from function MR.operator*=.
|
| |
|
static bool | isNanFast (float f) |
| | quickly tests whether given float is not-a-number Generated from function MR.isNanFast.
|
| |
|
static unsafe MR.Std.Optional_MRVertBitSet | pointIterativeSampling (MR.Const_PointCloud cloud, int numSamples, MR.Std.Const_Function_BoolFuncFromFloat? cb=null) |
| | performs sampling of cloud points by iteratively removing one point with minimal metric (describing distance to the closest point and previous nearby removals), thus allowing stopping at any given number of samples; returns std.nullopt if it was terminated by the callback Generated from function MR.pointIterativeSampling. Parameter cb defaults to {}.
|
| |
|
static unsafe MR.ChunkIterator | begin (MR.Const_IteratorRange_MRChunkIterator range) |
| | Generated from function MR.begin.
|
| |
|
static unsafe MR.ChunkIterator | end (MR.Const_IteratorRange_MRChunkIterator range) |
| | Generated from function MR.end.
|
| |
|
static unsafe MR.UndirectedEdgeIterator | begin (MR.Const_IteratorRange_MRUndirectedEdgeIterator range) |
| | Generated from function MR.begin.
|
| |
|
static unsafe MR.UndirectedEdgeIterator | end (MR.Const_IteratorRange_MRUndirectedEdgeIterator range) |
| | Generated from function MR.end.
|
| |
|
static unsafe MR.RingIterator_MRNextEdgeSameOrigin | begin (MR.Const_IteratorRange_MRRingIteratorMRNextEdgeSameOrigin range) |
| | Generated from function MR.begin.
|
| |
|
static unsafe MR.RingIterator_MRNextEdgeSameOrigin | end (MR.Const_IteratorRange_MRRingIteratorMRNextEdgeSameOrigin range) |
| | Generated from function MR.end.
|
| |
|
static unsafe MR.RingIterator_MRNextEdgeSameLeft | begin (MR.Const_IteratorRange_MRRingIteratorMRNextEdgeSameLeft range) |
| | Generated from function MR.begin.
|
| |
|
static unsafe MR.RingIterator_MRNextEdgeSameLeft | end (MR.Const_IteratorRange_MRRingIteratorMRNextEdgeSameLeft range) |
| | Generated from function MR.end.
|
| |
|
static unsafe MR.PolylineUndirectedEdgeIterator | begin (MR.Const_IteratorRange_MRPolylineUndirectedEdgeIterator range) |
| | Generated from function MR.begin.
|
| |
|
static unsafe MR.PolylineUndirectedEdgeIterator | end (MR.Const_IteratorRange_MRPolylineUndirectedEdgeIterator range) |
| | Generated from function MR.end.
|
| |
|
static unsafe MR.Object | makeLevelOfDetails (MR.Misc._Moved< MR.Mesh > mesh, int maxDepth) |
| | divides given mesh into hierarchy of mesh objects: the deepest level of the hierarchy has all details from the original mesh; top levels have progressively less number of objects and less details in each; the number of faces in any object on any level is about the same. Generated from function MR.makeLevelOfDetails.
|
| |
|
static unsafe bool | doSegmentsIntersect (MR.Const_LineSegm2f x, MR.Const_LineSegm2f y, MR.Misc.InOut< float >? xPos=null, MR.Misc.InOut< float >? yPos=null) |
| | returns true if two 2D segments intersect, optionally outputs intersection point as a parameter on both segments Generated from function MR.doSegmentsIntersect<MR.Vector2f>.
|
| |
|
static unsafe bool | doSegmentsIntersect (MR.Const_LineSegm2d x, MR.Const_LineSegm2d y, MR.Misc.InOut< double >? xPos=null, MR.Misc.InOut< double >? yPos=null) |
| | returns true if two 2D segments intersect, optionally outputs intersection point as a parameter on both segments Generated from function MR.doSegmentsIntersect<MR.Vector2d>.
|
| |
|
static unsafe bool | doSegmentLineIntersect (MR.Const_LineSegm2f x, MR.Const_Line2f y, MR.Misc.InOut< float >? xPos=null, MR.Misc.InOut< float >? yPos=null) |
| | returns true if 2D line segment and 2D line intersect, optionally outputs intersection point as a parameter on both Generated from function MR.doSegmentLineIntersect<MR.Vector2f>.
|
| |
|
static unsafe bool | doSegmentLineIntersect (MR.Const_LineSegm2d x, MR.Const_Line2d y, MR.Misc.InOut< double >? xPos=null, MR.Misc.InOut< double >? yPos=null) |
| | returns true if 2D line segment and 2D line intersect, optionally outputs intersection point as a parameter on both Generated from function MR.doSegmentLineIntersect<MR.Vector2d>.
|
| |
|
static unsafe MR.Std.Optional_MRAllLocalTriangulations | uniteLocalTriangulations (MR.Std.Const_Vector_MRSomeLocalTriangulations in_, MR.Std.Const_Function_BoolFuncFromFloat? progress=null) |
| | converts a set of SomeLocalTriangulations containing local triangulations of all points arbitrary distributed among them into one AllLocalTriangulations with records for all points Generated from function MR.uniteLocalTriangulations. Parameter progress defaults to {}.
|
| |
|
static unsafe MR.Vector3f | computeNormal (MR.Const_AllLocalTriangulations triangs, MR.Const_VertCoords points, MR.VertId v) |
| | compute normal at point by averaging neighbor triangle normals weighted by triangle's angle at the point Generated from function MR.computeNormal.
|
| |
| static unsafe void | orientLocalTriangulations (MR.AllLocalTriangulations triangs, MR.Const_VertCoords coords, MR.Const_VertBitSet region, MR.Const_VertCoords targetDir) |
| | orient neighbors around each point in
|
| |
|
static unsafe void | orientLocalTriangulations (MR.AllLocalTriangulations triangs, MR.Const_VertCoords coords, MR.Const_VertBitSet region, MR.Std.Const_Function_MRVector3fFuncFromMRVertId targetDir) |
| | Generated from function MR.orientLocalTriangulations.
|
| |
| static unsafe bool | autoOrientLocalTriangulations (MR.Const_PointCloud pointCloud, MR.AllLocalTriangulations triangs, MR.Const_VertBitSet region, MR.Std._ByValue_Function_BoolFuncFromFloat? progress=null, MR.Triangulation? outRep3=null, MR.Triangulation? outRep2=null) |
| | orient neighbors around each point in
|
| |
|
static unsafe MR.Std.Array_Int_4 | computeTrianglesRepetitions (MR.Const_AllLocalTriangulations triangs) |
| | computes statistics about the number of triangle repetitions in local triangulations Generated from function MR.computeTrianglesRepetitions.
|
| |
|
static unsafe MR.Std.Vector_MRUnorientedTriangle | findRepeatedUnorientedTriangles (MR.Const_AllLocalTriangulations triangs, int repetitions) |
| | from local triangulations returns all unoriented triangles with given number of repetitions each in [1,3] Generated from function MR.findRepeatedUnorientedTriangles.
|
| |
|
static unsafe MR.Triangulation | findRepeatedOrientedTriangles (MR.Const_AllLocalTriangulations triangs, int repetitions) |
| | from local triangulations returns all oriented triangles with given number of repetitions each in [1,3] Generated from function MR.findRepeatedOrientedTriangles.
|
| |
|
static unsafe void | findRepeatedOrientedTriangles (MR.Const_AllLocalTriangulations triangs, MR.Triangulation? outRep3, MR.Triangulation? outRep2) |
| | from local triangulations returns all oriented triangles with 3 or 2 repetitions each; if both outRep3 and outRep2 are necessary then it is faster to call this function than above one Generated from function MR.findRepeatedOrientedTriangles.
|
| |
|
static unsafe MR.Mesh | makePlane () |
| | Generated from function MR.makePlane.
|
| |
|
static unsafe MR.AffineXf3d | makeRigidXf (MR.Const_MeshPart mp, in MR.AffineXf3d meshXf) |
| | given a mesh part and its arbitrary transformation, computes and returns the rigid transformation that best approximates meshXf Generated from function MR.makeRigidXf.
|
| |
|
static unsafe MR.AffineXf3f | makeRigidXf (MR.Const_MeshPart mp, in MR.AffineXf3f meshXf) |
| | Generated from function MR.makeRigidXf.
|
| |
|
static unsafe MR.Mesh | makeSphere (MR.Const_SphereParams params_) |
| | creates a mesh of sphere with irregular triangulation Generated from function MR.makeSphere.
|
| |
|
static unsafe MR.Mesh | makeUVSphere (float? radius=null, int? horisontalResolution=null, int? verticalResolution=null) |
| | creates a mesh of sphere with regular triangulation (parallels and meridians) Generated from function MR.makeUVSphere. Parameter radius defaults to 1.0. Parameter horisontalResolution defaults to 16. Parameter verticalResolution defaults to 16.
|
| |
|
static unsafe MR.EdgeId | mapEdge (MR.Const_WholeEdgeMap map, MR.EdgeId src) |
| | given input edge (src), converts its id using given map Generated from function MR.mapEdge.
|
| |
|
static unsafe MR.UndirectedEdgeId | mapEdge (MR.Const_WholeEdgeMap map, MR.UndirectedEdgeId src) |
| | given input edge (src), converts its id using given map Generated from function MR.mapEdge.
|
| |
|
static unsafe MR.EdgeId | mapEdge (MR.Phmap.Const_FlatHashMap_MRUndirectedEdgeId_MREdgeId map, MR.EdgeId src) |
| | given input edge (src), converts its id using given map Generated from function MR.mapEdge.
|
| |
|
static unsafe MR.UndirectedEdgeId | mapEdge (MR.Phmap.Const_FlatHashMap_MRUndirectedEdgeId_MREdgeId map, MR.UndirectedEdgeId src) |
| | given input edge (src), converts its id using given map Generated from function MR.mapEdge.
|
| |
|
static unsafe MR.EdgeId | mapEdge (MR.Const_MapOrHashMap_MRUndirectedEdgeId_MREdgeId m, MR.EdgeId src) |
| | given input edge (src), converts its id using given map Generated from function MR.mapEdge.
|
| |
|
static unsafe MR.UndirectedEdgeId | mapEdge (MR.Const_MapOrHashMap_MRUndirectedEdgeId_MREdgeId m, MR.UndirectedEdgeId src) |
| | given input edge (src), converts its id using given map Generated from function MR.mapEdge.
|
| |
|
static unsafe MR.UndirectedEdgeId | mapEdge (MR.Const_UndirectedEdgeBMap map, MR.UndirectedEdgeId src) |
| | given input edge (src), converts its id using given map Generated from function MR.mapEdge.
|
| |
|
static unsafe MR.UndirectedEdgeBitSet | mapEdges (MR.Const_WholeEdgeMap map, MR.Const_UndirectedEdgeBitSet src) |
| | given input bit-set (src), converts each id corresponding to set bit using given map, and sets its bit in the resulting bit set Generated from function MR.mapEdges.
|
| |
|
static unsafe MR.UndirectedEdgeBitSet | mapEdges (MR.Phmap.Const_FlatHashMap_MRUndirectedEdgeId_MREdgeId map, MR.Const_UndirectedEdgeBitSet src) |
| | given input bit-set (src), converts each id corresponding to set bit using given map, and sets its bit in the resulting bit set Generated from function MR.mapEdges.
|
| |
|
static unsafe MR.UndirectedEdgeBitSet | mapEdges (MR.Const_UndirectedEdgeBMap map, MR.Const_UndirectedEdgeBitSet src) |
| | given input bit-set (src), converts each id corresponding to set bit using given map, and sets its bit in the resulting bit set Generated from function MR.mapEdges.
|
| |
|
static unsafe bool | isClosed (MR.Std.Const_Vector_MRVector3f c) |
| | Generated from function MR.isClosed.
|
| |
| static unsafe MR.MarkedContour3f | markedContour (MR.Std._ByValue_Vector_MRVector3f in_) |
| |
| static unsafe MR.MarkedContour3f | markedFirstLast (MR.Std._ByValue_Vector_MRVector3f in_) |
| |
| static unsafe MR.MarkedContour3f | resample (MR.Const_MarkedContour3f in_, float minStep, MR.Std.Vector_MRVector3f? normals=null) |
| | keeps all marked points from input contour and adds/removes other points to have them as many as possible, but at the distance along the input line not shorter than (minStep) from their neighbor points
|
| |
| static unsafe MR.MarkedContour3f | makeSpline (MR._ByValue_MarkedContour3f in_, float? markStability=null, MR.Std.Const_Vector_MRVector3f? normals=null) |
| |
| static unsafe MR.MarkedContour3f | makeSpline (MR._ByValue_MarkedContour3f in_, MR.Std.Const_Vector_MRVector3f normals, float? markStability=null) |
| |
| static unsafe MR.MarkedContour3f | makeSpline (MR.Std.Const_Vector_MRVector3f controlPoints, MR.Const_SplineSettings settings) |
| |
| static unsafe MR.BooleanResult | boolean (MR.Const_Mesh meshA, MR.Const_Mesh meshB, MR.BooleanOperation operation, MR.AffineXf3f? rigidB2A, MR.BooleanResultMapper? mapper=null, MR.Std._ByValue_Function_BoolFuncFromFloat? cb=null) |
| | Performs CSG operation on two meshes Makes new mesh - result of boolean operation on mesh A and mesh B
|
| |
|
static unsafe MR.BooleanResult | boolean (MR.Misc._Moved< MR.Mesh > meshA, MR.Misc._Moved< MR.Mesh > meshB, MR.BooleanOperation operation, MR.AffineXf3f? rigidB2A, MR.BooleanResultMapper? mapper=null, MR.Std._ByValue_Function_BoolFuncFromFloat? cb=null) |
| | Generated from function MR.boolean. Parameter cb defaults to {}.
|
| |
|
static unsafe MR.BooleanResult | boolean (MR.Const_Mesh meshA, MR.Const_Mesh meshB, MR.BooleanOperation operation, MR.Const_BooleanParameters? params_=null) |
| | Generated from function MR.boolean. Parameter params_ defaults to {}.
|
| |
|
static unsafe MR.BooleanResult | boolean (MR.Misc._Moved< MR.Mesh > meshA, MR.Misc._Moved< MR.Mesh > meshB, MR.BooleanOperation operation, MR.Const_BooleanParameters? params_=null) |
| | Generated from function MR.boolean. Parameter params_ defaults to {}.
|
| |
|
static unsafe MR.Mesh | selfBoolean (MR.Const_Mesh mesh) |
| | performs boolean operation on mesh with itself, cutting simple intersections contours and flipping their connectivity this function is experimental and likely to change signature and/or behavior in future Generated from function MR.selfBoolean.
|
| |
|
static unsafe MR.Std.Vector_StdVectorMRVector3f | findIntersectionContours (MR.Const_Mesh meshA, MR.Const_Mesh meshB, MR.AffineXf3f? rigidB2A=null) |
| | returns intersection contours of given meshes Generated from function MR.findIntersectionContours.
|
| |
| static unsafe MR.BooleanResultPoints | getBooleanPoints (MR.Const_Mesh meshA, MR.Const_Mesh meshB, MR.BooleanOperation operation, MR.AffineXf3f? rigidB2A=null) |
| | Returns the points of mesh boolean's result mesh Returns vertices and intersection points of mesh that is result of boolean operation of mesh A and mesh B. Can be used as fast alternative for cases where the mesh topology can be ignored (bounding box, convex hull, etc.)
|
| |
|
static unsafe void | convertIntFloatAllVerts (MR.Mesh mesh, MR.Const_CoordinateConverters conv) |
| | converts all vertices of the mesh first in integer-coordinates, and then back in float-coordinates; this is necessary to avoid small self-intersections near newly introduced vertices on cut-contours; this actually sligntly moves only small perentage of vertices near x=0 or y=0 or z=0 planes, where float-precision is higher than int-precision; newly introduced vertices on cut-contours are also converted, but we expected that they remain unchanged due to idempotent property of the conversion Generated from function MR.convertIntFloatAllVerts.
|
| |
| static unsafe void | straightenBoundary (MR.Mesh mesh, MR.EdgeId bd, float minNeiNormalsDot, float maxTriAspectRatio, MR.FaceBitSet? newFaces=null) |
| | adds triangles along the boundary to straighten it;
|
| |
| static unsafe MR.Std.Vector_MRFaceFace | findCollidingTriangles (MR.Const_MeshPart a, MR.Const_MeshPart b, MR.AffineXf3f? rigidB2A=null, bool? firstIntersectionOnly=null) |
| | finds all pairs of colliding triangles from two meshes or two mesh regions
|
| |
|
static unsafe MR.Std.Pair_MRFaceBitSet_MRFaceBitSet | findCollidingTriangleBitsets (MR.Const_MeshPart a, MR.Const_MeshPart b, MR.AffineXf3f? rigidB2A=null) |
| | the same as findCollidingTriangles, but returns one bite set per mesh with colliding triangles Generated from function MR.findCollidingTriangleBitsets.
|
| |
|
static unsafe bool | findSelfCollidingTriangles (MR.Const_MeshPart mp, MR.Std.Vector_MRFaceFace? outCollidingPairs, MR.Std._ByValue_Function_BoolFuncFromFloat? cb=null, MR.Const_Face2RegionMap? regionMap=null, bool? touchIsIntersection=null) |
| | finds all pairs (or the fact of any self-collision) of colliding triangles from one mesh or a region Generated from function MR.findSelfCollidingTriangles. Parameter cb defaults to {}. Parameter touchIsIntersection defaults to false.
|
| |
|
static unsafe MR.Std.Vector_MRFaceFace | findSelfCollidingTriangles (MR.Const_MeshPart mp, MR.Std._ByValue_Function_BoolFuncFromFloat? cb=null, MR.Const_Face2RegionMap? regionMap=null, bool? touchIsIntersection=null) |
| | finds all pairs of colliding triangles from one mesh or a region Generated from function MR.findSelfCollidingTriangles. Parameter cb defaults to {}. Parameter touchIsIntersection defaults to false.
|
| |
|
static unsafe MR.FaceBitSet | findSelfCollidingTrianglesBS (MR.Const_MeshPart mp, MR.Std._ByValue_Function_BoolFuncFromFloat? cb=null, MR.Const_Face2RegionMap? regionMap=null, bool? touchIsIntersection=null) |
| | the same findSelfCollidingTriangles but returns the union of all self-intersecting faces Generated from function MR.findSelfCollidingTrianglesBS. Parameter cb defaults to {}. Parameter touchIsIntersection defaults to false.
|
| |
| static unsafe bool | isInside (MR.Const_MeshPart a, MR.Const_MeshPart b, MR.AffineXf3f? rigidB2A=null) |
| | checks that arbitrary mesh part A is inside of closed mesh part B
|
| |
| static unsafe bool | isNonIntersectingInside (MR.Const_MeshPart a, MR.Const_MeshPart b, MR.AffineXf3f? rigidB2A=null) |
| | checks that arbitrary mesh part A is inside of closed mesh part B The version of isInside without collision check; it is user's responsibility to guarantee that the meshes don't collide
|
| |
| static unsafe bool | isNonIntersectingInside (MR.Const_Mesh a, MR.FaceId partFace, MR.Const_MeshPart b, MR.AffineXf3f? rigidB2A=null) |
| | checks that arbitrary mesh A part (whole part is represented by one face partFace) is inside of closed mesh part B The version of isInside without collision check; it is user's responsibility to guarantee that the meshes don't collide
|
| |
| static unsafe MR.Std.Vector_MRVarEdgeTri | findCollidingEdgeTrisPrecise (MR.Const_MeshPart a, MR.Const_MeshPart b, MR.Std._ByValue_Function_MRVector3iFuncFromConstMRVector3fRef conv, MR.AffineXf3f? rigidB2A=null, bool? anyIntersection=null) |
| | finds all pairs of colliding edges from one mesh and triangle from another mesh
|
| |
| static unsafe MR.Std.Vector_MREdgeTri | findSelfCollidingEdgeTrisPrecise (MR.Const_MeshPart mp, MR.Std._ByValue_Function_MRVector3iFuncFromConstMRVector3fRef conv, bool? anyIntersection=null, MR.AffineXf3f? rigidB2A=null, int? aVertSizes=null) |
| | finds all pairs of colliding edges and triangle within one mesh
|
| |
|
static unsafe MR.Std.Vector_MREdgeTri | findCollidingEdgeTrisPrecise (MR.Const_Mesh a, MR.Std.Const_Vector_MREdgeId edgesA, MR.Const_Mesh b, MR.Std.Const_Vector_MRFaceId facesB, MR.Std._ByValue_Function_MRVector3iFuncFromConstMRVector3fRef conv, MR.AffineXf3f? rigidB2A=null) |
| | finds all intersections between every given edge from A and given triangles from B Generated from function MR.findCollidingEdgeTrisPrecise.
|
| |
|
static unsafe MR.Std.Vector_MREdgeTri | findCollidingEdgeTrisPrecise (MR.Const_Mesh a, MR.Std.Const_Vector_MRFaceId facesA, MR.Const_Mesh b, MR.Std.Const_Vector_MREdgeId edgesB, MR.Std._ByValue_Function_MRVector3iFuncFromConstMRVector3fRef conv, MR.AffineXf3f? rigidB2A=null) |
| | finds all intersections between every given triangle from A and given edge from B Generated from function MR.findCollidingEdgeTrisPrecise.
|
| |
|
static unsafe MR.CoordinateConverters | getVectorConverters (MR.Const_MeshPart a) |
| | creates simple converters from Vector3f to Vector3i and back in mesh part area range Generated from function MR.getVectorConverters.
|
| |
| static unsafe MR.CoordinateConverters | getVectorConverters (MR.Const_MeshPart a, MR.Const_MeshPart b, MR.AffineXf3f? rigidB2A=null) |
| | creates simple converters from Vector3f to Vector3i and back in mesh parts area range
|
| |
| static unsafe MR.DecimateResult | decimateMesh (MR.Mesh mesh, MR.Const_DecimateSettings? settings=null) |
| | Performs mesh simplification in mesh region according to the settings.
|
| |
|
static unsafe MR.DecimateResult | decimateObjectMeshData (MR.ObjectMeshData data, MR.Const_DecimateSettings settings) |
| | Performs mesh simplification with per-element attributes according to given settings; \detail settings.region must be null, and real simplification region will be data face selection (or whole mesh if no face selection) Generated from function MR.decimateObjectMeshData.
|
| |
|
static unsafe MR.Std.Optional_MRObjectMeshData | makeDecimatedObjectMeshData (MR.Const_ObjectMesh obj, MR.Const_DecimateSettings settings, MR.DecimateResult? outRes=null) |
| | returns the data of decimated mesh given ObjectMesh (which remains unchanged) and decimation parameters Generated from function MR.makeDecimatedObjectMeshData.
|
| |
|
static unsafe MR.QuadraticForm3f | computeFormAtVertex (MR.Const_MeshPart mp, MR.VertId v, float stabilizer, bool angleWeigted, MR.Const_UndirectedEdgeBitSet? creases=null) |
| | Computes quadratic form at given vertex of the initial surface before decimation Generated from function MR.computeFormAtVertex.
|
| |
|
static unsafe MR.Vector_MRQuadraticForm3f_MRVertId | computeFormsAtVertices (MR.Const_MeshPart mp, float stabilizer, bool angleWeigted, MR.Const_UndirectedEdgeBitSet? creases=null) |
| | Computes quadratic forms at every vertex of mesh part before decimation Generated from function MR.computeFormsAtVertices.
|
| |
|
static unsafe MR.FaceBitSet | getSubdividePart (MR.Const_FaceBitSet valids, ulong subdivideParts, ulong myPart) |
| | returns given subdivision part of all valid faces; parallel threads shall be able to safely modify these bits because they do not share any block with other parts Generated from function MR.getSubdividePart.
|
| |
| static unsafe bool | resolveMeshDegenerations (MR.Mesh mesh, MR.Const_ResolveMeshDegenSettings? settings=null) |
| | Removes degenerate triangles in a mesh by calling decimateMesh function with appropriate settings.
|
| |
|
static unsafe bool | remesh (MR.Mesh mesh, MR.Const_RemeshSettings settings) |
| | Generated from function MR.remesh.
|
| |
|
static unsafe MR.Std.Function_BoolFuncFromMREdgeIdConstMRVector3fRef | meshPreCollapseVertAttribute (MR.Const_Mesh mesh, MR.Const_MeshAttributesToUpdate params_) |
| | Please use this callback when you decimate a mesh with associated data with each vertex recalculate texture coordinates and mesh vertex colors for vertices moved during decimation usage example MeshAttributesToUpdate meshParams; auto uvCoords = obj->getUVCoords(); auto colorMap = obj->getVertsColorMap(); if ( needUpdateUV ) meshParams.uvCoords = &uvCoords; if ( needUpdateColorMap ) meshParams.colorMap = &colorMap; auto preCollapse = meshPreCollapseVertAttribute( mesh, meshParams ); decimateMesh( mesh, DecimateSettings{ .preCollapse = preCollapse } ); Generated from function MR.meshPreCollapseVertAttribute.
|
| |
|
static unsafe void | deleteTargetFaces (MR.Mesh obj, in MR.Vector3f targetCenter) |
| | deletes object faces with normals pointed to the target geometry center Generated from function MR.deleteTargetFaces.
|
| |
|
static unsafe void | deleteTargetFaces (MR.Mesh obj, MR.Const_Mesh target) |
| | Generated from function MR.deleteTargetFaces.
|
| |
|
static unsafe bool | checkDeloneQuadrangle (in MR.Vector3d a, in MR.Vector3d b, in MR.Vector3d c, in MR.Vector3d d, double? maxAngleChange=null) |
| | given quadrangle ABCD, checks whether its edge AC satisfies Delone's condition; if dihedral angles 1) between triangles ABD and DBC and 2) between triangles ABC and ACD differ more than on maxAngleChange then also returns true to prevent flipping from 1) to 2) Generated from function MR.checkDeloneQuadrangle. Parameter maxAngleChange defaults to 1.7976931348623157e308.
|
| |
|
static unsafe bool | checkDeloneQuadrangle (in MR.Vector3f a, in MR.Vector3f b, in MR.Vector3f c, in MR.Vector3f d, float? maxAngleChange=null) |
| | converts arguments in double and calls above function Generated from function MR.checkDeloneQuadrangle. Parameter maxAngleChange defaults to 3.40282347e38f.
|
| |
|
static unsafe MR.FlipEdge | canFlipEdge (MR.Const_MeshTopology topology, MR.EdgeId edge, MR.Const_FaceBitSet? region=null, MR.Const_UndirectedEdgeBitSet? notFlippable=null, MR.Const_VertBitSet? vertRegion=null) |
| | consider topology and constraints to decide about flip possibility Generated from function MR.canFlipEdge.
|
| |
| static unsafe bool | checkDeloneQuadrangleInMesh (MR.Const_Mesh mesh, MR.EdgeId edge, MR.Const_DeloneSettings? settings=null, MR.Misc.InOut< float >? deviationSqAfterFlip=null) |
| | consider quadrangle formed by left and right triangles of given edge, and checks whether this edge satisfies Delone's condition in the quadrangle;
|
| |
|
static unsafe bool | checkDeloneQuadrangleInMesh (MR.Const_MeshTopology topology, MR.Const_VertCoords points, MR.EdgeId edge, MR.Const_DeloneSettings? settings=null, MR.Misc.InOut< float >? deviationSqAfterFlip=null) |
| | Generated from function MR.checkDeloneQuadrangleInMesh. Parameter settings defaults to {}.
|
| |
|
static unsafe bool | bestQuadrangleDiagonal (in MR.Vector3f a, in MR.Vector3f b, in MR.Vector3f c, in MR.Vector3f d) |
| | given quadrangle ABCD, selects how to best triangulate it: false = by introducing BD diagonal and splitting ABCD on triangles ABD and DBC, true = by introducing AC diagonal and splitting ABCD on triangles ABC and ACD Generated from function MR.bestQuadrangleDiagonal.
|
| |
|
static unsafe void | makeDeloneOriginRing (MR.Mesh mesh, MR.EdgeId e, MR.Const_DeloneSettings? settings=null) |
| | improves mesh triangulation in a ring of vertices with common origin and represented by edge e Generated from function MR.makeDeloneOriginRing. Parameter settings defaults to {}.
|
| |
|
static unsafe void | makeDeloneOriginRing (MR.MeshTopology topology, MR.Const_VertCoords points, MR.EdgeId e, MR.Const_DeloneSettings? settings=null) |
| | Generated from function MR.makeDeloneOriginRing. Parameter settings defaults to {}.
|
| |
| static unsafe int | makeDeloneEdgeFlips (MR.Mesh mesh, MR.Const_DeloneSettings? settings=null, int? numIters=null, MR.Std.Const_Function_BoolFuncFromFloat? progressCallback=null) |
| | improves mesh triangulation by performing flipping of edges to satisfy Delone local property, consider every edge at most numIters times, and allow surface deviation at most on given value during every individual flip,
|
| |
|
static unsafe int | makeDeloneEdgeFlips (MR.MeshTopology topology, MR.Const_VertCoords points, MR.Const_DeloneSettings? settings=null, int? numIters=null, MR.Std.Const_Function_BoolFuncFromFloat? progressCallback=null) |
| | Generated from function MR.makeDeloneEdgeFlips. Parameter settings defaults to {}. Parameter numIters defaults to 1. Parameter progressCallback defaults to {}.
|
| |
| static unsafe int | makeDeloneEdgeFlips (MR.EdgeLengthMesh mesh, MR.Const_IntrinsicDeloneSettings? settings=null, int? numIters=null, MR.Std.Const_Function_BoolFuncFromFloat? progressCallback=null) |
| | improves mesh triangulation by performing flipping of edges to satisfy Intrinsic Delaunay local property, consider every edge at most numIters times,
|
| |
|
static unsafe void | processCloseTriangles (MR.Const_MeshPart mp, in MR.Std.Array_MRVector3f_3 t, float rangeSq, MR.Std.Const_Function_MRProcessOneResultFuncFromConstMRVector3fRefMRFaceIdConstMRVector3fRefFloat call) |
| | invokes given callback for all triangles from given mesh part located not further than given squared distance from t-triangle Generated from function MR.processCloseTriangles.
|
| |
|
static unsafe MR.Std.Optional_Float | signedDistanceToMesh (MR.Const_MeshPart mp, in MR.Vector3f p, MR.Const_SignedDistanceToMeshOptions op) |
| | computes signed distance from point (p) to mesh part (mp) following options (op); returns std.nullopt if distance is smaller than op.minDist or larger than op.maxDist (except for op.signMode == HoleWindingRule) Generated from function MR.signedDistanceToMesh.
|
| |
|
static unsafe MR.FaceBitSet | findOuterLayer (MR.Const_Mesh mesh) |
| | given a double-layer mesh with one layer having normals outside and the other layer - inside, finds all faces of the outer layer; the algorithm first detects some seed faces of each layer by casting a ray from triangle's center in both directions along the normal; then remaining faces are redistributed toward the closest seed face Generated from function MR.findOuterLayer.
|
| |
| static unsafe void | makeDegenerateBandAroundRegion (MR.Mesh mesh, MR.Const_FaceBitSet region, MR.Const_MakeDegenerateBandAroundRegionParams? params_=null) |
| | Create a band of degenerate faces along the border of the specified region and the rest of the mesh.
|
| |
| static unsafe void | buildCylinderBetweenTwoHoles (MR.Mesh mesh, MR.EdgeId a, MR.EdgeId b, MR.Const_StitchHolesParams? params_=null) |
| | Stitches two holes in Mesh
Build cylindrical patch to fill space between two holes represented by one of their edges each,
default metric: ComplexStitchMetric.
|
| |
|
static unsafe bool | buildCylinderBetweenTwoHoles (MR.Mesh mesh, MR.Const_StitchHolesParams? params_=null) |
| | this version finds holes in the mesh by itself and returns false if they are not found Generated from function MR.buildCylinderBetweenTwoHoles. Parameter params_ defaults to {}.
|
| |
| static unsafe void | fillHole (MR.Mesh mesh, MR.EdgeId a, MR.Const_FillHoleParams? params_=null) |
| | Fills hole in mesh
Fills given hole represented by one of its edges (having no valid left face),
uses fillHoleTrivially if cannot fill hole without multiple edges,
default metric: CircumscribedFillMetric.
|
| |
| static unsafe void | fillHoles (MR.Mesh mesh, MR.Std.Const_Vector_MREdgeId as_, MR.Const_FillHoleParams? params_=null) |
| | fill all holes given by their representative edges in
|
| |
| static unsafe bool | isHoleBd (MR.Const_MeshTopology topology, MR.Std.Const_Vector_MREdgeId loop) |
| | returns true if given loop is a boundary of one hole in given mesh topology:
|
| |
|
static unsafe MR.HoleFillPlan | getHoleFillPlan (MR.Const_Mesh mesh, MR.EdgeId e, MR.Const_FillHoleParams? params_=null) |
| | prepares the plan how to triangulate the face or hole to the left of (e) (not filling it immediately), several getHoleFillPlan can work in parallel Generated from function MR.getHoleFillPlan. Parameter params_ defaults to {}.
|
| |
|
static unsafe MR.Std.Vector_MRHoleFillPlan | getHoleFillPlans (MR.Const_Mesh mesh, MR.Std.Const_Vector_MREdgeId holeRepresentativeEdges, MR.Const_FillHoleParams? params_=null) |
| | prepares the plans how to triangulate the faces or holes, each given by a boundary edge (with filling target to the left), the plans are prepared in parallel with minimal memory allocation compared to manual calling of several getHoleFillPlan(), but it can inefficient when some holes are very complex Generated from function MR.getHoleFillPlans. Parameter params_ defaults to {}.
|
| |
|
static unsafe MR.HoleFillPlan | getPlanarHoleFillPlan (MR.Const_Mesh mesh, MR.EdgeId e) |
| | prepares the plan how to triangulate the planar face or planar hole to the left of (e) (not filling it immediately), several getPlanarHoleFillPlan can work in parallel Generated from function MR.getPlanarHoleFillPlan.
|
| |
|
static unsafe MR.Std.Vector_MRHoleFillPlan | getPlanarHoleFillPlans (MR.Const_Mesh mesh, MR.Std.Const_Vector_MREdgeId holeRepresentativeEdges) |
| | prepares the plans how to triangulate the planar faces or holes, each given by a boundary edge (with filling target to the left), the plans are prepared in parallel with minimal memory allocation compared to manual calling of several getPlanarHoleFillPlan(), but it can inefficient when some holes are very complex Generated from function MR.getPlanarHoleFillPlans.
|
| |
|
static unsafe void | executeHoleFillPlan (MR.Mesh mesh, MR.EdgeId a0, MR.HoleFillPlan plan, MR.FaceBitSet? outNewFaces=null) |
| | quickly triangulates the face or hole to the left of (e) given the plan (quickly compared to fillHole function) Generated from function MR.executeHoleFillPlan.
|
| |
| static unsafe MR.VertId | fillHoleTrivially (MR.Mesh mesh, MR.EdgeId a, MR.FaceBitSet? outNewFaces=null) |
| | Triangulates face of hole in mesh trivially
Fills given hole represented by one of its edges (having no valid left face)
by creating one new vertex in the centroid of boundary vertices and connecting new vertex with all boundary vertices.
|
| |
| static unsafe MR.EdgeId | extendHole (MR.Mesh mesh, MR.EdgeId a, MR.Const_Plane3f plane, MR.FaceBitSet? outNewFaces=null) |
| | adds cylindrical extension of given hole represented by one of its edges (having no valid left face) by adding new vertices located in given plane and 2 * number_of_hole_edge triangles;
|
| |
| static unsafe MR.Std.Vector_MREdgeId | extendAllHoles (MR.Mesh mesh, MR.Const_Plane3f plane, MR.FaceBitSet? outNewFaces=null) |
| | adds cylindrical extension of too all holes of the mesh by calling extendHole(...);
|
| |
| static unsafe MR.EdgeId | extendHole (MR.Mesh mesh, MR.EdgeId a, MR.Std._ByValue_Function_MRVector3fFuncFromConstMRVector3fRef getVertPos, MR.FaceBitSet? outNewFaces=null) |
| | adds extension of given hole represented by one of its edges (having no valid left face) by adding new vertices located at getVertPos( existing vertex position );
|
| |
| static unsafe MR.EdgeId | buildBottom (MR.Mesh mesh, MR.EdgeId a, MR.Vector3f dir, float holeExtension, MR.FaceBitSet? outNewFaces=null) |
| | adds cylindrical extension of given hole represented by one of its edges (having no valid left face) by adding new vertices located in lowest point of the hole -dir*holeExtension and 2 * number_of_hole_edge triangles;
|
| |
| static unsafe MR.EdgeId | makeDegenerateBandAroundHole (MR.Mesh mesh, MR.EdgeId a, MR.FaceBitSet? outNewFaces=null) |
| | creates a band of degenerate triangles around given hole;
|
| |
| static unsafe MR.MakeBridgeResult | makeQuadBridge (MR.MeshTopology topology, MR.EdgeId a, MR.EdgeId b, MR.FaceBitSet? outNewFaces=null) |
| | creates a bridge between two boundary edges a and b (both having no valid left face); bridge consists of one quadrangle in general (beware that it cannot be rendered) or of one triangle if a and b are neighboring edges on the boundary;
|
| |
| static unsafe MR.MakeBridgeResult | makeBridge (MR.MeshTopology topology, MR.EdgeId a, MR.EdgeId b, MR.FaceBitSet? outNewFaces=null) |
| | creates a bridge between two boundary edges a and b (both having no valid left face); bridge consists of two triangles in general or of one triangle if a and b are neighboring edges on the boundary;
|
| |
| static unsafe MR.MakeBridgeResult | makeSmoothBridge (MR.Mesh mesh, MR.EdgeId a, MR.EdgeId b, float samplingStep, MR.FaceBitSet? outNewFaces=null) |
| | creates a bridge between two boundary edges a and b (both having no valid left face); bridge consists of strip of quadrangles (each consisting of two triangles) in general or of some triangles if a and b are neighboring edges on the boundary; the bridge is made as smooth as possible with small angles in between its links and on the boundary with existed triangles;
|
| |
| static unsafe MR.EdgeId | makeBridgeEdge (MR.MeshTopology topology, MR.EdgeId a, MR.EdgeId b) |
| | creates a new bridge edge between origins of two boundary edges a and b (both having no valid left face);
|
| |
|
static unsafe void | splitQuad (MR.MeshTopology topology, MR.EdgeId a, MR.FaceBitSet? outNewFaces=null) |
| | given quadrangle face to the left of a, splits it in two triangles with new diagonal edge via dest(a) Generated from function MR.splitQuad.
|
| |
|
static unsafe int | duplicateMultiHoleVertices (MR.Mesh mesh) |
| | Duplicates all vertices having more than two boundary edges (and returns the number of duplications); Generated from function MR.duplicateMultiHoleVertices.
|
| |
|
static unsafe MR.Std.Vector_StdPairMRVertIdMRVertId | findMultipleEdges (MR.Const_MeshTopology topology, MR.Std._ByValue_Function_BoolFuncFromFloat? cb=null) |
| | Generated from function MR.findMultipleEdges. Parameter cb defaults to {}.
|
| |
|
static unsafe bool | hasMultipleEdges (MR.Const_MeshTopology topology) |
| | Generated from function MR.hasMultipleEdges.
|
| |
|
static unsafe void | fixMultipleEdges (MR.Mesh mesh, MR.Std.Const_Vector_StdPairMRVertIdMRVertId multipleEdges) |
| | resolves given multiple edges, but splitting all but one edge in each group Generated from function MR.fixMultipleEdges.
|
| |
|
static unsafe void | fixMultipleEdges (MR.Mesh mesh) |
| | finds and resolves multiple edges Generated from function MR.fixMultipleEdges.
|
| |
|
static unsafe MR.FaceBitSet | findDegenerateFaces (MR.Const_MeshPart mp, float? criticalAspectRatio=null, MR.Std._ByValue_Function_BoolFuncFromFloat? cb=null) |
| | finds faces having aspect ratio >= criticalAspectRatio Generated from function MR.findDegenerateFaces. Parameter criticalAspectRatio defaults to 3.40282347e38f. Parameter cb defaults to {}.
|
| |
| static unsafe MR.FaceBitSet | findNotSmoothFaces (MR.Const_MeshPart mp, float? minAngle=null, MR.Std._ByValue_Function_BoolFuncFromFloat? cb=null) |
| | find inner faces of the given mesh part, which has large angles with its 3 neighbours
|
| |
|
static unsafe MR.UndirectedEdgeBitSet | findShortEdges (MR.Const_MeshPart mp, float criticalLength, MR.Std._ByValue_Function_BoolFuncFromFloat? cb=null) |
| | finds edges having length <= criticalLength Generated from function MR.findShortEdges. Parameter cb defaults to {}.
|
| |
|
static unsafe void | fixMeshDegeneracies (MR.Mesh mesh, MR.Const_FixMeshDegeneraciesParams params_) |
| | Fixes degenerate faces and short edges in mesh (changes topology) Generated from function MR.fixMeshDegeneracies.
|
| |
|
static unsafe MR.VertBitSet | findNRingVerts (MR.Const_MeshTopology topology, int n, MR.Const_VertBitSet? region=null) |
| | finds vertices in region with complete ring of N edges Generated from function MR.findNRingVerts.
|
| |
|
static unsafe bool | isEdgeBetweenDoubleTris (MR.Const_MeshTopology topology, MR.EdgeId e) |
| | returns true if the edge e has both left and right triangular faces and the degree of dest( e ) is 2 Generated from function MR.isEdgeBetweenDoubleTris.
|
| |
|
static unsafe MR.EdgeId | eliminateDoubleTris (MR.MeshTopology topology, MR.EdgeId e, MR.FaceBitSet? region=null) |
| | if the edge e has both left and right triangular faces and the degree of dest( e ) is 2, then eliminates left( e ), right( e ), e, e.sym(), next( e ), dest( e ), and returns prev( e ); if region is provided then eliminated faces are excluded from it; otherwise returns invalid edge Generated from function MR.eliminateDoubleTris.
|
| |
|
static unsafe void | eliminateDoubleTrisAround (MR.MeshTopology topology, MR.VertId v, MR.FaceBitSet? region=null) |
| | eliminates all double triangles around given vertex preserving vertex valid; if region is provided then eliminated triangles are excluded from it Generated from function MR.eliminateDoubleTrisAround.
|
| |
|
static unsafe bool | isDegree3Dest (MR.Const_MeshTopology topology, MR.EdgeId e) |
| | returns true if the destination of given edge has degree 3 and 3 incident triangles Generated from function MR.isDegree3Dest.
|
| |
|
static unsafe MR.EdgeId | eliminateDegree3Dest (MR.MeshTopology topology, MR.EdgeId e, MR.FaceBitSet? region=null) |
| | if the destination of given edge has degree 3 and 3 incident triangles, then eliminates the destination vertex with all its edges and all but one faces, and returns valid remaining edge with same origin as e; if region is provided then eliminated triangles are excluded from it; otherwise returns invalid edge Generated from function MR.eliminateDegree3Dest.
|
| |
| static unsafe int | eliminateDegree3Vertices (MR.MeshTopology topology, MR.VertBitSet region, MR.FaceBitSet? fs=null) |
| | eliminates from the mesh all vertices having degree 3 and 3 incident triangles from given region (which is updated); if
|
| |
|
static unsafe MR.EdgeId | isVertexRepeatedOnHoleBd (MR.Const_MeshTopology topology, MR.VertId v) |
| | if given vertex is present on the boundary of some hole several times then returns an edge of this hole (without left); returns invalid edge otherwise (not a boundary vertex, or it is present only once on the boundary of each hole it pertains to) Generated from function MR.isVertexRepeatedOnHoleBd.
|
| |
|
static unsafe MR.VertBitSet | findRepeatedVertsOnHoleBd (MR.Const_MeshTopology topology) |
| | returns set bits for all vertices present on the boundary of a hole several times; Generated from function MR.findRepeatedVertsOnHoleBd.
|
| |
|
static unsafe MR.FaceBitSet | findHoleComplicatingFaces (MR.Const_Mesh mesh) |
| | returns all faces that complicate one of mesh holes; hole is complicated if it passes via one vertex more than once; deleting such faces simplifies the holes and makes them easier to fill Generated from function MR.findHoleComplicatingFaces.
|
| |
|
static unsafe void | fixMeshCreases (MR.Mesh mesh, MR.Const_FixCreasesParams? params_=null) |
| | Finds creases edges and re-triangulates planar areas around them, useful to fix double faces Generated from function MR.fixMeshCreases. Parameter params_ defaults to {}.
|
| |
|
static unsafe MR.FaceBitSet | findDisorientedFaces (MR.Const_Mesh mesh, MR.Const_FindDisorientationParams? params_=null) |
| | returns all faces that are oriented inconsistently, based on number of ray intersections Generated from function MR.findDisorientedFaces. Parameter params_ defaults to {}.
|
| |
|
static unsafe MR.MeshIntersectionResult | rayMeshIntersect (MR.Const_MeshPart meshPart, MR.Const_Line3f line, float? rayStart=null, float? rayEnd=null, MR.Const_IntersectionPrecomputes_Float? prec=null, bool? closestIntersect=null, MR.Std.Const_Function_BoolFuncFromMRFaceId? validFaces=null) |
| | Finds ray and mesh intersection in float-precision. rayStart and rayEnd define the interval on the ray to detect an intersection. prec can be specified to reuse some precomputations (e.g. for checking many parallel rays). vadidFaces if given then all faces for which false is returned will be skipped Finds the closest intersection to ray origin (line param=0) or any intersection for better performance if !closestIntersect. Generated from function MR.rayMeshIntersect. Parameter rayStart defaults to 0.0f. Parameter rayEnd defaults to 3.40282347e38f. Parameter closestIntersect defaults to true. Parameter validFaces defaults to {}.
|
| |
|
static unsafe MR.MeshIntersectionResult | rayMeshIntersect (MR.Const_MeshPart meshPart, MR.Const_Line3d line, double? rayStart=null, double? rayEnd=null, MR.Const_IntersectionPrecomputes_Double? prec=null, bool? closestIntersect=null, MR.Std.Const_Function_BoolFuncFromMRFaceId? validFaces=null) |
| | Finds ray and mesh intersection in double-precision. rayStart and rayEnd define the interval on the ray to detect an intersection. prec can be specified to reuse some precomputations (e.g. for checking many parallel rays). vadidFaces if given then all faces for which false is returned will be skipped Finds the closest intersection to ray origin (line param=0) or any intersection for better performance if !closestIntersect. Generated from function MR.rayMeshIntersect. Parameter rayStart defaults to 0.0. Parameter rayEnd defaults to 1.7976931348623157e308. Parameter closestIntersect defaults to true. Parameter validFaces defaults to {}.
|
| |
|
static unsafe void | multiRayMeshIntersect (MR.Const_MeshPart meshPart, MR.Std.Const_Vector_MRVector3f origins, MR.Std.Const_Vector_MRVector3f dirs, MR.Const_MultiRayMeshIntersectResult result, float? rayStart=null, float? rayEnd=null, bool? closestIntersect=null, MR.Std.Const_Function_BoolFuncFromMRFaceId? validFaces=null) |
| | Finds intersections between a mesh and multiple rays in parallel (in float-precision). rayStart and rayEnd define the interval on all rays to detect an intersection. vadidFaces if given then all faces for which false is returned will be skipped Generated from function MR.multiRayMeshIntersect. Parameter rayStart defaults to 0.0f. Parameter rayEnd defaults to 3.40282347e38f. Parameter closestIntersect defaults to true. Parameter validFaces defaults to {}.
|
| |
|
static unsafe MR.MultiMeshIntersectionResult | rayMultiMeshAnyIntersect (MR.Std.Const_Vector_MRLine3MeshFloat lineMeshes, float? rayStart=null, float? rayEnd=null) |
| | Intersects ray with many meshes. Finds any intersection (not the closest) Generated from function MR.rayMultiMeshAnyIntersect. Parameter rayStart defaults to 0.0f. Parameter rayEnd defaults to 3.40282347e38f.
|
| |
|
static unsafe MR.MultiMeshIntersectionResult | rayMultiMeshAnyIntersect (MR.Std.Const_Vector_MRLine3MeshDouble lineMeshes, double? rayStart=null, double? rayEnd=null) |
| | Same as rayMultiMeshAnyIntersectF, but use double precision Generated from function MR.rayMultiMeshAnyIntersect. Parameter rayStart defaults to 0.0. Parameter rayEnd defaults to 1.7976931348623157e308.
|
| |
|
static unsafe void | rayMeshIntersectAll (MR.Const_MeshPart meshPart, MR.Const_Line3f line, MR.Std._ByValue_Function_BoolFuncFromConstMRMeshIntersectionResultRef callback, float? rayStart=null, float? rayEnd=null, MR.Const_IntersectionPrecomputes_Float? prec=null) |
| | Intersects ray with mesh. Finds all intersections Generated from function MR.rayMeshIntersectAll. Parameter rayStart defaults to 0.0f. Parameter rayEnd defaults to 3.40282347e38f.
|
| |
|
static unsafe void | rayMeshIntersectAll (MR.Const_MeshPart meshPart, MR.Const_Line3d line, MR.Std._ByValue_Function_BoolFuncFromConstMRMeshIntersectionResultRef callback, double? rayStart=null, double? rayEnd=null, MR.Const_IntersectionPrecomputes_Double? prec=null) |
| | Same as rayMeshIntersectAllF, but use double precision Generated from function MR.rayMeshIntersectAll. Parameter rayStart defaults to 0.0. Parameter rayEnd defaults to 1.7976931348623157e308.
|
| |
| static unsafe void | planeMeshIntersect (MR.Const_MeshPart meshPart, MR.Const_Plane3f plane, MR.FaceBitSet? fs, MR.UndirectedEdgeBitSet? ues, MR.VertBitSet? vs, MR.Std.Vector_MRFaceId? fsVec=null) |
| | given mesh part and arbitrary plane, outputs
|
| |
| static unsafe void | xyPlaneMeshIntersect (MR.Const_MeshPart meshPart, float zLevel, MR.FaceBitSet? fs, MR.UndirectedEdgeBitSet? ues, MR.VertBitSet? vs, MR.Std.Vector_MRFaceId? fsVec=null) |
| | given mesh part and plane z=zLevel, outputs
|
| |
|
static unsafe MR.Mesh | loadMrmesh (string file, MR.Const_MeshLoadSettings? settings=null) |
| | loads mesh from file in internal MeshLib format Generated from function MR.loadMrmesh. Parameter settings defaults to {}.
|
| |
|
static unsafe MR.Mesh | loadMrmesh (MR.Std.Istream in_, MR.Const_MeshLoadSettings? settings=null) |
| | loads mesh from stream in internal MeshLib format; important on Windows: in stream must be open in binary mode Generated from function MR.loadMrmesh. Parameter settings defaults to {}.
|
| |
|
static unsafe MR.Mesh | loadOff (string file, MR.Const_MeshLoadSettings? settings=null) |
| | loads mesh from file in .OFF format Generated from function MR.loadOff. Parameter settings defaults to {}.
|
| |
|
static unsafe MR.Mesh | loadOff (MR.Std.Istream in_, MR.Const_MeshLoadSettings? settings=null) |
| | loads mesh from stream in .OFF format Generated from function MR.loadOff. Parameter settings defaults to {}.
|
| |
|
static unsafe MR.Mesh | loadObj (string file, MR.Const_MeshLoadSettings? settings=null) |
| | loads mesh from file in .OBJ format Generated from function MR.loadObj. Parameter settings defaults to {}.
|
| |
|
static unsafe MR.Mesh | loadObj (MR.Std.Istream in_, MR.Const_MeshLoadSettings? settings=null) |
| | loads mesh from stream in .OBJ format; important on Windows: in stream must be open in binary mode Generated from function MR.loadObj. Parameter settings defaults to {}.
|
| |
|
static unsafe MR.Mesh | loadStl (string file, MR.Const_MeshLoadSettings? settings=null) |
| | loads mesh from file in any .STL format: both binary and ASCII Generated from function MR.loadStl. Parameter settings defaults to {}.
|
| |
|
static unsafe MR.Mesh | loadStl (MR.Std.Istream in_, MR.Const_MeshLoadSettings? settings=null) |
| | loads mesh from stream in any .STL format: both binary and ASCII; important on Windows: in stream must be open in binary mode Generated from function MR.loadStl. Parameter settings defaults to {}.
|
| |
|
static unsafe MR.Mesh | loadBinaryStl (string file, MR.Const_MeshLoadSettings? settings=null) |
| | loads mesh from file in binary .STL format Generated from function MR.loadBinaryStl. Parameter settings defaults to {}.
|
| |
|
static unsafe MR.Mesh | loadBinaryStl (MR.Std.Istream in_, MR.Const_MeshLoadSettings? settings=null) |
| | loads mesh from stream in binary .STL format; important on Windows: in stream must be open in binary mode Generated from function MR.loadBinaryStl. Parameter settings defaults to {}.
|
| |
|
static unsafe MR.Mesh | loadASCIIStl (string file, MR.Const_MeshLoadSettings? settings=null) |
| | loads mesh from file in textual .STL format Generated from function MR.loadASCIIStl. Parameter settings defaults to {}.
|
| |
|
static unsafe MR.Mesh | loadASCIIStl (MR.Std.Istream in_, MR.Const_MeshLoadSettings? settings=null) |
| | loads mesh from stream in textual .STL format Generated from function MR.loadASCIIStl. Parameter settings defaults to {}.
|
| |
|
static unsafe MR.Mesh | loadPly (string file, MR.Const_MeshLoadSettings? settings=null) |
| | loads mesh from file in .PLY format; Generated from function MR.loadPly. Parameter settings defaults to {}.
|
| |
|
static unsafe MR.Mesh | loadPly (MR.Std.Istream in_, MR.Const_MeshLoadSettings? settings=null) |
| | loads mesh from stream in .PLY format; important on Windows: in stream must be open in binary mode Generated from function MR.loadPly. Parameter settings defaults to {}.
|
| |
|
static unsafe MR.Mesh | loadDxf (string path, MR.Const_MeshLoadSettings? settings=null) |
| | loads mesh from file in .DXF format; Generated from function MR.loadDxf. Parameter settings defaults to {}.
|
| |
|
static unsafe MR.Mesh | loadDxf (MR.Std.Istream in_, MR.Const_MeshLoadSettings? settings=null) |
| | loads mesh from stream in .DXF format; Generated from function MR.loadDxf. Parameter settings defaults to {}.
|
| |
|
static unsafe MR.Mesh | loadMesh (string file, MR.Const_MeshLoadSettings? settings=null) |
| | loads mesh from file in the format detected from file extension Generated from function MR.loadMesh. Parameter settings defaults to {}.
|
| |
|
static unsafe MR.Mesh | loadMesh (MR.Std.Istream in_, string extension, MR.Const_MeshLoadSettings? settings=null) |
| | loads mesh from stream in the format detected from given extension-string (*.ext); important on Windows: in stream must be open in binary mode Generated from function MR.loadMesh. Parameter settings defaults to {}.
|
| |
|
static unsafe MR.Vector3f | orgPnt (MR.Const_MeshTopology topology, MR.Const_VertCoords points, MR.EdgeId e) |
| | returns coordinates of the edge origin Generated from function MR.orgPnt.
|
| |
|
static unsafe MR.Vector3f | destPnt (MR.Const_MeshTopology topology, MR.Const_VertCoords points, MR.EdgeId e) |
| | returns coordinates of the edge destination Generated from function MR.destPnt.
|
| |
|
static unsafe MR.Vector3f | edgeVector (MR.Const_MeshTopology topology, MR.Const_VertCoords points, MR.EdgeId e) |
| | returns vector equal to edge destination point minus edge origin point Generated from function MR.edgeVector.
|
| |
|
static unsafe MR.LineSegm3f | edgeSegment (MR.Const_MeshTopology topology, MR.Const_VertCoords points, MR.EdgeId e) |
| | returns line segment of given edge Generated from function MR.edgeSegment.
|
| |
|
static unsafe MR.Vector3f | edgePoint (MR.Const_MeshTopology topology, MR.Const_VertCoords points, MR.EdgeId e, float f) |
| | returns a point on the edge: origin point for f=0 and destination point for f=1 Generated from function MR.edgePoint.
|
| |
|
static unsafe MR.Vector3f | edgePoint (MR.Const_MeshTopology topology, MR.Const_VertCoords points, MR.Const_EdgePoint ep) |
| | computes coordinates of point given as edge and relative position on it Generated from function MR.edgePoint.
|
| |
|
static unsafe MR.Vector3f | edgeCenter (MR.Const_MeshTopology topology, MR.Const_VertCoords points, MR.UndirectedEdgeId e) |
| | computes the center of given edge Generated from function MR.edgeCenter.
|
| |
|
static unsafe void | getLeftTriPoints (MR.Const_MeshTopology topology, MR.Const_VertCoords points, MR.EdgeId e, ref MR.Vector3f v0, ref MR.Vector3f v1, ref MR.Vector3f v2) |
| | returns three points of left face of e: v0 = orgPnt( e ), v1 = destPnt( e ) Generated from function MR.getLeftTriPoints.
|
| |
|
static unsafe MR.Std.Array_MRVector3f_3 | getLeftTriPoints (MR.Const_MeshTopology topology, MR.Const_VertCoords points, MR.EdgeId e) |
| | returns three points of left face of e: res[0] = orgPnt( e ), res[1] = destPnt( e ) Generated from function MR.getLeftTriPoints.
|
| |
|
static unsafe void | getTriPoints (MR.Const_MeshTopology topology, MR.Const_VertCoords points, MR.FaceId f, ref MR.Vector3f v0, ref MR.Vector3f v1, ref MR.Vector3f v2) |
| | returns three points of given face Generated from function MR.getTriPoints.
|
| |
|
static unsafe MR.Std.Array_MRVector3f_3 | getTriPoints (MR.Const_MeshTopology topology, MR.Const_VertCoords points, MR.FaceId f) |
| | returns three points of given face Generated from function MR.getTriPoints.
|
| |
|
static unsafe MR.Vector3f | triPoint (MR.Const_MeshTopology topology, MR.Const_VertCoords points, MR.Const_MeshTriPoint p) |
| | computes coordinates of point given as face and barycentric representation Generated from function MR.triPoint.
|
| |
|
static unsafe MR.Vector3f | triCenter (MR.Const_MeshTopology topology, MR.Const_VertCoords points, MR.FaceId f) |
| | returns the centroid of given triangle Generated from function MR.triCenter.
|
| |
|
static unsafe float | triangleAspectRatio (MR.Const_MeshTopology topology, MR.Const_VertCoords points, MR.FaceId f) |
| | returns aspect ratio of given mesh triangle equal to the ratio of the circum-radius to twice its in-radius Generated from function MR.triangleAspectRatio.
|
| |
|
static unsafe float | circumcircleDiameterSq (MR.Const_MeshTopology topology, MR.Const_VertCoords points, MR.FaceId f) |
| | returns squared circumcircle diameter of given mesh triangle Generated from function MR.circumcircleDiameterSq.
|
| |
|
static unsafe float | circumcircleDiameter (MR.Const_MeshTopology topology, MR.Const_VertCoords points, MR.FaceId f) |
| | returns circumcircle diameter of given mesh triangle Generated from function MR.circumcircleDiameter.
|
| |
|
static unsafe MR.MeshTriPoint | toTriPoint (MR.Const_MeshTopology topology, MR.Const_VertCoords points, MR.FaceId f, in MR.Vector3f p) |
| | converts face id and 3d point into barycentric representation Generated from function MR.toTriPoint.
|
| |
|
static unsafe MR.MeshTriPoint | toTriPoint (MR.Const_MeshTopology topology, MR.Const_VertCoords points, MR.Const_PointOnFace p) |
| | converts face id and 3d point into barycentric representation Generated from function MR.toTriPoint.
|
| |
|
static unsafe MR.EdgePoint | toEdgePoint (MR.Const_MeshTopology topology, MR.Const_VertCoords points, MR.EdgeId e, in MR.Vector3f p) |
| | converts edge and 3d point into edge-point representation Generated from function MR.toEdgePoint.
|
| |
|
static unsafe MR.VertId | getClosestVertex (MR.Const_MeshTopology topology, MR.Const_VertCoords points, MR.Const_PointOnFace p) |
| | returns one of three face vertices, closest to given point Generated from function MR.getClosestVertex.
|
| |
|
static unsafe MR.VertId | getClosestVertex (MR.Const_MeshTopology topology, MR.Const_VertCoords points, MR.Const_MeshTriPoint p) |
| | returns one of three face vertices, closest to given point Generated from function MR.getClosestVertex.
|
| |
|
static unsafe MR.UndirectedEdgeId | getClosestEdge (MR.Const_MeshTopology topology, MR.Const_VertCoords points, MR.Const_PointOnFace p) |
| | returns one of three face edges, closest to given point Generated from function MR.getClosestEdge.
|
| |
|
static unsafe MR.UndirectedEdgeId | getClosestEdge (MR.Const_MeshTopology topology, MR.Const_VertCoords points, MR.Const_MeshTriPoint p) |
| | returns one of three face edges, closest to given point Generated from function MR.getClosestEdge.
|
| |
|
static unsafe float | edgeLength (MR.Const_MeshTopology topology, MR.Const_VertCoords points, MR.UndirectedEdgeId e) |
| | returns Euclidean length of the edge Generated from function MR.edgeLength.
|
| |
|
static unsafe MR.UndirectedEdgeScalars | edgeLengths (MR.Const_MeshTopology topology, MR.Const_VertCoords points) |
| | computes and returns the lengths of all edges in the mesh Generated from function MR.edgeLengths.
|
| |
|
static unsafe float | edgeLengthSq (MR.Const_MeshTopology topology, MR.Const_VertCoords points, MR.UndirectedEdgeId e) |
| | returns squared Euclidean length of the edge (faster to compute than length) Generated from function MR.edgeLengthSq.
|
| |
|
static unsafe MR.Vector3f | leftDirDblArea (MR.Const_MeshTopology topology, MR.Const_VertCoords points, MR.EdgeId e) |
| | computes directed double area of left triangular face of given edge Generated from function MR.leftDirDblArea.
|
| |
|
static unsafe MR.Vector3f | dirDblArea (MR.Const_MeshTopology topology, MR.Const_VertCoords points, MR.FaceId f) |
| | computes directed double area for a triangular face from its vertices Generated from function MR.dirDblArea.
|
| |
|
static unsafe MR.VertCoords | dirDblAreas (MR.Const_MeshTopology topology, MR.Const_VertCoords points, MR.Const_VertBitSet? region=null) |
| | computes and returns the directed double area for every (region) vertex in the mesh Generated from function MR.dirDblAreas.
|
| |
|
static unsafe float | dblArea (MR.Const_MeshTopology topology, MR.Const_VertCoords points, MR.FaceId f) |
| | returns twice the area of given face Generated from function MR.dblArea.
|
| |
|
static unsafe float | area (MR.Const_MeshTopology topology, MR.Const_VertCoords points, MR.FaceId f) |
| | returns the area of given face Generated from function MR.area.
|
| |
|
static unsafe double | area (MR.Const_MeshTopology topology, MR.Const_VertCoords points, MR.Const_FaceBitSet? fs=null) |
| | computes the area of given face-region (or whole mesh) Generated from function MR.area.
|
| |
|
static unsafe MR.Vector3d | dirArea (MR.Const_MeshTopology topology, MR.Const_VertCoords points, MR.Const_FaceBitSet? fs=null) |
| | computes the sum of directed areas for faces from given region (or whole mesh) Generated from function MR.dirArea.
|
| |
|
static unsafe double | projArea (MR.Const_MeshTopology topology, MR.Const_VertCoords points, in MR.Vector3f dir, MR.Const_FaceBitSet? fs=null) |
| | computes the sum of absolute projected area of faces from given region (or whole mesh) as visible if look from given direction Generated from function MR.projArea.
|
| |
|
static unsafe double | volume (MR.Const_MeshTopology topology, MR.Const_VertCoords points, MR.Const_FaceBitSet? region=null) |
| | returns volume of the object surrounded by given region (or whole mesh if (region) is nullptr); if the region has holes then each hole will be virtually filled by adding triangles for each edge and the hole's geometrical center Generated from function MR.volume.
|
| |
|
static unsafe double | holePerimeter (MR.Const_MeshTopology topology, MR.Const_VertCoords points, MR.EdgeId e) |
| | computes the perimeter of the hole specified by one of its edges with no valid left face (left is hole) Generated from function MR.holePerimeter.
|
| |
|
static unsafe MR.Vector3d | holeDirArea (MR.Const_MeshTopology topology, MR.Const_VertCoords points, MR.EdgeId e) |
| | computes directed area of the hole specified by one of its edges with no valid left face (left is hole); if the hole is planar then returned vector is orthogonal to the plane pointing outside and its magnitude is equal to hole area Generated from function MR.holeDirArea.
|
| |
|
static unsafe MR.Vector3f | leftTangent (MR.Const_MeshTopology topology, MR.Const_VertCoords points, MR.EdgeId e) |
| | computes unit vector that is both orthogonal to given edge and to the normal of its left triangle, the vector is directed inside left triangle Generated from function MR.leftTangent.
|
| |
|
static unsafe MR.Vector3f | leftNormal (MR.Const_MeshTopology topology, MR.Const_VertCoords points, MR.EdgeId e) |
| | computes triangular face normal from its vertices Generated from function MR.leftNormal.
|
| |
|
static unsafe MR.Vector3f | normal (MR.Const_MeshTopology topology, MR.Const_VertCoords points, MR.FaceId f) |
| | computes triangular face normal from its vertices Generated from function MR.normal.
|
| |
|
static unsafe MR.Plane3f | getPlane3f (MR.Const_MeshTopology topology, MR.Const_VertCoords points, MR.FaceId f) |
| | returns the plane containing given triangular face with normal looking outwards Generated from function MR.getPlane3f.
|
| |
|
static unsafe MR.Plane3d | getPlane3d (MR.Const_MeshTopology topology, MR.Const_VertCoords points, MR.FaceId f) |
| | Generated from function MR.getPlane3d.
|
| |
|
static unsafe MR.Vector3f | dirDblArea (MR.Const_MeshTopology topology, MR.Const_VertCoords points, MR.VertId v) |
| | computes sum of directed double areas of all triangles around given vertex Generated from function MR.dirDblArea.
|
| |
|
static unsafe float | dblArea (MR.Const_MeshTopology topology, MR.Const_VertCoords points, MR.VertId v) |
| | computes the length of summed directed double areas of all triangles around given vertex Generated from function MR.dblArea.
|
| |
|
static unsafe MR.Vector3f | normal (MR.Const_MeshTopology topology, MR.Const_VertCoords points, MR.VertId v) |
| | computes normal in a vertex using sum of directed areas of neighboring triangles Generated from function MR.normal.
|
| |
|
static unsafe MR.Vector3f | normal (MR.Const_MeshTopology topology, MR.Const_VertCoords points, MR.Const_MeshTriPoint p) |
| | computes normal in three vertices of p's triangle, then interpolates them using barycentric coordinates and normalizes again; this is the same normal as in rendering with smooth shading Generated from function MR.normal.
|
| |
|
static unsafe MR.Vector3f | pseudonormal (MR.Const_MeshTopology topology, MR.Const_VertCoords points, MR.VertId v, MR.Const_FaceBitSet? region=null) |
| | computes angle-weighted sum of normals of incident faces of given vertex (only (region) faces will be considered); the sum is normalized before returning Generated from function MR.pseudonormal.
|
| |
|
static unsafe MR.Vector3f | pseudonormal (MR.Const_MeshTopology topology, MR.Const_VertCoords points, MR.UndirectedEdgeId e, MR.Const_FaceBitSet? region=null) |
| | computes normalized half sum of face normals sharing given edge (only (region) faces will be considered); Generated from function MR.pseudonormal.
|
| |
|
static unsafe MR.Vector3f | pseudonormal (MR.Const_MeshTopology topology, MR.Const_VertCoords points, MR.Const_MeshTriPoint p, MR.Const_FaceBitSet? region=null) |
| | returns pseudonormal in corresponding face/edge/vertex for signed distance calculation as suggested in the article "Signed Distance Computation Using the Angle Weighted Pseudonormal" by J. Andreas Baerentzen and Henrik Aanaes, https://backend.orbit.dtu.dk/ws/portalfiles/portal/3977815/B_rentzen.pdf unlike normal( const MeshTriPoint & p ), this is not a smooth function Generated from function MR.pseudonormal.
|
| |
|
static unsafe float | sumAngles (MR.Const_MeshTopology topology, MR.Const_VertCoords points, MR.VertId v, MR.Misc.InOut< bool >? outBoundaryVert=null) |
| | computes the sum of triangle angles at given vertex; optionally returns whether the vertex is on boundary Generated from function MR.sumAngles.
|
| |
|
static unsafe MR.VertBitSet | findSpikeVertices (MR.Const_MeshTopology topology, MR.Const_VertCoords points, float minSumAngle, MR.Const_VertBitSet? region=null, MR.Std.Const_Function_BoolFuncFromFloat? cb=null) |
| | returns vertices where the sum of triangle angles is below given threshold Generated from function MR.findSpikeVertices. Parameter cb defaults to {}.
|
| |
|
static unsafe float | dihedralAngleSin (MR.Const_MeshTopology topology, MR.Const_VertCoords points, MR.UndirectedEdgeId e) |
| | given an edge between two triangular faces, computes sine of dihedral angle between them: 0 if both faces are in the same plane, positive if the faces form convex surface, negative if the faces form concave surface Generated from function MR.dihedralAngleSin.
|
| |
|
static unsafe float | dihedralAngleCos (MR.Const_MeshTopology topology, MR.Const_VertCoords points, MR.UndirectedEdgeId e) |
| | given an edge between two triangular faces, computes cosine of dihedral angle between them: 1 if both faces are in the same plane, 0 if the surface makes right angle turn at the edge, -1 if the faces overlap one another Generated from function MR.dihedralAngleCos.
|
| |
|
static unsafe float | dihedralAngle (MR.Const_MeshTopology topology, MR.Const_VertCoords points, MR.UndirectedEdgeId e) |
| | given an edge between two triangular faces, computes the dihedral angle between them: 0 if both faces are in the same plane, positive if the faces form convex surface, negative if the faces form concave surface; please consider the usage of faster dihedralAngleSin(e) and dihedralAngleCos(e) Generated from function MR.dihedralAngle.
|
| |
|
static unsafe float | discreteMeanCurvature (MR.Const_MeshTopology topology, MR.Const_VertCoords points, MR.VertId v) |
| | computes discrete mean curvature in given vertex, measures in length^-1; 0 for planar regions, positive for convex surface, negative for concave surface Generated from function MR.discreteMeanCurvature.
|
| |
|
static unsafe float | discreteMeanCurvature (MR.Const_MeshTopology topology, MR.Const_VertCoords points, MR.UndirectedEdgeId e) |
| | computes discrete mean curvature in given edge, measures in length^-1; 0 for planar regions, positive for convex surface, negative for concave surface Generated from function MR.discreteMeanCurvature.
|
| |
|
static unsafe float | discreteGaussianCurvature (MR.Const_MeshTopology topology, MR.Const_VertCoords points, MR.VertId v, MR.Misc.InOut< bool >? outBoundaryVert=null) |
| | computes discrete Gaussian curvature (or angle defect) at given vertex, which 0 in inner vertices on planar mesh parts and reaches 2*pi on needle's tip, see http://math.uchicago.edu/~may/REU2015/REUPapers/Upadhyay.pdf optionally returns whether the vertex is on boundary Generated from function MR.discreteGaussianCurvature.
|
| |
|
static unsafe MR.UndirectedEdgeBitSet | findCreaseEdges (MR.Const_MeshTopology topology, MR.Const_VertCoords points, float angleFromPlanar) |
| | finds all mesh edges where dihedral angle is distinct from planar PI angle on at least given value Generated from function MR.findCreaseEdges.
|
| |
|
static unsafe float | leftCotan (MR.Const_MeshTopology topology, MR.Const_VertCoords points, MR.EdgeId e) |
| | computes cotangent of the angle in the left( e ) triangle opposite to e, and returns 0 if left face does not exist Generated from function MR.leftCotan.
|
| |
|
static unsafe float | cotan (MR.Const_MeshTopology topology, MR.Const_VertCoords points, MR.UndirectedEdgeId ue) |
| | computes sum of cotangents of the angle in the left and right triangles opposite to given edge, consider cotangents zero for not existing triangles Generated from function MR.cotan.
|
| |
|
static unsafe MR.QuadraticForm3f | quadraticForm (MR.Const_MeshTopology topology, MR.Const_VertCoords points, MR.VertId v, bool angleWeigted, MR.Const_FaceBitSet? region=null, MR.Const_UndirectedEdgeBitSet? creases=null) |
| | computes quadratic form in the vertex as the sum of squared distances from 1) planes of adjacent triangles, with the weight equal to the angle of adjacent triangle at this vertex divided on PI in case of angleWeigted=true; 2) lines of adjacent boundary and crease edges Generated from function MR.quadraticForm.
|
| |
|
static unsafe MR.Box3f | computeBoundingBox (MR.Const_MeshTopology topology, MR.Const_VertCoords points, MR.Const_FaceBitSet? region, MR.AffineXf3f? toWorld=null) |
| | passes through all given faces (or whole mesh if region == null) and finds the minimal bounding box containing all of them if toWorld transformation is given then returns minimal bounding box in world space Generated from function MR.computeBoundingBox.
|
| |
|
static unsafe float | averageEdgeLength (MR.Const_MeshTopology topology, MR.Const_VertCoords points) |
| | computes average length of an edge in the mesh given by (topology, points) Generated from function MR.averageEdgeLength.
|
| |
|
static unsafe MR.Vector3f | findCenterFromPoints (MR.Const_MeshTopology topology, MR.Const_VertCoords points) |
| | computes average position of all valid mesh vertices Generated from function MR.findCenterFromPoints.
|
| |
|
static unsafe MR.Vector3f | findCenterFromFaces (MR.Const_MeshTopology topology, MR.Const_VertCoords points) |
| | computes center of mass considering that density of all triangles is the same Generated from function MR.findCenterFromFaces.
|
| |
|
static unsafe MR.Vector3f | findCenterFromBBox (MR.Const_MeshTopology topology, MR.Const_VertCoords points) |
| | computes bounding box and returns its center Generated from function MR.findCenterFromBBox.
|
| |
| static unsafe MR.MeshMeshDistanceResult | findDistance (MR.Const_MeshPart a, MR.Const_MeshPart b, MR.AffineXf3f? rigidB2A=null, float? upDistLimitSq=null) |
| | computes minimal distance between two meshes or two mesh regions
|
| |
| static unsafe MR.MeshMeshSignedDistanceResult | findSignedDistance (MR.Const_MeshPart a, MR.Const_MeshPart b, MR.AffineXf3f? rigidB2A=null, float? upDistLimitSq=null) |
| | computes minimal distance between two meshes
|
| |
| static unsafe float | findMaxDistanceSqOneWay (MR.Const_MeshPart a, MR.Const_MeshPart b, MR.AffineXf3f? rigidB2A=null, float? maxDistanceSq=null) |
| | returns the maximum of the squared distances from each B-mesh vertex to A-mesh
|
| |
| static unsafe float | findMaxDistanceSq (MR.Const_MeshPart a, MR.Const_MeshPart b, MR.AffineXf3f? rigidB2A=null, float? maxDistanceSq=null) |
| | returns the squared Hausdorff distance between two meshes, that is the maximum of squared distances from each mesh vertex to the other mesh (in both directions)
|
| |
|
static unsafe double | calcCombinedFillMetric (MR.Const_Mesh mesh, MR.Const_FaceBitSet filledRegion, MR.Const_FillHoleMetric metric) |
| | Computes combined metric after filling a hole Generated from function MR.calcCombinedFillMetric.
|
| |
|
static unsafe MR.FillHoleMetric | getCircumscribedMetric (MR.Const_Mesh mesh) |
| | This metric minimizes the sum of circumcircle radii for all triangles in the triangulation. It is rather fast to calculate, and it results in typically good triangulations. Generated from function MR.getCircumscribedMetric.
|
| |
|
static unsafe MR.FillHoleMetric | getPlaneFillMetric (MR.Const_Mesh mesh, MR.EdgeId e) |
| | Same as getCircumscribedFillMetric, but with extra penalty for the triangles having normals looking in the opposite side of plane containing left of (e). Generated from function MR.getPlaneFillMetric.
|
| |
|
static unsafe MR.FillHoleMetric | getPlaneNormalizedFillMetric (MR.Const_Mesh mesh, MR.EdgeId e) |
| | Similar to getPlaneFillMetric with extra penalty for the triangles having normals looking in the opposite side of plane containing left of (e), but the metric minimizes the sum of circumcircle radius times aspect ratio for all triangles in the triangulation. Generated from function MR.getPlaneNormalizedFillMetric.
|
| |
|
static unsafe MR.FillHoleMetric | getComplexStitchMetric (MR.Const_Mesh mesh) |
| | This metric minimizes the sum of triangleMetric for all triangles in the triangulation plus the sum edgeMetric for all edges inside and on the boundary of the triangulation.
Where
triangleMetric is proportional to triangle aspect ratio
edgeMetric is proportional to ( 1 - dihedralAngleCos ) Generated from function MR.getComplexStitchMetric.
|
| |
|
static unsafe MR.FillHoleMetric | getEdgeLengthFillMetric (MR.Const_Mesh mesh) |
| | Simple metric minimizing the sum of all edge lengths Generated from function MR.getEdgeLengthFillMetric.
|
| |
|
static unsafe MR.FillHoleMetric | getEdgeLengthStitchMetric (MR.Const_Mesh mesh) |
| | Forbids connecting vertices from the same hole
Simple metric minimizing edge length Generated from function MR.getEdgeLengthStitchMetric.
|
| |
|
static unsafe MR.FillHoleMetric | getVerticalStitchMetric (MR.Const_Mesh mesh, in MR.Vector3f upDir) |
| | Forbids connecting vertices from the same hole
penalize for large area and face normal deviation from upDir
All new faces should be parallel to given direction Generated from function MR.getVerticalStitchMetric.
|
| |
|
static unsafe MR.FillHoleMetric | getVerticalStitchMetricEdgeBased (MR.Const_Mesh mesh, in MR.Vector3f upDir) |
| | Forbids connecting vertices from the same hole
penalize for long edges and its deviation from upDir
All new faces should be parallel to given direction Generated from function MR.getVerticalStitchMetricEdgeBased.
|
| |
|
static unsafe MR.FillHoleMetric | getComplexFillMetric (MR.Const_Mesh mesh, MR.EdgeId e) |
| | This metric minimizes the sum of triangleMetric for all triangles in the triangulation plus the sum edgeMetric for all edges inside and on the boundary of the triangulation.
Where
triangleMetric is proportional to weighted triangle area and triangle aspect ratio
edgeMetric grows with angle between triangles as ( ( 1 - cos( x ) ) / ( 1 + cos( x ) ) ) ^ 4. Generated from function MR.getComplexFillMetric.
|
| |
|
static unsafe MR.FillHoleMetric | getParallelPlaneFillMetric (MR.Const_Mesh mesh, MR.EdgeId e, MR.Const_Plane3f? plane=null) |
| | This metric minimizes summary projection of new edges to plane normal, (try do produce edges parallel to plane) Generated from function MR.getParallelPlaneFillMetric.
|
| |
|
static unsafe MR.FillHoleMetric | getMaxDihedralAngleMetric (MR.Const_Mesh mesh) |
| | This metric minimizes the maximal dihedral angle between the faces in the triangulation and on its boundary Generated from function MR.getMaxDihedralAngleMetric.
|
| |
|
static unsafe MR.FillHoleMetric | getUniversalMetric (MR.Const_Mesh mesh) |
| | This metric consists of two parts 1) for each triangle: it is the circumcircle diameter, this avoids the appearance of degenerate triangles; 2) for each edge: square root of double total area of triangles to its left and right times the factor depending extensionally on absolute dihedral angle between left and right triangles, this makes visually triangulated surface as smooth as possible. For planar holes it is the same as getCircumscribedMetric. Generated from function MR.getUniversalMetric.
|
| |
|
static unsafe MR.FillHoleMetric | getMinTriAngleMetric (MR.Const_Mesh mesh) |
| | This metric maximizes the minimal angle among all faces in the triangulation Generated from function MR.getMinTriAngleMetric.
|
| |
|
static unsafe MR.FillHoleMetric | getMinAreaMetric (MR.Const_Mesh mesh) |
| | This metric is for triangulation construction with minimal summed area of triangles. Warning: this metric can produce degenerated triangles Generated from function MR.getMinAreaMetric.
|
| |
|
static unsafe MR.FaceNormals | computePerFaceNormals (MR.Const_Mesh mesh) |
| | returns a vector with face-normal in every element for valid mesh faces Generated from function MR.computePerFaceNormals.
|
| |
|
static unsafe void | computePerFaceNormals4 (MR.Const_Mesh mesh, MR.Misc.InOut< MR.Vector4f >? faceNormals, ulong size) |
| | fills buffer with face-normals as Vector4f for valid mesh faces Generated from function MR.computePerFaceNormals4.
|
| |
|
static unsafe MR.VertCoords | computePerVertNormals (MR.Const_Mesh mesh) |
| | returns a vector with vertex normals in every element for valid mesh vertices Generated from function MR.computePerVertNormals.
|
| |
|
static unsafe MR.VertCoords | computePerVertPseudoNormals (MR.Const_Mesh mesh) |
| | returns a vector with vertex pseudonormals in every element for valid mesh vertices see http://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.107.9173&rep=rep1&type=pdf Generated from function MR.computePerVertPseudoNormals.
|
| |
|
static unsafe MR.MeshNormals | computeMeshNormals (MR.Const_Mesh mesh) |
| | computes both per-face and per-vertex normals more efficiently then just calling both previous functions Generated from function MR.computeMeshNormals.
|
| |
|
static unsafe MR.Vector_StdArrayMRVector3f3_MRFaceId | computePerCornerNormals (MR.Const_Mesh mesh, MR.Const_UndirectedEdgeBitSet? creases) |
| | returns a vector with corner normals in every element for valid mesh faces; corner normals of adjacent triangles are equal, unless they are separated by crease edges Generated from function MR.computePerCornerNormals.
|
| |
|
static unsafe MR.Std.Optional_MRMeshOrPoints | getMeshOrPoints (MR.Const_Object? obj) |
| | constructs MeshOrPoints from ObjectMesh or ObjectPoints, otherwise returns nullopt Generated from function MR.getMeshOrPoints.
|
| |
|
static unsafe MR.Std.Optional_MRMeshOrPointsXf | getMeshOrPointsXf (MR.Const_Object? obj) |
| | Generated from function MR.getMeshOrPointsXf.
|
| |
|
static unsafe void | projectOnAll (in MR.Vector3f pt, MR.Const_AABBTreeObjects tree, float upDistLimitSq, MR.Std.Const_Function_VoidFuncFromMRObjIdMRMeshOrPointsProjectionResult callback, MR._InOpt_ObjId skipObjId=default) |
| | finds closest point on every object within given distance Generated from function MR.projectOnAll. Parameter skipObjId defaults to {}.
|
| |
|
static unsafe MR.MeshOrPoints.ProjectionResult | projectWorldPointOntoObject (in MR.Vector3f p, MR.Const_Object obj) |
| | Projects a point onto an object, in world space. Returns .valid() == false if this object type isn't projectable onto. Generated from function MR.projectWorldPointOntoObject.
|
| |
|
static unsafe MR.MeshOrPoints.ProjectionResult | projectWorldPointOntoObjectsRecursive (in MR.Vector3f p, MR.Const_Object? root=null, MR.Std._ByValue_Function_BoolFuncFromConstMRObjectRef? projectPred=null, MR.Std._ByValue_Function_BoolFuncFromConstMRObjectRef? recursePred=null) |
| | Recursively visits the objects and projects the point on each one. Returns the closest projection. If root is null, the scene root is used. Not passing SceneRoot.get() directly to avoid including that header. If projectPred is specified and false, will not project onto this object. If recursePred is specified and false, will not visit the children of this object. Generated from function MR.projectWorldPointOntoObjectsRecursive. Parameter projectPred defaults to nullptr. Parameter recursePred defaults to nullptr.
|
| |
| static unsafe MR.Std.Vector_MRFaceBitSet | findOverhangs (MR.Const_Mesh mesh, MR.Const_FindOverhangsSettings settings) |
| | Find face regions that might create overhangs.
|
| |
| static unsafe MR.MeshProjectionTransforms | createProjectionTransforms (ref MR.AffineXf3f storageXf, MR.AffineXf3f? pointXf, MR.AffineXf3f? treeXf) |
| | Creates structure with simplified transforms for projection functions, with rigidXfPoint applied to point, and nonRigidXfTree applied to tree.
|
| |
| static unsafe MR.MeshProjectionResult | findProjection (in MR.Vector3f pt, MR.Const_MeshPart mp, float? upDistLimitSq=null, MR.AffineXf3f? xf=null, float? loDistLimitSq=null, MR.Std.Const_Function_BoolFuncFromMRFaceId? validFaces=null, MR.Std.Const_Function_BoolFuncFromConstMRMeshProjectionResultRef? validProjections=null) |
| | computes the closest point on mesh (or its region) to given point
|
| |
| static unsafe MR.MeshProjectionResult | findProjectionSubtree (in MR.Vector3f pt, MR.Const_MeshPart mp, MR.Const_AABBTree tree, float? upDistLimitSq=null, MR.AffineXf3f? xf=null, float? loDistLimitSq=null, MR.Std.Const_Function_BoolFuncFromMRFaceId? validFaces=null, MR.Std.Const_Function_BoolFuncFromConstMRMeshProjectionResultRef? validProjections=null) |
| | computes the closest point on mesh (or its region) to given point
|
| |
|
static unsafe void | findBoxedTrisInBall (MR.Const_MeshPart mp, MR.Const_Ball3f ball, MR.Std.Const_Function_MRProcessingFuncFromMRFaceIdMRBall3fRef foundCallback) |
| | enumerates all triangles with bounding boxes at least partially in the ball (the triangles themselves can be fully out of ball) until callback returns Stop; the ball during enumeration can shrink (new ball is always within the previous one) but never expand Generated from function MR.findBoxedTrisInBall.
|
| |
|
static unsafe void | findTrisInBall (MR.Const_MeshPart mp, MR.Const_Ball3f ball, MR.Std.Const_Function_MRProcessingFuncFromConstMRMeshProjectionResultRefMRBall3fRef foundCallback, MR.Std.Const_Function_BoolFuncFromMRFaceId? validFaces=null) |
| | enumerates all triangles within the ball until callback returns Stop; the ball during enumeration can shrink (new ball is always within the previous one) but never expand Generated from function MR.findTrisInBall. Parameter validFaces defaults to {}.
|
| |
| static unsafe MR.Std.Optional_MRSignedDistanceToMeshResult | findSignedDistance (in MR.Vector3f pt, MR.Const_MeshPart mp, float? upDistLimitSq=null, float? loDistLimitSq=null) |
| | computes the closest point on mesh (or its region) to given point, and finds the distance with sign to it (positive - outside, negative - inside the mesh)
|
| |
| static unsafe bool | relax (MR.Mesh mesh, MR.Const_MeshRelaxParams? params_=null, MR.Std.Const_Function_BoolFuncFromFloat? cb=null) |
| | applies given number of relaxation iterations to the whole mesh ( or some region if it is specified )
|
| |
|
static unsafe bool | relax (MR.Const_MeshTopology topology, MR.VertCoords points, MR.Const_MeshRelaxParams? params_=null, MR.Std.Const_Function_BoolFuncFromFloat? cb=null) |
| | Generated from function MR.relax. Parameter params_ defaults to {}. Parameter cb defaults to {}.
|
| |
|
static unsafe MR.Vector3f | vertexPosEqualNeiAreas (MR.Const_Mesh mesh, MR.VertId v, bool noShrinkage) |
| | computes position of a vertex, when all neighbor triangles have almost equal areas, more precisely it minimizes sum_i (area_i)^2 by adjusting the position of this vertex only Generated from function MR.vertexPosEqualNeiAreas.
|
| |
|
static unsafe MR.Vector3f | vertexPosEqualNeiAreas (MR.Const_MeshTopology topology, MR.Const_VertCoords points, MR.VertId v, bool noShrinkage) |
| | Generated from function MR.vertexPosEqualNeiAreas.
|
| |
| static unsafe bool | equalizeTriAreas (MR.Mesh mesh, MR.Const_MeshEqualizeTriAreasParams? params_=null, MR.Std.Const_Function_BoolFuncFromFloat? cb=null) |
| | applies given number of iterations with movement toward vertexPosEqualNeiAreas() to the whole mesh ( or some region if it is specified )
|
| |
|
static unsafe bool | equalizeTriAreas (MR.Const_MeshTopology topology, MR.VertCoords points, MR.Const_MeshEqualizeTriAreasParams? params_=null, MR.Std.Const_Function_BoolFuncFromFloat? cb=null) |
| | Generated from function MR.equalizeTriAreas. Parameter params_ defaults to {}. Parameter cb defaults to {}.
|
| |
| static unsafe bool | relaxKeepVolume (MR.Mesh mesh, MR.Const_MeshRelaxParams? params_=null, MR.Std.Const_Function_BoolFuncFromFloat? cb=null) |
| | applies given number of relaxation iterations to the whole mesh ( or some region if it is specified )
do not really keeps volume but tries hard
|
| |
|
static unsafe bool | relaxKeepVolume (MR.Const_MeshTopology topology, MR.VertCoords points, MR.Const_MeshRelaxParams? params_=null, MR.Std.Const_Function_BoolFuncFromFloat? cb=null) |
| | Generated from function MR.relaxKeepVolume. Parameter params_ defaults to {}. Parameter cb defaults to {}.
|
| |
| static unsafe bool | relaxApprox (MR.Mesh mesh, MR.Const_MeshApproxRelaxParams? params_=null, MR.Std.Const_Function_BoolFuncFromFloat? cb=null) |
| | applies given number of relaxation iterations to the whole mesh ( or some region if it is specified ) approx neighborhoods
|
| |
|
static unsafe bool | relaxApprox (MR.Const_MeshTopology topology, MR.VertCoords points, MR.Const_MeshApproxRelaxParams? params_=null, MR.Std.Const_Function_BoolFuncFromFloat? cb=null) |
| | Generated from function MR.relaxApprox. Parameter params_ defaults to {}. Parameter cb defaults to {}.
|
| |
|
static unsafe void | removeSpikes (MR.Mesh mesh, int maxIterations, float minSumAngle, MR.Const_VertBitSet? region=null) |
| | applies at most given number of relaxation iterations the spikes detected by given threshold Generated from function MR.removeSpikes.
|
| |
|
static unsafe void | removeSpikes (MR.Const_MeshTopology topology, MR.VertCoords points, int maxIterations, float minSumAngle, MR.Const_VertBitSet? region=null) |
| | Generated from function MR.removeSpikes.
|
| |
| static unsafe void | smoothRegionBoundary (MR.Mesh mesh, MR.Const_FaceBitSet regionFaces, int? numIters=null) |
| | given a region of faces on the mesh, moves boundary vertices of the region to make the region contour much smoother with minor optimization of mesh topology near region boundary;
|
| |
|
static unsafe void | hardSmoothTetrahedrons (MR.Mesh mesh, MR.Const_VertBitSet? region=null) |
| | move all region vertices with exactly three neighbor vertices in the center of the neighbors Generated from function MR.hardSmoothTetrahedrons.
|
| |
|
static unsafe void | hardSmoothTetrahedrons (MR.Const_MeshTopology topology, MR.VertCoords points, MR.Const_VertBitSet? region=null) |
| | Generated from function MR.hardSmoothTetrahedrons.
|
| |
|
static unsafe void | replicateZ (MR.Mesh m, MR.Const_Mesh target) |
| | adjusts z-coordinates of (m) vertices to make adjusted (m) similar to (target) Generated from function MR.replicateZ.
|
| |
| static unsafe int | subdivideMesh (MR.Mesh mesh, MR.Const_SubdivideSettings? settings=null) |
| | splits edges in mesh region according to the settings;
|
| |
| static unsafe int | subdivideMesh (MR.ObjectMeshData data, MR.Const_SubdivideSettings settings) |
| | subdivides mesh with per-element attributes according to given settings; \detail if settings.region is not null, then given region must be a subset of current face selection or face selection must absent
|
| |
|
static unsafe MR.Mesh | copySubdividePackMesh (MR.Const_MeshPart mp, float voxelSize, MR.Std.Const_Function_BoolFuncFromFloat? cb=null) |
| | creates a copy of given mesh part, subdivides it to get rid of too long edges compared with voxelSize, then packs resulting mesh, this is called typically in preparation for 3D space sampling with voxelSize step, and subdivision is important for making leaves of AABB tree not too big compared with voxelSize Generated from function MR.copySubdividePackMesh. Parameter cb defaults to {}.
|
| |
|
static unsafe MR.ObjectMeshData | makeSubdividedObjectMeshData (MR.Const_ObjectMesh obj, MR.Const_SubdivideSettings settings) |
| | returns the data of subdivided mesh given ObjectMesh (which remains unchanged) and subdivision parameters Generated from function MR.makeSubdividedObjectMeshData.
|
| |
|
static unsafe MR.Std.Function_VoidFuncFromMREdgeIdMREdgeId | meshOnEdgeSplitAttribute (MR.Const_Mesh mesh, MR.Const_MeshAttributesToUpdate params_) |
| | auto uvCoords = obj_->getUVCoords(); auto texturePerFace = obj_->getTexturePerFace(); MeshAttributesToUpdate meshParams; if ( !uvCoords.empty() ) meshParams.uvCoords = &uvCoords; if ( !texturePerFace.empty() ) meshParams.texturePerFace = &texturePerFace; subs.onEdgeSplit = meshOnEdgeSplitAttribute( *obj_->varMesh(), meshParams ); subdivideMesh( *obj_->varMesh(), subs ); Generated from function MR.meshOnEdgeSplitAttribute.
|
| |
|
static unsafe MR.Std.Function_VoidFuncFromMREdgeIdMREdgeId | meshOnEdgeSplitVertAttribute (MR.Const_Mesh mesh, MR.Const_MeshAttributesToUpdate params_) |
| | Generated from function MR.meshOnEdgeSplitVertAttribute.
|
| |
|
static unsafe MR.Std.Function_VoidFuncFromMREdgeIdMREdgeId | meshOnEdgeSplitFaceAttribute (MR.Const_Mesh mesh, MR.Const_MeshAttributesToUpdate params_) |
| | Generated from function MR.meshOnEdgeSplitFaceAttribute.
|
| |
|
static unsafe MR.Std.Optional_MRVertScalars | computeRayThicknessAtVertices (MR.Const_Mesh mesh, MR.Std.Const_Function_BoolFuncFromFloat? progress=null) |
| | returns the distance from each vertex along minus normal to the nearest mesh intersection (or FLT_MAX if no intersection found) Generated from function MR.computeRayThicknessAtVertices. Parameter progress defaults to {}.
|
| |
|
static unsafe MR.MeshIntersectionResult | rayInsideIntersect (MR.Const_Mesh mesh, MR.Const_MeshPoint m, float? rayEnd=null) |
| | returns the nearest intersection between the mesh and the ray from given point along minus normal (inside the mesh) Generated from function MR.rayInsideIntersect. Parameter rayEnd defaults to 3.40282347e38f.
|
| |
|
static unsafe MR.MeshIntersectionResult | rayInsideIntersect (MR.Const_Mesh mesh, MR.VertId v, float? rayEnd=null) |
| | Generated from function MR.rayInsideIntersect. Parameter rayEnd defaults to 3.40282347e38f.
|
| |
|
static unsafe MR.InSphere | findInSphere (MR.Const_Mesh mesh, MR.Const_MeshPoint m, MR.Const_InSphereSearchSettings settings) |
| | finds maximal sphere inscribed in the mesh touching point (p) with center along the normal at (p) Generated from function MR.findInSphere.
|
| |
|
static unsafe MR.InSphere | findInSphere (MR.Const_Mesh mesh, MR.VertId v, MR.Const_InSphereSearchSettings settings) |
| | Generated from function MR.findInSphere.
|
| |
|
static unsafe MR.Std.Optional_MRVertScalars | computeInSphereThicknessAtVertices (MR.Const_Mesh mesh, MR.Const_InSphereSearchSettings settings, MR.Std.Const_Function_BoolFuncFromFloat? progress=null) |
| | returns the thickness at each vertex as the diameter of the maximal inscribed sphere Generated from function MR.computeInSphereThicknessAtVertices. Parameter progress defaults to {}.
|
| |
|
static unsafe MR.PointCloud | meshToPointCloud (MR.Const_Mesh mesh, bool? saveNormals=null, MR.Const_VertBitSet? verts=null) |
| | Mesh to PointCloud Generated from function MR.meshToPointCloud. Parameter saveNormals defaults to true.
|
| |
| static unsafe MR.FaceBitSet | subdivideWithPlane (MR.Mesh mesh, MR.Const_Plane3f plane, MR.Phmap.FlatHashMap_MRFaceId_MRFaceId? new2Old=null, float? eps=null, MR.Std._ByValue_Function_VoidFuncFromMREdgeIdMREdgeIdFloat? onEdgeSplitCallback=null) |
| | subdivides all triangles intersected by given plane, leaving smaller triangles that only touch the plane;
|
| |
| static unsafe void | trimWithPlane (MR.Mesh mesh, MR.Const_TrimWithPlaneParams params_, MR.Const_TrimOptionalOutput? optOut=null) |
| | trim mesh by plane This function cuts mesh with plane, leaving only part of mesh that lay in positive direction of normal
|
| |
|
static unsafe bool | same (MR.Const_MeshTopology topology, MR.Const_MeshTriPoint lhs, MR.Const_MeshTriPoint rhs) |
| | returns true if two points are equal considering different representations Generated from function MR.same.
|
| |
|
static unsafe bool | fromSameTriangle (MR.Const_MeshTopology topology, MR.MeshTriPoint a, MR.MeshTriPoint b) |
| | returns true if points a and b are located insides or on a boundary of the same triangle; if true a.e and b.e are updated to have that triangle on the left Generated from function MR.fromSameTriangle.
|
| |
|
static unsafe bool | fromSameTriangle (MR.Const_MeshTopology topology, MR.Misc._Moved< MR.MeshTriPoint > a, MR.Misc._Moved< MR.MeshTriPoint > b) |
| | returns true if points a and b are located insides or on a boundary of the same triangle; if true a.e and b.e are updated to have that triangle on the left Generated from function MR.fromSameTriangle.
|
| |
|
static unsafe MR.MeshTriPoint | getVertexAsMeshTriPoint (MR.Const_MeshTopology topology, MR.EdgeId e, MR.VertId v) |
| | returns MeshTriPoint representation of given vertex with given edge field; or invalid MeshTriPoint if it is not possible Generated from function MR.getVertexAsMeshTriPoint.
|
| |
|
static unsafe MR.LoadedObjectT | fromSceneMison (string path, MR.Std.Const_Function_BoolFuncFromFloat? callback=null) |
| | load scene from MISON file
JSON file with array named "Objects" or root array:
element fields:
"Filename" : required full path to file for loading object "XF": optional xf for loaded object "Name": optional name for loaded object Generated from function MR.fromSceneMison. Parameter callback defaults to {}.
|
| |
|
static unsafe MR.LoadedObjectT | fromSceneMison (MR.Std.Istream in_, MR.Std.Const_Function_BoolFuncFromFloat? callback=null) |
| | Generated from function MR.fromSceneMison. Parameter callback defaults to {}.
|
| |
|
static unsafe MR.Mesh | makeMovementBuildBody (MR.Std.Const_Vector_StdVectorMRVector3f body, MR.Std.Const_Vector_StdVectorMRVector3f trajectory, MR.Const_MovementBuildBodyParams? params_=null) |
| | makes mesh by moving body along trajectory if allowRotation rotate it in corners Generated from function MR.makeMovementBuildBody. Parameter params_ defaults to {}.
|
| |
|
static unsafe void | updateGroupPairs (MR.ICPGroupPairs pairs, MR.Const_Vector_MRMeshOrPointsXf_MRObjId objs, MR.Std._ByValue_Function_VoidFuncFromConstMRVector3fRefMRMeshOrPointsProjectionResultRefMRObjIdRef srcProjector, MR.Std._ByValue_Function_VoidFuncFromConstMRVector3fRefMRMeshOrPointsProjectionResultRefMRObjIdRef tgtProjector, float cosThreshold, float distThresholdSq, bool mutualClosest) |
| | in each pair updates the target data and performs basic filtering (activation) Generated from function MR.updateGroupPairs.
|
| |
| static unsafe void | denoiseNormals (MR.Const_Mesh mesh, MR.FaceNormals normals, MR.Const_UndirectedEdgeScalars v, float gamma) |
| | Smooth face normals, given.
|
| |
| static unsafe void | updateIndicator (MR.Const_Mesh mesh, MR.UndirectedEdgeScalars v, MR.Const_FaceNormals normals, float beta, float gamma) |
| | Compute edge indicator function (1 - smooth edge, 0 - crease edge) by solving large system of linear equations.
|
| |
| static unsafe void | updateIndicatorFast (MR.Const_MeshTopology topology, MR.UndirectedEdgeScalars v, MR.Const_FaceNormals normals, float beta, float gamma) |
| | Compute edge indicator function (1 - smooth edge, 0 - crease edge) by approximation without solving the system of linear equations.
|
| |
|
static unsafe void | meshDenoiseViaNormals (MR.Mesh mesh, MR.Const_DenoiseViaNormalsSettings? settings=null) |
| | Reduces noise in given mesh, see the article "Mesh Denoising via a Novel Mumford-Shah Framework" Generated from function MR.meshDenoiseViaNormals. Parameter settings defaults to {}.
|
| |
|
static unsafe MR.Std.StringView | toString (MR.DimensionsVisualizePropertyType value) |
| | Generated from function MR.toString.
|
| |
|
static unsafe MR.Object | createObject (string className) |
| | the function to create new object instance by registered class name Generated from function MR.createObject.
|
| |
|
static unsafe MR.ObjectLines | merge (MR.Std.Const_Vector_StdSharedPtrMRObjectLines objsLines) |
| | constructs new ObjectLines containing the union of valid data from all input objects Generated from function MR.merge.
|
| |
|
static unsafe MR.ObjectLines | cloneRegion (MR.Const_ObjectLines objLines, MR.Const_UndirectedEdgeBitSet region) |
| | constructs new ObjectLines containing the region of data from input object Generated from function MR.cloneRegion.
|
| |
|
static unsafe MR.LoadedObjectT_MRObjectMesh | makeObjectMeshFromFile (string file, MR.Std.Const_Function_BoolFuncFromFloat? cb=null) |
| | loads mesh from given file in new object Generated from function MR.makeObjectMeshFromFile. Parameter cb defaults to {}.
|
| |
|
static unsafe MR.LoadedObjectT | makeObjectFromMeshFile (string file, MR.Std.Const_Function_BoolFuncFromFloat? cb=null, bool? returnOnlyMesh=null) |
| | loads data from given file and makes either ObjectMesh, ObjectLines or ObjectPoints (if the file has points or edges but not faces) Generated from function MR.makeObjectFromMeshFile. Parameter cb defaults to {}. Parameter returnOnlyMesh defaults to false.
|
| |
|
static unsafe MR.ObjectLines | makeObjectLinesFromFile (string file, MR.Std._ByValue_Function_BoolFuncFromFloat? callback=null) |
| | loads lines from given file in new object Generated from function MR.makeObjectLinesFromFile. Parameter callback defaults to {}.
|
| |
|
static unsafe MR.ObjectPoints | makeObjectPointsFromFile (string file, MR.Std._ByValue_Function_BoolFuncFromFloat? callback=null) |
| | loads points from given file in new object Generated from function MR.makeObjectPointsFromFile. Parameter callback defaults to {}.
|
| |
|
static unsafe MR.ObjectDistanceMap | makeObjectDistanceMapFromFile (string file, MR.Std._ByValue_Function_BoolFuncFromFloat? callback=null) |
| | loads distance map from given file in new object Generated from function MR.makeObjectDistanceMapFromFile. Parameter callback defaults to {}.
|
| |
|
static unsafe MR.ObjectGcode | makeObjectGcodeFromFile (string file, MR.Std._ByValue_Function_BoolFuncFromFloat? callback=null) |
| | loads gcode from given file in new object Generated from function MR.makeObjectGcodeFromFile. Parameter callback defaults to {}.
|
| |
| static unsafe MR.LoadedObjects | loadObjectFromFile (string filename, MR.Std.Const_Function_BoolFuncFromFloat? callback=null) |
| | load all objects (or any type: mesh, lines, points, voxels or scene) from file
|
| |
|
static unsafe bool | isSupportedFileInSubfolders (string folder) |
| | Generated from function MR.isSupportedFileInSubfolders.
|
| |
|
static unsafe MR.LoadedObjectT | loadSceneFromAnySupportedFormat (string path, MR.Std.Const_Function_BoolFuncFromFloat? callback=null) |
| | Generated from function MR.loadSceneFromAnySupportedFormat. Parameter callback defaults to {}.
|
| |
| static unsafe MR.LoadedObjectT | deserializeObjectTree (string path, MR.Std.Const_Function_VoidFuncFromConstStdFilesystemPathRef? postDecompress=null, MR.Std.Const_Function_BoolFuncFromFloat? progressCb=null) |
| | loads objects tree from given scene file (zip/mru)
|
| |
| static unsafe MR.LoadedObjectT | deserializeObjectTreeFromFolder (string folder, MR.Std.Const_Function_BoolFuncFromFloat? progressCb=null) |
| | loads objects tree from given scene folder
|
| |
|
static unsafe MR.Std.Vector_MRIOFilter | getAllFilters () |
| | returns filters for all supported file formats for all types of objects Generated from function MR.getAllFilters.
|
| |
|
static unsafe MR.ObjectMesh | merge (MR.Std.Const_Vector_StdSharedPtrMRObjectMesh objsMesh, MR.Const_ObjectMeshMergeOptions? options=null) |
| | constructs new ObjectMesh containing the union of valid data from all input objects Generated from function MR.merge. Parameter options defaults to {}.
|
| |
|
static unsafe MR.ObjectMesh | cloneRegion (MR.Const_ObjectMesh objMesh, MR.Const_FaceBitSet region, bool? copyTexture=null) |
| | constructs new ObjectMesh containing the region of data from input object does not copy selection Generated from function MR.cloneRegion. Parameter copyTexture defaults to true.
|
| |
|
static unsafe MR.UndirectedEdgeBitSet | edgesBetweenDifferentColors (MR.Const_MeshTopology topology, MR.Const_FaceColors colors) |
| | return all edges separating faces with different colors Generated from function MR.edgesBetweenDifferentColors.
|
| |
|
static unsafe MR.Std.Const_String | defaultSerializeMeshFormat () |
| | returns file extension used to serialize ObjectMeshHolder by default (if not overridden in specific object), the string starts with '.' Generated from function MR.defaultSerializeMeshFormat.
|
| |
|
static unsafe void | setDefaultSerializeMeshFormat (string newFormat) |
| | sets file extension used to serialize serialize ObjectMeshHolder by default (if not overridden in specific object), the string must start from '.'; Generated from function MR.setDefaultSerializeMeshFormat.
|
| |
|
static unsafe MR.ObjectPoints | merge (MR.Std.Const_Vector_StdSharedPtrMRObjectPoints objsPoints) |
| | constructs new ObjectPoints containing the union of valid points from all input objects Generated from function MR.merge.
|
| |
|
static unsafe MR.ObjectPoints | cloneRegion (MR.Const_ObjectPoints objPoints, MR.Const_VertBitSet region) |
| | constructs new ObjectPoints containing the region of data from input object does not copy selection Generated from function MR.cloneRegion.
|
| |
| static unsafe MR.ObjectPoints | pack (MR.Const_ObjectPoints pts, MR.Reorder reorder, MR.VertBitSet? newValidVerts=null, MR.Std.Const_Function_BoolFuncFromFloat? cb=null) |
| | constructs new ObjectPoints containing the packed version of input points,
|
| |
|
static unsafe MR.Std.Const_String | defaultSerializePointsFormat () |
| | returns file extension used to serialize ObjectPointsHolder by default (if not overridden in specific object), the string starts with '.' Generated from function MR.defaultSerializePointsFormat.
|
| |
|
static unsafe void | setDefaultSerializePointsFormat (string newFormat) |
| | sets file extension used to serialize serialize ObjectPointsHolder by default (if not overridden in specific object), the string must start from '.'; Generated from function MR.setDefaultSerializePointsFormat.
|
| |
|
static unsafe MR.Object | asSelectivityType (MR._ByValueShared_Object obj, MR.ObjectSelectivityType type) |
| | if input object is of given type then returns another pointer on it Generated from function MR.asSelectivityType<MR.Object>.
|
| |
|
static unsafe MR.Std.Vector_StdSharedPtrMRObject | getAllObjectsInTree (MR.Object? root, MR.ObjectSelectivityType? type=null) |
| | Traverses tree and collect objects of given type excluding root returns vector Generated from function MR.getAllObjectsInTree<MR.Object>. Parameter type defaults to ObjectSelectivityType.Selectable.
|
| |
|
static unsafe MR.Std.Vector_StdSharedPtrMRObject | getTopmostVisibleObjects (MR.Object? root, MR.ObjectSelectivityType? type=null) |
| | Returns all topmost visible objects of given type (if an object is returned, its children are not) excluding root Generated from function MR.getTopmostVisibleObjects<MR.Object>. Parameter type defaults to ObjectSelectivityType.Selectable.
|
| |
|
static unsafe MR.Std.Vector_StdSharedPtrMRObject | getTopmostObjects (MR.Object? root, MR.ObjectSelectivityType? type=null, bool? visibilityCheck=null) |
| | Returns all topmost objects of given type (if an object is returned, its children are not) excluding root Generated from function MR.getTopmostObjects<MR.Object>. Parameter type defaults to ObjectSelectivityType.Selectable. Parameter visibilityCheck defaults to false.
|
| |
|
static unsafe MR.Object | getDepthFirstObject (MR.Object? root, MR.ObjectSelectivityType type) |
| | return first object of given type in depth-first traverse order excluding root Generated from function MR.getDepthFirstObject<MR.Object>.
|
| |
| static unsafe bool | objectHasSelectableChildren (MR.Const_Object object_, bool? recurse=null) |
| | returns whether the object has selectable children
|
| |
| static unsafe void | serializeObjectTree (MR.Const_Object object_, string path, MR.Std._ByValue_Function_VoidFuncFromConstStdFilesystemPathRef preCompress, MR.ObjectSave.Const_Settings? settings=null) |
| | saves object subtree in given scene file (zip/mru)
|
| |
|
static unsafe void | serializeObjectTree (MR.Const_Object object_, string path, MR.ObjectSave.Const_Settings? settings=null) |
| | Generated from function MR.serializeObjectTree. Parameter settings defaults to {}.
|
| |
|
static unsafe MR.Std.Vector_StdVectorMRVector2f | offsetContours (MR.Std.Const_Vector_StdVectorMRVector2f contours, float offset, MR.Const_OffsetContoursParams? params_=null) |
| | offsets 2d contours in plane Generated from function MR.offsetContours. Parameter params_ defaults to {}.
|
| |
|
static unsafe MR.Std.Vector_StdVectorMRVector2f | offsetContours (MR.Std.Const_Vector_StdVectorMRVector2f contours, MR.Std._ByValue_Function_FloatFuncFromIntInt offset, MR.Const_OffsetContoursParams? params_=null) |
| | offsets 2d contours in plane Generated from function MR.offsetContours. Parameter params_ defaults to {}.
|
| |
|
static unsafe MR.Std.Vector_StdVectorMRVector3f | offsetContours (MR.Std.Const_Vector_StdVectorMRVector3f contours, float offset, MR.Const_OffsetContoursParams? params_=null, MR.Const_OffsetContoursRestoreZParams? zParmas=null) |
| | offsets 3d contours in XY plane Generated from function MR.offsetContours. Parameter params_ defaults to {}. Parameter zParmas defaults to {}.
|
| |
|
static unsafe MR.Std.Vector_StdVectorMRVector3f | offsetContours (MR.Std.Const_Vector_StdVectorMRVector3f contours, MR.Std._ByValue_Function_FloatFuncFromIntInt offset, MR.Const_OffsetContoursParams? params_=null, MR.Const_OffsetContoursRestoreZParams? zParmas=null) |
| | offsets 3d contours in XY plane Generated from function MR.offsetContours. Parameter params_ defaults to {}. Parameter zParmas defaults to {}.
|
| |
| static unsafe bool | offsetVerts (MR.Mesh mesh, MR.Std.Const_Function_FloatFuncFromMRVertId offset, MR.Std.Const_Function_BoolFuncFromFloat? cb=null) |
| | Modifies mesh shifting each vertex along its pseudonormal by the corresponding offset.
|
| |
|
static unsafe MR.Mesh | makeThickMesh (MR.Const_Mesh m, MR.Const_ThickenParams params_) |
| | given a mesh m, representing a surface, creates new closed mesh by cloning mirrored mesh, and shifting original part and cloned part in different directions according to params, if original mesh was open then stitches corresponding boundaries of two parts Generated from function MR.makeThickMesh.
|
| |
| static unsafe bool | zCompensate (MR.Mesh mesh, MR.Const_ZCompensateParams params_) |
| | For 3D printers: shifts every vertex with normal having negative projection on Z-axis, along Z-axis; mesh's topology is preserved unchanged.
|
| |
|
static unsafe MR.Std.Optional_MRVertScalars | findZcompensationShifts (MR.Const_Mesh mesh, MR.Const_ZCompensateParams params_) |
| | finds the shift along z-axis for each vertex without modifying the mesh Generated from function MR.findZcompensationShifts.
|
| |
|
static unsafe MR.Std.Optional_MRVertCoords | findZcompensatedPositions (MR.Const_Mesh mesh, MR.Const_ZCompensateParams params_) |
| | finds vertices positions of the mesh after z-compensation without modifying the mesh Generated from function MR.findZcompensatedPositions.
|
| |
|
static unsafe void | subdivideLoneContours (MR.Mesh mesh, MR.Std.Const_Vector_MROneMeshContour contours, MR.Phmap.FlatHashMap_MRFaceId_MRFaceId? new2oldMap=null) |
| | Generated from function MR.subdivideLoneContours.
|
| |
|
static unsafe void | getOneMeshIntersectionContours (MR.Const_Mesh meshA, MR.Const_Mesh meshB, MR.Std.Const_Vector_StdVectorMRVarEdgeTri contours, MR.Std.Vector_MROneMeshContour? outA, MR.Std.Vector_MROneMeshContour? outB, MR.Const_CoordinateConverters converters, MR.AffineXf3f? rigidB2A=null, MR.Std.Vector_StdVectorMRVector3f? outPtsA=null, bool? addSelfyTerminalVerts=null) |
| | Converts contours given in topological terms as the intersections of one mesh's edge and another mesh's triangle (ContinuousContours), into contours of meshA and/or meshB given as a sequence of (primitiveId and Cartesian coordinates); converters are required for better precision in case of degenerations; note that contours should not have intersections Generated from function MR.getOneMeshIntersectionContours. Parameter addSelfyTerminalVerts defaults to false.
|
| |
|
static unsafe MR.Std.Vector_MROneMeshContour | getOneMeshSelfIntersectionContours (MR.Const_Mesh mesh, MR.Std.Const_Vector_StdVectorMRVarEdgeTri contours, MR.Const_CoordinateConverters converters, MR.AffineXf3f? rigidB2A=null) |
| | Generated from function MR.getOneMeshSelfIntersectionContours.
|
| |
|
static unsafe MR.Std.Vector_StdVectorMRVector3f | extractMeshContours (MR.Std.Const_Vector_MROneMeshContour meshContours) |
| | Generated from function MR.extractMeshContours.
|
| |
| static unsafe MR.OneMeshContour | convertMeshTriPointsToMeshContour (MR.Const_Mesh mesh, MR.Std.Const_Vector_MRMeshTriPoint surfaceLine, MR.Const_SearchPathSettings? searchSettings=null, MR.Std.Vector_Int? pivotIndices=null) |
| | Makes continuous contour by mesh tri points, if first and last meshTriPoint is the same, makes closed contour Finds shortest paths between neighbor surfaceLine and build contour MR.cutMesh input.
|
| |
| static unsafe MR.OneMeshContour | convertMeshTriPointsToClosedContour (MR.Const_Mesh mesh, MR.Std.Const_Vector_MRMeshTriPoint surfaceLine, MR.Const_SearchPathSettings? searchSettings=null, MR.Std.Vector_Int? pivotIndices=null) |
| | Makes closed continuous contour by mesh tri points, note that first and last meshTriPoint should not be same Finds shortest paths between neighbor surfaceLine and build closed contour MR.cutMesh input.
|
| |
|
static unsafe MR.OneMeshContour | convertSurfacePathWithEndsToMeshContour (MR.Const_Mesh mesh, MR.Const_MeshTriPoint start, MR.Std.Const_Vector_MREdgePoint surfacePath, MR.Const_MeshTriPoint end) |
| | Converts SurfacePath to OneMeshContours Creates MR.OneMeshContour object from given surface path with ends for MR.cutMesh input start and surfacePath.front() should be from same face surfacePath.back() and end should be from same face note that whole path (including start and end) should not have self-intersections also following case is not supported (vertex -> edge (incident with vertex)): vert path edge point path edge end o-------—o- – – – – O \ \ / \ \ / \ \ / \/ o path Generated from function MR.convertSurfacePathWithEndsToMeshContour.
|
| |
|
static unsafe MR.Std.Vector_MROneMeshContour | convertSurfacePathsToMeshContours (MR.Const_Mesh mesh, MR.Std.Const_Vector_StdVectorMREdgePoint surfacePaths) |
| | Converts SurfacePaths to OneMeshContours Creates MR.OneMeshContours object from given surface paths for MR.cutMesh input Generated from function MR.convertSurfacePathsToMeshContours.
|
| |
|
static unsafe MR.FaceBMap | getOptimalFaceOrdering (MR.Const_Mesh mesh) |
| | computes optimal order of faces: old face id -> new face id, the order is similar as in AABB tree, but faster to compute Generated from function MR.getOptimalFaceOrdering.
|
| |
| static unsafe MR.VertBMap | getVertexOrdering (MR.Const_FaceBMap faceMap, MR.Const_MeshTopology topology) |
| | compute the order of vertices given the order of faces: vertices near first faces also appear first;
|
| |
| static unsafe MR.UndirectedEdgeBMap | getEdgeOrdering (MR.Const_FaceBMap faceMap, MR.Const_MeshTopology topology) |
| | compute the order of edges given the order of faces: edges near first faces also appear first;
|
| |
|
static MR.OutlierTypeMask | bitand (MR.OutlierTypeMask a, MR.OutlierTypeMask b) |
| | Generated from function MR.operator&.
|
| |
|
static MR.OutlierTypeMask | bitor (MR.OutlierTypeMask a, MR.OutlierTypeMask b) |
| | Generated from function MR.operator|.
|
| |
|
static MR.OutlierTypeMask | compl (MR.OutlierTypeMask a) |
| | Generated from function MR.operator~.
|
| |
|
static unsafe ref MR.OutlierTypeMask | bitandAssign (ref MR.OutlierTypeMask a, MR.OutlierTypeMask b) |
| | Generated from function MR.operator&=.
|
| |
|
static unsafe ref MR.OutlierTypeMask | bitorAssign (ref MR.OutlierTypeMask a, MR.OutlierTypeMask b) |
| | Generated from function MR.operator|=.
|
| |
|
static MR.OutlierTypeMask | mul (MR.OutlierTypeMask a, bool b) |
| | Generated from function MR.operator*.
|
| |
|
static MR.OutlierTypeMask | mul (bool a, MR.OutlierTypeMask b) |
| | Generated from function MR.operator*.
|
| |
|
static unsafe ref MR.OutlierTypeMask | mulAssign (ref MR.OutlierTypeMask a, bool b) |
| | Generated from function MR.operator*=.
|
| |
|
static unsafe MR.VertBitSet | findOutliers (MR.Const_PointCloud pc, MR.Const_FindOutliersParams params_) |
| | Finding outlier points Generated from function MR.findOutliers.
|
| |
|
static unsafe MR.FaceBitSet | findOverlappingTris (MR.Const_MeshPart mp, MR.Const_FindOverlappingSettings settings) |
| | finds all triangles that have oppositely oriented close triangle in the mesh Generated from function MR.findOverlappingTris.
|
| |
|
static unsafe MR.VertCoords | loadPly (MR.Std.Istream in_, MR.Const_PlyLoadParams params_) |
| | Generated from function MR.loadPly.
|
| |
| static unsafe float | findMaxDistanceSqOneWay (MR.Const_PointCloud a, MR.Const_PointCloud b, MR.AffineXf3f? rigidB2A=null, float? maxDistanceSq=null) |
| | returns the maximum of the squared distances from each B-point to A-cloud
|
| |
| static unsafe float | findMaxDistanceSq (MR.Const_PointCloud a, MR.Const_PointCloud b, MR.AffineXf3f? rigidB2A=null, float? maxDistanceSq=null) |
| | returns the squared Hausdorff distance between two point clouds, that is the maximum of squared distances from each point to the other cloud (in both directions)
|
| |
| static unsafe MR.VertBitSet | findHalfSpacePoints (MR.Const_PointCloud pc, MR.Const_Plane3f plane) |
| |
| static unsafe MR.PointCloud | divideWithPlane (MR.Const_PointCloud points, MR.Const_Plane3f plane, MR.Const_DividePointCloudOptionalOutput? optOut=null) |
| | This function cuts a point cloud with a plane, leaving only the part of mesh that lay in positive direction of normal.
|
| |
| static unsafe MR.Std.Optional_MRVertCoords | makeUnorientedNormals (MR.Const_PointCloud pointCloud, float radius, MR.Std.Const_Function_BoolFuncFromFloat? progress=null, MR.OrientNormals? orient=null) |
| | Makes normals for valid points of given point cloud by directing them along the normal of best plane through the neighbours.
|
| |
| static unsafe MR.Std.Optional_MRVertCoords | makeUnorientedNormals (MR.Const_PointCloud pointCloud, MR.Const_AllLocalTriangulations triangs, MR.Std.Const_Function_BoolFuncFromFloat? progress=null, MR.OrientNormals? orient=null) |
| | Makes normals for valid points of given point cloud by averaging neighbor triangle normals weighted by triangle's angle \triangs triangulation neighbours of each point.
|
| |
| static unsafe MR.Std.Optional_MRVertCoords | makeUnorientedNormals (MR.Const_PointCloud pointCloud, MR.Const_Buffer_MRVertId closeVerts, int numNei, MR.Std.Const_Function_BoolFuncFromFloat? progress=null, MR.OrientNormals? orient=null) |
| | Makes normals for valid points of given point cloud by directing them along the normal of best plane through the neighbours.
|
| |
| static unsafe bool | orientNormals (MR.Const_PointCloud pointCloud, MR.VertCoords normals, float radius, MR.Std.Const_Function_BoolFuncFromFloat? progress=null) |
| | Select orientation of given normals to make directions of close points consistent;.
|
| |
| static unsafe bool | orientNormals (MR.Const_PointCloud pointCloud, MR.VertCoords normals, MR.Const_AllLocalTriangulations triangs, MR.Std.Const_Function_BoolFuncFromFloat? progress=null) |
| | Select orientation of given normals to make directions of close points consistent;.
|
| |
| static unsafe bool | orientNormals (MR.Const_PointCloud pointCloud, MR.VertCoords normals, MR.Const_Buffer_MRVertId closeVerts, int numNei, MR.Std.Const_Function_BoolFuncFromFloat? progress=null) |
| | Select orientation of given normals to make directions of close points consistent;.
|
| |
| static unsafe MR.Std.Optional_MRVertCoords | makeOrientedNormals (MR.Const_PointCloud pointCloud, float radius, MR.Std.Const_Function_BoolFuncFromFloat? progress=null) |
| | Makes normals for valid points of given point cloud; directions of close points are selected to be consistent;.
|
| |
| static unsafe MR.Std.Optional_MRVertCoords | makeOrientedNormals (MR.Const_PointCloud pointCloud, MR.AllLocalTriangulations triangs, MR.Std.Const_Function_BoolFuncFromFloat? progress=null) |
| | Makes normals for valid points of given point cloud; directions of close points are selected to be consistent; \triangs triangulation neighbours of each point, which are oriented during the call as well.
|
| |
| static unsafe MR.VertCoords | makeNormals (MR.Const_PointCloud pointCloud, int? avgNeighborhoodSize=null) |
| | Makes consistent normals for valid points of given point cloud.
|
| |
| static unsafe float | findAvgPointsRadius (MR.Const_PointCloud pointCloud, int avgPoints, int? samples=null) |
| | Finds the radius of ball, so on average that ball contained avgPoints excluding the central point.
|
| |
|
static unsafe bool | dilateRegion (MR.Const_PointCloud pointCloud, MR.VertBitSet region, float dilation, MR.Std._ByValue_Function_BoolFuncFromFloat? cb=null, MR.AffineXf3f? xf=null) |
| | expands the region on given euclidian distance. returns false if callback also returns false Generated from function MR.dilateRegion. Parameter cb defaults to {}.
|
| |
|
static unsafe bool | erodeRegion (MR.Const_PointCloud pointCloud, MR.VertBitSet region, float erosion, MR.Std._ByValue_Function_BoolFuncFromFloat? cb=null, MR.AffineXf3f? xf=null) |
| | shrinks the region on given euclidian distance. returns false if callback also returns false Generated from function MR.erodeRegion. Parameter cb defaults to {}.
|
| |
| static unsafe bool | relax (MR.PointCloud pointCloud, MR.Const_PointCloudRelaxParams? params_=null, MR.Std._ByValue_Function_BoolFuncFromFloat? cb=null) |
| | applies given number of relaxation iterations to the whole pointCloud ( or some region if it is specified )
|
| |
| static unsafe bool | relaxKeepVolume (MR.PointCloud pointCloud, MR.Const_PointCloudRelaxParams? params_=null, MR.Std._ByValue_Function_BoolFuncFromFloat? cb=null) |
| | applies given number of relaxation iterations to the whole pointCloud ( or some region if it is specified ) do not really keeps volume but tries hard
|
| |
| static unsafe bool | relaxApprox (MR.PointCloud pointCloud, MR.Const_PointCloudApproxRelaxParams? params_=null, MR.Std._ByValue_Function_BoolFuncFromFloat? cb=null) |
| | applies given number of relaxation iterations to the whole pointCloud ( or some region if it is specified ) approx neighborhoods
|
| |
| static unsafe MR.Std.Optional_MRMesh | triangulatePointCloud (MR.Const_PointCloud pointCloud, MR.Const_TriangulationParameters? params_=null, MR.Std.Const_Function_BoolFuncFromFloat? progressCb=null) |
| | Creates mesh from given point cloud according params Returns empty optional if was interrupted by progress bar.
|
| |
| static unsafe bool | fillHolesWithExtraPoints (MR.Mesh mesh, MR.PointCloud extraPoints, MR.Const_FillHolesWithExtraPointsParams? params_=null, MR.Std.Const_Function_BoolFuncFromFloat? progressCb=null) |
| | fills the holes in the mesh by adding triangles to it with the vertices in existing boundary vertices or given extra points (in any combination)
|
| |
|
static unsafe MR.Std.Variant_StdMonostate_MRMeshTriPoint_MREdgePoint_MRVertId | pointOnObjectToPickedPoint (MR.Const_VisualObject? object_, MR.Const_PointOnObject pos) |
| | Converts PointOnObject coordinates depending on the object type to the PickedPoint variant Generated from function MR.pointOnObjectToPickedPoint.
|
| |
|
static unsafe MR.Std.Optional_MRVector3f | getPickedPointPosition (MR.Const_VisualObject object_, MR.Std.Const_Variant_StdMonostate_MRMeshTriPoint_MREdgePoint_MRVertId point) |
| | Converts given point into local coordinates of its object, returns std.nullopt if object or point is invalid, or if it does not present in the object's topology Generated from function MR.getPickedPointPosition.
|
| |
| static unsafe MR.Std.Optional_MRVector3f | getPickedPointNormal (MR.Const_VisualObject object_, MR.Std.Const_Variant_StdMonostate_MRMeshTriPoint_MREdgePoint_MRVertId point, bool? interpolated=null) |
| | Returns object normal in local coordinates at given point,.
|
| |
| static unsafe void | findPointsInBall (MR.Const_PointCloud pointCloud, MR.Const_Ball3f ball, MR.Std.Const_Function_MRProcessingFuncFromConstMRPointsProjectionResultRefConstMRVector3fRefMRBall3fRef foundCallback, MR.AffineXf3f? xf=null) |
| | Finds all valid points of pointCloud that are inside or on the surface of given ball until callback returns Stop; the ball can shrink (new ball is always within the previous one) during the search but never expand.
|
| |
| static unsafe void | findPointsInBall (MR.Const_Mesh mesh, MR.Const_Ball3f ball, MR.Std.Const_Function_MRProcessingFuncFromConstMRPointsProjectionResultRefConstMRVector3fRefMRBall3fRef foundCallback, MR.AffineXf3f? xf=null) |
| | Finds all valid vertices of the mesh that are inside or on the surface of given ball until callback returns Stop; the ball can shrink (new ball is always within the previous one) during the search but never expand.
|
| |
| static unsafe void | findPointsInBall (MR.Const_AABBTreePoints tree, MR.Const_Ball3f ball, MR.Std.Const_Function_MRProcessingFuncFromConstMRPointsProjectionResultRefConstMRVector3fRefMRBall3fRef foundCallback, MR.AffineXf3f? xf=null) |
| | Finds all points in tree that are inside or on the surface of given ball until callback returns Stop; the ball can shrink (new ball is always within the previous one) during the search but never expand.
|
| |
| static unsafe void | findPointsInBox (MR.Const_PointCloud pointCloud, in MR.Box3f box, MR.Std.Const_Function_VoidFuncFromMRVertIdConstMRVector3fRef foundCallback, MR.AffineXf3f? xf=null) |
| | Finds all valid points of pointCloud that are inside or on the surface of given box.
|
| |
| static unsafe void | findPointsInBox (MR.Const_Mesh mesh, in MR.Box3f box, MR.Std.Const_Function_VoidFuncFromMRVertIdConstMRVector3fRef foundCallback, MR.AffineXf3f? xf=null) |
| | Finds all valid vertices of the mesh that are inside or on the surface of given box.
|
| |
| static unsafe void | findPointsInBox (MR.Const_AABBTreePoints tree, in MR.Box3f box, MR.Std.Const_Function_VoidFuncFromMRVertIdConstMRVector3fRef foundCallback, MR.AffineXf3f? xf=null) |
| | Finds all points in tree that are inside or on the surface of given box.
|
| |
| static unsafe MR.PointsProjectionResult | findProjectionOnPoints (in MR.Vector3f pt, MR.Const_PointCloudPart pcp, float? upDistLimitSq=null, MR.AffineXf3f? xf=null, float? loDistLimitSq=null, MR.Std._ByValue_Function_BoolFuncFromMRVertId? skipCb=null) |
| | computes the closest point on point cloud to given point
|
| |
| static unsafe MR.PointsProjectionResult | findProjectionOnPoints (in MR.Vector3f pt, MR.Const_AABBTreePoints tree, float? upDistLimitSq=null, MR.AffineXf3f? xf=null, float? loDistLimitSq=null, MR.Const_VertBitSet? region=null, MR.Std._ByValue_Function_BoolFuncFromMRVertId? skipCb=null) |
| | computes the closest point on AABBTreePoints to given point
|
| |
| static unsafe void | findFewClosestPoints (in MR.Vector3f pt, MR.Const_PointCloud pc, MR.FewSmallest_MRPointsProjectionResult res, float? upDistLimitSq=null, MR.AffineXf3f? xf=null, float? loDistLimitSq=null) |
| | finds a number of the closest points in the cloud (as configured in
|
| |
| static unsafe MR.Buffer_MRVertId | findNClosestPointsPerPoint (MR.Const_PointCloud pc, int numNei, MR.Std.Const_Function_BoolFuncFromFloat? progress=null) |
| | finds given number of closest points (excluding itself) to each valid point in the cloud;
|
| |
|
static unsafe MR.Std.Pair_MRVertId_MRVertId | findTwoClosestPoints (MR.Const_PointCloud pc, MR.Std.Const_Function_BoolFuncFromFloat? progress=null) |
| | finds two closest points (first id < second id) in whole point cloud Generated from function MR.findTwoClosestPoints. Parameter progress defaults to {}.
|
| |
|
static unsafe MR.VertScalars | findSignedDistances (MR.Const_Mesh refMesh, MR.Const_VertCoords testPoints, MR.Const_VertBitSet? validTestPoints=null, MR.Const_MeshProjectionParameters? params_=null, MR.IPointsToMeshProjector? projector=null) |
| | Computes signed distances from given test points to the closest point on the reference mesh: positive value - outside reference mesh, negative - inside reference mesh; this method can return wrong sign if the closest point is located on self-intersecting part of the mesh Generated from function MR.findSignedDistances. Parameter params_ defaults to {}.
|
| |
|
static unsafe MR.VertScalars | findSignedDistances (MR.Const_Mesh refMesh, MR.Const_Mesh mesh, MR.Const_MeshProjectionParameters? params_=null, MR.IPointsToMeshProjector? projector=null) |
| | Computes signed distances from valid vertices of test mesh to the closest point on the reference mesh: positive value - outside reference mesh, negative - inside reference mesh; this method can return wrong sign if the closest point is located on self-intersecting part of the mesh Generated from function MR.findSignedDistances. Parameter params_ defaults to {}.
|
| |
| static unsafe MR.Std.Vector_MREdgePointPair | findCollidingEdgePairs (MR.Const_Polyline2 a, MR.Const_Polyline2 b, MR.AffineXf2f? rigidB2A=null, bool? firstIntersectionOnly=null) |
| | finds all pairs of colliding edges from two 2d polylines
|
| |
| static unsafe MR.Std.Vector_MRUndirectedEdgeUndirectedEdge | findCollidingEdges (MR.Const_Polyline2 a, MR.Const_Polyline2 b, MR.AffineXf2f? rigidB2A=null, bool? firstIntersectionOnly=null) |
| | finds all pairs of colliding edges from two 2d polylines
|
| |
| static unsafe MR.Std.Pair_MRUndirectedEdgeBitSet_MRUndirectedEdgeBitSet | findCollidingEdgesBitsets (MR.Const_Polyline2 a, MR.Const_Polyline2 b, MR.AffineXf2f? rigidB2A=null) |
| | finds bitset per polyline with colliding edges
|
| |
|
static unsafe MR.Std.Vector_MREdgePointPair | findSelfCollidingEdgePairs (MR.Const_Polyline2 polyline) |
| | finds all pairs of colliding edges from 2d polyline Generated from function MR.findSelfCollidingEdgePairs.
|
| |
|
static unsafe MR.Std.Vector_MRUndirectedEdgeUndirectedEdge | findSelfCollidingEdges (MR.Const_Polyline2 polyline) |
| | finds all pairs of colliding edges from 2d polyline Generated from function MR.findSelfCollidingEdges.
|
| |
|
static unsafe MR.UndirectedEdgeBitSet | findSelfCollidingEdgesBS (MR.Const_Polyline2 polyline) |
| | finds the union of all self-intersecting edges Generated from function MR.findSelfCollidingEdgesBS.
|
| |
| static unsafe bool | isInside (MR.Const_Polyline2 a, MR.Const_Polyline2 b, MR.AffineXf2f? rigidB2A=null) |
| | checks that arbitrary 2d polyline A is inside of closed 2d polyline B
|
| |
| static unsafe bool | isPointInsidePolyline (MR.Const_Polyline2 polyline, in MR.Vector2f point) |
| | detect if given point is inside polyline, by counting ray intersections
|
| |
|
static unsafe MR.Std.Optional_MRPolylineIntersectionResult2 | rayPolylineIntersect (MR.Const_Polyline2 polyline, MR.Const_Line2f line, float? rayStart=null, float? rayEnd=null, MR.Const_IntersectionPrecomputes2_Float? prec=null, bool? closestIntersect=null) |
| | Finds ray and polyline intersection in float-precision. rayStart and rayEnd define the interval on the ray to detect an intersection. prec can be specified to reuse some precomputations (e.g. for checking many parallel rays). Finds the closest intersection to ray origin (line param=0) or any intersection for better performance if !closestIntersect. Generated from function MR.rayPolylineIntersect. Parameter rayStart defaults to 0. Parameter rayEnd defaults to 3.40282347e38f. Parameter closestIntersect defaults to true.
|
| |
|
static unsafe MR.Std.Optional_MRPolylineIntersectionResult2 | rayPolylineIntersect (MR.Const_Polyline2 polyline, MR.Const_Line2d line, double? rayStart=null, double? rayEnd=null, MR.Const_IntersectionPrecomputes2_Double? prec=null, bool? closestIntersect=null) |
| | Finds ray and polyline intersection in double-precision. rayStart and rayEnd define the interval on the ray to detect an intersection. prec can be specified to reuse some precomputations (e.g. for checking many parallel rays). Finds the closest intersection to ray origin (line param=0) or any intersection for better performance if !closestIntersect. Generated from function MR.rayPolylineIntersect. Parameter rayStart defaults to 0. Parameter rayEnd defaults to 1.7976931348623157e308. Parameter closestIntersect defaults to true.
|
| |
|
static unsafe void | rayPolylineIntersectAll (MR.Const_Polyline2 polyline, MR.Const_Line2f line, MR.Std.Const_Function_MRProcessingFuncFromConstMREdgePointRefFloatFloatRefFloatRef callback, float? rayStart=null, float? rayEnd=null, MR.Const_IntersectionPrecomputes2_Float? prec=null) |
| | Intersects 2D ray and polyline in single-precision. Reports all intersections via given callback with the tendency to do it from ray start to ray end, but without guarantee of exact order. Generated from function MR.rayPolylineIntersectAll. Parameter rayStart defaults to 0.0f. Parameter rayEnd defaults to 3.40282347e38f.
|
| |
|
static unsafe void | rayPolylineIntersectAll (MR.Const_Polyline2 polyline, MR.Const_Line2d line, MR.Std.Const_Function_MRProcessingFuncFromConstMREdgePointRefDoubleDoubleRefDoubleRef callback, double? rayStart=null, double? rayEnd=null, MR.Const_IntersectionPrecomputes2_Double? prec=null) |
| | Intersects 2D ray and polyline in double-precision. Reports all intersections via given callback with the tendency to do it from ray start to ray end, but without guarantee of exact order. Generated from function MR.rayPolylineIntersectAll. Parameter rayStart defaults to 0.0. Parameter rayEnd defaults to 1.7976931348623157e308.
|
| |
|
static unsafe MR.DecimatePolylineResult | decimatePolyline (MR.Polyline2 polyline, MR.Const_DecimatePolylineSettings_MRVector2f? settings=null) |
| | Collapse edges in the polyline according to the settings Generated from function MR.decimatePolyline. Parameter settings defaults to {}.
|
| |
|
static unsafe MR.DecimatePolylineResult | decimatePolyline (MR.Polyline3 polyline, MR.Const_DecimatePolylineSettings_MRVector3f? settings=null) |
| | Generated from function MR.decimatePolyline. Parameter settings defaults to {}.
|
| |
|
static unsafe MR.DecimatePolylineResult | decimateContour (MR.Std.Vector_MRVector2f contour, MR.Const_DecimatePolylineSettings_MRVector2f? settings=null) |
| | Collapse edges in the contour according to the settings Generated from function MR.decimateContour. Parameter settings defaults to {}.
|
| |
|
static unsafe MR.DecimatePolylineResult | decimateContour (MR.Std.Vector_MRVector3f contour, MR.Const_DecimatePolylineSettings_MRVector3f? settings=null) |
| | Generated from function MR.decimateContour. Parameter settings defaults to {}.
|
| |
|
static unsafe MR.IteratorRange_MRPolylineUndirectedEdgeIterator | undirectedEdges (MR.Const_PolylineTopology topology) |
| | Generated from function MR.undirectedEdges.
|
| |
| static unsafe MR.PolylineProjectionResult2 | findProjectionOnPolyline2 (in MR.Vector2f pt, MR.Const_Polyline2 polyline, float? upDistLimitSq=null, MR.Misc.InOut< MR.AffineXf2f >? xf=null, float? loDistLimitSq=null) |
| | computes the closest point on polyline to given point
|
| |
| static unsafe MR.PolylineProjectionResult3 | findProjectionOnPolyline (in MR.Vector3f pt, MR.Const_Polyline3 polyline, float? upDistLimitSq=null, MR.Misc.InOut< MR.AffineXf3f >? xf=null, float? loDistLimitSq=null) |
| | computes the closest point on polyline to given point
|
| |
| static unsafe MR.PolylineProjectionResult3Arg | findMaxProjectionOnPolyline (MR.Const_VertCoords points, MR.Const_Polyline3 polyline, MR.Const_VertBitSet? pointsRegion=null, MR.Misc.InOut< MR.AffineXf3f >? xf=null, float? loDistLimitSq=null) |
| | for each of points (pointsRegion) computes the closest point on polyline and returns the point for which maximum distance is reached,
|
| |
| static unsafe MR.PolylineProjectionResult3 | findProjectionOnPolyline (MR.Const_Line3f ln, MR.Const_Polyline3 polyline, float? upDistLimitSq=null, MR.Misc.InOut< MR.AffineXf3f >? xf=null, float? loDistLimitSq=null) |
| | computes the closest point on polyline to given straight line
|
| |
| static unsafe MR.Polyline2ProjectionWithOffsetResult | findProjectionOnPolyline2WithOffset (in MR.Vector2f pt, MR.Const_Polyline2 polyline, MR.Const_UndirectedEdgeScalars offsetPerEdge, float? upDistLimit=null, MR.Misc.InOut< MR.AffineXf2f >? xf=null, float? loDistLimit=null) |
| | computes the closest point on polyline to given point, respecting each edge offset
|
| |
| static unsafe MR.PolylineProjectionWithOffsetResult3 | findProjectionOnPolylineWithOffset (in MR.Vector3f pt, MR.Const_Polyline3 polyline, MR.Const_UndirectedEdgeScalars offsetPerEdge, float? upDistLimit=null, MR.Misc.InOut< MR.AffineXf3f >? xf=null, float? loDistLimit=null) |
| | computes the closest point on polyline to given point, respecting each edge offset
|
| |
|
static unsafe void | findEdgesInBall (MR.Const_Polyline2 polyline, in MR.Vector2f center, float radius, MR.Std.Const_Function_VoidFuncFromMRUndirectedEdgeIdConstMRVector2fRefFloat foundCallback, MR.Misc.InOut< MR.AffineXf2f >? xf=null) |
| | Finds all edges of given polyline that cross or touch given ball (center, radius) Generated from function MR.findEdgesInBall.
|
| |
|
static unsafe void | findEdgesInBall (MR.Const_Polyline3 polyline, in MR.Vector3f center, float radius, MR.Std.Const_Function_VoidFuncFromMRUndirectedEdgeIdConstMRVector3fRefFloat foundCallback, MR.Misc.InOut< MR.AffineXf3f >? xf=null) |
| | Finds all edges of given polyline that cross or touch given ball (center, radius) Generated from function MR.findEdgesInBall.
|
| |
|
static unsafe void | findMeshEdgesInBall (MR.Const_Mesh mesh, MR.Const_AABBTreePolyline3 tree, in MR.Vector3f center, float radius, MR.Std.Const_Function_VoidFuncFromMRUndirectedEdgeIdConstMRVector3fRefFloat foundCallback, MR.Misc.InOut< MR.AffineXf3f >? xf=null) |
| | Finds all edges of given mesh edges (specified by the tree) that cross or touch given ball (center, radius) Generated from function MR.findMeshEdgesInBall.
|
| |
| static unsafe MR.PolylineProjectionResult3 | findProjectionOnMeshEdges (in MR.Vector3f pt, MR.Const_Mesh mesh, MR.Const_AABBTreePolyline3 tree, float? upDistLimitSq=null, MR.Misc.InOut< MR.AffineXf3f >? xf=null, float? loDistLimitSq=null) |
| | computes the closest point on the mesh edges (specified by the tree) to given point
|
| |
| static unsafe MR.PolylineProjectionResult3 | findProjectionOnMeshEdges (MR.Const_Line3f ln, MR.Const_Mesh mesh, MR.Const_AABBTreePolyline3 tree, float? upDistLimitSq=null, MR.Misc.InOut< MR.AffineXf3f >? xf=null, float? loDistLimitSq=null) |
| | computes the closest point on the mesh edges (specified by the tree) to given straight line
|
| |
| static unsafe int | subdividePolyline (MR.Polyline2 polyline, MR.Const_PolylineSubdivideSettings? settings=null) |
| | Split edges in polyline according to the settings;
.
|
| |
|
static unsafe int | subdividePolyline (MR.Polyline3 polyline, MR.Const_PolylineSubdivideSettings? settings=null) |
| | Generated from function MR.subdividePolyline. Parameter settings defaults to {}.
|
| |
| static unsafe MR.UndirectedEdgeBitSet | subdivideWithPlane (MR.Polyline3 polyline, MR.Const_Plane3f plane, MR.EdgeBitSet? newPositiveEdges=null, MR.Std._ByValue_Function_VoidFuncFromMREdgeIdMREdgeIdFloat? onEdgeSplitCallback=null) |
| | This function splits edges intersected by the plane.
|
| |
| static unsafe void | trimWithPlane (MR.Polyline3 polyline, MR.Const_Plane3f plane, MR.Const_DividePolylineParameters? params_=null) |
| | This function divides polyline with a plane, leaving only part of polyline that lies in positive direction of normal.
|
| |
| static unsafe MR.Std.Vector_MREdgeSegment | extractSectionsFromPolyline (MR.Const_Polyline3 polyline, MR.Const_Plane3f plane, float eps, MR.UndirectedEdgeBitSet? positiveEdges=null) |
| | This function cuts polyline with a plane.
|
| |
| static unsafe void | positionVertsSmoothly (MR.Mesh mesh, MR.Const_VertBitSet verts, MR.EdgeWeights? edgeWeights=null, MR.VertexMass? vmass=null, MR.Const_VertBitSet? fixedSharpVertices=null) |
| | Puts given vertices in such positions to make smooth surface both inside verts-region and on its boundary;.
|
| |
|
static unsafe void | positionVertsSmoothly (MR.Const_MeshTopology topology, MR.VertCoords points, MR.Const_VertBitSet verts, MR.EdgeWeights? edgeWeights=null, MR.VertexMass? vmass=null, MR.Const_VertBitSet? fixedSharpVertices=null) |
| | Generated from function MR.positionVertsSmoothly. Parameter edgeWeights defaults to EdgeWeights.Cotan. Parameter vmass defaults to VertexMass.Unit.
|
| |
|
static unsafe void | positionVertsSmoothlySharpBd (MR.Mesh mesh, MR.Const_PositionVertsSmoothlyParams params_) |
| | Puts given vertices in such positions to make smooth surface inside verts-region, but sharp on its boundary; Generated from function MR.positionVertsSmoothlySharpBd.
|
| |
|
static unsafe void | positionVertsSmoothlySharpBd (MR.Const_MeshTopology topology, MR.VertCoords points, MR.Const_PositionVertsSmoothlyParams params_) |
| | Generated from function MR.positionVertsSmoothlySharpBd.
|
| |
|
static unsafe void | positionVertsSmoothlySharpBd (MR.Mesh mesh, MR.Const_VertBitSet verts) |
| | Generated from function MR.positionVertsSmoothlySharpBd.
|
| |
|
static unsafe void | positionVertsWithSpacing (MR.Mesh mesh, MR.Const_SpacingSettings settings) |
| | Moves given vertices to make the distances between them as specified Generated from function MR.positionVertsWithSpacing.
|
| |
|
static unsafe void | positionVertsWithSpacing (MR.Const_MeshTopology topology, MR.VertCoords points, MR.Const_SpacingSettings settings) |
| | Generated from function MR.positionVertsWithSpacing.
|
| |
| static unsafe void | inflate (MR.Mesh mesh, MR.Const_VertBitSet verts, MR.Const_InflateSettings settings) |
| | Inflates (in one of two sides) given mesh region, putting given vertices in such positions to make smooth surface inside verts-region, but sharp on its boundary;.
|
| |
|
static unsafe void | inflate (MR.Const_MeshTopology topology, MR.VertCoords points, MR.Const_VertBitSet verts, MR.Const_InflateSettings settings) |
| | Generated from function MR.inflate.
|
| |
|
static unsafe void | inflate1 (MR.Const_MeshTopology topology, MR.VertCoords points, MR.Const_VertBitSet verts, float pressure) |
| | Inflates (in one of two sides) given mesh region, putting given vertices in such positions to make smooth surface inside verts-region, but sharp on its boundary; this function makes just 1 iteration of inflation and is used inside inflate(...) Generated from function MR.inflate1.
|
| |
|
static unsafe bool | smaller (MR.Const_PreciseVertCoord l, MR.Const_PreciseVertCoord r) |
| | return true if l is smaller than r, uses simulation-of-simplicity (assuming larger perturbations of points with smaller id) to avoid "coordinates are the same" Generated from function MR.smaller.
|
| |
|
static unsafe bool | ccw (in MR.Vector2i a, in MR.Vector2i b) |
| | return true if the smallest rotation from vector (a) to vector (b) is in counter-clock-wise direction; uses simulation-of-simplicity (assuming perturbations a >> b) to avoid "vectors are collinear" Generated from function MR.ccw.
|
| |
|
static unsafe bool | ccw (in MR.Vector2i a, in MR.Vector2i b, in MR.Vector2i c) |
| | return true if the smallest rotation from vector (a-c) to vector (b-c) is in counter-clock-wise direction; uses simulation-of-simplicity (assuming perturbations a >> b >> c) to avoid "vectors are collinear" Generated from function MR.ccw.
|
| |
|
static unsafe bool | ccw (MR.Std.Const_Array_MRPreciseVertCoords2_3 vs) |
| | return true if the smallest rotation from vector (vs[0]-vs[2]) to vector (vs[1]-vs[2]) is in counter-clock-wise direction; uses simulation-of-simplicity (assuming larger perturbations of points with smaller id) to avoid "vectors are collinear" Generated from function MR.ccw.
|
| |
|
static unsafe bool | ccw (MR.Const_PreciseVertCoords2? vs) |
| | Generated from function MR.ccw.
|
| |
|
static unsafe bool | smaller2 (MR.Std.Const_Array_MRPreciseVertCoords2_4 vs) |
| | given the line passing via points vs[0] and vs[1], which defines linear signed scalar distance field: zero on the line, positive for x where ccw(vs[0], vs[1], x) == true, and negative for x where ccw(vs[0], vs[1], x) == false finds whether sdistance(vs[2]) < sdistance(vs[3]); avoids equality of signed distances using simulation-of-simplicity approach (assuming larger perturbations of points with smaller id) Generated from function MR.smaller2.
|
| |
|
static unsafe bool | orientParaboloid3d (in MR.Vector2i a, in MR.Vector2i b, in MR.Vector2i c) |
| | considers 3D points obtained from 2D inputs by moving each point on paraboloid: z = x*x+y*y; returns true if the plane with orientated triangle ABC has D point at the left; uses simulation-of-simplicity to avoid "D is exactly on plane" Generated from function MR.orientParaboloid3d.
|
| |
|
static unsafe bool | orientParaboloid3d (in MR.Vector2i a, in MR.Vector2i b, in MR.Vector2i c, in MR.Vector2i d) |
| | Generated from function MR.orientParaboloid3d.
|
| |
|
static unsafe bool | inCircle (MR.Std.Const_Array_MRPreciseVertCoords2_4 vs) |
| | return true if 4th point in array lays inside circumcircle of first 3 points based triangle Generated from function MR.inCircle.
|
| |
|
static unsafe bool | inCircle (MR.Const_PreciseVertCoords2? vs) |
| | Generated from function MR.inCircle.
|
| |
|
static unsafe MR.SegmentSegmentIntersectResult | doSegmentSegmentIntersect (MR.Std.Const_Array_MRPreciseVertCoords2_4 vs) |
| | checks whether the segments AB (indices 01) and segments CD (indices 23) intersect; uses simulation-of-simplicity to avoid edge-segment intersections and co-planarity Generated from function MR.doSegmentSegmentIntersect.
|
| |
|
static unsafe bool | segmentIntersectionOrder (MR.Std.Const_Array_MRPreciseVertCoords2_6 vs) |
| | given line segment s=01 and two other segments sa=23, sb=45 known to intersect it, finds the order of intersection using precise predicates: true: s[0], s ^ sa, s ^ sb, s[1] false: s[0], s ^ sb, s ^ sa, s[1] segments sa and sb can have at most one shared point, all other points must be unique Generated from function MR.segmentIntersectionOrder.
|
| |
|
static unsafe MR.Vector2i | findSegmentSegmentIntersectionPrecise (in MR.Vector2i a, in MR.Vector2i b, in MR.Vector2i c, in MR.Vector2i d) |
| | finds intersection precise, using high precision int inside this function input should have intersection Generated from function MR.findSegmentSegmentIntersectionPrecise.
|
| |
|
static unsafe MR.Vector2f | findSegmentSegmentIntersectionPrecise (in MR.Vector2f a, in MR.Vector2f b, in MR.Vector2f c, in MR.Vector2f d, MR._ByValue_CoordinateConverters2 converters) |
| | finds intersection precise, using high precision int inside this function input should have intersection Generated from function MR.findSegmentSegmentIntersectionPrecise.
|
| |
|
static unsafe bool | orient3d (in MR.Vector3i a, in MR.Vector3i b, in MR.Vector3i c) |
| | returns true if the plane with orientated triangle ABC has 0 point at the left; uses simulation-of-simplicity to avoid "0 is exactly on plane" Generated from function MR.orient3d.
|
| |
|
static unsafe bool | orient3d (in MR.Vector3i a, in MR.Vector3i b, in MR.Vector3i c, in MR.Vector3i d) |
| | returns true if the plane with orientated triangle ABC has D point at the left; uses simulation-of-simplicity to avoid "D is exactly on plane" Generated from function MR.orient3d.
|
| |
|
static unsafe bool | orient3d (MR.Std.Const_Array_MRPreciseVertCoords_4 vs) |
| | first sorts the indices in ascending order, then calls the predicate for sorted points Generated from function MR.orient3d.
|
| |
|
static unsafe bool | orient3d (MR.Const_PreciseVertCoords? vs) |
| | Generated from function MR.orient3d.
|
| |
|
static unsafe MR.TriangleSegmentIntersectResult | doTriangleSegmentIntersect (MR.Std.Const_Array_MRPreciseVertCoords_5 vs) |
| | checks whether triangle ABC (indices 012) and segment DE (indices 34) intersect uses simulation-of-simplicity to avoid edge-segment intersections and co-planarity Generated from function MR.doTriangleSegmentIntersect.
|
| |
|
static unsafe bool | segmentIntersectionOrder (MR.Std.Const_Array_MRPreciseVertCoords_8 vs) |
| | given line segment s=01 and two triangles ta=234, tb=567 known to intersect it, finds the order of intersection using precise predicates: true: s[0], s ^ ta, s ^ tb, s[1] false: s[0], s ^ tb, s ^ ta, s[1] segments ta and tb can have at most two shared points, all other points must be unique Generated from function MR.segmentIntersectionOrder.
|
| |
|
static unsafe MR.Std.Function_MRVector3iFuncFromConstMRVector3fRef | getToIntConverter (in MR.Box3d box) |
| | creates converter from Vector3f to Vector3i in Box range (int diapason is mapped to box range) Generated from function MR.getToIntConverter.
|
| |
|
static unsafe MR.Std.Function_MRVector3fFuncFromConstMRVector3iRef | getToFloatConverter (in MR.Box3d box) |
| | creates converter from Vector3i to Vector3f in Box range (int diapason is mapped to box range) Generated from function MR.getToFloatConverter.
|
| |
|
static unsafe MR.Std.Optional_MRVector3i | findTwoSegmentsIntersection (in MR.Vector3i ai, in MR.Vector3i bi, in MR.Vector3i ci, in MR.Vector3i di) |
| | given two line segments AB and CD located in one plane, finds whether they intersect and if yes, computes their common point using integer-only arithmetic Generated from function MR.findTwoSegmentsIntersection.
|
| |
|
static unsafe MR.Vector3f | findTriangleSegmentIntersectionPrecise (in MR.Vector3f a, in MR.Vector3f b, in MR.Vector3f c, in MR.Vector3f d, in MR.Vector3f e, MR._ByValue_CoordinateConverters converters) |
| | finds intersection precise, using high precision int inside this function input should have intersection Generated from function MR.findTriangleSegmentIntersectionPrecise.
|
| |
|
static unsafe void | vertMapsComposition (MR.VertMap a2b, MR.Const_VertMap b2c) |
| | updates a2b map to a2c map using b2c map Generated from function MR.vertMapsComposition.
|
| |
|
static unsafe MR.VertMap | vertMapsComposition (MR.Const_VertMap a2b, MR.Const_VertMap b2c) |
| | returns map a2c from a2b and b2c maps Generated from function MR.vertMapsComposition.
|
| |
|
static unsafe void | edgeMapsComposition (MR.EdgeMap a2b, MR.Const_EdgeMap b2c) |
| | updates a2b map to a2c map using b2c map Generated from function MR.edgeMapsComposition.
|
| |
|
static unsafe MR.EdgeMap | edgeMapsComposition (MR.Const_EdgeMap a2b, MR.Const_EdgeMap b2c) |
| | returns map a2c from a2b and b2c maps Generated from function MR.edgeMapsComposition.
|
| |
|
static unsafe void | faceMapsComposition (MR.FaceMap a2b, MR.Const_FaceMap b2c) |
| | updates a2b map to a2c map using b2c map Generated from function MR.faceMapsComposition.
|
| |
|
static unsafe MR.FaceMap | faceMapsComposition (MR.Const_FaceMap a2b, MR.Const_FaceMap b2c) |
| | returns map a2c from a2b and b2c maps Generated from function MR.faceMapsComposition.
|
| |
|
static unsafe MR.Mesh | makePrism (float baseLength, float leftAngle, float rightAngle, float? height=null) |
| | Generated from function MR.makePrism. Parameter height defaults to 1.0f.
|
| |
| static unsafe bool | reportProgress (MR.Std._ByValue_Function_BoolFuncFromFloat cb, float v) |
| | safely invokes
|
| |
| static unsafe bool | reportProgress (MR.Std._ByValue_Function_BoolFuncFromFloat cb, float v, ulong counter, int divider) |
| | safely invokes
|
| |
| static unsafe MR.Std.Function_BoolFuncFromFloat | subprogress (MR.Std._ByValue_Function_BoolFuncFromFloat cb, float from, float to) |
| | returns a callback that maps [0,1] linearly into [from,to] in the call to
|
| |
| static unsafe MR.Std.Function_BoolFuncFromFloat | subprogress (MR.Std._ByValue_Function_BoolFuncFromFloat cb, ulong index, ulong count) |
| | returns a callback that maps [0,1] linearly into [(index+0)/count,(index+1)/count] in the call to
|
| |
| static unsafe bool | writeByBlocks (MR.Std.Ostream out_, byte? data, ulong dataSize, MR.Std._ByValue_Function_BoolFuncFromFloat? callback=null, ulong? blockSize=null) |
| | write dataSize bytes from data to out stream by blocks blockSize bytes
|
| |
| static unsafe bool | readByBlocks (MR.Std.Istream in_, MR.Misc.InOut< byte >? data, ulong dataSize, MR.Std._ByValue_Function_BoolFuncFromFloat? callback=null, ulong? blockSize=null) |
| | read dataSize bytes from in stream to data by blocks blockSize bytes
|
| |
| static unsafe void | projectObjectMeshData (MR.Const_ObjectMeshData oldMeshData, MR.ObjectMeshData newMeshData, MR.Const_FaceBitSet? region=null, MR.Const_ProjectAttributeParams? params_=null) |
| | finds attributes of new mesh by projecting faces/vertices on old mesh
|
| |
|
static unsafe void | compensateRadius (MR.Mesh mesh, MR.Const_CompensateRadiusParams params_) |
| | compensate spherical milling tool radius in given mesh region making it possible to mill it note that tool milling outer surface of the mesh also please note that boundaries of the region are fixed Generated from function MR.compensateRadius.
|
| |
|
static unsafe bool | rayBoxIntersect (in MR.Box3f box, MR.Const_RayOrigin_Float rayOrigin, ref float t0, ref float t1, MR.Const_IntersectionPrecomputes_Float prec) |
| | finds intersection between the Ray and the Box. Precomputed values could be useful for several calls with the same direction, see "An Efficient and Robust Ray-Box Intersection Algorithm" at https://people.csail.mit.edu/amy/papers/box-jgt.pdf Generated from function MR.rayBoxIntersect<float>.
|
| |
|
static unsafe bool | rayBoxIntersect (in MR.Box3f box, MR.Const_Line3f line, float t0, float t1) |
| | Generated from function MR.rayBoxIntersect<float>.
|
| |
|
static unsafe bool | rayBoxIntersect (in MR.Box2f box, MR.Const_Line2f line, float t0, float t1) |
| | Generated from function MR.rayBoxIntersect<float>.
|
| |
|
static MR.OutEdge2 | opposite (MR.OutEdge2 e) |
| | Generated from function MR.opposite.
|
| |
|
static unsafe void | expandPixelMask (MR.PixelBitSet mask, MR.Const_RectIndexer indexer, int? expansion=null) |
| | expands PixelBitSet with given number of steps Generated from function MR.expandPixelMask. Parameter expansion defaults to 1.
|
| |
|
static unsafe void | shrinkPixelMask (MR.PixelBitSet mask, MR.Const_RectIndexer indexer, int? shrinkage=null) |
| | shrinks PixelBitSet with given number of steps Generated from function MR.shrinkPixelMask. Parameter shrinkage defaults to 1.
|
| |
|
static unsafe MR.Std.Vector_MREdgeId | trackLeftBoundaryLoop (MR.Const_MeshTopology topology, MR.EdgeId e0, MR.Const_FaceBitSet? region=null) |
| | returns closed loop of region boundary starting from given region boundary edge (region faces on the left, and not-region faces or holes on the right); if more than two boundary edges connect in one vertex, then the function makes the most abrupt turn to right Generated from function MR.trackLeftBoundaryLoop.
|
| |
|
static unsafe MR.Std.Vector_MREdgeId | trackLeftBoundaryLoop (MR.Const_MeshTopology topology, MR.Const_FaceBitSet region, MR.EdgeId e0) |
| | Generated from function MR.trackLeftBoundaryLoop.
|
| |
|
static unsafe MR.Std.Vector_MREdgeId | trackRightBoundaryLoop (MR.Const_MeshTopology topology, MR.EdgeId e0, MR.Const_FaceBitSet? region=null) |
| | returns closed loop of region boundary starting from given region boundary edge (region faces on the right, and not-region faces or holes on the left); if more than two boundary edges connect in one vertex, then the function makes the most abrupt turn to left Generated from function MR.trackRightBoundaryLoop.
|
| |
|
static unsafe MR.Std.Vector_MREdgeId | trackRightBoundaryLoop (MR.Const_MeshTopology topology, MR.Const_FaceBitSet region, MR.EdgeId e0) |
| | Generated from function MR.trackRightBoundaryLoop.
|
| |
| static unsafe MR.EdgeId | extractPath (MR.Const_MeshTopology topology, MR.EdgeId e0, MR.EdgeBitSet edges, MR.Std.Vector_MREdgeId? outPath, MR.Turn turn) |
| | track the path of edges with set bits in (edges) starting from (e0);
|
| |
| static unsafe MR.Std.Vector_StdVectorMREdgeId | extractAllLoops (MR.Const_MeshTopology topology, MR.EdgeBitSet edges, MR.Turn turn) |
| | tracks are returns all closed loops of edges from the given bit set; if at some reached vertex there are two or more edges originate with set bits in (edges), the path selects the leftmost or the rightmost option depending on
|
| |
|
static unsafe MR.Std.Vector_StdVectorMREdgeId | findLeftBoundary (MR.Const_MeshTopology topology, MR.Const_FaceBitSet? region=null) |
| | returns all region boundary loops; every loop has region faces on the left, and not-region faces or holes on the right Generated from function MR.findLeftBoundary.
|
| |
|
static unsafe MR.Std.Vector_StdVectorMREdgeId | findRightBoundary (MR.Const_MeshTopology topology, MR.Const_FaceBitSet? region=null) |
| | returns all region boundary loops; every loop has region faces on the right, and not-region faces or holes on the left Generated from function MR.findRightBoundary.
|
| |
| static unsafe MR.EdgeBitSet | findAllLeftBdEdges (MR.Const_MeshTopology topology, MR.Const_FaceBitSet? region, bool? innerMeshEdgesOnly=null) |
| | returns all edges (e) for which topology.isLeftBdEdge( e, region ) is true;
|
| |
|
static unsafe MR.Std.Vector_StdVectorMREdgeId | delRegionKeepBd (MR.Mesh mesh, MR.Const_FaceBitSet? region=null, bool? keepLoneHoles=null) |
| | deletes all region faces, inner edges and vertices, but keeps boundary edges and vertices of the region (or whole mesh if region is null); if keepLoneHoles is set - keeps boundary even if it has no valid faces on other side returns edge loops, each having deleted region faces on the left, and not-region faces or holes on the right Generated from function MR.delRegionKeepBd. Parameter keepLoneHoles defaults to false.
|
| |
|
static unsafe MR.Std.Vector_StdVectorMREdgeId | findLeftBoundaryInsideMesh (MR.Const_MeshTopology topology, MR.Const_FaceBitSet region) |
| | returns all region boundary paths; every path has region faces on the left, and valid not-region faces on the right Generated from function MR.findLeftBoundaryInsideMesh.
|
| |
|
static unsafe MR.UndirectedEdgeBitSet | findRegionBoundaryUndirectedEdgesInsideMesh (MR.Const_MeshTopology topology, MR.Const_FaceBitSet region) |
| | returns all region boundary edges, where each edge has a region face on one side, and a valid not-region face on another side Generated from function MR.findRegionBoundaryUndirectedEdgesInsideMesh.
|
| |
| static unsafe MR.FaceBitSet | findRegionOuterFaces (MR.Const_MeshTopology topology, MR.Const_FaceBitSet region) |
| |
|
static unsafe MR.VertBitSet | getIncidentVerts (MR.Const_MeshTopology topology, MR.Const_FaceBitSet faces) |
| | composes the set of all vertices incident to given faces Generated from function MR.getIncidentVerts.
|
| |
|
static unsafe MR.Const_VertBitSet | getIncidentVerts (MR.Const_MeshTopology topology, MR.Const_FaceBitSet? faces, MR.VertBitSet store) |
| | if faces-parameter is null pointer then simply returns the reference on all valid vertices; otherwise performs store = getIncidentVerts( topology, *faces ) and returns reference on store Generated from function MR.getIncidentVerts.
|
| |
|
static unsafe MR.VertBitSet | getInnerVerts (MR.Const_MeshTopology topology, MR.Const_FaceBitSet? region=null) |
| | composes the set of all vertices not on the boundary of a hole and with all their adjacent faces in given set Generated from function MR.getInnerVerts.
|
| |
|
static unsafe MR.VertBitSet | getBoundaryVerts (MR.Const_MeshTopology topology, MR.Const_FaceBitSet? region=null) |
| | composes the set of all boundary vertices for given region (or whole mesh if !region) Generated from function MR.getBoundaryVerts.
|
| |
|
static unsafe MR.VertBitSet | getRegionBoundaryVerts (MR.Const_MeshTopology topology, MR.Const_FaceBitSet region) |
| | composes the set of all boundary vertices for given region, unlike getBoundaryVerts the vertices of mesh boundary having no incident not-region faces are not returned Generated from function MR.getRegionBoundaryVerts.
|
| |
|
static unsafe MR.FaceBitSet | getIncidentFaces (MR.Const_MeshTopology topology, MR.Const_VertBitSet verts) |
| | composes the set of all faces incident to given vertices Generated from function MR.getIncidentFaces.
|
| |
|
static unsafe MR.FaceBitSet | getInnerFaces (MR.Const_MeshTopology topology, MR.Const_VertBitSet verts) |
| | composes the set of all faces with all their vertices in given set Generated from function MR.getInnerFaces.
|
| |
|
static unsafe MR.EdgeBitSet | getRegionEdges (MR.Const_MeshTopology topology, MR.Const_FaceBitSet faces) |
| | composes the set of all edges, having a face from given set at the left Generated from function MR.getRegionEdges.
|
| |
|
static unsafe MR.UndirectedEdgeBitSet | getIncidentEdges (MR.Const_MeshTopology topology, MR.Const_FaceBitSet faces) |
| | composes the set of all undirected edges, having a face from given set from one of two sides Generated from function MR.getIncidentEdges.
|
| |
|
static unsafe MR.UndirectedEdgeBitSet | getIncidentEdges (MR.Const_MeshTopology topology, MR.Const_UndirectedEdgeBitSet edges) |
| | composes the set of all undirected edges, having at least one common vertex with an edge from given set Generated from function MR.getIncidentEdges.
|
| |
|
static unsafe MR.VertBitSet | getIncidentVerts (MR.Const_MeshTopology topology, MR.Const_UndirectedEdgeBitSet edges) |
| | composes the set of all vertices incident to given edges Generated from function MR.getIncidentVerts.
|
| |
|
static unsafe MR.FaceBitSet | getIncidentFaces (MR.Const_MeshTopology topology, MR.Const_UndirectedEdgeBitSet edges) |
| | composes the set of all faces incident to given edges Generated from function MR.getIncidentFaces.
|
| |
|
static unsafe MR.FaceBitSet | getNeighborFaces (MR.Const_MeshTopology topology, MR.Const_UndirectedEdgeBitSet edges) |
| | composes the set of all left and right faces of given edges Generated from function MR.getNeighborFaces.
|
| |
|
static unsafe MR.UndirectedEdgeBitSet | getInnerEdges (MR.Const_MeshTopology topology, MR.Const_VertBitSet verts) |
| | composes the set of all edges with all their vertices in given set Generated from function MR.getInnerEdges.
|
| |
|
static unsafe MR.UndirectedEdgeBitSet | getInnerEdges (MR.Const_MeshTopology topology, MR.Const_FaceBitSet region) |
| | composes the set of all edges having both left and right in given region Generated from function MR.getInnerEdges.
|
| |
|
static unsafe MR.Const_VertBitSet | getIncidentVerts (MR.Const_MeshTopology topology, MR.Const_UndirectedEdgeBitSet? edges, MR.VertBitSet store) |
| | if edges-parameter is null pointer then simply returns the reference on all valid vertices; otherwise performs store = getIncidentVerts( topology, *edges ) and returns reference on store Generated from function MR.getIncidentVerts.
|
| |
|
static unsafe MR.VertBitSet | getInnerVerts (MR.Const_MeshTopology topology, MR.Const_UndirectedEdgeBitSet edges) |
| | composes the set of all vertices with all their edges in given set Generated from function MR.getInnerVerts.
|
| |
|
static unsafe MR.Mesh | makeRegularGridMesh (ulong width, ulong height, MR.Std.Const_Function_BoolFuncFromMRUint64TMRUint64T validator, MR.Std.Const_Function_MRVector3fFuncFromMRUint64TMRUint64T positioner, MR.Std.Const_Function_BoolFuncFromMRUint64TMRUint64TMRUint64TMRUint64TMRUint64TMRUint64T? faceValidator=null, MR.Std._ByValue_Function_BoolFuncFromFloat? cb=null) |
| | Generated from function MR.makeRegularGridMesh. Parameter faceValidator defaults to {}. Parameter cb defaults to {}.
|
| |
|
static unsafe MR.Mesh | makeRegularGridMesh (MR._ByValue_VertCoords pc, MR.Std._ByValue_Function_BoolFuncFromFloat? cb=null) |
| | Generated from function MR.makeRegularGridMesh. Parameter cb defaults to {}.
|
| |
|
static MR.RenderModelPassMask | bitand (MR.RenderModelPassMask a, MR.RenderModelPassMask b) |
| | Generated from function MR.operator&.
|
| |
|
static MR.RenderModelPassMask | bitor (MR.RenderModelPassMask a, MR.RenderModelPassMask b) |
| | Generated from function MR.operator|.
|
| |
|
static MR.RenderModelPassMask | compl (MR.RenderModelPassMask a) |
| | Generated from function MR.operator~.
|
| |
|
static unsafe ref MR.RenderModelPassMask | bitandAssign (ref MR.RenderModelPassMask a, MR.RenderModelPassMask b) |
| | Generated from function MR.operator&=.
|
| |
|
static unsafe ref MR.RenderModelPassMask | bitorAssign (ref MR.RenderModelPassMask a, MR.RenderModelPassMask b) |
| | Generated from function MR.operator|=.
|
| |
|
static MR.RenderModelPassMask | mul (MR.RenderModelPassMask a, bool b) |
| | Generated from function MR.operator*.
|
| |
|
static MR.RenderModelPassMask | mul (bool a, MR.RenderModelPassMask b) |
| | Generated from function MR.operator*.
|
| |
|
static unsafe ref MR.RenderModelPassMask | mulAssign (ref MR.RenderModelPassMask a, bool b) |
| | Generated from function MR.operator*=.
|
| |
|
static unsafe MR.IteratorRange_MRRingIteratorMRNextEdgeSameOrigin | orgRing (MR.Const_MeshTopology topology, MR.EdgeId edge) |
| | Generated from function MR.orgRing.
|
| |
|
static unsafe MR.IteratorRange_MRRingIteratorMRNextEdgeSameOrigin | orgRing (MR.Const_MeshTopology topology, MR.VertId v) |
| | Generated from function MR.orgRing.
|
| |
|
static unsafe MR.IteratorRange_MRRingIteratorMRNextEdgeSameOrigin | orgRing0 (MR.Const_MeshTopology topology, MR.EdgeId edge) |
| | Generated from function MR.orgRing0.
|
| |
|
static unsafe MR.IteratorRange_MRRingIteratorMRNextEdgeSameLeft | leftRing (MR.Const_MeshTopology topology, MR.EdgeId edge) |
| | Generated from function MR.leftRing.
|
| |
|
static unsafe MR.IteratorRange_MRRingIteratorMRNextEdgeSameLeft | leftRing (MR.Const_MeshTopology topology, MR.FaceId f) |
| | Generated from function MR.leftRing.
|
| |
|
static unsafe MR.IteratorRange_MRRingIteratorMRNextEdgeSameLeft | leftRing0 (MR.Const_MeshTopology topology, MR.EdgeId edge) |
| | Generated from function MR.leftRing0.
|
| |
|
static unsafe MR.Vector3f | applyFloat (MR.AffineXf3d? xf, in MR.Vector3f p) |
| | returns the point as is or after application of given transform to it in double precision Generated from function MR.applyFloat.
|
| |
|
static unsafe MR.Vector3f | applyFloat (MR.Matrix3d? m, in MR.Vector3f n) |
| | returns the normal as is or after application of given matrix to it in double precision Generated from function MR.applyFloat.
|
| |
|
static unsafe MR.Vector3d | applyDouble (MR.AffineXf3d? xf, in MR.Vector3f p) |
| | converts given point in double precision and applies given transformation to it Generated from function MR.applyDouble.
|
| |
|
static unsafe MR.Vector3d | applyDouble (MR.Matrix3d? m, in MR.Vector3f n) |
| | converts given normal in double precision and applies given matrix to it Generated from function MR.applyDouble.
|
| |
|
static unsafe MR.Const_VertCoords | transformPoints (MR.Const_VertCoords verts, MR.Const_VertBitSet validVerts, MR.AffineXf3d? xf, MR.VertCoords buf, MR.Const_VertRenumber? vertRenumber=null) |
| | if (xf) is null then just returns (verts); otherwise copies transformed points in (buf) and returns it Generated from function MR.transformPoints.
|
| |
|
static unsafe MR.Const_VertCoords | transformNormals (MR.Const_VertCoords normals, MR.Const_VertBitSet validVerts, MR.Matrix3d? m, MR.VertCoords buf) |
| | if (m) is null then just returns (normals); otherwise copies transformed normals in (buf) and returns it Generated from function MR.transformNormals.
|
| |
|
static unsafe MR.SceneRootObject | createRootFormObject (MR._ByValueShared_Object obj) |
| | Removes all obj children and attaches it to newly created SceneRootObject note that it does not respect obj xf Generated from function MR.createRootFormObject.
|
| |
|
static unsafe void | serializeMesh (MR.Const_Mesh mesh, string path, MR.Const_FaceBitSet? selection=null, MR.Misc._InOpt< byte >? serializeFormat=null) |
| | saves mesh with optional selection to mru format; this is very convenient for saving intermediate states during algorithm debugging; ".mrmesh" save mesh format is not space efficient, but guaranties no changes in the topology after loading Generated from function MR.serializeMesh. Parameter serializeFormat defaults to ".mrmesh".
|
| |
| static unsafe void | sharpenMarchingCubesMesh (MR.Const_MeshPart ref_, MR.Mesh vox, MR.Vector_MRVoxelId_MRFaceId face2voxel, MR.Const_SharpenMarchingCubesMeshSettings settings) |
| | adjust the mesh
|
| |
|
static unsafe? byte | asString (MR.SignDetectionMode m) |
| | returns string representation of enum values Generated from function MR.asString.
|
| |
|
static unsafe MR.Std.Vector_MRVector3f | sampleHalfSphere () |
| | returns quasi-uniform 145 samples on unit half-sphere z>0 Generated from function MR.sampleHalfSphere.
|
| |
| static unsafe MR.VertScalars | computeSkyViewFactor (MR.Const_Mesh terrain, MR.Const_VertCoords samples, MR.Const_VertBitSet validSamples, MR.Std.Const_Vector_MRSkyPatch skyPatches, MR.BitSet? outSkyRays=null, MR.Std.Vector_MRMeshIntersectionResult? outIntersections=null) |
| | computes relative radiation in each valid sample point by emitting rays from that point in the sky: the radiation is 1.0f if all rays reach the sky not hitting the terrain; the radiation is 0.0f if all rays do not reach the sky because they are intercepted by the terrain;
|
| |
| static unsafe MR.BitSet | findSkyRays (MR.Const_Mesh terrain, MR.Const_VertCoords samples, MR.Const_VertBitSet validSamples, MR.Std.Const_Vector_MRSkyPatch skyPatches, MR.Std.Vector_MRMeshIntersectionResult? outIntersections=null) |
| | In each valid sample point tests the rays from that point in the sky;.
|
| |
|
static unsafe MR.Mesh | makeSolidOfRevolution (MR.Std.Const_Vector_MRVector2f profile, int? resolution=null) |
| | Makes a solid-of-revolution mesh. The resulting mesh is symmetrical about the z-axis. The profile points must be in the format { distance to the z-axis; z value }. Generated from function MR.makeSolidOfRevolution. Parameter resolution defaults to 16.
|
| |
|
static unsafe MR.Std.String | getCurrentStacktraceInline () |
| | returns string representation of the current stacktrace; the function is inlined, to put the code in any shared library; if std.stacktrace is first called from MRMesh.dll then it is not unloaded propely Generated from function MR.getCurrentStacktraceInline.
|
| |
|
static void | printStacktraceOnCrash () |
| | Print stacktrace on application crash Generated from function MR.printStacktraceOnCrash.
|
| |
| static unsafe ulong | findSubstringCaseInsensitive (string string_, string substring) |
| | Finds the substring in the string.
|
| |
| static unsafe int | calcDamerauLevenshteinDistance (string stringA, string stringB, bool? caseSensitive=null, MR.Misc.InOut< int >? outLeftRightAddition=null) |
| | Calculates Damerau-Levenshtein distance between to strings.
|
| |
| static unsafe MR.Std.Vector_StdString | split (string string_, string delimiter) |
| | Splits given string by delimiter.
|
| |
| static unsafe MR.Std.String | replace (string target, string from, string to) |
| | Returns.
|
| |
| static unsafe void | replaceInplace (MR.Std.String target, string from, string to) |
| | Replaces.
|
| |
|
static unsafe MR.Std.StringView | trim (string str) |
| | Removes all whitespace character (detected by std.isspace) at the beginning and the end of string view Generated from function MR.trim.
|
| |
|
static unsafe MR.Std.StringView | trimLeft (string str) |
| | Removes all whitespace character (detected by std.isspace) at the beginning of string view Generated from function MR.trimLeft.
|
| |
|
static unsafe MR.Std.StringView | trimRight (string str) |
| | Removes all whitespace character (detected by std.isspace) at the end of string view Generated from function MR.trimRight.
|
| |
|
static unsafe bool | hasFormatPlaceholders (string str) |
| | Returns true if str has at least one {...} formatting placeholder. Generated from function MR.hasFormatPlaceholders.
|
| |
|
static unsafe MR.Std.String | systemToUtf8 (string system) |
| | converts system encoded string to UTF8-encoded string Generated from function MR.systemToUtf8.
|
| |
|
static unsafe MR.Std.String | utf8ToSystem (string utf8) |
| | converts UTF8-encoded string to system encoded string, returns empty string if such conversion cannot be made Generated from function MR.utf8ToSystem.
|
| |
|
static unsafe MR.Std.String | utf8string (string path) |
| | Generated from function MR.utf8string.
|
| |
|
static unsafe MR.Std.String | utf8substr (byte? s, ulong pos, ulong count) |
| | given on input a valid utf8-encoded string, returns its substring starting at pos unicode symbol, and containing at most count unicode symbols (but res.size() can be more than count since a unicode symbol can be represented by more than 1 byte) Generated from function MR.utf8substr.
|
| |
|
static unsafe MR.Std.String | bytesString (ulong size) |
| | converts given size in string: [0,1024) -> nnn bytes [1024,1024*1024) -> nnn.nn Kb [1024*1024,1024*1024*1024) -> nnn.nn Mb ... Generated from function MR.bytesString.
|
| |
|
static bool | isProhibitedChar (byte c) |
| | returns true if the given character is any of prohibited in filenames in any of OSes https://stackoverflow.com/q/1976007/7325599 Generated from function MR.isProhibitedChar.
|
| |
|
static unsafe bool | hasProhibitedChars (string line) |
| | returns true if line contains at least one character (c) for which isProhibitedChar(c)==true Generated from function MR.hasProhibitedChars.
|
| |
|
static unsafe MR.Std.String | replaceProhibitedChars (string line, byte? replacement=null) |
| | replace all characters (c), where isProhibitedChar(c)==true, with replacement char Generated from function MR.replaceProhibitedChars. Parameter replacement defaults to ‘’_'`.
|
| |
|
static unsafe MR.Std.String | commonFilesName (MR.Std.Const_Vector_StdFilesystemPath files) |
| | in case of empty vector, returns "Empty" in case of single input file.ext, returns ".EXT" in case of multiple files with same extension, returns ".EXTs" otherwise returns "Files" Generated from function MR.commonFilesName.
|
| |
|
static double | roundToPrecision (double v, int precision) |
| | returns given value rounded to given number of decimal digits Generated from function MR.roundToPrecision.
|
| |
|
static float | roundToPrecision (float v, int precision) |
| | returns given value rounded to given number of decimal digits Generated from function MR.roundToPrecision.
|
| |
|
static unsafe MR.Std.String | getCancelMessage (string path) |
| | Generated from function MR.getCancelMessage.
|
| |
|
static unsafe MR.Std.String | toLower (string str) |
| | return a copy of the string with all alphabetic ASCII characters replaced with upper-case variants Generated from function MR.toLower.
|
| |
|
static unsafe MR.VertScalars | computeSurfaceDistances (MR.Const_Mesh mesh, MR.Const_VertBitSet startVertices, float? maxDist=null, MR.Const_VertBitSet? region=null, int? maxVertUpdates=null) |
| | computes path distances in mesh vertices from given start vertices, stopping when maxDist is reached; considered paths can go either along edges or straightly within triangles Generated from function MR.computeSurfaceDistances. Parameter maxDist defaults to 3.40282347e38f. Parameter maxVertUpdates defaults to 3.
|
| |
|
static unsafe MR.VertScalars | computeSurfaceDistances (MR.Const_Mesh mesh, MR.Const_VertBitSet startVertices, MR.Const_VertBitSet targetVertices, float? maxDist=null, MR.Const_VertBitSet? region=null, int? maxVertUpdates=null) |
| | computes path distances in mesh vertices from given start vertices, stopping when all targetVertices or maxDist is reached; considered paths can go either along edges or straightly within triangles Generated from function MR.computeSurfaceDistances. Parameter maxDist defaults to 3.40282347e38f. Parameter maxVertUpdates defaults to 3.
|
| |
|
static unsafe MR.VertScalars | computeSurfaceDistances (MR.Const_Mesh mesh, MR.Phmap.Const_FlatHashMap_MRVertId_Float startVertices, float? maxDist=null, MR.Const_VertBitSet? region=null, int? maxVertUpdates=null) |
| | computes path distances in mesh vertices from given start vertices with values in them, stopping when maxDist is reached; considered paths can go either along edges or straightly within triangles Generated from function MR.computeSurfaceDistances. Parameter maxDist defaults to 3.40282347e38f. Parameter maxVertUpdates defaults to 3.
|
| |
| static unsafe MR.VertScalars | computeSurfaceDistances (MR.Const_Mesh mesh, MR.Const_MeshTriPoint start, MR.Const_MeshTriPoint end, MR.Const_VertBitSet? region=null, MR.Misc.InOut< bool >? endReached=null, int? maxVertUpdates=null) |
| | computes path distance in mesh vertices from given start point, stopping when all vertices in the face where end is located are reached;
|
| |
|
static unsafe MR.VertScalars | computeSurfaceDistances (MR.Const_Mesh mesh, MR.Const_MeshTriPoint start, float? maxDist=null, MR.Const_VertBitSet? region=null, int? maxVertUpdates=null) |
| | computes path distances in mesh vertices from given start point, stopping when maxDist is reached; considered paths can go either along edges or straightly within triangles Generated from function MR.computeSurfaceDistances. Parameter maxDist defaults to 3.40282347e38f. Parameter maxVertUpdates defaults to 3.
|
| |
|
static unsafe MR.VertScalars | computeSurfaceDistances (MR.Const_Mesh mesh, MR.Std.Const_Vector_MRMeshTriPoint starts, float? maxDist=null, MR.Const_VertBitSet? region=null, int? maxVertUpdates=null) |
| | computes path distances in mesh vertices from given start points, stopping when maxDist is reached; considered paths can go either along edges or straightly within triangles Generated from function MR.computeSurfaceDistances. Parameter maxDist defaults to 3.40282347e38f. Parameter maxVertUpdates defaults to 3.
|
| |
| static unsafe MR.Std.Vector_StdVectorMRVector3f | offsetSurfaceLine (MR.Const_Mesh mesh, MR.Std.Const_Vector_MRMeshTriPoint surfaceLine, float offset) |
| | Returns contours in mesh space that are offset from surfaceLine on offset amount in all directions.
|
| |
| static unsafe MR.Std.Vector_StdVectorMRVector3f | offsetSurfaceLine (MR.Const_Mesh mesh, MR.Std.Const_Vector_MRMeshTriPoint surfaceLine, MR.Std.Const_Function_FloatFuncFromInt offsetAtPoint) |
| | Returns contours in mesh space that are offset from surfaceLine on offsetAtPoint amount in all directions.
|
| |
|
static unsafe MR.Std.String | toString (MR.PathError error) |
| | Generated from function MR.toString.
|
| |
|
static unsafe MR.Std.Vector_MREdgePoint | computeSurfacePath (MR.Const_MeshPart mp, MR.Const_MeshTriPoint start, MR.Const_MeshTriPoint end, int? maxGeodesicIters=null, MR.Const_VertBitSet? vertRegion=null, MR.VertScalars? outSurfaceDistances=null) |
| | returns intermediate points of the geodesic path from start to end, where it crosses mesh edges; the path can be limited to given region: in face-format inside mp, or in vert-format in vertRegion argument. It is the same as calling computeFastMarchingPath() then reducePath() Generated from function MR.computeSurfacePath. Parameter maxGeodesicIters defaults to 5.
|
| |
|
static unsafe MR.Std.Vector_MREdgePoint | computeGeodesicPath (MR.Const_Mesh mesh, MR.Const_MeshTriPoint start, MR.Const_MeshTriPoint end, MR.GeodesicPathApprox? atype=null, int? maxGeodesicIters=null) |
| | returns intermediate points of the geodesic path from start to end, where it crosses mesh edges; It is the same as calling computeGeodesicPathApprox() then reducePath() Generated from function MR.computeGeodesicPath. Parameter atype defaults to GeodesicPathApprox.FastMarching. Parameter maxGeodesicIters defaults to 100.
|
| |
|
static unsafe MR.Std.Vector_MREdgePoint | computeGeodesicPathApprox (MR.Const_Mesh mesh, MR.Const_MeshTriPoint start, MR.Const_MeshTriPoint end, MR.GeodesicPathApprox atype) |
| | computes by given method and returns intermediate points of approximately geodesic path from start to end, every next point is located in the same triangle with the previous point Generated from function MR.computeGeodesicPathApprox.
|
| |
|
static unsafe MR.Std.Vector_MREdgePoint | computeFastMarchingPath (MR.Const_MeshPart mp, MR.Const_MeshTriPoint start, MR.Const_MeshTriPoint end, MR.Const_VertBitSet? vertRegion=null, MR.VertScalars? outSurfaceDistances=null) |
| | computes by Fast Marching method and returns intermediate points of approximately geodesic path from start to end, where it crosses mesh edges; the path can be limited to given region: in face-format inside mp, or in vert-format in vertRegion argument Generated from function MR.computeFastMarchingPath.
|
| |
|
static unsafe MR.Std.Vector_MREdgePoint | computeSteepestDescentPath (MR.Const_MeshPart mp, MR.Const_VertScalars field, MR.Const_MeshTriPoint start, MR.Const_ComputeSteepestDescentPathSettings? settings=null) |
| | computes the path (edge points crossed by the path) staring in given point and moving in each triangle in minus gradient direction of given field; the path stops when it reaches a local minimum in the field or one of stop conditions in settings Generated from function MR.computeSteepestDescentPath. Parameter settings defaults to {}.
|
| |
| static unsafe void | computeSteepestDescentPath (MR.Const_MeshPart mp, MR.Const_VertScalars field, MR.Const_MeshTriPoint start, MR.Std.Vector_MREdgePoint? outPath, MR.Const_ComputeSteepestDescentPathSettings? settings=null) |
| | computes the path (edge points crossed by the path) staring in given point and moving in each triangle in minus gradient direction of given field, and outputs the path in
|
| |
|
static unsafe MR.EdgePoint | findSteepestDescentPoint (MR.Const_MeshPart mp, MR.Const_VertScalars field, MR.VertId v) |
| | finds the point along minus maximal gradient on the boundary of first ring boundary around given vertex Generated from function MR.findSteepestDescentPoint.
|
| |
|
static unsafe MR.EdgePoint | findSteepestDescentPoint (MR.Const_MeshPart mp, MR.Const_VertScalars field, MR.Const_EdgePoint ep) |
| | finds the point along minus maximal gradient on the boundary of triangles around given point (the boundary of left and right edge triangles' union in case (ep) is inner edge point) Generated from function MR.findSteepestDescentPoint.
|
| |
|
static unsafe MR.EdgePoint | findSteepestDescentPoint (MR.Const_MeshPart mp, MR.Const_VertScalars field, MR.Const_MeshTriPoint tp) |
| | finds the point along minus maximal gradient on the boundary of triangles around given point (the boundary of the triangle itself in case (tp) is inner triangle point) Generated from function MR.findSteepestDescentPoint.
|
| |
|
static unsafe MR.UndirectedEdgeBitSet | findExtremeEdges (MR.Const_Mesh mesh, MR.Const_VertScalars field, MR.ExtremeEdgeType type) |
| | computes all edges in the mesh, where the field not-increases both in left and right triangles Generated from function MR.findExtremeEdges.
|
| |
| static unsafe MR.Phmap.FlatHashMap_MRVertId_MRVertId | computeClosestSurfacePathTargets (MR.Const_Mesh mesh, MR.Const_VertBitSet starts, MR.Const_VertBitSet ends, MR.Const_VertBitSet? vertRegion=null, MR.VertScalars? outSurfaceDistances=null) |
| | for each vertex from (starts) finds the closest vertex from (ends) in geodesic sense
|
| |
|
static unsafe MR.Std.Vector_StdVectorMREdgePoint | getSurfacePathsViaVertices (MR.Const_Mesh mesh, MR.Const_VertBitSet vs) |
| | returns a set of mesh lines passing via most of given vertices in auto-selected order; the lines try to avoid sharp turns in the vertices Generated from function MR.getSurfacePathsViaVertices.
|
| |
|
static unsafe float | surfacePathLength (MR.Const_Mesh mesh, MR.Std.Const_Vector_MREdgePoint surfacePath) |
| | computes the length of surface path Generated from function MR.surfacePathLength.
|
| |
|
static unsafe MR.Std.Vector_MRVector3f | surfacePathToContour3f (MR.Const_Mesh mesh, MR.Std.Const_Vector_MREdgePoint line) |
| | converts lines on mesh in 3D contours by computing coordinate of each point Generated from function MR.surfacePathToContour3f.
|
| |
|
static unsafe MR.Std.Vector_StdVectorMRVector3f | surfacePathsToContours3f (MR.Const_Mesh mesh, MR.Std.Const_Vector_StdVectorMREdgePoint lines) |
| | Generated from function MR.surfacePathsToContours3f.
|
| |
| static unsafe MR.Std.Vector_MREdgeId | surroundingContour (MR.Const_Mesh mesh, MR.Std._ByValue_Vector_MREdgeId includeEdges, MR.Std.Const_Function_FloatFuncFromMREdgeId edgeMetric, in MR.Vector3f dir) |
| | Find the best closed edge loop passing through given edges, which minimizes the sum of given edge metric. The algorithm assumes that input edges can be projected on the plane orthogonal to given direction, then the center point of all input edges is found, and each segment of the searched loop is within infinite pie sector with this center and the borders passing via two sorted input edges.
|
| |
| static unsafe MR.Std.Vector_MREdgeId | surroundingContour (MR.Const_Mesh mesh, MR.Std._ByValue_Vector_MRVertId keyVertices, MR.Std.Const_Function_FloatFuncFromMREdgeId edgeMetric, in MR.Vector3f dir) |
| | Find the best closed edge loop passing through given vertices, which minimizes the sum of given edge metric. The algorithm assumes that input vertices can be projected on the plane orthogonal to given direction, then the center point of all input vertices is found, and each segment of the searched loop is within infinite pie sector with this center and the borders passing via two sorted input vertices.
|
| |
|
static unsafe void | setCurrentThreadName (byte? name) |
| | Generated from function MR.SetCurrentThreadName.
|
| |
|
static unsafe MR.Std.Filesystem.Path | getUserConfigDir () |
| | Generated from function MR.getUserConfigDir.
|
| |
|
static unsafe MR.Std.Filesystem.Path | getUserConfigFilePath () |
| | Generated from function MR.getUserConfigFilePath.
|
| |
|
static unsafe MR.Std.Filesystem.Path | getTempDirectory () |
| | Generated from function MR.GetTempDirectory.
|
| |
|
static unsafe MR.Std.Filesystem.Path | getHomeDirectory () |
| | Generated from function MR.GetHomeDirectory.
|
| |
|
static unsafe? byte | getMRVersionString () |
| | Generated from function MR.GetMRVersionString.
|
| |
|
static unsafe void | openLink (string url) |
| | Generated from function MR.OpenLink.
|
| |
|
static unsafe bool | openDocument (string path) |
| | Generated from function MR.OpenDocument.
|
| |
|
static unsafe MR.Std.String | getCpuId () |
| | Generated from function MR.GetCpuId.
|
| |
|
static unsafe MR.Std.String | getDetailedOSName () |
| | Generated from function MR.GetDetailedOSName.
|
| |
|
static unsafe MR.Std.String | getOSNoSpaces () |
| | Generated from function MR.getOSNoSpaces.
|
| |
|
static void | setNewHandlerIfNeeded () |
| | Generated from function MR.setNewHandlerIfNeeded.
|
| |
|
static unsafe MR.Std.String | getCurrentStacktrace () |
| | returns string representation of the current stacktrace Generated from function MR.getCurrentStacktrace.
|
| |
|
static unsafe MR.SystemMemory | getSystemMemory () |
| | return information about memory available in the system Generated from function MR.getSystemMemory.
|
| |
|
static unsafe void | setupLoggerByDefault (MR.Std.Const_Function_VoidFunc? customLogSinkAdder=null) |
| | Setups logger: 1) makes stdout sink 2) makes file sink (MRLog.txt) 3) redirect std streams to logger 4) add custom sink if provided 5) print stacktrace on crash (not in wasm) log level - trace Generated from function MR.setupLoggerByDefault. Parameter customLogSinkAdder defaults to {}.
|
| |
|
static unsafe MR.Mesh | terrainTriangulation (MR.Std._ByValue_Vector_MRVector3f points, MR.Std._ByValue_Function_BoolFuncFromFloat? cb=null) |
| | Creates Delaunay triangulation using only XY components of points points will be changed inside this function take argument by value Generated from function MR.terrainTriangulation. Parameter cb defaults to {}.
|
| |
|
static unsafe MR.Std.Optional_MRVector2f | findVertexUV (MR.Const_MeshTopology topology, MR.VertId v, MR.Const_TriCornerUVCoords triCornerUvCoords) |
| | returns UV-coordinates at the given vertex if they are the same in all surrounding triangles; otherwise returns std.nullopt Generated from function MR.findVertexUV.
|
| |
|
static unsafe MR.Std.Optional_MRVertCoords2 | findVertexUVs (MR.Const_MeshTopology topology, MR.Const_TriCornerUVCoords triCornerUvCoords) |
| | if all mesh vertices have unique UV-coordinates in all triangles, then returns them; otherwise returns std.nullopt Generated from function MR.findVertexUVs.
|
| |
|
static unsafe MR.Color | sampleVertexColor (MR.Const_Mesh mesh, MR.VertId v, MR.Const_MeshTexture tex, MR.Const_TriCornerUVCoords triCornerUvCoords) |
| | computes the color in the given vertex of mesh textured per-triangle's-corner; if the vertex has different colors in different triangles, then angle-weight average is computed Generated from function MR.sampleVertexColor.
|
| |
|
static unsafe MR.VertColors | sampleVertexColors (MR.Const_Mesh mesh, MR.Const_MeshTexture tex, MR.Const_TriCornerUVCoords triCornerUvCoords) |
| | computes the colors in the vertices of mesh textured per-triangle's-corner; if one vertex has different colors in different triangles, then angle-weight average is computed Generated from function MR.sampleVertexColors.
|
| |
|
static unsafe bool | isTIFFFile (string path) |
| | Generated from function MR.isTIFFFile.
|
| |
|
static unsafe MR.TiffParameters | readTiffParameters (string path) |
| | Generated from function MR.readTiffParameters.
|
| |
|
static unsafe void | readRawTiff (string path, MR.RawTiffOutput output) |
| | Generated from function MR.readRawTiff.
|
| |
|
static unsafe void | writeRawTiff (byte? bytes, string path, MR.Const_WriteRawTiffParams params_) |
| | Generated from function MR.writeRawTiff.
|
| |
|
static unsafe void | writeRawTiff (byte? bytes, string path, MR.Const_BaseTiffParameters params_, MR.AffineXf3f? xf) |
| | Generated from function MR.writeRawTiff.
|
| |
| static unsafe void | printTimingTreeAtEnd (bool on, double? minTimeSec=null) |
| | enables or disables printing of timing tree when application terminates
|
| |
|
static void | printCurrentTimerBranch () |
| | prints current timer branch Generated from function MR.printCurrentTimerBranch.
|
| |
| static unsafe void | printTimingTree (double? minTimeSec=null) |
| | prints the current timing tree
|
| |
|
static unsafe MR.Mesh | makeTorus (float? primaryRadius=null, float? secondaryRadius=null, int? primaryResolution=null, int? secondaryResolution=null, MR.Std.Vector_MRVector3f? points=null) |
| | Generated from function MR.makeTorus. Parameter primaryRadius defaults to 1.0f. Parameter secondaryRadius defaults to 0.100000001f. Parameter primaryResolution defaults to 16. Parameter secondaryResolution defaults to 16.
|
| |
|
static unsafe MR.Mesh | makeOuterHalfTorus (float? primaryRadius=null, float? secondaryRadius=null, int? primaryResolution=null, int? secondaryResolution=null, MR.Std.Vector_MRVector3f? points=null) |
| | Generated from function MR.makeOuterHalfTorus. Parameter primaryRadius defaults to 1.0f. Parameter secondaryRadius defaults to 0.100000001f. Parameter primaryResolution defaults to 16. Parameter secondaryResolution defaults to 16.
|
| |
|
static unsafe MR.Mesh | makeTorusWithUndercut (float? primaryRadius=null, float? secondaryRadiusInner=null, float? secondaryRadiusOuter=null, int? primaryResolution=null, int? secondaryResolution=null, MR.Std.Vector_MRVector3f? points=null) |
| | Generated from function MR.makeTorusWithUndercut. Parameter primaryRadius defaults to 1.0f. Parameter secondaryRadiusInner defaults to 0.100000001f. Parameter secondaryRadiusOuter defaults to 0.200000003f. Parameter primaryResolution defaults to 16. Parameter secondaryResolution defaults to 16.
|
| |
|
static unsafe MR.Mesh | makeTorusWithSpikes (float? primaryRadius=null, float? secondaryRadiusInner=null, float? secondaryRadiusOuter=null, int? primaryResolution=null, int? secondaryResolution=null, MR.Std.Vector_MRVector3f? points=null) |
| | Generated from function MR.makeTorusWithSpikes. Parameter primaryRadius defaults to 1.0f. Parameter secondaryRadiusInner defaults to 0.100000001f. Parameter secondaryRadiusOuter defaults to 0.5f. Parameter primaryResolution defaults to 16. Parameter secondaryResolution defaults to 16.
|
| |
|
static unsafe MR.Mesh | makeTorusWithComponents (float? primaryRadius=null, float? secondaryRadius=null, int? primaryResolution=null, int? secondaryResolution=null, MR.Std.Vector_MRVector3f? points=null) |
| | Generated from function MR.makeTorusWithComponents. Parameter primaryRadius defaults to 1.0f. Parameter secondaryRadius defaults to 0.100000001f. Parameter primaryResolution defaults to 16. Parameter secondaryResolution defaults to 16.
|
| |
|
static unsafe MR.Mesh | makeTorusWithSelfIntersections (float? primaryRadius=null, float? secondaryRadius=null, int? primaryResolution=null, int? secondaryResolution=null, MR.Std.Vector_MRVector3f? points=null) |
| | Generated from function MR.makeTorusWithSelfIntersections. Parameter primaryRadius defaults to 1.0f. Parameter secondaryRadius defaults to 0.100000001f. Parameter primaryResolution defaults to 16. Parameter secondaryResolution defaults to 16.
|
| |
|
static unsafe bool | isPointInPlane (in MR.Vector3f p, in MR.Vector3f a, in MR.Vector3f b, in MR.Vector3f c) |
| | returns true if ABC plane contains point P Generated from function MR.isPointInPlane<float>.
|
| |
|
static unsafe bool | isPointInPlane (in MR.Vector3d p, in MR.Vector3d a, in MR.Vector3d b, in MR.Vector3d c) |
| | returns true if ABC plane contains point P Generated from function MR.isPointInPlane<double>.
|
| |
|
static unsafe bool | isPointInLine (in MR.Vector3f p, in MR.Vector3f a, in MR.Vector3f b) |
| | returns true if AB line contains point P Generated from function MR.isPointInLine<float>.
|
| |
|
static unsafe bool | isPointInLine (in MR.Vector3d p, in MR.Vector3d a, in MR.Vector3d b) |
| | returns true if AB line contains point P Generated from function MR.isPointInLine<double>.
|
| |
|
static unsafe bool | isPointInSegm (in MR.Vector3f p, in MR.Vector3f a, in MR.Vector3f b) |
| | returns true if AB segment contains point P Generated from function MR.isPointInSegm<float>.
|
| |
|
static unsafe bool | isPointInSegm (in MR.Vector3d p, in MR.Vector3d a, in MR.Vector3d b) |
| | returns true if AB segment contains point P Generated from function MR.isPointInSegm<double>.
|
| |
|
static unsafe bool | isPointInTriangle (in MR.Vector3f p, in MR.Vector3f a, in MR.Vector3f b, in MR.Vector3f c) |
| | returns true if ABC triangle contains point P Generated from function MR.isPointInTriangle<float>.
|
| |
|
static unsafe bool | isPointInTriangle (in MR.Vector3d p, in MR.Vector3d a, in MR.Vector3d b, in MR.Vector3d c) |
| | returns true if ABC triangle contains point P Generated from function MR.isPointInTriangle<double>.
|
| |
|
static unsafe bool | isPointInTriangle (in MR.Vector2f p, in MR.Vector2f a, in MR.Vector2f b, in MR.Vector2f c) |
| | returns true if ABC triangle contains point P Generated from function MR.isPointInTriangle<float>.
|
| |
|
static unsafe bool | isPointInTriangle (in MR.Vector2d p, in MR.Vector2d a, in MR.Vector2d b, in MR.Vector2d c) |
| | returns true if ABC triangle contains point P Generated from function MR.isPointInTriangle<double>.
|
| |
|
static unsafe MR.Std.Optional_MRTriIntersectResult | rayTriangleIntersect (in MR.Vector3f oriA, in MR.Vector3f oriB, in MR.Vector3f oriC, MR.Const_IntersectionPrecomputes_Float prec) |
| | Generated from function MR.rayTriangleIntersect<float>.
|
| |
|
static unsafe MR.Std.Optional_MRTriIntersectResult | rayTriangleIntersect (in MR.Vector3d oriA, in MR.Vector3d oriB, in MR.Vector3d oriC, MR.Const_IntersectionPrecomputes_Double prec) |
| | Generated from function MR.rayTriangleIntersect<double>.
|
| |
|
static unsafe MR.Std.Optional_MRTriIntersectResult | rayTriangleIntersect (in MR.Vector3f oriA, in MR.Vector3f oriB, in MR.Vector3f oriC, in MR.Vector3f dir) |
| | Generated from function MR.rayTriangleIntersect<float>.
|
| |
|
static unsafe MR.Std.Optional_MRTriIntersectResult | rayTriangleIntersect (in MR.Vector3d oriA, in MR.Vector3d oriB, in MR.Vector3d oriC, in MR.Vector3d dir) |
| | Generated from function MR.rayTriangleIntersect<double>.
|
| |
|
static unsafe bool | doTrianglesOverlap (in MR.Vector2f a, in MR.Vector2f b, in MR.Vector2f c, in MR.Vector2f d, in MR.Vector2f e, in MR.Vector2f f) |
| | returns true if ABC and DEF overlaps or touches Generated from function MR.doTrianglesOverlap<float>.
|
| |
|
static unsafe bool | doTrianglesOverlap (in MR.Vector2d a, in MR.Vector2d b, in MR.Vector2d c, in MR.Vector2d d, in MR.Vector2d e, in MR.Vector2d f) |
| | returns true if ABC and DEF overlaps or touches Generated from function MR.doTrianglesOverlap<double>.
|
| |
| static unsafe float | triDist (ref MR.Vector3f p, ref MR.Vector3f q, in MR.Std.Array_MRVector3f_3 s, in MR.Std.Array_MRVector3f_3 t) |
| | computes the closest points on two triangles, and returns the squared distance between them.
|
| |
|
static unsafe void | segPoints (ref MR.Vector3f VEC, ref MR.Vector3f X, ref MR.Vector3f Y, in MR.Vector3f P, in MR.Vector3f A, in MR.Vector3f Q, in MR.Vector3f B) |
| | Returns closest points between an segment pair. Generated from function MR.segPoints.
|
| |
|
static unsafe MR.Std.Vector_MRFaceFaceFace | findTripleFaceIntersections (MR.Const_MeshTopology topology, MR.Std.Const_Vector_StdVectorMRVarEdgeTri selfContours) |
| | given all self-intersection contours on a mesh, finds all intersecting triangle triples (every two triangles from a triple intersect); please note that not all such triples will have a common point Generated from function MR.findTripleFaceIntersections.
|
| |
|
static unsafe MR.Std.Vector_StdVectorMREdgeId | detectBasisTunnels (MR.Const_MeshPart mp, MR.Std._ByValue_Function_FloatFuncFromMREdgeId? metric=null, MR.Std._ByValue_Function_BoolFuncFromFloat? progressCallback=null) |
| | detects all not-contractible-in-point and not-equivalent tunnel loops on the mesh; trying to include in the loops the edges with the smallest metric; if no metric is given then discreteMinusAbsMeanCurvatureMetric will be used Generated from function MR.detectBasisTunnels. Parameter metric defaults to {}. Parameter progressCallback defaults to {}.
|
| |
|
static unsafe MR.Std.Vector_MREdgeId | findSmallestMetricCoLoop (MR.Const_MeshTopology topology, MR.Std.Const_Vector_MREdgeId loop, MR.Std.Const_Function_FloatFuncFromMREdgeId metric, MR.Const_FaceBitSet? region=null) |
| | given not-separating loop on input, finds the loop (also not-separation) that 1) goes from left side of input loop 2) returns to the input loop from its right side 3) goes along the input loop to become closed such that the resulting loop has minimal sum of given metric for its edges; edges 1) and 2) can be only inner or boundary to the given region (they must have region from left or from right) Generated from function MR.findSmallestMetricCoLoop.
|
| |
|
static unsafe MR.Std.Vector_MREdgeId | findShortestCoLoop (MR.Const_MeshPart mp, MR.Std.Const_Vector_MREdgeId loop) |
| | same as findMinimalCoLoop with euclidean edge length metric Generated from function MR.findShortestCoLoop.
|
| |
|
static unsafe MR.Std.Vector_StdVectorMREdgeId | findSmallestMetricEquivalentLoops (MR.Const_MeshTopology topology, MR.Std.Const_Vector_MREdgeId loop, MR.Std.Const_Function_FloatFuncFromMREdgeId metric, MR.Const_FaceBitSet? region=null) |
| | given not-separating loop on input, finds one or several loops such that 1) resulting loops together with input loop separate a part of mesh, 2) returned loops are oriented the same as input loop (and have the separated mesh part from the other side compared to input loop); 3) the sum of the given metric for their edges is minimal; 4) resulting edges can be only inner to the given region. Generated from function MR.findSmallestMetricEquivalentLoops.
|
| |
|
static unsafe MR.Std.Vector_StdVectorMREdgeId | findShortestEquivalentLoops (MR.Const_MeshPart mp, MR.Std.Const_Vector_MREdgeId loop) |
| | same as findSmallestMetricEquivalentLoops with euclidean edge length metric Generated from function MR.findShortestEquivalentLoops.
|
| |
|
static unsafe MR.FaceBitSet | detectTunnelFaces (MR.Const_MeshPart mp, MR.Const_DetectTunnelSettings? settings=null) |
| | returns tunnels as a number of faces; if you remove these faces and patch every boundary with disk, then the surface will be topology equivalent to sphere Generated from function MR.detectTunnelFaces. Parameter settings defaults to {}.
|
| |
|
static unsafe MR.Std.Optional_MRVertBitSet | pointUniformSampling (MR.Const_PointCloud pointCloud, MR.Const_UniformSamplingSettings settings) |
| | Sample vertices, removing ones that are too close; returns std.nullopt if it was terminated by the callback Generated from function MR.pointUniformSampling.
|
| |
|
static unsafe MR.Std.Optional_MRPointCloud | makeUniformSampledCloud (MR.Const_PointCloud pointCloud, MR.Const_UniformSamplingSettings settings) |
| | Composes new point cloud consisting of uniform samples of original point cloud; returns std.nullopt if it was terminated by the callback Generated from function MR.makeUniformSampledCloud.
|
| |
|
static unsafe MR.Mesh | uniteManyMeshes (MR.Std.Const_Vector_ConstMRMeshPtr meshes, MR.Const_UniteManyMeshesParams? params_=null) |
| | Generated from function MR.uniteManyMeshes. Parameter params_ defaults to {}.
|
| |
|
static unsafe float | cross (in MR.Vector2f a, in MR.Vector2f b) |
| | cross product Generated from function MR.cross<float>.
|
| |
|
static unsafe int | dot (in MR.Vector2b a, in MR.Vector2b b) |
| | dot product Generated from function MR.dot<bool>.
|
| |
|
static unsafe int | dot (in MR.Vector2i a, in MR.Vector2i b) |
| | dot product Generated from function MR.dot<int>.
|
| |
|
static unsafe long | dot (in MR.Vector2i64 a, in MR.Vector2i64 b) |
| | dot product Generated from function MR.dot<MR_int64_t>.
|
| |
|
static unsafe float | dot (in MR.Vector2f a, in MR.Vector2f b) |
| | dot product Generated from function MR.dot<float>.
|
| |
|
static unsafe double | dot (in MR.Vector2d a, in MR.Vector2d b) |
| | dot product Generated from function MR.dot<double>.
|
| |
|
static unsafe float | dot (in MR.Vector3f a, in MR.Vector3f b) |
| | dot product Generated from function MR.dot<float>.
|
| |
|
static unsafe double | dot (in MR.Vector3d a, in MR.Vector3d b) |
| | dot product Generated from function MR.dot<double>.
|
| |
|
static unsafe int | dot (in MR.Vector3b a, in MR.Vector3b b) |
| | dot product Generated from function MR.dot<bool>.
|
| |
|
static unsafe int | dot (in MR.Vector3i a, in MR.Vector3i b) |
| | dot product Generated from function MR.dot<int>.
|
| |
|
static unsafe long | dot (in MR.Vector3i64 a, in MR.Vector3i64 b) |
| | dot product Generated from function MR.dot<MR_int64_t>.
|
| |
|
static unsafe int | dot (MR.Const_Vector3_UnsignedChar a, MR.Const_Vector3_UnsignedChar b) |
| | dot product Generated from function MR.dot<unsigned char>.
|
| |
|
static unsafe int | dot (in MR.Vector4b a, in MR.Vector4b b) |
| | dot product Generated from function MR.dot<bool>.
|
| |
|
static unsafe int | dot (in MR.Vector4i a, in MR.Vector4i b) |
| | dot product Generated from function MR.dot<int>.
|
| |
|
static unsafe long | dot (in MR.Vector4i64 a, in MR.Vector4i64 b) |
| | dot product Generated from function MR.dot<MR_int64_t>.
|
| |
|
static unsafe float | dot (in MR.Vector4f a, in MR.Vector4f b) |
| | dot product Generated from function MR.dot<float>.
|
| |
|
static unsafe double | dot (in MR.Vector4d a, in MR.Vector4d b) |
| | dot product Generated from function MR.dot<double>.
|
| |
|
static unsafe int | dot (MR.Const_Vector4_UnsignedChar a, MR.Const_Vector4_UnsignedChar b) |
| | dot product Generated from function MR.dot<unsigned char>.
|
| |
|
static unsafe MR.ViewportIterator | begin (MR.Const_ViewportMask mask) |
| | Generated from function MR.begin.
|
| |
|
static unsafe MR.ViewportIterator | end (MR.Const_ViewportMask _1) |
| | Generated from function MR.end.
|
| |
|
static MR.OutEdge | opposite (MR.OutEdge e) |
| | Generated from function MR.opposite.
|
| |
|
static unsafe void | expandVoxelsMask (MR.VoxelBitSet mask, MR.Const_VolumeIndexer indexer, int? expansion=null) |
| | expands VoxelBitSet with given number of steps Generated from function MR.expandVoxelsMask. Parameter expansion defaults to 1.
|
| |
|
static unsafe void | shrinkVoxelsMask (MR.VoxelBitSet mask, MR.Const_VolumeIndexer indexer, int? shrinkage=null) |
| | shrinks VoxelBitSet with given number of steps Generated from function MR.shrinkVoxelsMask. Parameter shrinkage defaults to 1.
|
| |
| static unsafe void | decompressZip (string zipFile, string targetFolder, byte? password=null) |
| | decompresses given zip-file into given folder
|
| |
| static unsafe void | decompressZip (MR.Std.Istream zipStream, string targetFolder, byte? password=null) |
| | decompresses given binary stream (containing the data of a zip file only) into given folder
|
| |
| static unsafe void | compressZip (string zipFile, string sourceFolder, MR.Std.Const_Vector_StdFilesystemPath? excludeFiles=null, byte? password=null, MR.Std._ByValue_Function_BoolFuncFromFloat? cb=null) |
| | compresses given folder in given zip-file
|
| |
|
static unsafe MR.Std.Ostream | getStdCout () |
| | Returns the stdout stream.
|
| |
|
static unsafe MR.Std.Ostream | getStdCerr () |
| | Returns the stderr stream, buffered.
|
| |
|
static unsafe MR.Std.Ostream | getStdClog () |
| | Returns the stderr stream, unbuffered.
|
| |
|
static unsafe MR.Std.Istream | getStdCin () |
| | Returns the stdin stream.
|
| |
|
static unsafe MR.Mesh | alignTextToMesh (MR.Const_Mesh mesh, MR.Const_TextMeshAlignParams params_) |
| | Creates symbol mesh and aligns it to given surface Generated from function MR.alignTextToMesh.
|
| |
| static unsafe MR.Mesh | bendTextAlongCurve (MR.Std.Const_Function_MRCurvePointFuncFromFloat curve, MR.Const_BendTextAlongCurveParams params_) |
| | Creates symbol mesh and deforms it along given curve.
|
| |
|
static unsafe MR.Mesh | bendTextAlongCurve (MR.Std.Const_Vector_MRCurvePoint curve, MR.Const_BendTextAlongCurveParams params_) |
| | Creates symbol mesh and deforms it along given curve Generated from function MR.bendTextAlongCurve.
|
| |
|
static unsafe MR.Mesh | bendTextAlongSurfacePath (MR.Const_Mesh mesh, MR.Const_MeshTriPoint start, MR.Std.Const_Vector_MREdgePoint path, MR.Const_MeshTriPoint end, MR.Const_BendTextAlongCurveParams params_) |
| | Creates symbol mesh and deforms it along given surface path: start->path->end Generated from function MR.bendTextAlongSurfacePath.
|
| |
|
static unsafe MR.Mesh | bendTextAlongSurfacePath (MR.Const_Mesh mesh, MR.Std.Const_Vector_MREdgePoint path, MR.Const_BendTextAlongCurveParams params_) |
| | Creates symbol mesh and deforms it along given surface path Generated from function MR.bendTextAlongSurfacePath.
|
| |
|
static unsafe MR.Std.Vector_StdVectorMRVector2f | createSymbolContours (MR.Const_SymbolMeshParams params_) |
| | Generated from function MR.createSymbolContours.
|
| |
|
static unsafe MR.Mesh | createSymbolsMesh (MR.Const_SymbolMeshParams params_) |
| | Generated from function MR.createSymbolsMesh.
|
| |
|
static unsafe MR.OriginAndDimensions | calcOriginAndDimensions (in MR.Box3f box, float voxelSize) |
| | computes origin and dimensions of voxel-grid to cover given 3D box with given spacing (voxelSize) Generated from function MR.calcOriginAndDimensions.
|
| |
|
static unsafe float | voxelizeAndComputeVolume (MR.Std.Const_Vector_StdSharedPtrMRMesh meshes, in MR.AffineXf3f xf, in MR.Vector3f voxelSize) |
| | Generated from function MR.voxelizeAndComputeVolume.
|
| |
|
static unsafe ulong | heapBytes (MR.Const_FloatGrid grid) |
| | returns the amount of heap memory occupied by grid Generated from function MR.heapBytes.
|
| |
|
static unsafe MR.FloatGrid | resampled (MR.Const_FloatGrid grid, float voxelScale, MR.Std._ByValue_Function_BoolFuncFromFloat? cb=null) |
| | resample this grid to fit voxelScale Generated from function MR.resampled. Parameter cb defaults to {}.
|
| |
|
static unsafe MR.FloatGrid | resampled (MR.Const_FloatGrid grid, in MR.Vector3f voxelScale, MR.Std._ByValue_Function_BoolFuncFromFloat? cb=null) |
| | resample this grid to fit voxelScale Generated from function MR.resampled. Parameter cb defaults to {}.
|
| |
|
static unsafe MR.FloatGrid | cropped (MR.Const_FloatGrid grid, in MR.Box3i box, MR.Std._ByValue_Function_BoolFuncFromFloat? cb=null) |
| | returns cropped grid Generated from function MR.cropped. Parameter cb defaults to {}.
|
| |
|
static unsafe ulong | countVoxelsWithValuePred (MR.Const_FloatGrid grid, MR.Std.Const_Function_BoolFuncFromFloat pred) |
| | returns number of velxes in the grid with pred(value) == true Generated from function MR.countVoxelsWithValuePred.
|
| |
|
static unsafe ulong | countVoxelsWithValueLess (MR.Const_FloatGrid grid, float value) |
| | returns number of voxels in the grid with value less than given Generated from function MR.countVoxelsWithValueLess.
|
| |
|
static unsafe ulong | countVoxelsWithValueGreater (MR.Const_FloatGrid grid, float value) |
| | returns number of voxels in the grid with value greater than given Generated from function MR.countVoxelsWithValueGreater.
|
| |
|
static unsafe void | gaussianFilter (MR.FloatGrid grid, int width, int iters, MR.Std._ByValue_Function_BoolFuncFromFloat? cb=null) |
| | returns grid with gaussian filter applied Generated from function MR.gaussianFilter. Parameter cb defaults to {}.
|
| |
|
static unsafe MR.FloatGrid | gaussianFiltered (MR.Const_FloatGrid grid, int width, int iters, MR.Std._ByValue_Function_BoolFuncFromFloat? cb=null) |
| | Generated from function MR.gaussianFiltered. Parameter cb defaults to {}.
|
| |
|
static unsafe float | getValue (MR.Const_FloatGrid grid, in MR.Vector3i p) |
| | returns the value at given voxel Generated from function MR.getValue.
|
| |
| static unsafe void | setValue (MR.FloatGrid grid, in MR.Vector3i p, float value) |
| | sets given region voxels value
|
| |
| static unsafe void | setValue (MR.FloatGrid grid, MR.Const_VoxelBitSet region, float value) |
| | sets given region voxels value
|
| |
|
static unsafe MR.Box3i | findActiveBounds (MR.Const_FloatGrid grid) |
| | returns bounding box of active voxels in grid min: including max: excluding Generated from function MR.findActiveBounds.
|
| |
| static unsafe void | setValues (MR.FloatGrid grid, MR.Const_VoxelBitSet region, MR.Std.Const_Vector_Float values) |
| | sets given region voxels value one by one
|
| |
|
static unsafe void | setLevelSetType (MR.FloatGrid grid) |
| | sets type of this grid as LEVEL SET (for normal flipping) Generated from function MR.setLevelSetType.
|
| |
|
static unsafe MR.Mesh | marchingCubes (MR.Const_SimpleVolume volume, MR.Const_MarchingCubesParams? params_=null) |
| | Generated from function MR.marchingCubes. Parameter params_ defaults to {}.
|
| |
|
static unsafe MR.TriMesh | marchingCubesAsTriMesh (MR.Const_SimpleVolume volume, MR.Const_MarchingCubesParams? params_=null) |
| | Generated from function MR.marchingCubesAsTriMesh. Parameter params_ defaults to {}.
|
| |
|
static unsafe MR.Mesh | marchingCubes (MR.Const_SimpleVolumeMinMax volume, MR.Const_MarchingCubesParams? params_=null) |
| | Generated from function MR.marchingCubes. Parameter params_ defaults to {}.
|
| |
|
static unsafe MR.TriMesh | marchingCubesAsTriMesh (MR.Const_SimpleVolumeMinMax volume, MR.Const_MarchingCubesParams? params_=null) |
| | Generated from function MR.marchingCubesAsTriMesh. Parameter params_ defaults to {}.
|
| |
|
static unsafe MR.Mesh | marchingCubes (MR.Const_VdbVolume volume, MR.Const_MarchingCubesParams? params_=null) |
| | Generated from function MR.marchingCubes. Parameter params_ defaults to {}.
|
| |
|
static unsafe MR.TriMesh | marchingCubesAsTriMesh (MR.Const_VdbVolume volume, MR.Const_MarchingCubesParams? params_=null) |
| | Generated from function MR.marchingCubesAsTriMesh. Parameter params_ defaults to {}.
|
| |
|
static unsafe MR.Mesh | marchingCubes (MR.Const_FunctionVolume volume, MR.Const_MarchingCubesParams? params_=null) |
| | Generated from function MR.marchingCubes. Parameter params_ defaults to {}.
|
| |
|
static unsafe MR.TriMesh | marchingCubesAsTriMesh (MR.Const_FunctionVolume volume, MR.Const_MarchingCubesParams? params_=null) |
| | Generated from function MR.marchingCubesAsTriMesh. Parameter params_ defaults to {}.
|
| |
|
static unsafe MR.Mesh | marchingCubes (MR.Const_SimpleBinaryVolume volume, MR.Const_MarchingCubesParams? params_=null) |
| | Generated from function MR.marchingCubes. Parameter params_ defaults to {}.
|
| |
|
static unsafe MR.TriMesh | marchingCubesAsTriMesh (MR.Const_SimpleBinaryVolume volume, MR.Const_MarchingCubesParams? params_=null) |
| | Generated from function MR.marchingCubesAsTriMesh. Parameter params_ defaults to {}.
|
| |
|
static unsafe MR.SimpleVolumeMinMax | meshToDistanceVolume (MR.Const_MeshPart mp, MR.Const_MeshToDistanceVolumeParams params_) |
| | makes SimpleVolume filled with (signed or unsigned) distances from Mesh with given settings Generated from function MR.meshToDistanceVolume.
|
| |
|
static unsafe MR.FunctionVolume | meshToDistanceFunctionVolume (MR.Const_MeshPart mp, MR.Const_MeshToDistanceVolumeParams params_) |
| | makes FunctionVolume representing (signed or unsigned) distances from Mesh with given settings Generated from function MR.meshToDistanceFunctionVolume.
|
| |
|
static unsafe MR.SimpleBinaryVolume | makeCloseToMeshVolume (MR.Const_MeshPart mp, MR.Const_CloseToMeshVolumeParams params_) |
| | makes a binary volume with close-to-surface predicate values according to the given parameters Generated from function MR.makeCloseToMeshVolume.
|
| |
|
static unsafe MR.SimpleVolumeMinMax | meshRegionToIndicatorVolume (MR.Const_Mesh mesh, MR.Const_FaceBitSet region, float offset, MR.Const_DistanceVolumeParams params_) |
| | returns a volume filled with the values: (unsigned distance to region-part) - (unsigned distance to not-region-part); v < 0: this point is within offset distance to region-part of mesh and it is closer to region-part than to not-region-part Generated from function MR.meshRegionToIndicatorVolume.
|
| |
| static unsafe MR.Std.Array_MRSimpleVolumeMinMax_3 | meshToDirectionVolume (MR.Const_MeshToDirectionVolumeParams params_) |
| | Converts mesh into 4d voxels, so that each cell in 3d space holds the direction from the closest point on mesh to the cell position. Resulting volume is encoded by 3 separate 3d volumes, corresponding to x, y and z components of vectors respectively.
|
| |
| static unsafe MR.VertBitSet | moveMeshToVoxelMaxDeriv (MR.Mesh mesh, in MR.AffineXf3f meshXf, MR.Const_VdbVolume volume, in MR.AffineXf3f volumeXf, MR.Const_MoveMeshToVoxelMaxDerivSettings settings, MR.Std._ByValue_Function_BoolFuncFromFloat? callback=null) |
| | Moves each vertex along its normal to the minimize (with sign, i.e. maximize the absolute value with negative sign) the derivative of voxels.
|
| |
| static unsafe MR.VertBitSet | moveMeshToVoxelMaxDeriv (MR.Mesh mesh, in MR.AffineXf3f meshXf, MR.Const_SimpleVolumeMinMax volume, in MR.AffineXf3f volumeXf, MR.Const_MoveMeshToVoxelMaxDerivSettings settings, MR.Std._ByValue_Function_BoolFuncFromFloat? callback=null) |
| | Moves each vertex along its normal to the minimize (with sign, i.e. maximize the absolute value with negative sign) the derivative of voxels.
|
| |
| static unsafe MR.VertBitSet | moveMeshToVoxelMaxDeriv (MR.Mesh mesh, in MR.AffineXf3f meshXf, MR.Const_FunctionVolume volume, in MR.AffineXf3f volumeXf, MR.Const_MoveMeshToVoxelMaxDerivSettings settings, MR.Std._ByValue_Function_BoolFuncFromFloat? callback=null) |
| | Moves each vertex along its normal to the minimize (with sign, i.e. maximize the absolute value with negative sign) the derivative of voxels.
|
| |
|
static unsafe MR.Std.Const_String | defaultSerializeVoxelsFormat () |
| | returns file extension used to serialize ObjectVoxels by default (if not overridden in specific object), the string starts with '.' Generated from function MR.defaultSerializeVoxelsFormat.
|
| |
|
static unsafe void | setDefaultSerializeVoxelsFormat (string newFormat) |
| | sets file extension used to serialize serialize ObjectVoxels by default (if not overridden in specific object), the string must start from '.' Generated from function MR.setDefaultSerializeVoxelsFormat.
|
| |
|
static unsafe float | suggestVoxelSize (MR.Const_MeshPart mp, float approxNumVoxels) |
| | computes size of a cubical voxel to get approximately given number of voxels during rasterization Generated from function MR.suggestVoxelSize.
|
| |
|
static unsafe MR.Mesh | offsetMesh (MR.Const_MeshPart mp, float offset, MR.Const_OffsetParameters? params_=null) |
| | Offsets mesh by converting it to distance field in voxels using OpenVDB library, signDetectionMode = Unsigned(from OpenVDB) | OpenVDB | HoleWindingRule, and then converts back using OpenVDB library (dual marching cubes), so result mesh is always closed Generated from function MR.offsetMesh. Parameter params_ defaults to {}.
|
| |
|
static unsafe MR.Mesh | doubleOffsetMesh (MR.Const_MeshPart mp, float offsetA, float offsetB, MR.Const_OffsetParameters? params_=null) |
| | Offsets mesh by converting it to voxels and back two times only closed meshes allowed (only Offset mode) typically offsetA and offsetB have distinct signs Generated from function MR.doubleOffsetMesh. Parameter params_ defaults to {}.
|
| |
|
static unsafe MR.Mesh | mcOffsetMesh (MR.Const_MeshPart mp, float offset, MR.Const_OffsetParameters? params_=null, MR.Vector_MRVoxelId_MRFaceId? outMap=null) |
| | Offsets mesh by converting it to distance field in voxels (using OpenVDB library if SignDetectionMode.OpenVDB or our implementation otherwise) and back using standard Marching Cubes, as opposed to Dual Marching Cubes in offsetMesh(...) Generated from function MR.mcOffsetMesh. Parameter params_ defaults to {}.
|
| |
| static unsafe MR.Mesh | mcShellMeshRegion (MR.Const_Mesh mesh, MR.Const_FaceBitSet region, float offset, MR.Const_BaseShellParameters params_, MR.Vector_MRVoxelId_MRFaceId? outMap=null) |
| | Constructs a shell around selected mesh region with the properties that every point on the shall must.
|
| |
|
static unsafe MR.Mesh | sharpOffsetMesh (MR.Const_MeshPart mp, float offset, MR.Const_SharpOffsetParameters? params_=null) |
| | Offsets mesh by converting it to voxels and back post process result using reference mesh to sharpen features Generated from function MR.sharpOffsetMesh. Parameter params_ defaults to {}.
|
| |
| static unsafe MR.Mesh | generalOffsetMesh (MR.Const_MeshPart mp, float offset, MR.Const_GeneralOffsetParameters params_) |
| | Offsets mesh by converting it to voxels and back using one of three modes specified in the parameters.
|
| |
|
static unsafe MR.Mesh | thickenMesh (MR.Const_Mesh mesh, float offset, MR.Const_GeneralOffsetParameters? params_=null, MR.Const_PartMapping? map=null) |
| | in case of positive offset, returns the mesh consisting of offset mesh merged with inversed original mesh (thickening mode); in case of negative offset, returns the mesh consisting of inversed offset mesh merged with original mesh (hollowing mode); if your input mesh is open then please specify params.signDetectionMode = SignDetectionMode.Unsigned, and you will get open mesh (with several components) on output if your input mesh is closed then please specify another sign detection mode, and you will get closed mesh (with several components) on output; Generated from function MR.thickenMesh. Parameter params_ defaults to {}. Parameter map defaults to {}.
|
| |
|
static unsafe MR.Mesh | offsetOneDirection (MR.Const_MeshPart mp, float offset, MR.Const_GeneralOffsetParameters? params_=null) |
| | offsets given MeshPart in one direction only (positive or negative) if your input mesh is open then please specify params.signDetectionMode = SignDetectionMode.Unsigned if your input mesh is closed this function is equivalent to generalOffsetMesh, but in SignDetectionMode.Unsigned mode it will only keep one side (just like for open mesh) unlike thickenMesh this functions does not keep original mesh in result Generated from function MR.offsetOneDirection. Parameter params_ defaults to {}.
|
| |
|
static unsafe MR.Mesh | offsetPolyline (MR.Const_Polyline3 polyline, float offset, MR.Const_OffsetParameters? params_=null) |
| | Offsets polyline by converting it to voxels and building iso-surface do offset in all directions so result mesh is always closed params.signDetectionMode is ignored (always assumed SignDetectionMode.Unsigned) Generated from function MR.offsetPolyline. Parameter params_ defaults to {}.
|
| |
|
static unsafe MR.Mesh | partialOffsetMesh (MR.Const_MeshPart mp, float offset, MR.Const_GeneralOffsetParameters? params_=null) |
| | Offsets mesh part by converting it to voxels and back and unite it with original mesh (via boolean) note: only OffsetParameters.signDetectionMode = SignDetectionMode.Unsigned will work in this function Generated from function MR.partialOffsetMesh. Parameter params_ defaults to {}.
|
| |
|
static unsafe MR.SimpleVolume | pointsToDistanceVolume (MR.Const_PointCloud cloud, MR.Const_PointsToDistanceVolumeParams params_) |
| | makes SimpleVolume filled with signed distances to points with normals Generated from function MR.pointsToDistanceVolume.
|
| |
|
static unsafe MR.FunctionVolume | pointsToDistanceFunctionVolume (MR.Const_PointCloud cloud, MR.Const_PointsToDistanceVolumeParams params_) |
| | makes FunctionVolume representing signed distances to points with normals Generated from function MR.pointsToDistanceFunctionVolume.
|
| |
| static unsafe MR.VertColors | calcAvgColors (MR.Const_PointCloud cloud, MR.Const_VertColors colors, MR.Const_VertCoords tgtPoints, MR.Const_VertBitSet tgtVerts, float sigma, MR.Std.Const_Function_BoolFuncFromFloat? cb=null) |
| | given
|
| |
|
static unsafe MR.Mesh | pointsToMeshFusion (MR.Const_PointCloud cloud, MR.Const_PointsToMeshParameters params_) |
| | makes mesh from points with normals by constructing intermediate volume with signed distances and then using marching cubes algorithm to extract the surface from there Generated from function MR.pointsToMeshFusion.
|
| |
|
static unsafe MR.FloatGrid | polylineToDistanceField (MR.Const_Polyline3 polyline, MR.Const_PolylineToDistanceVolumeParams params_) |
| | convert polyline to voxels distance field Generated from function MR.polylineToDistanceField.
|
| |
|
static unsafe MR.VdbVolume | polylineToVdbVolume (MR.Const_Polyline3 polyline, MR.Const_PolylineToDistanceVolumeParams params_) |
| | convert polyline to VDB volume Generated from function MR.polylineToVdbVolume.
|
| |
|
static unsafe MR.SimpleVolume | polylineToSimpleVolume (MR.Const_Polyline3 polyline, MR.Const_PolylineToVolumeParams params_) |
| | convert polyline to simple volume Generated from function MR.polylineToSimpleVolume.
|
| |
|
static unsafe MR.FunctionVolume | polylineToFunctionVolume (MR.Const_Polyline3 polyline, MR.Const_PolylineToVolumeParams params_) |
| | convert polyline to function volume Generated from function MR.polylineToFunctionVolume.
|
| |
|
static unsafe MR.Mesh | rebuildMesh (MR.Const_MeshPart mp, MR.Const_RebuildMeshSettings settings) |
| | fixes all types of issues in input mesh (degenerations, holes, self-intersections, etc.) by first converting mesh in voxel representation, and then backward Generated from function MR.rebuildMesh.
|
| |
| static unsafe MR.Std.Function_FloatFuncFromConstCharPtr | getTypeConverter (MR.ScalarType scalarType, ulong range, long min) |
| | get a function to convert binary data of specified format type to a scalar value
|
| |
|
static unsafe void | sortScansByOrder (MR.Std.Vector_StdFilesystemPath scans, MR.Std.Vector_MRSliceInfo zOrder) |
| | Sort scan files in given vector by given slice information Generated from function MR.sortScansByOrder.
|
| |
|
static unsafe void | putScanFileNameInZ (MR.Std.Const_Vector_StdFilesystemPath scans, MR.Std.Vector_MRSliceInfo zOrder) |
| | Read layer heights from given scan file names Generated from function MR.putScanFileNameInZ.
|
| |
|
static unsafe void | sortScanFilesByName (MR.Std.Vector_StdFilesystemPath scans) |
| | Sort scan files in given vector by names (respect numbers in it) Generated from function MR.sortScanFilesByName.
|
| |
|
static unsafe MR.Box3f | computeWorkArea (MR.Const_Polyline3 toolpath, MR.Const_MeshPart tool) |
| | Compute bounding box for swept volume for given tool and toolpath Generated from function MR.computeWorkArea.
|
| |
|
static unsafe MR.Box3i | computeGridBox (in MR.Box3f workArea, float voxelSize) |
| | Compute required voxel volume's dimensions for given work area Generated from function MR.computeGridBox.
|
| |
|
static unsafe MR.Mesh | computeSweptVolumeWithMeshMovement (MR.Const_ComputeSweptVolumeParameters params_) |
| | Compute swept volume for given toolpath and tool Builds mesh for each tool movement and joins them using voxel boolean Generated from function MR.computeSweptVolumeWithMeshMovement.
|
| |
|
static unsafe MR.Mesh | computeSweptVolumeWithDistanceVolume (MR.Const_ComputeSweptVolumeParameters params_) |
| | Compute swept volume for given toolpath and tool Creates a distance-to-tool volume and converts it to mesh using the marching cubes algorithm Generated from function MR.computeSweptVolumeWithDistanceVolume.
|
| |
|
static unsafe MR.Mesh | computeSweptVolumeWithCustomToolDistance (MR.IComputeToolDistance comp, MR.Const_ComputeSweptVolumeParameters params_) |
| | Compute swept volume for given toolpath and tool Creates a distance-to-tool volume using custom tool distance computation object and converts it to mesh using the marching cubes algorithm Generated from function MR.computeSweptVolumeWithCustomToolDistance.
|
| |
|
static unsafe MR.Std.Array_MRSimpleVolumeMinMax_3 | teethMaskToDirectionVolume (MR.Const_VdbVolume volume, MR.Std.Const_Vector_Int? additionalIds=null) |
| | A shortcut for TeethMaskToDirectionVolumeConvertor.create and TeethMaskToDirectionVolumeConvertor.convertAll Generated from function MR.teethMaskToDirectionVolume. Parameter additionalIds defaults to {}.
|
| |
|
static unsafe MR.ToolPathResult | constantZToolPath (MR.Const_MeshPart mp, MR.Const_ToolPathParams params_) |
| | Generated from function MR.constantZToolPath.
|
| |
|
static unsafe MR.ToolPathResult | lacingToolPath (MR.Const_MeshPart mp, MR.Const_ToolPathParams params_, MR.Axis cutDirection) |
| | Generated from function MR.lacingToolPath.
|
| |
|
static unsafe MR.ToolPathResult | constantCuspToolPath (MR.Const_MeshPart mp, MR.Const_ConstantCuspParams params_) |
| | Generated from function MR.constantCuspToolPath.
|
| |
|
static unsafe MR.ObjectGcode | exportToolPathToGCode (MR.Std.Const_Vector_MRGCommand commands) |
| | Generated from function MR.exportToolPathToGCode.
|
| |
|
static unsafe void | interpolateLines (MR.Std.Vector_MRGCommand commands, MR.Const_LineInterpolationParams params_, MR.Axis axis) |
| | Generated from function MR.interpolateLines.
|
| |
|
static unsafe void | interpolateArcs (MR.Std.Vector_MRGCommand commands, MR.Const_ArcInterpolationParams params_, MR.Axis axis) |
| | Generated from function MR.interpolateArcs.
|
| |
|
static unsafe MR.FaceBitSet | smoothSelection (MR.Mesh mesh, MR.Const_FaceBitSet region, float expandOffset, float shrinkOffset) |
| | Generated from function MR.smoothSelection.
|
| |
|
static unsafe MR.FloatGrid | meshToLevelSet (MR.Const_MeshPart mp, in MR.AffineXf3f xf, in MR.Vector3f voxelSize, float? surfaceOffset=null, MR.Std._ByValue_Function_BoolFuncFromFloat? cb=null) |
| | Generated from function MR.meshToLevelSet. Parameter surfaceOffset defaults to 3. Parameter cb defaults to {}.
|
| |
|
static unsafe MR.FloatGrid | meshToDistanceField (MR.Const_MeshPart mp, in MR.AffineXf3f xf, in MR.Vector3f voxelSize, float? surfaceOffset=null, MR.Std._ByValue_Function_BoolFuncFromFloat? cb=null) |
| | Generated from function MR.meshToDistanceField. Parameter surfaceOffset defaults to 3. Parameter cb defaults to {}.
|
| |
|
static unsafe void | evalGridMinMax (MR.Const_FloatGrid grid, ref float min, ref float max) |
| | Generated from function MR.evalGridMinMax.
|
| |
|
static unsafe MR.VdbVolume | meshToDistanceVdbVolume (MR.Const_MeshPart mp, MR.Const_MeshToVolumeParams? params_=null) |
| | converts mesh (or its part) into a volume filled with signed or unsigned distances to mesh using OpenVDB library; for signed distances the mesh must be closed; *params.outXf is untouched Generated from function MR.meshToDistanceVdbVolume. Parameter params_ defaults to {}.
|
| |
|
static unsafe MR.VdbVolume | meshToVolume (MR.Const_MeshPart mp, MR.Const_MeshToVolumeParams? params_=null) |
| | converts mesh (or its part) into a volume filled with signed or unsigned distances to mesh using OpenVDB library; for signed distances the mesh must be closed; prior to conversion, world space is shifted to ensure that the bounding box of offset mesh is in positive quarter-space, and the shift is written in *params.outXf Generated from function MR.meshToVolume. Parameter params_ defaults to {}.
|
| |
|
static unsafe MR.VdbVolume | floatGridToVdbVolume (MR._ByValue_FloatGrid grid) |
| | Generated from function MR.floatGridToVdbVolume.
|
| |
|
static unsafe MR.FloatGrid | simpleVolumeToDenseGrid (MR.Const_SimpleVolume simpleVolume, float? background=null, MR.Std._ByValue_Function_BoolFuncFromFloat? cb=null) |
| | Generated from function MR.simpleVolumeToDenseGrid. Parameter background defaults to 0.0f. Parameter cb defaults to {}.
|
| |
|
static unsafe MR.VdbVolume | simpleVolumeToVdbVolume (MR.Const_SimpleVolumeMinMax simpleVolume, MR.Std._ByValue_Function_BoolFuncFromFloat? cb=null) |
| | Generated from function MR.simpleVolumeToVdbVolume. Parameter cb defaults to {}.
|
| |
|
static unsafe MR.VdbVolume | functionVolumeToVdbVolume (MR.Const_FunctionVolume functoinVolume, MR.Std._ByValue_Function_BoolFuncFromFloat? cb=null) |
| | Generated from function MR.functionVolumeToVdbVolume. Parameter cb defaults to {}.
|
| |
|
static unsafe MR.SimpleVolumeMinMax | vdbVolumeToSimpleVolume (MR.Const_VdbVolume vdbVolume, MR.Box3i? activeBox=null, MR.Std._ByValue_Function_BoolFuncFromFloat? cb=null) |
| | Generated from function MR.vdbVolumeToSimpleVolume. Parameter activeBox defaults to MR.Box3i(). Parameter cb defaults to {}.
|
| |
| static unsafe MR.SimpleVolumeMinMax | vdbVolumeToSimpleVolumeNorm (MR.Const_VdbVolume vdbVolume, MR.Box3i? activeBox=null, MR._InOpt_Box1f sourceScale=default, MR.Std._ByValue_Function_BoolFuncFromFloat? cb=null) |
| | Makes normalized SimpleVolume from VdbVolume Normalisation consist of scaling values linearly from the source scale to the interval [0;1].
|
| |
| static unsafe MR.SimpleVolumeMinMaxU16 | vdbVolumeToSimpleVolumeU16 (MR.Const_VdbVolume vdbVolume, MR.Box3i? activeBox=null, MR._InOpt_Box1f sourceScale=default, MR.Std._ByValue_Function_BoolFuncFromFloat? cb=null) |
| | Makes SimpleVolumeU16 from VdbVolume Values are linearly scaled from the source scale to the range corresponding to uint16_t.
|
| |
|
static unsafe MR.Mesh | gridToMesh (MR.Const_FloatGrid grid, MR.Const_GridToMeshSettings settings) |
| | converts OpenVDB Grid into mesh using Dual Marching Cubes algorithm Generated from function MR.gridToMesh.
|
| |
|
static unsafe MR.Mesh | gridToMesh (MR.Misc._Moved< MR.FloatGrid > grid, MR.Const_GridToMeshSettings settings) |
| | converts OpenVDB Grid into mesh using Dual Marching Cubes algorithm; deletes grid in the middle to reduce peak memory consumption Generated from function MR.gridToMesh.
|
| |
|
static unsafe void | makeSignedByWindingNumber (MR.FloatGrid grid, in MR.Vector3f voxelSize, MR.Const_Mesh refMesh, MR.Const_MakeSignedByWindingNumberSettings settings) |
| | set signs for unsigned distance field grid using generalized winding number computed at voxel grid point from refMesh Generated from function MR.makeSignedByWindingNumber.
|
| |
|
static unsafe MR.Mesh | doubleOffsetVdb (MR.Const_MeshPart mp, MR.Const_DoubleOffsetSettings settings) |
| | performs convention from mesh to voxel grid and back with offsetA, and than same with offsetB; if input mesh is not closed then the sign of distance field will be obtained using generalized winding number computation Generated from function MR.doubleOffsetVdb.
|
| |
| static unsafe MR.Mesh | meshFromVoxelsMask (MR.Const_VdbVolume volume, MR.Const_VoxelBitSet mask) |
| | Creates mesh from voxels mask.
|
| |
| static unsafe MR.Mesh | segmentVolume (MR.Const_VdbVolume volume, MR.Std.Const_Vector_StdPairMRVector3fMRVector3f pairs, MR.Const_VolumeSegmentationParameters? params_=null) |
| | Simple segment volume.
|
| |
| static unsafe MR.Std.Vector_MRMesh | segmentVoxelMaskToInstances (MR.Const_VdbVolume mask, ulong? minSize=null, MR.Std._ByValue_Function_BoolFuncFromFloat? cb=null) |
| | Given voxel mask, separate it into components using mincut algorithm.
|
| |
| static unsafe MR.VdbVolume | voxelFilter (MR.Const_VdbVolume volume, MR.VoxelFilterType type, int width) |
| | Performs voxels filtering.
|
| |
| static unsafe MR.VoxelBitSet | segmentVolumeByGraphCut (MR.Const_SimpleVolume densityVolume, float k, MR.Const_VoxelBitSet sourceSeeds, MR.Const_VoxelBitSet sinkSeeds, MR.Std._ByValue_Function_BoolFuncFromFloat? cb=null) |
| | Segment voxels of given volume on two sets using graph-cut, returning source set.
|
| |
|
static MR.QuarterBit | bitand (MR.QuarterBit a, MR.QuarterBit b) |
| | Generated from function MR.operator&.
|
| |
|
static MR.QuarterBit | bitor (MR.QuarterBit a, MR.QuarterBit b) |
| | Generated from function MR.operator|.
|
| |
|
static MR.QuarterBit | compl (MR.QuarterBit a) |
| | Generated from function MR.operator~.
|
| |
|
static unsafe ref MR.QuarterBit | bitandAssign (ref MR.QuarterBit a, MR.QuarterBit b) |
| | Generated from function MR.operator&=.
|
| |
|
static unsafe ref MR.QuarterBit | bitorAssign (ref MR.QuarterBit a, MR.QuarterBit b) |
| | Generated from function MR.operator|=.
|
| |
|
static MR.QuarterBit | mul (MR.QuarterBit a, bool b) |
| | Generated from function MR.operator*.
|
| |
|
static MR.QuarterBit | mul (bool a, MR.QuarterBit b) |
| | Generated from function MR.operator*.
|
| |
|
static unsafe ref MR.QuarterBit | mulAssign (ref MR.QuarterBit a, bool b) |
| | Generated from function MR.operator*=.
|
| |
|
static unsafe MR.Std.Function_FloatFuncFromMRUint64TMRUint64T | voxelsExponentMetric (MR.Const_VdbVolume voxels, MR.Const_VoxelMetricParameters parameters, float? modifier=null) |
| | e^(modifier*(dens1+dens2)) Generated from function MR.voxelsExponentMetric. Parameter modifier defaults to -1.0f.
|
| |
|
static unsafe MR.Std.Function_FloatFuncFromMRUint64TMRUint64T | voxelsSumDiffsMetric (MR.Const_VdbVolume voxels, MR.Const_VoxelMetricParameters parameters) |
| | sum of dense differences with start and stop voxels Generated from function MR.voxelsSumDiffsMetric.
|
| |
|
static unsafe MR.Std.Vector_MRUint64T | buildSmallestMetricPath (MR.Const_VdbVolume voxels, MR.Std.Const_Function_FloatFuncFromMRUint64TMRUint64T metric, ulong start, ulong finish, MR.Std._ByValue_Function_BoolFuncFromFloat? cb=null) |
| | builds shortest path in given metric from start to finish voxels; if no path can be found then empty path is returned Generated from function MR.buildSmallestMetricPath. Parameter cb defaults to {}.
|
| |
| static unsafe MR.TransformVdbVolumeResult | transformVdbVolume (MR.Const_VdbVolume volume, in MR.AffineXf3f xf, bool? fixBox=null, MR.Box3f? box=null) |
| | Transform volume.
|
| |
| static unsafe bool | voxelsApplyTransform (MR.ObjectVoxels obj, in MR.AffineXf3f xf, bool fixBox) |
| | Same as above but for the SceneObject.
|
| |
|
static unsafe MR.Std.Vector_StdSharedPtrMRObjectVoxels | makeObjectVoxelsFromFile (string file, MR.Std._ByValue_Function_BoolFuncFromFloat? callback=null) |
| | loads voxels from given file in new object Generated from function MR.makeObjectVoxelsFromFile. Parameter callback defaults to {}.
|
| |
|
static unsafe MR.LoadedObjects | makeObjectFromVoxelsFile (string file, MR.Std.Const_Function_BoolFuncFromFloat? callback=null) |
| | Generated from function MR.makeObjectFromVoxelsFile. Parameter callback defaults to {}.
|
| |
|
static unsafe void | saveObjectVoxelsToFile (MR.Const_Object object_, string path, MR.ObjectSave.Const_Settings settings) |
| | Generated from function MR.saveObjectVoxelsToFile.
|
| |
|
static unsafe MR.SimpleVolumeMinMax | functionVolumeToSimpleVolume (MR.Const_FunctionVolume volume, MR.Std.Const_Function_BoolFuncFromFloat? callback=null) |
| | converts function volume into simple volume Generated from function MR.functionVolumeToSimpleVolume. Parameter callback defaults to {}.
|
| |