|
MR_EXTERN_C_BEGIN MRMESHC_API MRMesh * | mrMeshCopy (const MRMesh *mesh) |
| creates a copy of a Mesh object
|
|
MRMESHC_API MRMesh * | mrMeshFromTriangles (const MRVector3f *vertexCoordinates, size_t vertexCoordinatesNum, const MRThreeVertIds *t, size_t tNum) |
| constructs a mesh from vertex coordinates and a set of triangles with given ids
|
|
MRMESHC_API MRMesh * | mrMeshFromTrianglesDuplicatingNonManifoldVertices (const MRVector3f *vertexCoordinates, size_t vertexCoordinatesNum, const MRThreeVertIds *t, size_t tNum) |
|
MRMESHC_API MRMesh * | mrMeshNewFromPointTriples (const MRTriangle3f *posTriangles, size_t posTrianglesNum, bool duplicateNonManifoldVertices) |
|
MRMESHC_API const MRVector3f * | mrMeshPoints (const MRMesh *mesh) |
| gets read-only access to the mesh vertex coordinates
|
|
MRMESHC_API MRVector3f * | mrMeshPointsRef (MRMesh *mesh) |
| gets read-write access to the mesh vertex coordinates
|
|
MRMESHC_API size_t | mrMeshPointsNum (const MRMesh *mesh) |
| gets count of the mesh vertex coordinates
|
|
MRMESHC_API const MRMeshTopology * | mrMeshTopology (const MRMesh *mesh) |
| gets read-only access to the mesh topology object
|
|
MRMESHC_API MRMeshTopology * | mrMeshTopologyRef (MRMesh *mesh) |
| gets read-write access to the mesh topology object
|
|
MRMESHC_API MRBox3f | mrMeshComputeBoundingBox (const MRMesh *mesh, const MRAffineXf3f *toWorld) |
|
MRMESHC_API void | mrMeshTransform (MRMesh *mesh, const MRAffineXf3f *xf, const MRVertBitSet *region) |
|
MRMESHC_API MRVector3f | mrMeshHoleDirArea (const MRMesh *mesh, MREdgeId e) |
|
MRMESHC_API double | mrMeshArea (const MRMesh *mesh, const MRFaceBitSet *region) |
| computes the area of given face-region (or whole mesh if region is null)
|
|
MRMESHC_API float | mrMeshEdgeLength (const MRMesh *mesh, MRUndirectedEdgeId e) |
| returns Euclidean length of the edge
|
|
MRMESHC_API float | mrMeshEdgeLengthSq (const MRMesh *mesh, MRUndirectedEdgeId e) |
| returns squared Euclidean length of the edge (faster to compute than length)
|
|
MRMESHC_API void | mrMeshDeleteFaces (MRMesh *mesh, const MRFaceBitSet *fs, const MRUndirectedEdgeBitSet *keepEdges) |
| deletes multiple given faces, also deletes adjacent edges and vertices if they were not shared by remaining faces and not in
|
|
MRMESHC_API void | mrMeshAddPartByMask (MRMesh *mesh, const MRMesh *from, const MRFaceBitSet *fromFaces, const MRMeshAddPartByMaskParameters *params) |
| appends mesh (from) in addition to this mesh: creates new edges, faces, verts and points
|
|
MRMESHC_API void | mrMeshPack (MRMesh *mesh, bool rearrangeTriangles) |
| tightly packs all arrays eliminating lone edges and invalid face, verts and points
|
|
MRMESHC_API void | mrMeshPackOptimally (MRMesh *mesh, bool preserveAABBTree) |
|
MRMESHC_API double | mrMeshVolume (const MRMesh *mesh, const MRFaceBitSet *region) |
|
MRMESHC_API void | mrMeshFree (MRMesh *mesh) |
| deallocates a Mesh object
|
|
MRMESHC_API MRTriangulation * | mrMeshGetTriangulation (const MRMesh *mesh) |
|
MRMESHC_API MREdgePath * | mrMeshFindHoleRepresentiveEdges (const MRMesh *mesh) |
|
MRMESHC_API void | mrMeshInvalidateCaches (MRMesh *mesh, bool pointsChanged) |
|
MRMESHC_API void | mrMeshAddMesh (MRMesh *mesh, const MRMesh *from) |
| appends another mesh as separate connected component(s) to this
|
|
MRMESHC_API MRVector3f | mrMeshNormalFromVert (const MRMesh *mesh, MRVertId v) |
| computes normal in a vertex using sum of directed areas of neighboring triangles
|
|