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. 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()
 
std::string szDetectorUUID = ""
 

Detailed Description

Represents a single ArUco tag.

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
84 {
85 return *pBoundingBox == *stOther.pBoundingBox && dConfidence == stOther.dConfidence && dStraightLineDistance == stOther.dStraightLineDistance &&
86 dYawAngle == stOther.dYawAngle && nID == stOther.nID && szClassName == stOther.szClassName && tmCreation == stOther.tmCreation &&
87 eDetectionMethod == stOther.eDetectionMethod && cvImageResolution == stOther.cvImageResolution && dHorizontalFOV == stOther.dHorizontalFOV &&
88 stGeolocatedPosition == stOther.stGeolocatedPosition && szDetectorUUID == stOther.szDetectorUUID;
89 }

◆ 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
101{ 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
113 {
114 // Check if the other ArucoTag is not the same as this one.
115 if (this != &stOther)
116 {
117 // Shallow copy the bounding box.
118 pBoundingBox = stOther.pBoundingBox;
119
120 // Copy other member variables.
121 dConfidence = stOther.dConfidence;
122 dStraightLineDistance = stOther.dStraightLineDistance;
123 dYawAngle = stOther.dYawAngle;
124 nID = stOther.nID;
125 szClassName = stOther.szClassName;
126 tmCreation = stOther.tmCreation;
127 eDetectionMethod = stOther.eDetectionMethod;
128 cvImageResolution = stOther.cvImageResolution;
129 dHorizontalFOV = stOther.dHorizontalFOV;
130 stGeolocatedPosition = stOther.stGeolocatedPosition;
131 szDetectorUUID = stOther.szDetectorUUID;
132 }
133 return *this;
134 }

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