HDK
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
Quat.h File Reference
#include <iostream>
#include <cmath>
#include "Mat.h"
#include "Mat3.h"
#include "Math.h"
#include "Vec3.h"
#include <openvdb/Exceptions.h>
+ Include dependency graph for Quat.h:
+ This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

class  openvdb::OPENVDB_VERSION_NAME::math::Quat< T >
 
class  openvdb::OPENVDB_VERSION_NAME::math::Quat< T >
 

Namespaces

 openvdb
 
 openvdb::OPENVDB_VERSION_NAME
 
 openvdb::OPENVDB_VERSION_NAME::math
 

Typedefs

typedef Quat< float > openvdb::OPENVDB_VERSION_NAME::math::Quats
 
typedef Quat< double > openvdb::OPENVDB_VERSION_NAME::math::Quatd
 

Functions

template<typename T >
Quat< T > openvdb::OPENVDB_VERSION_NAME::math::slerp (const Quat< T > &q1, const Quat< T > &q2, T t, T tolerance=0.00001)
 Linear interpolation between the two quaternions. More...
 
template<typename S , typename T >
Quat< T > openvdb::OPENVDB_VERSION_NAME::math::operator* (S scalar, const Quat< T > &q)
 Returns V, where $V_i = v_i * scalar$ for $i \in [0, 3]$. More...
 
template<typename T , typename T0 >
Mat3< T > openvdb::OPENVDB_VERSION_NAME::math::slerp (const Mat3< T0 > &m1, const Mat3< T0 > &m2, T t)
 Interpolate between m1 and m2. Converts to quaternion form and uses slerp m1 and m2 must be rotation matrices! More...
 
template<typename T , typename T0 >
Mat3< T > openvdb::OPENVDB_VERSION_NAME::math::bezLerp (const Mat3< T0 > &m1, const Mat3< T0 > &m2, const Mat3< T0 > &m3, const Mat3< T0 > &m4, T t)
 
template<>
math::Quats openvdb::OPENVDB_VERSION_NAME::zeroVal< math::Quats > ()
 
template<>
math::Quatd openvdb::OPENVDB_VERSION_NAME::zeroVal< math::Quatd > ()