MRVertId MRThreeVertIds[3]
a set of 3 vertices; useful for representing a face via its vertex indices
Definition MRMeshC/MRId.h:21
#define MR_EXTERN_C_BEGIN
Definition MRMeshC/MRMeshFwd.h:26
struct MRVertBitSet MRVertBitSet
Definition MRMeshC/MRMeshFwd.h:38
#define MR_EXTERN_C_END
Definition MRMeshC/MRMeshFwd.h:27
struct MRUndirectedEdgeBitSet MRUndirectedEdgeBitSet
Definition MRMeshC/MRMeshFwd.h:36
struct MRMesh MRMesh
Definition MRMeshC/MRMeshFwd.h:43
struct MRMeshTopology MRMeshTopology
Definition MRMeshC/MRMeshFwd.h:42
struct MRFaceBitSet MRFaceBitSet
Definition MRMeshC/MRMeshFwd.h:37
#define MRMESHC_API
Definition MRMeshC/MRMeshFwd.h:19
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 const MRVector3f * mrMeshPoints(const MRMesh *mesh)
gets read-only access to the mesh vertex coordinates
MRMESHC_API MRTriangulation * mrMeshGetTriangulation(const MRMesh *mesh)
MRMESHC_API MRVector3f mrMeshHoleDirArea(const MRMesh *mesh, MREdgeId e)
MRMESHC_API const MRMeshTopology * mrMeshTopology(const MRMesh *mesh)
gets read-only access to the mesh topology object
MRMESHC_API size_t mrMeshPointsNum(const MRMesh *mesh)
gets count of the mesh vertex coordinates
MRMESHC_API float mrMeshEdgeLength(const MRMesh *mesh, MRUndirectedEdgeId e)
returns Euclidean length of the edge
MRMESHC_API MREdgePath * mrMeshFindHoleRepresentiveEdges(const MRMesh *mesh)
MRMESHC_API MRMesh * mrMeshFromTrianglesDuplicatingNonManifoldVertices(const MRVector3f *vertexCoordinates, size_t vertexCoordinatesNum, const MRThreeVertIds *t, size_t tNum)
MRMESHC_API void mrMeshPackOptimally(MRMesh *mesh, bool preserveAABBTree)
MRMESHC_API MRMesh * mrMeshNewFromPointTriples(const MRTriangle3f *posTriangles, size_t posTrianglesNum, bool duplicateNonManifoldVertices)
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 float mrMeshEdgeLengthSq(const MRMesh *mesh, MRUndirectedEdgeId e)
returns squared Euclidean length of the edge (faster to compute than length)
MRMESHC_API double mrMeshVolume(const MRMesh *mesh, const MRFaceBitSet *region)
MRMESHC_API void mrMeshPack(MRMesh *mesh, bool rearrangeTriangles)
tightly packs all arrays eliminating lone edges and invalid face, verts and points
MRMESHC_API MRMeshTopology * mrMeshTopologyRef(MRMesh *mesh)
gets read-write access to the mesh topology object
MRMESHC_API void mrMeshTransform(MRMesh *mesh, const MRAffineXf3f *xf, const MRVertBitSet *region)
MRMESHC_API MRVector3f * mrMeshPointsRef(MRMesh *mesh)
gets read-write access to the mesh vertex coordinates
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
struct MRMeshAddPartByMaskParameters MRMeshAddPartByMaskParameters
optional parameters for mrMeshAddPartByMask
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 rem...
MRMESHC_API MRBox3f mrMeshComputeBoundingBox(const MRMesh *mesh, const MRAffineXf3f *toWorld)
MR_EXTERN_C_BEGIN MRMESHC_API MRMesh * mrMeshCopy(const MRMesh *mesh)
creates a copy of a Mesh object
MRMESHC_API void mrMeshFree(MRMesh *mesh)
deallocates a Mesh object
MRVector3f MRTriangle3f[3]
a set of 3 vectors; useful for representing a face via its vertex coordinates
Definition MRMeshC/MRVector3.h:42
affine transformation: y = A*x + b, where A in VxV, and b in V
Definition MRMeshC/MRAffineXf.h:10
Definition MRMeshC/MRBox.h:9
edge index
Definition MRMeshC/MRId.h:8
optional parameters for mrMeshAddPartByMask
Definition MRMeshC/MRMesh.h:66
const MREdgePath * fromContours
contours on from mesh during addition
Definition MRMeshC/MRMesh.h:73
size_t thisContoursNum
Definition MRMeshC/MRMesh.h:71
size_t fromContoursNum
Definition MRMeshC/MRMesh.h:74
const MREdgePath * thisContours
contours on this mesh that have to be stitched with
Definition MRMeshC/MRMesh.h:70
bool flipOrientation
if flipOrientation then every from triangle is inverted before adding
Definition MRMeshC/MRMesh.h:68
edge index
Definition MRMeshC/MRId.h:10
three-dimensional vector
Definition MRMeshC/MRVector3.h:9