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
objectdetectutils::Object Struct Reference

Represents a single detected object. Combines attributes from TorchObject and TensorflowObject structs. More...

#include <ObjectDetectionUtility.hpp>

Collaboration diagram for objectdetectutils::Object:

Public Member Functions

bool operator== (const Object &stOther) const
 Overridden operator equals for Object struct.
 
bool operator!= (const Object &stOther) const
 Overridden operator equals for Object struct.
 
Objectoperator= (const Object &stOther)
 Overload the assignment operator for the Object 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
 
std::string szClassName = ""
 
std::chrono::system_clock::time_point tmCreation = std::chrono::system_clock::now()
 
ObjectDetectionMethod eDetectionMethod = ObjectDetectionMethod::eUnknown
 
ObjectDetectionType eDetectionType = ObjectDetectionType::eUnknown
 
cv::Size cvImageResolution = cv::Size(0, 0)
 
double dHorizontalFOV = 0.0
 
geoops::Waypoint stGeolocatedPosition = geoops::Waypoint()
 

Detailed Description

Represents a single detected object. Combines attributes from TorchObject and TensorflowObject structs.

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

Member Function Documentation

◆ operator==()

bool objectdetectutils::Object::operator== ( const Object stOther) const
inline

Overridden operator equals for Object struct.

Parameters
stOther- The other Object struct we are comparing to.
Returns
true - The two Objects are equal.
false - The two Objects 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-05-05
99 {
100 return *pBoundingBox == *stOther.pBoundingBox && dConfidence == stOther.dConfidence && dStraightLineDistance == stOther.dStraightLineDistance &&
101 dYawAngle == stOther.dYawAngle && szClassName == stOther.szClassName && tmCreation == stOther.tmCreation &&
102 eDetectionMethod == stOther.eDetectionMethod && eDetectionType == stOther.eDetectionType && cvImageResolution == stOther.cvImageResolution &&
103 dHorizontalFOV == stOther.dHorizontalFOV && stGeolocatedPosition == stOther.stGeolocatedPosition;
104 }

◆ operator!=()

bool objectdetectutils::Object::operator!= ( const Object stOther) const
inline

Overridden operator equals for Object struct.

Parameters
stOther- The other Object struct we are comparing to.
Returns
true - The two Objects are not equal.
false - The two Objects are equal.
Author
clayjay3 (clayt.nosp@m.onra.nosp@m.ycowe.nosp@m.n@gm.nosp@m.ail.c.nosp@m.om)
Date
2025-05-05
116{ return !(*this == stOther); }

◆ operator=()

Object & objectdetectutils::Object::operator= ( const Object stOther)
inline

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

Parameters
stOther- The other Object struct to copy from.
Returns
Object& - The current Object struct.
Author
clayjay3 (clayt.nosp@m.onra.nosp@m.ycowe.nosp@m.n@gm.nosp@m.ail.c.nosp@m.om)
Date
2025-05-05
128 {
129 // Check if the other Object is not the same as this one.
130 if (this != &stOther)
131 {
132 // Shallow copy the bounding box.
133 pBoundingBox = stOther.pBoundingBox;
134
135 // Copy other member variables.
136 dConfidence = stOther.dConfidence;
137 dStraightLineDistance = stOther.dStraightLineDistance;
138 dYawAngle = stOther.dYawAngle;
139 szClassName = stOther.szClassName;
140 tmCreation = stOther.tmCreation;
141 eDetectionMethod = stOther.eDetectionMethod;
142 eDetectionType = stOther.eDetectionType;
143 cvImageResolution = stOther.cvImageResolution;
144 dHorizontalFOV = stOther.dHorizontalFOV;
145 stGeolocatedPosition = stOther.stGeolocatedPosition;
146 }
147 return *this;
148 }

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