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
tagdetectutils::ArucoTag Struct Reference

Represents a single ArUco tag. Combines attributes from TorchTag, TensorflowTag, and the original ArucoTag structs. More...

#include <TagDetectionUtilty.hpp>

Collaboration diagram for tagdetectutils::ArucoTag:

Public Member Functions

bool operator== (const ArucoTag &stOther) const
 Overload the equality operator for the ArucoTag struct.
 
bool operator!= (const ArucoTag &stOther) const
 Overload the inequality operator for the ArucoTag struct.
 
ArucoTagoperator= (const ArucoTag &stOther)
 Overload the assignment operator for the ArucoTag struct to perform a deep copy.
 

Public Attributes

std::shared_ptr< cv::Rect2dpBoundingBox = std::make_shared<cv::Rect2d>()
 
double dConfidence = 0.0
 
double dStraightLineDistance = 0.0
 
double dYawAngle = 0.0
 
int nID = -1
 
std::string szClassName = ""
 
std::chrono::system_clock::time_point tmCreation = std::chrono::system_clock::now()
 
TagDetectionMethod eDetectionMethod = TagDetectionMethod::eUnknown
 
cv::Size cvImageResolution = cv::Size(0, 0)
 
double dHorizontalFOV = 0.0
 
geoops::Waypoint stGeolocatedPosition = geoops::Waypoint()
 

Detailed Description

Represents a single ArUco tag. Combines attributes from TorchTag, TensorflowTag, and the original ArucoTag structs.

Author
clayjay3 (clayt.nosp@m.onra.nosp@m.ycowe.nosp@m.n@gm.nosp@m.ail.c.nosp@m.om)
Date
2025-04-03

Member Function Documentation

◆ operator==()

bool tagdetectutils::ArucoTag::operator== ( const ArucoTag stOther) const
inline

Overload the equality operator for the ArucoTag struct.

Parameters
stOther- The other ArucoTag struct to compare to.
Returns
true - The two ArucoTag structs are equal.
false - The two ArucoTag structs are not equal.
Author
clayjay3 (clayt.nosp@m.onra.nosp@m.ycowe.nosp@m.n@gm.nosp@m.ail.c.nosp@m.om)
Date
2025-04-03
85 {
86 return *pBoundingBox == *stOther.pBoundingBox && dConfidence == stOther.dConfidence && dStraightLineDistance == stOther.dStraightLineDistance &&
87 dYawAngle == stOther.dYawAngle && nID == stOther.nID && szClassName == stOther.szClassName && tmCreation == stOther.tmCreation &&
88 eDetectionMethod == stOther.eDetectionMethod && cvImageResolution == stOther.cvImageResolution && dHorizontalFOV == stOther.dHorizontalFOV &&
89 stGeolocatedPosition == stOther.stGeolocatedPosition;
90 }

◆ operator!=()

bool tagdetectutils::ArucoTag::operator!= ( const ArucoTag stOther) const
inline

Overload the inequality operator for the ArucoTag struct.

Parameters
stOther- The other ArucoTag struct to compare to.
Returns
true - The two ArucoTag structs are not equal.
false - The two ArucoTag structs are equal.
Author
clayjay3 (clayt.nosp@m.onra.nosp@m.ycowe.nosp@m.n@gm.nosp@m.ail.c.nosp@m.om)
Date
2025-04-03
102{ return !(*this == stOther); }

◆ operator=()

ArucoTag & tagdetectutils::ArucoTag::operator= ( const ArucoTag stOther)
inline

Overload the assignment operator for the ArucoTag struct to perform a deep copy.

Parameters
stOther- The other ArucoTag struct to copy from.
Returns
ArucoTag& - A reference to the updated ArucoTag.
Author
clayjay3 (clayt.nosp@m.onra.nosp@m.ycowe.nosp@m.n@gm.nosp@m.ail.c.nosp@m.om)
Date
2025-04-06
114 {
115 // Check if the other ArucoTag is not the same as this one.
116 if (this != &stOther)
117 {
118 // Shallow copy the bounding box.
119 pBoundingBox = stOther.pBoundingBox;
120
121 // Copy other member variables.
122 dConfidence = stOther.dConfidence;
123 dStraightLineDistance = stOther.dStraightLineDistance;
124 dYawAngle = stOther.dYawAngle;
125 nID = stOther.nID;
126 szClassName = stOther.szClassName;
127 tmCreation = stOther.tmCreation;
128 eDetectionMethod = stOther.eDetectionMethod;
129 cvImageResolution = stOther.cvImageResolution;
130 dHorizontalFOV = stOther.dHorizontalFOV;
131 stGeolocatedPosition = stOther.stGeolocatedPosition;
132 }
133 return *this;
134 }

The documentation for this struct was generated from the following file: