mirror of
https://gitlab.com/libeigen/eigen.git
synced 2025-08-13 20:26:03 +08:00
add normalize and normalized overloads in AlignedVector3
This commit is contained in:
parent
5274c5c326
commit
ef13c3e754
@ -152,9 +152,20 @@ template<typename _Scalar> class AlignedVector3
|
|||||||
{
|
{
|
||||||
ei_assert(m_coeffs.w()==Scalar(0));
|
ei_assert(m_coeffs.w()==Scalar(0));
|
||||||
ei_assert(other.m_coeffs.w()==Scalar(0));
|
ei_assert(other.m_coeffs.w()==Scalar(0));
|
||||||
|
Scalar r = m_coeffs.dot(other.m_coeffs);
|
||||||
return m_coeffs.dot(other.m_coeffs);
|
return m_coeffs.dot(other.m_coeffs);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
inline void normalize()
|
||||||
|
{
|
||||||
|
m_coeffs /= norm();
|
||||||
|
}
|
||||||
|
|
||||||
|
inline AlignedVector3 normalized()
|
||||||
|
{
|
||||||
|
return AlignedVector3(m_coeffs / norm());
|
||||||
|
}
|
||||||
|
|
||||||
inline Scalar sum() const
|
inline Scalar sum() const
|
||||||
{
|
{
|
||||||
ei_assert(m_coeffs.w()==Scalar(0));
|
ei_assert(m_coeffs.w()==Scalar(0));
|
||||||
|
@ -57,6 +57,10 @@ void alignedvector3()
|
|||||||
VERIFY_IS_APPROX(f2.cross(f3),r2.cross(r3));
|
VERIFY_IS_APPROX(f2.cross(f3),r2.cross(r3));
|
||||||
VERIFY_IS_APPROX(f2.norm(),r2.norm());
|
VERIFY_IS_APPROX(f2.norm(),r2.norm());
|
||||||
|
|
||||||
|
VERIFY_IS_APPROX(f2.normalized(),r2.normalized());
|
||||||
|
|
||||||
|
VERIFY_IS_APPROX((f2+f1).normalized(),(r2+r1).normalized());
|
||||||
|
|
||||||
f2.normalize();
|
f2.normalize();
|
||||||
r2.normalize();
|
r2.normalize();
|
||||||
VERIFY_IS_APPROX(f2,r2);
|
VERIFY_IS_APPROX(f2,r2);
|
||||||
|
Loading…
x
Reference in New Issue
Block a user