mirror of
https://github.com/orange-cpp/omath.git
synced 2026-08-08 05:52:07 +00:00
added nodiscard messages
This commit is contained in:
@@ -6,10 +6,10 @@
|
||||
|
||||
namespace omath::source_engine
|
||||
{
|
||||
[[nodiscard]]
|
||||
[[nodiscard("rotation matrix result should not be discarded")]]
|
||||
constexpr Mat4X4 rotation_matrix(const ViewAngles& angles) noexcept;
|
||||
|
||||
[[nodiscard]]
|
||||
[[nodiscard("forward vector result should not be discarded")]]
|
||||
constexpr Vector3<float> forward_vector(const ViewAngles& angles) noexcept
|
||||
{
|
||||
const auto vec = rotation_matrix(angles) * mat_column_from_vector(k_abs_forward);
|
||||
@@ -17,25 +17,25 @@ namespace omath::source_engine
|
||||
return {vec.at(0, 0), vec.at(1, 0), vec.at(2, 0)};
|
||||
}
|
||||
|
||||
[[nodiscard]]
|
||||
[[nodiscard("rotation matrix result should not be discarded")]]
|
||||
constexpr Mat4X4 rotation_matrix(const ViewAngles& angles) noexcept
|
||||
{
|
||||
return mat_rotation_axis_z(angles.yaw) * mat_rotation_axis_y(angles.pitch) * mat_rotation_axis_x(angles.roll);
|
||||
}
|
||||
|
||||
[[nodiscard]]
|
||||
[[nodiscard("origin result should not be discarded")]]
|
||||
constexpr Vector3<float> extract_origin(const Mat4X4& mat) noexcept
|
||||
{
|
||||
return mat_extract_origin(mat);
|
||||
}
|
||||
|
||||
[[nodiscard]]
|
||||
[[nodiscard("scale result should not be discarded")]]
|
||||
constexpr Vector3<float> extract_scale(const Mat4X4& mat) noexcept
|
||||
{
|
||||
return mat_extract_scale(mat);
|
||||
}
|
||||
|
||||
[[nodiscard]]
|
||||
[[nodiscard("rotation angles result should not be discarded")]]
|
||||
constexpr ViewAngles extract_rotation_angles(const Mat4X4& mat) noexcept
|
||||
{
|
||||
const auto angles = mat_extract_rotation_zyx(mat);
|
||||
@@ -46,7 +46,7 @@ namespace omath::source_engine
|
||||
};
|
||||
}
|
||||
|
||||
[[nodiscard]]
|
||||
[[nodiscard("right vector result should not be discarded")]]
|
||||
constexpr Vector3<float> right_vector(const ViewAngles& angles) noexcept
|
||||
{
|
||||
const auto vec = rotation_matrix(angles) * mat_column_from_vector(k_abs_right);
|
||||
@@ -54,7 +54,7 @@ namespace omath::source_engine
|
||||
return {vec.at(0, 0), vec.at(1, 0), vec.at(2, 0)};
|
||||
}
|
||||
|
||||
[[nodiscard]]
|
||||
[[nodiscard("up vector result should not be discarded")]]
|
||||
constexpr Vector3<float> up_vector(const ViewAngles& angles) noexcept
|
||||
{
|
||||
const auto vec = rotation_matrix(angles) * mat_column_from_vector(k_abs_up);
|
||||
@@ -62,13 +62,13 @@ namespace omath::source_engine
|
||||
return {vec.at(0, 0), vec.at(1, 0), vec.at(2, 0)};
|
||||
}
|
||||
|
||||
[[nodiscard]]
|
||||
[[nodiscard("view matrix result should not be discarded")]]
|
||||
constexpr Mat4X4 calc_view_matrix(const ViewAngles& angles, const Vector3<float>& cam_origin) noexcept
|
||||
{
|
||||
return mat_camera_view(forward_vector(angles), right_vector(angles), up_vector(angles), cam_origin);
|
||||
}
|
||||
|
||||
[[nodiscard]]
|
||||
[[nodiscard("perspective projection matrix result should not be discarded")]]
|
||||
constexpr Mat4X4 calc_perspective_projection_matrix(
|
||||
const float field_of_view, const float aspect_ratio, const float near_plane, const float far_plane,
|
||||
const NDCDepthRange ndc_depth_range = NDCDepthRange::NEGATIVE_ONE_TO_ONE) noexcept
|
||||
@@ -88,7 +88,7 @@ namespace omath::source_engine
|
||||
|
||||
template<class FloatingType>
|
||||
requires std::is_floating_point_v<FloatingType>
|
||||
[[nodiscard]]
|
||||
[[nodiscard("centimeters value should not be discarded")]]
|
||||
constexpr FloatingType units_to_centimeters(const FloatingType& units)
|
||||
{
|
||||
constexpr auto centimeter_in_unit = static_cast<FloatingType>(2.54);
|
||||
@@ -97,7 +97,7 @@ namespace omath::source_engine
|
||||
|
||||
template<class FloatingType>
|
||||
requires std::is_floating_point_v<FloatingType>
|
||||
[[nodiscard]]
|
||||
[[nodiscard("meters value should not be discarded")]]
|
||||
constexpr FloatingType units_to_meters(const FloatingType& units)
|
||||
{
|
||||
return units_to_centimeters(units) / static_cast<FloatingType>(100);
|
||||
@@ -105,7 +105,7 @@ namespace omath::source_engine
|
||||
|
||||
template<class FloatingType>
|
||||
requires std::is_floating_point_v<FloatingType>
|
||||
[[nodiscard]]
|
||||
[[nodiscard("kilometers value should not be discarded")]]
|
||||
constexpr FloatingType units_to_kilometers(const FloatingType& units)
|
||||
{
|
||||
return units_to_meters(units) / static_cast<FloatingType>(1000);
|
||||
@@ -113,7 +113,7 @@ namespace omath::source_engine
|
||||
|
||||
template<class FloatingType>
|
||||
requires std::is_floating_point_v<FloatingType>
|
||||
[[nodiscard]]
|
||||
[[nodiscard("units value should not be discarded")]]
|
||||
constexpr FloatingType centimeters_to_units(const FloatingType& centimeters)
|
||||
{
|
||||
constexpr auto centimeter_in_unit = static_cast<FloatingType>(2.54);
|
||||
@@ -122,7 +122,7 @@ namespace omath::source_engine
|
||||
|
||||
template<class FloatingType>
|
||||
requires std::is_floating_point_v<FloatingType>
|
||||
[[nodiscard]]
|
||||
[[nodiscard("units value should not be discarded")]]
|
||||
constexpr FloatingType meters_to_units(const FloatingType& meters)
|
||||
{
|
||||
return centimeters_to_units(meters * static_cast<FloatingType>(100));
|
||||
@@ -130,7 +130,7 @@ namespace omath::source_engine
|
||||
|
||||
template<class FloatingType>
|
||||
requires std::is_floating_point_v<FloatingType>
|
||||
[[nodiscard]]
|
||||
[[nodiscard("units value should not be discarded")]]
|
||||
constexpr FloatingType kilometers_to_units(const FloatingType& kilometers)
|
||||
{
|
||||
return meters_to_units(kilometers * static_cast<FloatingType>(1000));
|
||||
|
||||
Reference in New Issue
Block a user