jaulib v1.3.6
Jau Support Library (C++, Java, ..)
Loading...
Searching...
No Matches
test_math_quaternion.cpp File Reference
#include <numbers>
#include <cassert>
#include <cstring>
#include <jau/test/catch2_ext.hpp>
#include <jau/math/mat4f.hpp>
#include <jau/math/quaternion.hpp>
Include dependency graph for test_math_quaternion.cpp:

Go to the source code of this file.

Functions

 TEST_CASE ("Test 01 Normalize", "[quaternion][linear_algebra][math]")
 
 TEST_CASE ("Test 02 Rotate Zero Vector", "[quaternion][linear_algebra][math]")
 
 TEST_CASE ("Test 03 Invert and Conugate", "[quaternion][linear_algebra][math]")
 
 TEST_CASE ("Test 04 Dot", "[quaternion][linear_algebra][math]")
 
 TEST_CASE ("Test 10 Angle Axis", "[quaternion][linear_algebra][math]")
 
 TEST_CASE ("Test 11 From Vec to Vec", "[quaternion][linear_algebra][math]")
 
 TEST_CASE ("Test 12 From and to Euler Angles", "[quaternion][linear_algebra][math]")
 
 TEST_CASE ("Test 13 From Euler Angles and Rotate Vec", "[quaternion][linear_algebra][math]")
 
 TEST_CASE ("Test 14 Matrix", "[matrix][quaternion][linear_algebra][math]")
 
 TEST_CASE ("Test 15a Axes And Matrix", "[matrix][quaternion][linear_algebra][math]")
 
 TEST_CASE ("Test 15b Axes And Matrix", "[matrix][quaternion][linear_algebra][math]")
 
 TEST_CASE ("Test 15c Axes And Matrix", "[matrix][quaternion][linear_algebra][math]")
 
 TEST_CASE ("Test 20 Add Subtract", "[quaternion][linear_algebra][math]")
 
 TEST_CASE ("Test 21 Multiply", "[quaternion][linear_algebra][math]")
 
 TEST_CASE ("Test 22 Invert-Mult-Normal-Conjugate", "[quaternion][linear_algebra][math]")
 
 TEST_CASE ("Test 23 Rotation Order", "[quaternion][linear_algebra][math]")
 
 TEST_CASE ("Test 24 Axes", "[quaternion][linear_algebra][math]")
 
 TEST_CASE ("Test 25 Slerp", "[quaternion][linear_algebra][math]")
 
 TEST_CASE ("Test 26 LookAt", "[quaternion][linear_algebra][math]")
 

Variables

static constexpr const bool DEBUG_MODE = false
 
static const float EPSILON = std::numeric_limits<float>::epsilon()
 
static const float HALF_PI = (float)M_PI_2
 
static const Vec3f NEG_ONE = Vec3f ( -1, -1, -1 )
 
static const Vec4f NEG_ONE_v4 = Vec4f ( -1, -1, -1, 0 )
 
static const Vec3f NEG_UNIT_X = Vec3f ( -1, 0, 0 )
 
static const Vec3f NEG_UNIT_Y = Vec3f ( 0, -1, 0 )
 
static const Vec3f NEG_UNIT_Z = Vec3f ( 0, 0, -1 )
 
static const Vec3f ONE = Vec3f ( 1, 1, 1 )
 
static const Vec4f ONE_v4 = Vec4f ( 1, 1, 1, 0 )
 
static const float PI = std::numbers::pi_v<float>
 
static const float QUARTER_PI = (float)M_PI_4
 
static const Quat4f QUAT_IDENT = Quat4f(0, 0, 0, 1)
 
static const Vec3f UNIT_X = Vec3f ( 1, 0, 0 )
 
static const Vec3f UNIT_Y = Vec3f ( 0, 1, 0 )
 
static const Vec3f UNIT_Z = Vec3f ( 0, 0, 1 )
 
static const Vec3f ZERO = Vec3f ( 0, 0, 0 )
 

Function Documentation

◆ TEST_CASE() [1/19]

TEST_CASE ( "Test 01 Normalize" ,
"" [quaternion][linear_algebra][math] )

Definition at line 62 of file test_math_quaternion.cpp.

◆ TEST_CASE() [2/19]

TEST_CASE ( "Test 02 Rotate Zero Vector" ,
"" [quaternion][linear_algebra][math] )

Definition at line 69 of file test_math_quaternion.cpp.

◆ TEST_CASE() [3/19]

TEST_CASE ( "Test 03 Invert and Conugate" ,
"" [quaternion][linear_algebra][math] )

Definition at line 75 of file test_math_quaternion.cpp.

◆ TEST_CASE() [4/19]

TEST_CASE ( "Test 04 Dot" ,
"" [quaternion][linear_algebra][math] )

Definition at line 90 of file test_math_quaternion.cpp.

◆ TEST_CASE() [5/19]

TEST_CASE ( "Test 10 Angle Axis" ,
"" [quaternion][linear_algebra][math] )

Definition at line 100 of file test_math_quaternion.cpp.

◆ TEST_CASE() [6/19]

TEST_CASE ( "Test 11 From Vec to Vec" ,
"" [quaternion][linear_algebra][math] )

Definition at line 129 of file test_math_quaternion.cpp.

◆ TEST_CASE() [7/19]

TEST_CASE ( "Test 12 From and to Euler Angles" ,
"" [quaternion][linear_algebra][math] )

Definition at line 162 of file test_math_quaternion.cpp.

◆ TEST_CASE() [8/19]

TEST_CASE ( "Test 13 From Euler Angles and Rotate Vec" ,
"" [quaternion][linear_algebra][math] )

Definition at line 201 of file test_math_quaternion.cpp.

◆ TEST_CASE() [9/19]

TEST_CASE ( "Test 14 Matrix" ,
"" [matrix][quaternion][linear_algebra][math] )

Definition at line 220 of file test_math_quaternion.cpp.

◆ TEST_CASE() [10/19]

TEST_CASE ( "Test 15a Axes And Matrix" ,
"" [matrix][quaternion][linear_algebra][math] )

Definition at line 426 of file test_math_quaternion.cpp.

◆ TEST_CASE() [11/19]

TEST_CASE ( "Test 15b Axes And Matrix" ,
"" [matrix][quaternion][linear_algebra][math] )

Definition at line 451 of file test_math_quaternion.cpp.

◆ TEST_CASE() [12/19]

TEST_CASE ( "Test 15c Axes And Matrix" ,
"" [matrix][quaternion][linear_algebra][math] )

Definition at line 476 of file test_math_quaternion.cpp.

◆ TEST_CASE() [13/19]

TEST_CASE ( "Test 20 Add Subtract" ,
"" [quaternion][linear_algebra][math] )

Definition at line 524 of file test_math_quaternion.cpp.

◆ TEST_CASE() [14/19]

TEST_CASE ( "Test 21 Multiply" ,
"" [quaternion][linear_algebra][math] )

Definition at line 557 of file test_math_quaternion.cpp.

◆ TEST_CASE() [15/19]

TEST_CASE ( "Test 22 Invert-Mult-Normal-Conjugate" ,
"" [quaternion][linear_algebra][math] )

Definition at line 621 of file test_math_quaternion.cpp.

◆ TEST_CASE() [16/19]

TEST_CASE ( "Test 23 Rotation Order" ,
"" [quaternion][linear_algebra][math] )

Definition at line 648 of file test_math_quaternion.cpp.

◆ TEST_CASE() [17/19]

TEST_CASE ( "Test 24 Axes" ,
"" [quaternion][linear_algebra][math] )

Definition at line 718 of file test_math_quaternion.cpp.

◆ TEST_CASE() [18/19]

TEST_CASE ( "Test 25 Slerp" ,
"" [quaternion][linear_algebra][math] )

Definition at line 738 of file test_math_quaternion.cpp.

◆ TEST_CASE() [19/19]

TEST_CASE ( "Test 26 LookAt" ,
"" [quaternion][linear_algebra][math] )

Definition at line 815 of file test_math_quaternion.cpp.

Variable Documentation

◆ PI

const float PI = std::numbers::pi_v<float>
static

Definition at line 36 of file test_math_quaternion.cpp.

◆ HALF_PI

const float HALF_PI = (float)M_PI_2
static

Definition at line 37 of file test_math_quaternion.cpp.

◆ QUARTER_PI

const float QUARTER_PI = (float)M_PI_4
static

Definition at line 38 of file test_math_quaternion.cpp.

◆ EPSILON

const float EPSILON = std::numeric_limits<float>::epsilon()
static

Definition at line 39 of file test_math_quaternion.cpp.

◆ QUAT_IDENT

const Quat4f QUAT_IDENT = Quat4f(0, 0, 0, 1)
static

Definition at line 41 of file test_math_quaternion.cpp.

◆ ZERO

const Vec3f ZERO = Vec3f ( 0, 0, 0 )
static

Definition at line 43 of file test_math_quaternion.cpp.

◆ ONE

const Vec3f ONE = Vec3f ( 1, 1, 1 )
static

Definition at line 44 of file test_math_quaternion.cpp.

◆ NEG_ONE

const Vec3f NEG_ONE = Vec3f ( -1, -1, -1 )
static

Definition at line 45 of file test_math_quaternion.cpp.

◆ UNIT_X

const Vec3f UNIT_X = Vec3f ( 1, 0, 0 )
static

Definition at line 46 of file test_math_quaternion.cpp.

◆ UNIT_Y

const Vec3f UNIT_Y = Vec3f ( 0, 1, 0 )
static

Definition at line 47 of file test_math_quaternion.cpp.

◆ UNIT_Z

const Vec3f UNIT_Z = Vec3f ( 0, 0, 1 )
static

Definition at line 48 of file test_math_quaternion.cpp.

◆ NEG_UNIT_X

const Vec3f NEG_UNIT_X = Vec3f ( -1, 0, 0 )
static

Definition at line 49 of file test_math_quaternion.cpp.

◆ NEG_UNIT_Y

const Vec3f NEG_UNIT_Y = Vec3f ( 0, -1, 0 )
static

Definition at line 50 of file test_math_quaternion.cpp.

◆ NEG_UNIT_Z

const Vec3f NEG_UNIT_Z = Vec3f ( 0, 0, -1 )
static

Definition at line 51 of file test_math_quaternion.cpp.

◆ NEG_ONE_v4

const Vec4f NEG_ONE_v4 = Vec4f ( -1, -1, -1, 0 )
static

Definition at line 53 of file test_math_quaternion.cpp.

◆ ONE_v4

const Vec4f ONE_v4 = Vec4f ( 1, 1, 1, 0 )
static

Definition at line 54 of file test_math_quaternion.cpp.

◆ DEBUG_MODE

const bool DEBUG_MODE = false
staticconstexpr

Definition at line 56 of file test_math_quaternion.cpp.