opynsim
Unofficial C++ Documentation
Loading...
Searching...
No Matches
Namespaces | Functions
math_helpers.h File Reference
#include <liboscar/maths/angle.h>
#include <liboscar/maths/euler_angles.h>
#include <liboscar/maths/matrix3x3.h>
#include <liboscar/maths/matrix4x4.h>
#include <liboscar/maths/quaternion.h>
#include <liboscar/maths/ray.h>
#include <liboscar/maths/rect.h>
#include <liboscar/maths/transform.h>
#include <liboscar/maths/transform_functions.h>
#include <liboscar/maths/vector.h>
#include <array>
Include dependency graph for math_helpers.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Namespaces

namespace  osc
 

Functions

Radians osc::vertical_to_horizontal_field_of_view (Radians vertical_field_of_view, float aspect_ratio)
 
Vector2 osc::topleft_normalized_point_to_ndc (Vector2 normalized_point)
 
Vector2 osc::ndc_point_to_topleft_normalized (Vector2 ndc_point)
 
Vector4 osc::topleft_normalized_point_to_ndc_cube (Vector2 normalized_point)
 
Vector3 osc::topleft_normalized_point_to_world_znear (Vector2 normalized_point, const Matrix4x4 &camera_view_matrix, const Matrix4x4 &camera_proj_matrix)
 
Ray osc::perspective_unproject_topleft_normalized_pos_to_world (Vector2 normalized_point, Vector3 camera_world_space_origin, const Matrix4x4 &camera_view_matrix, const Matrix4x4 &camera_proj_matrix)
 
Rect osc::ndc_rect_to_topleft_viewport_rect (const Rect &ndc_rect, const Rect &viewport)
 
Vector2 osc::project_onto_viewport_rect (const Vector3 &world_space_position, const Matrix4x4 &view_matrix, const Matrix4x4 &projection_matrix, const Rect &viewport_rect)
 
std::array< Matrix4x4, 6 > osc::calc_cubemap_view_proj_matrices (const Matrix4x4 &projection_matrix, Vector3 cube_center)
 
Matrix4x4 osc::matrix4x4_transform_between (const Disc &, const Disc &)
 
Matrix4x4 osc::matrix4x4_transform_between (const LineSegment &, const LineSegment &)
 
Transform osc::transform_between (const LineSegment &, const LineSegment &)
 
Transform osc::cylinder_to_line_segment_transform (const LineSegment &, float radius)
 
Transform osc::y_to_y_cone_to_segment_transform (const LineSegment &, float radius)
 
EulerAngles osc::extract_eulers_xyz (const Quaternion &)
 
Quaternion osc::to_world_space_rotation_quaternion (const EulerAngles &)
 
void osc::apply_world_space_rotation (Transform &application_target, const EulerAngles &euler_angles, const Vector3 &rotation_center)
 
float osc::volume_of (const Tetrahedron &)