#include <MRFreeFormDeformer.h>
Public Member Functions | |
MRMESH_API | FreeFormBestFit (const Box3d &box, const Vector3i &resolution=Vector3i::diagonal(2)) |
initialize the class, compute cached values and reserve space for matrices | |
MRMESH_API void | addPair (const Vector3d &src, const Vector3d &tgt, double w=1.0) |
add pair of source and target point to accumulator | |
void | addPair (const Vector3f &src, const Vector3f &tgt, float w=1.0f) |
MRMESH_API void | addOther (const FreeFormBestFit &other) |
adds other instance of FreeFormBestFit if it has same ref grid | |
void | setStabilizer (double stabilizer) |
double | getStabilizer () const |
MRMESH_API std::vector< Vector3f > | findBestDeformationReferenceGrid () |
finds best grid points positions to align source points to target points | |
Class to accumulate source and target points for free form alignment Calculates best Free Form transform to fit given source->target deformation origin ref grid as box corners ( resolution parameter specifies how to divide box )
MRMESH_API MR::FreeFormBestFit::FreeFormBestFit | ( | const Box3d & | box, |
const Vector3i & | resolution = Vector3i::diagonal(2) ) |
initialize the class, compute cached values and reserve space for matrices
MRMESH_API void MR::FreeFormBestFit::addOther | ( | const FreeFormBestFit & | other | ) |
adds other instance of FreeFormBestFit if it has same ref grid
MRMESH_API void MR::FreeFormBestFit::addPair | ( | const Vector3d & | src, |
const Vector3d & | tgt, | ||
double | w = 1.0 ) |
add pair of source and target point to accumulator
|
inline |
|
nodiscard |
finds best grid points positions to align source points to target points
|
inline |
|
inline |
stabilizer adds additional weights to keep result grid closer to origins recommended values (0;1], but it can be higher