UDocumentation UE5.7 10.02.2026 (Source)
API documentation for Unreal Engine 5.7
UE::Geometry::TQuadricError< RealType > Struct Template Reference

#include <QuadricError.h>

+ Inheritance diagram for UE::Geometry::TQuadricError< RealType >:

Public Types

typedef RealType ScalarType
 

Public Member Functions

 TQuadricError ()
 
 TQuadricError (const TVector< RealType > &Normal, const TVector< RealType > &Point)
 
 TQuadricError (const TQuadricError &a, const TQuadricError &b)
 
void Add (RealType w, const TQuadricError &b)
 
void Add (const TQuadricError &b)
 
void Subtract (const TQuadricError &b)
 
void AddSeamQuadric (const TQuadricError &b)
 
void SubtractSeamQuadric (const TQuadricError &b)
 
void Scale (RealType w)
 
RealType Evaluate (const UE::Math::TVector< RealType > &pt) const
 
TVector< RealType > MultiplyA (const UE::Math::TVector< RealType > &pt) const
 
bool SolveAxEqualsb (UE::Math::TVector< RealType > &OutResult, const RealType bvecx, const RealType bvecy, const RealType bvecz, const RealType minThresh=1000.0 *TMathUtil< RealType >::Epsilon) const
 
bool OptimalPoint (UE::Math::TVector< RealType > &OutResult, RealType minThresh=1000.0 *TMathUtil< RealType >::Epsilon) const
 

Static Public Member Functions

static TQuadricError Zero ()
 
static bool InvertSymmetricMatrix (const RealType SM[6], RealType InvSM[6], RealType minThresh=1000.0 *TMathUtil< RealType >::Epsilon)
 
static TVector< RealType > MultiplySymmetricMatrix (const RealType SM[6], const RealType vec[3])
 
static TVector< RealType > MultiplySymmetricMatrix (const RealType SM[6], const UE::Math::TVector< RealType > &vec)
 

Public Attributes

RealType Axx
 
RealType Axy
 
RealType Axz
 
RealType Ayy
 
RealType Ayz
 
RealType Azz
 
RealType bx
 
RealType by
 
RealType bz
 
RealType c
 

Detailed Description

template<typename RealType>
struct UE::Geometry::TQuadricError< RealType >

QuadricError represents a quadratic function that evaluates distance to plane. Stores minimal 10-coefficient form, following http://mgarland.org/files/papers/qtheory.pdf (symmetric matrix A, vector b, constant c)

Member Typedef Documentation

◆ ScalarType

template<typename RealType >
typedef RealType UE::Geometry::TQuadricError< RealType >::ScalarType

Constructor & Destructor Documentation

◆ TQuadricError() [1/3]

template<typename RealType >
UE::Geometry::TQuadricError< RealType >::TQuadricError ( )
inline

◆ TQuadricError() [2/3]

template<typename RealType >
UE::Geometry::TQuadricError< RealType >::TQuadricError ( const TVector< RealType > &  Normal,
const TVector< RealType > &  Point 
)
inline

Construct TQuadricError a plane with the given normal and a point on plane

◆ TQuadricError() [3/3]

template<typename RealType >
UE::Geometry::TQuadricError< RealType >::TQuadricError ( const TQuadricError< RealType > &  a,
const TQuadricError< RealType > &  b 
)
inline

Construct TQuadricError that is the sum of two other TQuadricErrors

Member Function Documentation

◆ Add() [1/2]

template<typename RealType >
void UE::Geometry::TQuadricError< RealType >::Add ( const TQuadricError< RealType > &  b)
inline

◆ Add() [2/2]

template<typename RealType >
void UE::Geometry::TQuadricError< RealType >::Add ( RealType  w,
const TQuadricError< RealType > &  b 
)
inline

Add scalar multiple of a TQuadricError to this TQuadricError

◆ AddSeamQuadric()

template<typename RealType >
void UE::Geometry::TQuadricError< RealType >::AddSeamQuadric ( const TQuadricError< RealType > &  b)
inline

◆ Evaluate()

template<typename RealType >
RealType UE::Geometry::TQuadricError< RealType >::Evaluate ( const UE::Math::TVector< RealType > &  pt) const
inline

Evaluates p*A*p + 2*dot(p,b) + c

Returns

◆ InvertSymmetricMatrix()

template<typename RealType >
static bool UE::Geometry::TQuadricError< RealType >::InvertSymmetricMatrix ( const RealType  SM[6],
RealType  InvSM[6],
RealType  minThresh = 1000.0*TMathUtil<RealType>::Epsilon 
)
inlinestatic

◆ MultiplyA()

template<typename RealType >
TVector< RealType > UE::Geometry::TQuadricError< RealType >::MultiplyA ( const UE::Math::TVector< RealType > &  pt) const
inline

◆ MultiplySymmetricMatrix() [1/2]

template<typename RealType >
static TVector< RealType > UE::Geometry::TQuadricError< RealType >::MultiplySymmetricMatrix ( const RealType  SM[6],
const RealType  vec[3] 
)
inlinestatic

◆ MultiplySymmetricMatrix() [2/2]

template<typename RealType >
static TVector< RealType > UE::Geometry::TQuadricError< RealType >::MultiplySymmetricMatrix ( const RealType  SM[6],
const UE::Math::TVector< RealType > &  vec 
)
inlinestatic

◆ OptimalPoint()

template<typename RealType >
bool UE::Geometry::TQuadricError< RealType >::OptimalPoint ( UE::Math::TVector< RealType > &  OutResult,
RealType  minThresh = 1000.0*TMathUtil<RealType>::Epsilon 
) const
inline

◆ Scale()

template<typename RealType >
void UE::Geometry::TQuadricError< RealType >::Scale ( RealType  w)
inline

Scale this quadric by the weight 'w'

◆ SolveAxEqualsb()

template<typename RealType >
bool UE::Geometry::TQuadricError< RealType >::SolveAxEqualsb ( UE::Math::TVector< RealType > &  OutResult,
const RealType  bvecx,
const RealType  bvecy,
const RealType  bvecz,
const RealType  minThresh = 1000.0*TMathUtil<RealType>::Epsilon 
) const
inline

◆ Subtract()

template<typename RealType >
void UE::Geometry::TQuadricError< RealType >::Subtract ( const TQuadricError< RealType > &  b)
inline

◆ SubtractSeamQuadric()

template<typename RealType >
void UE::Geometry::TQuadricError< RealType >::SubtractSeamQuadric ( const TQuadricError< RealType > &  b)
inline

◆ Zero()

template<typename RealType >
static TQuadricError UE::Geometry::TQuadricError< RealType >::Zero ( )
inlinestatic

Member Data Documentation

◆ Axx

template<typename RealType >
RealType UE::Geometry::TQuadricError< RealType >::Axx

◆ Axy

template<typename RealType >
RealType UE::Geometry::TQuadricError< RealType >::Axy

◆ Axz

template<typename RealType >
RealType UE::Geometry::TQuadricError< RealType >::Axz

◆ Ayy

template<typename RealType >
RealType UE::Geometry::TQuadricError< RealType >::Ayy

◆ Ayz

template<typename RealType >
RealType UE::Geometry::TQuadricError< RealType >::Ayz

◆ Azz

template<typename RealType >
RealType UE::Geometry::TQuadricError< RealType >::Azz

◆ bx

template<typename RealType >
RealType UE::Geometry::TQuadricError< RealType >::bx

◆ by

template<typename RealType >
RealType UE::Geometry::TQuadricError< RealType >::by

◆ bz

template<typename RealType >
RealType UE::Geometry::TQuadricError< RealType >::bz

◆ c

template<typename RealType >
RealType UE::Geometry::TQuadricError< RealType >::c

The documentation for this struct was generated from the following file: