MeshLib
 
Loading...
Searching...
No Matches
MRMeshC.h
Go to the documentation of this file.
1#pragma once
2
3#include "MRMesh.h"
4#include "MRMeshBoolean.h"
5#include "MRMeshDecimate.h"
6#include "MRMeshLoad.h"
7#include "MRMeshSave.h"
8#include "MRMultiwayICP.h"
9#include "MROffset.h"
10#include "MRPointCloud.h"
11#include "MRPointsLoad.h"
12#include "MRPointsSave.h"
13
15
20MRMESHC_API MRBooleanResult mrBoolean( const MRMesh* meshA, const MRMesh* meshB, MRBooleanOperation operation, const MRBooleanParameters* params );
21
24
29
35MRMESHC_API MRMesh* mrOffsetMesh( MRMeshPart mp, float offset, const MROffsetParameters* params, MRString** errorString );
36
40MRMESHC_API MRMultiwayICP* mrMultiwayICPNew( const MRMeshOrPointsXf* objects, size_t objectsNum, const MRMultiwayICPSamplingParameters* samplingParams );
41
45
48
50MRMESHC_API MRMesh* mrMeshFromTriangles( const MRVector3f* vertexCoordinates, size_t vertexCoordinatesNum, const MRThreeVertIds* t, size_t tNum );
51
54MRMESHC_API MRMesh* mrMeshFromTrianglesDuplicatingNonManifoldVertices( const MRVector3f* vertexCoordinates, size_t vertexCoordinatesNum, const MRThreeVertIds* t, size_t tNum );
55
59MRMESHC_API MRMesh* mrMeshNewFromPointTriples( const MRTriangle3f* posTriangles, size_t posTrianglesNum, bool duplicateNonManifoldVertices );
60
64
67MRMESHC_API void mrMeshSaveToAnySupportedFormat( const MRMesh* mesh, const char* file, MRString** errorStr );
68
70MRMESHC_API MRPointCloud* mrPointCloudFromPoints( const MRVector3f* points, size_t pointsNum );
71
74
76MRMESHC_API void mrPointsSaveToAnySupportedFormat( const MRPointCloud* pc, const char* file, MRString** errorString );
77
MRBooleanOperation
Available CSG operations.
Definition MRMeshC/MRBooleanOperation.h:9
MRVertId MRThreeVertIds[3]
a set of 3 vertices; useful for representing a face via its vertex indices
Definition MRMeshC/MRId.h:17
#define MR_EXTERN_C_BEGIN
Definition MRMeshC/MRMeshFwd.h:26
struct MRPointCloud MRPointCloud
Definition MRMeshC/MRMeshFwd.h:49
bool(* MRProgressCallback)(float)
Definition MRMeshC/MRMeshFwd.h:51
#define MR_EXTERN_C_END
Definition MRMeshC/MRMeshFwd.h:27
struct MRMesh MRMesh
Definition MRMeshC/MRMeshFwd.h:42
typedefMR_EXTERN_C_BEGIN struct MRString MRString
Definition MRMeshC/MRMeshFwd.h:32
#define MRMESHC_API
Definition MRMeshC/MRMeshFwd.h:19
struct MRMeshOrPointsXf MRMeshOrPointsXf
an object and its transformation to global space with other objects
Definition MRMeshC/MRMeshOrPoints.h:20
struct MRMultiwayICP MRMultiwayICP
Definition MRMeshC/MRMultiwayICP.h:37
MRVector3f MRTriangle3f[3]
a set of 3 vectors; useful for representing a face via its vertex coordinates
Definition MRMeshC/MRVector3.h:40
typedefMR_EXTERN_C_BEGIN struct MRVectorAffineXf3f MRVectorAffineXf3f
Definition MRMeshC/MRVector.h:8
MRMESHC_API MRMesh * mrMeshLoadFromAnySupportedFormat(const char *file, MRString **errorStr)
MR_EXTERN_C_BEGIN MRMESHC_API MRBooleanResult mrBoolean(const MRMesh *meshA, const MRMesh *meshB, MRBooleanOperation operation, const MRBooleanParameters *params)
MRMESHC_API MRMultiwayICP * mrMultiwayICPNew(const MRMeshOrPointsXf *objects, size_t objectsNum, const MRMultiwayICPSamplingParameters *samplingParams)
MRMESHC_API MRPointCloud * mrPointsLoadFromAnySupportedFormat(const char *filename, MRString **errorString)
detects the format from file extension and loads points from it
MRMESHC_API MRMesh * mrMeshFromTrianglesDuplicatingNonManifoldVertices(const MRVector3f *vertexCoordinates, size_t vertexCoordinatesNum, const MRThreeVertIds *t, size_t tNum)
MRMESHC_API void mrPointsSaveToAnySupportedFormat(const MRPointCloud *pc, const char *file, MRString **errorString)
detects the format from file extension and save points to it
MRMESHC_API void mrMeshSaveToAnySupportedFormat(const MRMesh *mesh, const char *file, MRString **errorStr)
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 MRPointCloud * mrPointCloudFromPoints(const MRVector3f *points, size_t pointsNum)
creates a new PointCloud object
MRMESHC_API void mrMultiwayICPSetParams(MRMultiwayICP *mwicp, const MRICPProperties *prop)
tune algorithm params before run calculateTransformations()
MRMESHC_API bool mrResolveMeshDegenerations(MRMesh *mesh, const MRResolveMeshDegenSettings *settings)
MRMESHC_API MRMesh * mrOffsetMesh(MRMeshPart mp, float offset, const MROffsetParameters *params, MRString **errorString)
MRMESHC_API MRVectorAffineXf3f * mrMultiwayICPCalculateTransformations(MRMultiwayICP *mwicp, MRProgressCallback cb)
MRMESHC_API MRDecimateResult mrDecimateMesh(MRMesh *mesh, const MRDecimateSettings *settings)
Collapse edges in mesh region according to the settings.
optional parameters for mrBoolean
Definition MRMeshC/MRMeshBoolean.h:11
This structure store result mesh of mrBoolean or some error info.
Definition MRMeshC/MRMeshBoolean.h:30
results of mrDecimateMesh
Definition MRMeshC/MRMeshDecimate.h:89
parameters for mrDecimateMesh
Definition MRMeshC/MRMeshDecimate.h:18
Definition MRMeshC/MRICP.h:95
stores reference on whole mesh (if region is NULL) or on its part (if region pointer is valid)
Definition MRMeshC/MRMeshPart.h:9
Parameters that are used for sampling of the MultiwayICP objects.
Definition MRMeshC/MRMultiwayICP.h:20
Definition MRMeshC/MROffset.h:12
parameters for mrResolveMeshDegenerations
Definition MRMeshC/MRMeshDecimate.h:108
three-dimensional vector
Definition MRMeshC/MRVector3.h:9