Autonomy Software C++ 24.5.1
Welcome to the Autonomy Software repository of the Mars Rover Design Team (MRDT) at Missouri University of Science and Technology (Missouri S&T)! API reference contains the source code and other resources for the development of the autonomy software for our Mars rover. The Autonomy Software project aims to compete in the University Rover Challenge (URC) by demonstrating advanced autonomous capabilities and robust navigation algorithms.
Loading...
Searching...
No Matches
NumberOperations.hpp File Reference

Defines and implements functions related to operations on numbers within the numops namespace. More...

This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

struct  numops::CoordinatePoint< T >
 This struct represents a point in a 3D coordinate system. More...
 

Namespaces

namespace  numops
 Namespace containing functions related to operations on numbers and other datatypes.
 

Functions

template<typename T >
constexpr T numops::Clamp (T tValue, T tMin, T tMax)
 Clamps a given value from going above or below a given threshold.
 
template<typename T >
bool numops::Bounded (T tValue, T tMin, T tMax, const bool bInclusive=true)
 Checks if a given value is between the given maximum and minimum ranges.
 
template<typename T >
constexpr T numops::MapRange (const T tValue, const T tOldMinimum, const T tOldMaximum, const T tNewMinimum, const T tNewMaximum)
 Maps a value to a new range given the old range.
 
template<typename T >
constexpr T numops::InputAngleModulus (T tValue, T tMinValue, T tMaxValue)
 Calculates the modulus of an input angle.
 
template<typename T >
constexpr T numops::AngularDifference (T tFirstValue, T tSecondValue)
 Calculates the distance in degrees between two angles. This function accounts for wrap around so that the most acute or smallest radial distance between the two points is returned. The distance is positive if going from the first angle to the second angle results in clockwise motion.
 
template<typename T >
constexpr void numops::CoordinateFrameRotate3D (std::vector< CoordinatePoint< T > > &vPointCloud, const double dXRotationDegrees, const double dYRotationDegrees, const double dZRotationDegrees)
 This method will rotate a list of 3D coordinate points a variable amount of degrees around the X, Y, and Z axis in a standard coordinate plane. Any amount of points can be given and any angle of rotation can be given for each individual X, Y, and Z axis as long as the points all share the same coordinate system.
 

Detailed Description

Defines and implements functions related to operations on numbers within the numops namespace.

Author
Eli Byrd (edbgk.nosp@m.k@ms.nosp@m.t.edu), ClayJay3 (clayt.nosp@m.onra.nosp@m.ycowe.nosp@m.n@gm.nosp@m.ail.c.nosp@m.om)
Date
2023-06-20