#include <MRCMesh/MRAffineXf.h>#include <MRCMesh/MRVector3.h>#include <MRCMisc/exports.h>#include <MRCMisc/std_array_MR_AffineXf3d_4.h>#include <MRCMisc/std_array_MR_AffineXf3f_4.h>#include <stdbool.h>#include <stddef.h>Go to the source code of this file.
| Typedefs | |
| typedef struct MR_Line3d | MR_Line3d | 
| typedef struct MR_Line3f | MR_Line3f | 
| typedef struct MR_Matrix3d | MR_Matrix3d | 
| typedef struct MR_Matrix3f | MR_Matrix3f | 
| typedef struct MR_MeshPart | MR_MeshPart | 
| typedef struct MR_Plane3d | MR_Plane3d | 
| typedef struct MR_Plane3f | MR_Plane3f | 
| typedef struct MR_PointCloudPart | MR_PointCloudPart | 
| typedef struct MR_Polyline3 | MR_Polyline3 | 
| typedef struct MR_std_vector_MR_Vector3f | MR_std_vector_MR_Vector3f | 
| typedef struct MR_std_vector_float | MR_std_vector_float | 
| typedef struct MR_PointAccumulator | MR_PointAccumulator | 
| typedef struct MR_PlaneAccumulator | MR_PlaneAccumulator | 
| typedef struct MR_Matrix3d MR_Matrix3d | 
| typedef struct MR_Matrix3f MR_Matrix3f | 
| typedef struct MR_MeshPart MR_MeshPart | 
| typedef struct MR_Plane3d MR_Plane3d | 
| typedef struct MR_Plane3f MR_Plane3f | 
| typedef struct MR_PlaneAccumulator MR_PlaneAccumulator | 
Class to accumulate planes to find then their crossing point Generated from class MR::PlaneAccumulator. 
| typedef struct MR_PointAccumulator MR_PointAccumulator | 
Class to accumulate points and make best line / plane approximation Generated from class MR::PointAccumulator. 
| typedef struct MR_PointCloudPart MR_PointCloudPart | 
| typedef struct MR_Polyline3 MR_Polyline3 | 
| typedef struct MR_std_vector_float MR_std_vector_float | 
| typedef struct MR_std_vector_MR_Vector3f MR_std_vector_MR_Vector3f | 
| MRC_API void MR_accumulateFaceCenters | ( | MR_PointAccumulator * | accum, | 
| const MR_MeshPart * | mp, | ||
| const MR_AffineXf3f * | xf ) | 
Adds in existing PointAccumulator all mesh face centers with the weight equal to face area Generated from function MR::accumulateFaceCenters. Parameter accum can not be null. It is a single object. Parameter mp can not be null. It is a single object. Parameter xf defaults to a null pointer in C++. 
| MRC_API void MR_accumulateLineCenters | ( | MR_PointAccumulator * | accum, | 
| const MR_Polyline3 * | pl, | ||
| const MR_AffineXf3f * | xf ) | 
Adds in existing PointAccumulator all line centers with the weight equal to the length line Generated from function MR::accumulateLineCenters. Parameter accum can not be null. It is a single object. Parameter pl can not be null. It is a single object. Parameter xf defaults to a null pointer in C++. 
| MRC_API void MR_accumulatePoints_MR_PointCloudPart | ( | MR_PointAccumulator * | accum, | 
| const MR_PointCloudPart * | pcp, | ||
| const MR_AffineXf3f * | xf ) | 
Adds in existing PointAccumulator all points from the cloud (region) with weight 1 Generated from function MR::accumulatePoints. Parameter accum can not be null. It is a single object. Parameter pcp can not be null. It is a single object. Parameter xf defaults to a null pointer in C++. 
| MRC_API void MR_accumulatePoints_std_vector_MR_Vector3f | ( | MR_PointAccumulator * | accum, | 
| const MR_std_vector_MR_Vector3f * | points, | ||
| const MR_AffineXf3f * | xf ) | 
Adds in existing PointAccumulator all given points Generated from function MR::accumulatePoints. Parameter accum can not be null. It is a single object. Parameter points can not be null. It is a single object. Parameter xf defaults to a null pointer in C++. 
| MRC_API void MR_accumulateWeighedPoints | ( | MR_PointAccumulator * | accum, | 
| const MR_std_vector_MR_Vector3f * | points, | ||
| const MR_std_vector_float * | weights, | ||
| const MR_AffineXf3f * | xf ) | 
Adds in existing PointAccumulator all given weighed points Generated from function MR::accumulateWeighedPoints. Parameter accum can not be null. It is a single object. Parameter points can not be null. It is a single object. Parameter weights can not be null. It is a single object. Parameter xf defaults to a null pointer in C++. 
| MRC_API void MR_PlaneAccumulator_addPlane_MR_Plane3d | ( | MR_PlaneAccumulator * | _this, | 
| const MR_Plane3d * | pl ) | 
Generated from a method of class MR::PlaneAccumulator named addPlane. Parameter _this can not be null. It is a single object. Parameter pl can not be null. It is a single object. 
| MRC_API void MR_PlaneAccumulator_addPlane_MR_Plane3f | ( | MR_PlaneAccumulator * | _this, | 
| const MR_Plane3f * | pl ) | 
Generated from a method of class MR::PlaneAccumulator named addPlane. Parameter _this can not be null. It is a single object. Parameter pl can not be null. It is a single object. 
| MRC_API MR_PlaneAccumulator * MR_PlaneAccumulator_AssignFromAnother | ( | MR_PlaneAccumulator * | _this, | 
| const MR_PlaneAccumulator * | _other ) | 
Generated from a method of class MR::PlaneAccumulator named operator=. Parameter _this can not be null. It is a single object. Parameter _other can not be null. It is a single object. The returned pointer will never be null. It is non-owning, do NOT destroy it. 
| MRC_API MR_PlaneAccumulator * MR_PlaneAccumulator_ConstructFromAnother | ( | const MR_PlaneAccumulator * | _other | ) | 
Generated from a constructor of class MR::PlaneAccumulator. Parameter _other can not be null. It is a single object. Never returns null. Returns an instance allocated on the heap! Must call MR_PlaneAccumulator_Destroy() to free it when you're done using it. 
| MRC_API MR_PlaneAccumulator * MR_PlaneAccumulator_DefaultConstruct | ( | void | ) | 
Constructs an empty (default-constructed) instance. Never returns null. Returns an instance allocated on the heap! Must call MR_PlaneAccumulator_Destroy() to free it when you're done using it. 
| MRC_API MR_PlaneAccumulator * MR_PlaneAccumulator_DefaultConstructArray | ( | size_t | num_elems | ) | 
Constructs an array of empty (default-constructed) instances, of the specified size. Will never return null. The array must be destroyed using MR_PlaneAccumulator_DestroyArray(). Use MR_PlaneAccumulator_OffsetMutablePtr() and MR_PlaneAccumulator_OffsetPtr() to access the array elements. 
| MRC_API void MR_PlaneAccumulator_Destroy | ( | const MR_PlaneAccumulator * | _this | ) | 
Destroys a heap-allocated instance of MR_PlaneAccumulator. Does nothing if the pointer is null. 
| MRC_API void MR_PlaneAccumulator_DestroyArray | ( | const MR_PlaneAccumulator * | _this | ) | 
Destroys a heap-allocated array of MR_PlaneAccumulator. Does nothing if the pointer is null. 
| MRC_API MR_Vector3d MR_PlaneAccumulator_findBestCrossPoint_MR_Vector3d | ( | const MR_PlaneAccumulator * | _this, | 
| const MR_Vector3d * | p0, | ||
| double | tol, | ||
| int * | rank, | ||
| MR_Vector3d * | space ) | 
computes the point that minimizes the sum of squared distances to accumulated planes; if such point is not unique then returns the one closest to p0
| tol | relative epsilon-tolerance for too small number detection | 
| rank | optional output for solution matrix rank according to given tolerance | 
| space | rank=1: unit normal to solution plane, rank=2: unit direction of solution line, rank=3: zero vector Generated from a method of class MR::PlaneAccumulatornamedfindBestCrossPoint. Parameter_thiscan not be null. It is a single object. Parameterp0can not be null. It is a single object. Parameterrankdefaults to a null pointer in C++. Parameterspacedefaults to a null pointer in C++. | 
| MRC_API MR_Vector3f MR_PlaneAccumulator_findBestCrossPoint_MR_Vector3f | ( | const MR_PlaneAccumulator * | _this, | 
| const MR_Vector3f * | p0, | ||
| float | tol, | ||
| int * | rank, | ||
| MR_Vector3f * | space ) | 
Generated from a method of class MR::PlaneAccumulator named findBestCrossPoint. Parameter _this can not be null. It is a single object. Parameter p0 can not be null. It is a single object. Parameter rank defaults to a null pointer in C++. Parameter space defaults to a null pointer in C++. 
| MRC_API MR_PlaneAccumulator * MR_PlaneAccumulator_OffsetMutablePtr | ( | MR_PlaneAccumulator * | ptr, | 
| ptrdiff_t | i ) | 
Offsets a pointer to an array element by i positions (not bytes). Use only if you're certain that the pointer points to an array element. 
| MRC_API const MR_PlaneAccumulator * MR_PlaneAccumulator_OffsetPtr | ( | const MR_PlaneAccumulator * | ptr, | 
| ptrdiff_t | i ) | 
Offsets a pointer to an array element by i positions (not bytes). Use only if you're certain that the pointer points to an array element. 
| MRC_API void MR_PointAccumulator_addPoint_1_MR_Vector3d | ( | MR_PointAccumulator * | _this, | 
| const MR_Vector3d * | pt ) | 
Generated from a method of class MR::PointAccumulator named addPoint. Parameter _this can not be null. It is a single object. Parameter pt can not be null. It is a single object. 
| MRC_API void MR_PointAccumulator_addPoint_1_MR_Vector3f | ( | MR_PointAccumulator * | _this, | 
| const MR_Vector3f * | pt ) | 
Generated from a method of class MR::PointAccumulator named addPoint. Parameter _this can not be null. It is a single object. Parameter pt can not be null. It is a single object. 
| MRC_API void MR_PointAccumulator_addPoint_2_MR_Vector3d | ( | MR_PointAccumulator * | _this, | 
| const MR_Vector3d * | pt, | ||
| double | weight ) | 
Generated from a method of class MR::PointAccumulator named addPoint. Parameter _this can not be null. It is a single object. Parameter pt can not be null. It is a single object. 
| MRC_API void MR_PointAccumulator_addPoint_2_MR_Vector3f | ( | MR_PointAccumulator * | _this, | 
| const MR_Vector3f * | pt, | ||
| float | weight ) | 
Generated from a method of class MR::PointAccumulator named addPoint. Parameter _this can not be null. It is a single object. Parameter pt can not be null. It is a single object. 
| MRC_API MR_PointAccumulator * MR_PointAccumulator_AssignFromAnother | ( | MR_PointAccumulator * | _this, | 
| const MR_PointAccumulator * | _other ) | 
Generated from a method of class MR::PointAccumulator named operator=. Parameter _this can not be null. It is a single object. Parameter _other can not be null. It is a single object. The returned pointer will never be null. It is non-owning, do NOT destroy it. 
| MRC_API MR_PointAccumulator * MR_PointAccumulator_ConstructFromAnother | ( | const MR_PointAccumulator * | _other | ) | 
Generated from a constructor of class MR::PointAccumulator. Parameter _other can not be null. It is a single object. Never returns null. Returns an instance allocated on the heap! Must call MR_PointAccumulator_Destroy() to free it when you're done using it. 
| MRC_API MR_PointAccumulator * MR_PointAccumulator_DefaultConstruct | ( | void | ) | 
Constructs an empty (default-constructed) instance. Never returns null. Returns an instance allocated on the heap! Must call MR_PointAccumulator_Destroy() to free it when you're done using it. 
| MRC_API MR_PointAccumulator * MR_PointAccumulator_DefaultConstructArray | ( | size_t | num_elems | ) | 
Constructs an array of empty (default-constructed) instances, of the specified size. Will never return null. The array must be destroyed using MR_PointAccumulator_DestroyArray(). Use MR_PointAccumulator_OffsetMutablePtr() and MR_PointAccumulator_OffsetPtr() to access the array elements. 
| MRC_API void MR_PointAccumulator_Destroy | ( | const MR_PointAccumulator * | _this | ) | 
Destroys a heap-allocated instance of MR_PointAccumulator. Does nothing if the pointer is null. 
| MRC_API void MR_PointAccumulator_DestroyArray | ( | const MR_PointAccumulator * | _this | ) | 
Destroys a heap-allocated array of MR_PointAccumulator. Does nothing if the pointer is null. 
| MRC_API MR_std_array_MR_AffineXf3d_4 MR_PointAccumulator_get4BasicXfs | ( | const MR_PointAccumulator * | _this | ) | 
returns 4 transformations, each maps (0,0,0) into point centroid, and maps vectors (1,0,0), (0,1,0), (0,0,1) into +/- first, +/- second, +/- third eigenvectors (forming positive reference frame) corresponding to ascending eigenvalues Generated from a method of class MR::PointAccumulator named get4BasicXfs. Parameter _this can not be null. It is a single object. 
| MRC_API MR_std_array_MR_AffineXf3f_4 MR_PointAccumulator_get4BasicXfs3f | ( | const MR_PointAccumulator * | _this | ) | 
Generated from a method of class MR::PointAccumulator named get4BasicXfs3f. Parameter _this can not be null. It is a single object. 
| MRC_API MR_AffineXf3d MR_PointAccumulator_getBasicXf | ( | const MR_PointAccumulator * | _this | ) | 
returns the transformation that maps (0,0,0) into point centroid, and maps vectors (1,0,0), (0,1,0), (0,0,1) into first, second, third eigenvectors corresponding to ascending eigenvalues Generated from a method of class MR::PointAccumulator named getBasicXf. Parameter _this can not be null. It is a single object. 
| MRC_API MR_AffineXf3f MR_PointAccumulator_getBasicXf3f | ( | const MR_PointAccumulator * | _this | ) | 
Generated from a method of class MR::PointAccumulator named getBasicXf3f. Parameter _this can not be null. It is a single object. 
| MRC_API MR_Line3d * MR_PointAccumulator_getBestLine | ( | const MR_PointAccumulator * | _this | ) | 
computes the best approximating line from the accumulated points Generated from a method of class MR::PointAccumulator named getBestLine. Parameter _this can not be null. It is a single object. Never returns null. Returns an instance allocated on the heap! Must call MR_Line3d_Destroy() to free it when you're done using it. 
| MRC_API MR_Line3f * MR_PointAccumulator_getBestLinef | ( | const MR_PointAccumulator * | _this | ) | 
Generated from a method of class MR::PointAccumulator named getBestLinef. Parameter _this can not be null. It is a single object. Never returns null. Returns an instance allocated on the heap! Must call MR_Line3f_Destroy() to free it when you're done using it. 
| MRC_API MR_Plane3d * MR_PointAccumulator_getBestPlane | ( | const MR_PointAccumulator * | _this | ) | 
computes the best approximating plane from the accumulated points Generated from a method of class MR::PointAccumulator named getBestPlane. Parameter _this can not be null. It is a single object. Never returns null. Returns an instance allocated on the heap! Must call MR_Plane3d_Destroy() to free it when you're done using it. 
| MRC_API MR_Plane3f * MR_PointAccumulator_getBestPlanef | ( | const MR_PointAccumulator * | _this | ) | 
Generated from a method of class MR::PointAccumulator named getBestPlanef. Parameter _this can not be null. It is a single object. Never returns null. Returns an instance allocated on the heap! Must call MR_Plane3f_Destroy() to free it when you're done using it. 
| MRC_API bool MR_PointAccumulator_getCenteredCovarianceEigen_MR_Vector3d | ( | const MR_PointAccumulator * | _this, | 
| MR_Vector3d * | centroid, | ||
| MR_Matrix3d * | eigenvectors, | ||
| MR_Vector3d * | eigenvalues ) | 
computes centroid and eigenvectors/eigenvalues of the covariance matrix of the accumulated points Generated from a method of class MR::PointAccumulator named getCenteredCovarianceEigen. Parameter _this can not be null. It is a single object. Parameter centroid can not be null. It is a single object. Parameter eigenvectors can not be null. It is a single object. Parameter eigenvalues can not be null. It is a single object. 
| MRC_API bool MR_PointAccumulator_getCenteredCovarianceEigen_MR_Vector3f | ( | const MR_PointAccumulator * | _this, | 
| MR_Vector3f * | centroid, | ||
| MR_Matrix3f * | eigenvectors, | ||
| MR_Vector3f * | eigenvalues ) | 
Generated from a method of class MR::PointAccumulator named getCenteredCovarianceEigen. Parameter _this can not be null. It is a single object. Parameter centroid can not be null. It is a single object. Parameter eigenvectors can not be null. It is a single object. Parameter eigenvalues can not be null. It is a single object. 
| MRC_API MR_PointAccumulator * MR_PointAccumulator_OffsetMutablePtr | ( | MR_PointAccumulator * | ptr, | 
| ptrdiff_t | i ) | 
Offsets a pointer to an array element by i positions (not bytes). Use only if you're certain that the pointer points to an array element. 
| MRC_API const MR_PointAccumulator * MR_PointAccumulator_OffsetPtr | ( | const MR_PointAccumulator * | ptr, | 
| ptrdiff_t | i ) | 
Offsets a pointer to an array element by i positions (not bytes). Use only if you're certain that the pointer points to an array element. 
| MRC_API bool MR_PointAccumulator_valid | ( | const MR_PointAccumulator * | _this | ) | 
Generated from a method of class MR::PointAccumulator named valid. Parameter _this can not be null. It is a single object.