2023-Robot
Robot code for 2023 FRC season by Argos, FRC team #1756
Loading...
Searching...
No Matches
geometry.h File Reference
#include <units/angle.h>
#include <optional>
#include <utility>

Go to the source code of this file.

Namespaces

namespace  argos_lib
 
namespace  argos_lib::led
 

Functions

units::degree_t argos_lib::led::FlipHorizontal (units::degree_t incidentAngle)
 Flip an angle horizontally as though a ray bounces off a horizontal surface.
 
units::degree_t argos_lib::led::FlipVertical (units::degree_t inicidentAngle)
 Flip an angle vertically as though a ray bounces off a vertical surface.
 
bool argos_lib::led::PointInBox (float corner1X, float corner1Y, float corner2X, float corner2Y, float pointX, float pointY)
 Determine if a point (pointX, pointY) is within the bounds of an axis-aligned bounding box with opposite corners (corner1X, corner1Y) and (corner2X, corner2Y)
 
std::optional< std::pair< float, float > > argos_lib::led::SegmentIntersection (float s1x1, float s1y1, float s1x2, float s1y2, float s2x1, float s2y1, float s2x2, float s2y2)
 Finds the intersection point of two lines – [(s1x1, s1y1), (s1x2, s1y2)] and [(s2x1, s2y1), (s2x2, s2y2)] – if it exists. If the two lines are colinear, no intersection point is returned.