Emergency 2017 Dokumentation  v3.0.1
qsf::InterpolationPolicy< glm::vec3 > Struct Template Reference

#include <InterpolationPolicyGlmVec3.h>

Static Public Member Functions

static void interpolate (const glm::vec3 &from, const glm::vec3 &to, float t, glm::vec3 &out)
 
static void interpolate (const glm::vec3 &from, const glm::vec3 &to, const glm::vec3 &t, glm::vec3 &out)
 
static void bezierInterpolation (const glm::vec3 &from, const glm::vec3 &cp0, const glm::vec3 &cp1, const glm::vec3 &to, const glm::vec3 &s, glm::vec3 &out)
 

Detailed Description

template<>
struct qsf::InterpolationPolicy< glm::vec3 >

Definition at line 25 of file InterpolationPolicyGlmVec3.h.

Member Function Documentation

static void qsf::InterpolationPolicy< glm::vec3 >::bezierInterpolation ( const glm::vec3 &  from,
const glm::vec3 &  cp0,
const glm::vec3 &  cp1,
const glm::vec3 &  to,
const glm::vec3 &  s,
glm::vec3 &  out 
)
inlinestatic
Note
Each element in the vectors is treated as an independent curve, that's also the reason why the time parameter is a vector, too. The reason for this decision is that this is the only way to properly resolve a bezier curve as long as the time t does not line up with the interpolation vector s
Todo:
  • TODO(oi) Rooms for improvement here (like SIMD?)

Definition at line 47 of file InterpolationPolicyGlmVec3.h.

static void qsf::InterpolationPolicy< glm::vec3 >::interpolate ( const glm::vec3 &  from,
const glm::vec3 &  to,
float  t,
glm::vec3 &  out 
)
inlinestatic

Definition at line 27 of file InterpolationPolicyGlmVec3.h.

static void qsf::InterpolationPolicy< glm::vec3 >::interpolate ( const glm::vec3 &  from,
const glm::vec3 &  to,
const glm::vec3 &  t,
glm::vec3 &  out 
)
inlinestatic

Definition at line 33 of file InterpolationPolicyGlmVec3.h.


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