Nix (Dev) 3.5.10
dev - 3.5.10 - 1af9301
Loading...
Searching...
No Matches
utils.hpp File Reference
#include "core/utils.hpp"
#include "math/structs.hpp"
#include <cmath>
#include <vector>
Include dependency graph for utils.hpp:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Namespaces

namespace  iv
 
namespace  iv::math
 
namespace  iv::math::utils
 
namespace  iv::math::geometry
 
namespace  iv::math::geometry::utils
 

Functions

bool iv::math::utils::isSameSign (const double value1, const double value2, const double precision)
 
double iv::math::utils::valueInterpolation (double valueNormalized, double valueMin, double valueMax)
 
int64_t iv::math::utils::mmToDp (int64_t sizeMm)
 
iv::types::radian iv::math::utils::degreeToRadian (iv::types::degree degree)
 
iv::types::degree iv::math::utils::radianToDegree (iv::types::radian radian)
 
iv::math::geometry::Point2d iv::math::utils::pointOnCircle (iv::types::radius radius, iv::types::degree angle)
 
template<typename T1 , typename T2 = double>
requires std::is_arithmetic_v<T1> && std::is_arithmetic_v<T2>
bool iv::math::utils::isZero (T1 value, T2 tolerance=iv::constants::maths::Precision)
 
template<typename T >
requires std::is_arithmetic_v<T>
bool iv::math::utils::isInRange (T value, T min, T max)
 Checks if a value is in a range [min, max] (inclusive).
 
double iv::math::utils::stepsIncrement (const iv::types::Range< double > range, const uint64_t steps)
 
double iv::math::utils::roundToNearestStep (double value, const double step, iv::types::Range< double > range)
 
iv::math::geometry::Point2d iv::math::geometry::utils::getCentroid (const std::vector< iv::math::geometry::Point2d > &points)
 
iv::types::height iv::math::geometry::utils::getHeight (const std::vector< iv::math::geometry::Point2d > &points)
 
iv::types::width iv::math::geometry::utils::getWidth (const std::vector< iv::math::geometry::Point2d > &points)
 
void iv::math::geometry::utils::alignSecondPoint (const iv::math::geometry::Point2d &firstPoint, iv::math::geometry::Point2d &secondPoint)
 
void iv::math::geometry::utils::alignSecondPointWithDiagonal (const iv::math::geometry::Point2d &firstPoint, iv::math::geometry::Point2d &secondPoint)
 
bool iv::math::geometry::utils::isSamePoint2D (const iv::math::geometry::Point2d &firstPoint, const iv::math::geometry::Point2d &secondPoint, iv::types::coord precision)
 
template<typename T >
requires std::is_same_v<T, iv::math::geometry::Point2d> || std::is_same_v<T, iv::math::geometry::Point3d>
void iv::math::geometry::utils::close (std::vector< T > &v)
 
template<typename T >
requires std::is_same_v<T, iv::math::geometry::Point2d> || std::is_same_v<T, iv::math::geometry::Point3d>
bool iv::math::geometry::utils::isClosed (const std::vector< T > &v)
 
template<typename T >
requires std::is_same_v<T, iv::math::geometry::Point2d>
double iv::math::geometry::utils::calculateArea (const std::vector< T > &v)
 
template<typename T >
requires std::is_same_v<T, iv::math::geometry::Point2d>
float * iv::math::geometry::utils::getArrayFloatC (std::vector< T > points)
 
template<typename T >
requires std::is_same_v<T, iv::math::geometry::Point2d> || std::is_same_v<T, iv::math::geometry::Point3d>
float * iv::math::geometry::utils::getArray3dc (const std::vector< T > &v, const double z)
 
float * iv::math::geometry::utils::getArrayFloatC3d (std::vector< iv::math::geometry::Point3d > points)
 
float * iv::math::geometry::utils::getArrayRgbac_old (const std::vector< iv::math::geometry::Point3d > &v, float alpha)
 
float * iv::math::geometry::utils::getArrayFloatCAppendingZ (const std::vector< iv::math::geometry::Point2d > &v, float z)
 
double iv::math::geometry::utils::module (Point2d begining, Point2d end)