add more methods for accessing members, getting size

release/4.3a0
senselessdev1 2022-09-27 10:28:57 -04:00
parent 96aaff4bc6
commit 6eb4ada2fd
1 changed files with 15 additions and 0 deletions

View File

@ -73,11 +73,26 @@ class SfmTrack2d {
std::vector<NamedSfmMeasurement> measurements_; std::vector<NamedSfmMeasurement> measurements_;
public: public:
// Default constructor.
SfmTrack2d() = default;
// Constructor from measurements.
SfmTrack2d(std::vector<NamedSfmMeasurement> &measurements) : measurements_(measurements) {}
// Add a measurement to the track.
void addMeasurement(const NamedSfmMeasurement &m) { void addMeasurement(const NamedSfmMeasurement &m) {
measurements_.emplace_back(m); measurements_.emplace_back(m);
} }
/// The measurement at index `idx`
NamedSfmMeasurement measurement(size_t idx) const { return measurements_[idx]; }
// Return all measurements in the track.
std::vector<NamedSfmMeasurement> measurements() {return measurements_; } std::vector<NamedSfmMeasurement> measurements() {return measurements_; }
/// Total number of measurements in this track.
size_t numberMeasurements() const { return measurements_.size(); }
// @brief Validates the track by checking that no two measurements are from the same camera. // @brief Validates the track by checking that no two measurements are from the same camera.
// //
// returns boolean result of the validation. // returns boolean result of the validation.