mirror of
https://github.com/g-truc/glm.git
synced 2024-11-10 04:31:47 +00:00
Fixed lack of consistency of quat and dualquat constructors
This commit is contained in:
parent
284ba46dae
commit
e6a890454d
@ -57,7 +57,7 @@ namespace glm
|
|||||||
template <typename T, precision P>
|
template <typename T, precision P>
|
||||||
struct tdualquat
|
struct tdualquat
|
||||||
{
|
{
|
||||||
enum ctor{null};
|
enum ctor{_null};
|
||||||
typedef T value_type;
|
typedef T value_type;
|
||||||
typedef glm::tquat<T, P> part_type;
|
typedef glm::tquat<T, P> part_type;
|
||||||
|
|
||||||
@ -72,14 +72,25 @@ namespace glm
|
|||||||
GLM_FUNC_DECL GLM_CONSTEXPR length_t length() const;
|
GLM_FUNC_DECL GLM_CONSTEXPR length_t length() const;
|
||||||
#endif//GLM_FORCE_SIZE_FUNC
|
#endif//GLM_FORCE_SIZE_FUNC
|
||||||
|
|
||||||
// Constructors
|
//////////////////////////////////////
|
||||||
|
// Implicit basic constructors
|
||||||
|
|
||||||
GLM_FUNC_DECL tdualquat();
|
GLM_FUNC_DECL tdualquat();
|
||||||
|
GLM_FUNC_DECL tdualquat(tdualquat<T, P> const & d);
|
||||||
|
template <precision Q>
|
||||||
|
GLM_FUNC_DECL tdualquat(tdualquat<T, Q> const & d);
|
||||||
|
|
||||||
|
//////////////////////////////////////
|
||||||
|
// Explicit basic constructors
|
||||||
|
|
||||||
|
GLM_FUNC_DECL explicit tdualquat(ctor);
|
||||||
GLM_FUNC_DECL explicit tdualquat(tquat<T, P> const & real);
|
GLM_FUNC_DECL explicit tdualquat(tquat<T, P> const & real);
|
||||||
GLM_FUNC_DECL tdualquat(tquat<T, P> const & real,tquat<T, P> const & dual);
|
GLM_FUNC_DECL tdualquat(tquat<T, P> const & orientation, tvec3<T, P> const & translation);
|
||||||
GLM_FUNC_DECL tdualquat(tquat<T, P> const & orientation,tvec3<T, P> const& translation);
|
GLM_FUNC_DECL tdualquat(tquat<T, P> const & real, tquat<T, P> const & dual);
|
||||||
|
|
||||||
//////////////////////////////////////////////////////////////
|
//////////////////////////////////////////////////////////////
|
||||||
// tdualquat conversions
|
// tdualquat conversions
|
||||||
|
|
||||||
GLM_FUNC_DECL explicit tdualquat(tmat2x4<T, P> const & holder_mat);
|
GLM_FUNC_DECL explicit tdualquat(tmat2x4<T, P> const & holder_mat);
|
||||||
GLM_FUNC_DECL explicit tdualquat(tmat3x4<T, P> const & aug_mat);
|
GLM_FUNC_DECL explicit tdualquat(tmat3x4<T, P> const & aug_mat);
|
||||||
|
|
||||||
|
@ -54,20 +54,36 @@ namespace glm
|
|||||||
template <typename T, precision P>
|
template <typename T, precision P>
|
||||||
GLM_FUNC_QUALIFIER tdualquat<T, P>::tdualquat
|
GLM_FUNC_QUALIFIER tdualquat<T, P>::tdualquat
|
||||||
(
|
(
|
||||||
tquat<T, P> const & r
|
tdualquat<T, P> const & d,
|
||||||
) :
|
) :
|
||||||
real(r),
|
real(d.r),
|
||||||
dual(tquat<T, P>(T(0), T(0), T(0), T(0)))
|
dual(d.d)
|
||||||
|
{}
|
||||||
|
|
||||||
|
template <typename T, precision P>
|
||||||
|
template <precision Q>
|
||||||
|
GLM_FUNC_QUALIFIER tdualquat<T, P>::tdualquat
|
||||||
|
(
|
||||||
|
tdualquat<T, Q> const & d,
|
||||||
|
) :
|
||||||
|
real(d.r),
|
||||||
|
dual(d.d)
|
||||||
|
{}
|
||||||
|
|
||||||
|
//////////////////////////////////////
|
||||||
|
// Explicit basic constructors
|
||||||
|
|
||||||
|
template <typename T, precision P>
|
||||||
|
GLM_FUNC_QUALIFIER tdualquat<T, P>::tdualquat(ctor)
|
||||||
{}
|
{}
|
||||||
|
|
||||||
template <typename T, precision P>
|
template <typename T, precision P>
|
||||||
GLM_FUNC_QUALIFIER tdualquat<T, P>::tdualquat
|
GLM_FUNC_QUALIFIER tdualquat<T, P>::tdualquat
|
||||||
(
|
(
|
||||||
tquat<T, P> const & r,
|
tquat<T, P> const & r
|
||||||
tquat<T, P> const & d
|
|
||||||
) :
|
) :
|
||||||
real(r),
|
real(r),
|
||||||
dual(d)
|
dual(tquat<T, P>(T(0), T(0), T(0), T(0)))
|
||||||
{}
|
{}
|
||||||
|
|
||||||
template <typename T, precision P>
|
template <typename T, precision P>
|
||||||
@ -84,6 +100,16 @@ namespace glm
|
|||||||
T(+0.5) * ( p.x*q.y - p.y*q.x + p.z*q.w))
|
T(+0.5) * ( p.x*q.y - p.y*q.x + p.z*q.w))
|
||||||
{}
|
{}
|
||||||
|
|
||||||
|
template <typename T, precision P>
|
||||||
|
GLM_FUNC_QUALIFIER tdualquat<T, P>::tdualquat
|
||||||
|
(
|
||||||
|
tquat<T, P> const & r,
|
||||||
|
tquat<T, P> const & d
|
||||||
|
) :
|
||||||
|
real(r),
|
||||||
|
dual(d)
|
||||||
|
{}
|
||||||
|
|
||||||
//////////////////////////////////////////////////////////////
|
//////////////////////////////////////////////////////////////
|
||||||
// tdualquat conversions
|
// tdualquat conversions
|
||||||
template <typename T, precision P>
|
template <typename T, precision P>
|
||||||
|
@ -64,6 +64,7 @@ GLM 0.9.6.0: 2014-XX-XX
|
|||||||
- Fixed GTX_string_cast to support for integer types #249
|
- Fixed GTX_string_cast to support for integer types #249
|
||||||
- Removed GLM_FORCE_CUDA, Cuda is implicitly detected
|
- Removed GLM_FORCE_CUDA, Cuda is implicitly detected
|
||||||
- Updated GTX_associated_min_max with vec1 support
|
- Updated GTX_associated_min_max with vec1 support
|
||||||
|
- Fixed lack of consistency of quat and dualquat constructors
|
||||||
|
|
||||||
================================================================================
|
================================================================================
|
||||||
GLM 0.9.5.4: 2014-06-21
|
GLM 0.9.5.4: 2014-06-21
|
||||||
|
Loading…
Reference in New Issue
Block a user