CPP-TOOLBOX
Loading...
Searching...
No Matches
transform.cpp File Reference
#include "transform.hpp"
#include <glm/gtx/matrix_decompose.hpp>
#include <glm/glm.hpp>
#include <glm/gtc/matrix_transform.hpp>
#include <glm/gtc/quaternion.hpp>
#include <glm/gtx/quaternion.hpp>
#include <glm/gtx/vector_angle.hpp>
#include <iostream>

Macros

#define GLM_ENABLE_EXPERIMENTAL
 

Functions

glm::mat4 create_billboard_transform (const Transform &transform)
 
glm::mat4 create_translation_and_look_transform (const glm::vec3 &position, const glm::vec3 &look_vector, const glm::vec3 &up_hint)
 
glm::mat4 change_of_basis_move_y_to_look_dir (const glm::vec3 &position, const glm::vec3 &look_vector, const glm::vec3 &up_hint)
 
glm::mat4 create_billboard_transform (const glm::vec3 &right, const glm::vec3 &up, const glm::vec3 &look)
 
glm::mat4 create_billboard_transform (const glm::vec3 &look)
 
glm::mat4 create_billboard_transform_with_lock_axis (const glm::vec3 &lock_axis, const glm::vec3 &look)
 
bool is_rotation_translation_scale_matrix (const glm::mat4 &matrix)
 
bool angle_between_vectors_is_within (glm::vec3 v, glm::vec3 w, double turns)
 
bool vector_is_within_centered_sector (glm::vec3 center, glm::vec3 other, double sector_angle_turns)
 

Variables

constexpr float two_pi = glm::two_pi<float>()
 

Macro Definition Documentation

◆ GLM_ENABLE_EXPERIMENTAL

#define GLM_ENABLE_EXPERIMENTAL

Function Documentation

◆ angle_between_vectors_is_within()

bool angle_between_vectors_is_within ( glm::vec3 v,
glm::vec3 w,
double turns )

◆ change_of_basis_move_y_to_look_dir()

glm::mat4 change_of_basis_move_y_to_look_dir ( const glm::vec3 & position,
const glm::vec3 & look_vector,
const glm::vec3 & up_hint )

◆ create_billboard_transform() [1/3]

glm::mat4 create_billboard_transform ( const glm::vec3 & look)

◆ create_billboard_transform() [2/3]

glm::mat4 create_billboard_transform ( const glm::vec3 & right,
const glm::vec3 & up,
const glm::vec3 & look )

◆ create_billboard_transform() [3/3]

glm::mat4 create_billboard_transform ( const Transform & transform)

◆ create_billboard_transform_with_lock_axis()

glm::mat4 create_billboard_transform_with_lock_axis ( const glm::vec3 & lock_axis,
const glm::vec3 & look )

◆ create_translation_and_look_transform()

glm::mat4 create_translation_and_look_transform ( const glm::vec3 & position,
const glm::vec3 & look_vector,
const glm::vec3 & up_hint )

◆ is_rotation_translation_scale_matrix()

bool is_rotation_translation_scale_matrix ( const glm::mat4 & matrix)

◆ vector_is_within_centered_sector()

bool vector_is_within_centered_sector ( glm::vec3 center,
glm::vec3 other,
double sector_angle_turns )

Variable Documentation

◆ two_pi

float two_pi = glm::two_pi<float>()
constexpr