CGAL 5.1 - Triangulated Surface Mesh Deformation
|
#include <Concepts/DeformationClosestRotationTraits_3.h>
Concept describing the set of requirements for computing a 3x3 rotation matrix that is close to a given 3x3 matrix, together with basic computations used in the class CGAL::Surface_mesh_deformation
. The definition of close depends on the model. The fact that some basic operations are hidden behind a function is to allow to benefit from optimizations like expression template from libraries used to implement models of this concept.
DefaultConstructible
Types | |
typedef unspecified_type | Matrix |
3x3 matrix type having a copy constructor and an assignment operator | |
typedef unspecified_type | Vector |
3D vector type having a copy constructor | |
Operations | |
void | add_scalar_t_vector_t_vector_transpose (Matrix &result, double w, const Vector &v1, const Vector &v2) |
Equivalent to result = result + w * (v1*v2^t) | |
void | add__scalar_t_matrix_p_scalar_t_matrix__t_vector (Vector &result, double w1, const Matrix &m1, double w2, const Matrix &m2, const Vector &v) |
Equivalent to result = result + (w1*m1 + w2*m2) * v | |
void | add_scalar_t_matrix_sum_t_vector (Vector &result, double w1, const Matrix &m1, const Matrix &m2, const Matrix &m3, const Vector &v) |
Equivalent to result = result + w1 * (m1 + m2 + m3) * v | |
double | squared_norm_vector_scalar_vector_subs (const Vector &v1, const Matrix &m, const Vector &v2) |
Returns the squared norm of v1 - m*v2 | |
Matrix | identity_matrix () |
Returns an identity matrix. | |
Matrix | zero_matrix () |
Returns a matrix initialized with zeros. | |
Vector | vector (double x, double y, double z) |
Returns the vector (x,y,z) | |
double | vector_coordinate (const Vector &v, int i) |
Returns i th coefficient of a vector. | |
void | compute_close_rotation (const Matrix &m, Matrix &R) |
Computes a rotation matrix close to m and places it into R | |