|
opynsim
Unofficial C++ Documentation
|
#include <liboscar/concepts/input_range_with_size_greater_than.h>#include <liboscar/maths/aabb.h>#include <liboscar/maths/common_functions.h>#include <liboscar/maths/matrix4x4.h>#include <liboscar/maths/rect.h>#include <liboscar/maths/transform.h>#include <liboscar/maths/vector.h>#include <array>#include <concepts>#include <functional>#include <optional>#include <ranges>Go to the source code of this file.
Namespaces | |
| namespace | osc |
| namespace | osc::detail |
Functions | |
| constexpr Vector3 | osc::centroid_of (const AABB &aabb) |
| constexpr Vector3 | osc::dimensions_of (const AABB &aabb) |
| constexpr Vector3 | osc::half_widths_of (const AABB &aabb) |
| constexpr float | osc::volume_of (const AABB &aabb) |
| constexpr bool | osc::is_point (const AABB &aabb) |
| constexpr bool | osc::has_zero_volume (const AABB &aabb) |
| std::array< Vector3, 8 > | osc::corner_vertices_of (const AABB &aabb) |
| AABB | osc::transform_aabb (const Matrix4x4 &m, const AABB &aabb) |
| AABB | osc::transform_aabb (const Transform &t, const AABB &aabb) |
| constexpr AABB | osc::bounding_aabb_of (const Vector3 &x) |
| constexpr AABB | osc::bounding_aabb_of (const AABB &x, const Vector3 &y) |
| constexpr AABB | osc::bounding_aabb_of (const AABB &x, const AABB &y) |
| constexpr AABB | osc::bounding_aabb_of (const std::optional< AABB > &x, const AABB &y) |
| constexpr std::optional< AABB > | osc::bounding_aabb_of (std::optional< AABB > x, std::optional< AABB > y) |
| template<std::ranges::input_range R, class Proj = std::identity> requires std::convertible_to<typename std::projected<std::ranges::iterator_t<R>, Proj>::value_type, const Vector3&> | |
| constexpr AABB | osc::detail::bounding_aabb_of_nonempty_range (R &&r, Proj proj={}) |
| template<std::ranges::input_range R, class Proj = std::identity> requires std::convertible_to<typename std::projected<std::ranges::iterator_t<R>, Proj>::value_type, const Vector3&> | |
| constexpr std::optional< AABB > | osc::bounding_aabb_of (R &&r, Proj proj={}) |
| template<InputRangeWithSizeGreaterThan< 0 > R, class Proj = std::identity> requires std::convertible_to<typename std::projected<std::ranges::iterator_t<R>, Proj>::value_type, const Vector3&> | |
| constexpr AABB | osc::bounding_aabb_of (R &&r, Proj proj={}) |
| template<std::ranges::input_range Range, class Proj = std::identity> requires std::convertible_to<typename std::projected<std::ranges::iterator_t<Range>, Proj>::value_type, const AABB&> | |
| constexpr std::optional< AABB > | osc::bounding_aabb_of (Range &&r, Proj proj={}) |
| template<std::ranges::input_range Range, class Proj = std::identity> requires std::convertible_to<typename std::projected<std::ranges::iterator_t<Range>, Proj>::value_type, const std::optional<AABB>&> | |
| osc::and (not std::convertible_to< typename std::projected< std::ranges::iterator_t< Range >, Proj >::value_type, const AABB & >) const expr std | |
| std::optional< Rect > | osc::loosely_project_into_ndc (const AABB &aabb, const Matrix4x4 &view_mat, const Matrix4x4 &proj_mat, float znear, float zfar) |