opynsim
Unofficial C++ Documentation
Loading...
Searching...
No Matches
Namespaces | Functions
math_helpers.h File Reference
#include <liboscar/maths/aabb.h>
#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/sphere.h>
#include <liboscar/maths/transform.h>
#include <liboscar/maths/transform_functions.h>
#include <liboscar/maths/vector.h>
#include <array>
#include <optional>
#include <span>
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)
 
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::optional< Sphereosc::bounding_sphere_of (std::span< const Vector3 >)
 
Sphere osc::bounding_sphere_of (const AABB &)
 
AABB osc::bounding_aabb_of (const Sphere &)
 
Ray osc::transform_ray (const Ray &, const Matrix4x4 &)
 
Ray osc::inverse_transform_ray (const Ray &, const Transform &)
 
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)
 
Matrix4x4 osc::matrix4x4_transform_between_directions (const Vector3 &dir1, const Vector3 &dir2)
 
EulerAngles osc::extract_eulers_xyz (const Quaternion &)
 
Vector3 osc::transform_point (const Matrix4x4 &mat, const Vector3 &point)
 
Vector3 osc::transform_vector (const Matrix4x4 &mat, const Vector3 &vector)
 
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 &)
 
std::array< Matrix4x4, 6 > osc::calc_cubemap_view_proj_matrices (const Matrix4x4 &projection_matrix, Vector3 cube_center)