17 using T =
typename V::ValueType;
18 using SM =
typename V::SymMatrixType;
24 [[nodiscard]]
T eval(
const V & x )
const {
return dot( x,
A * x ) +
c; }
45 bool minAmong01 =
false );
#define MRMESH_API
Definition MRMeshFwd.h:80
typename Vector3< T >::ValueType T
Definition MRQuadraticForm.h:17
T c
Definition MRQuadraticForm.h:21
auto dot(const Matrix2< T > &a, const Matrix2< T > &b) -> decltype(dot(a.x, b.x))
double-dot product: x = a : b
Definition MRMatrix2.h:142
void addDistToOrigin(T weight)
adds to this squared distance to the origin point
Definition MRQuadraticForm.h:27
void addDistToLine(const V &lineUnitDir, T weight)
Definition MRQuadraticForm.h:35
SymMatrix2< T > outerSquare(const Vector2< T > &a)
x = a * a^T
Definition MRSymMatrix2.h:88
std::pair< QuadraticForm< V >, V > sum(const QuadraticForm< V > &q0, const V &x0, const QuadraticForm< V > &q1, const V &x1, bool minAmong01=false)
if true then the minimum is selected only between points x0 and x1
QuadraticForm< V > sumAt(const QuadraticForm< V > &q0, const V &x0, const QuadraticForm< V > &q1, const V &x1, const V &pos)
void addDistToLine(const V &lineUnitDir)
adds to this squared distance to line passing via origin with given unit direction
Definition MRQuadraticForm.h:34
SM A
Definition MRQuadraticForm.h:20
T eval(const V &x) const
evaluates the function at given x
Definition MRQuadraticForm.h:24
void addDistToPlane(const V &planeUnitNormal)
adds to this squared distance to plane passing via origin with given unit normal
Definition MRQuadraticForm.h:30
typename Vector3< T >::SymMatrixType SM
Definition MRQuadraticForm.h:18
void addDistToPlane(const V &planeUnitNormal, T weight)
Definition MRQuadraticForm.h:31
only for bindings generation
Definition MRCameraOrientationPlugin.h:8