27 std::cout <<
" measurements of point " <<
p << std::endl;
32 if (!
p.isApprox(sfmTrack.
p)) {
37 if (
r != sfmTrack.
r ||
g != sfmTrack.
g ||
b != sfmTrack.
b) {
52 if (measurement.first != otherMeasurement.first ||
53 !measurement.second.isApprox(otherMeasurement.second)) {
59 for (
size_t idx = 0; idx <
siftIndices.size(); ++idx) {
63 if (index.first != otherIndex.first || index.second != otherIndex.second) {
A simple data structure for a track in Structure from Motion.
std::vector< SiftIndex > siftIndices
The feature descriptors (optional)
std::pair< size_t, Point2 > SfmMeasurement
A measurement with its camera index.
size_t numberMeasurements() const
Total number of measurements in this track.
const SfmMeasurement & measurement(size_t idx) const
Get the measurement (camera index, Point2) at pose index idx
std::pair< size_t, size_t > SiftIndex
Sift index for SfmTrack.
std::vector< SfmMeasurement > measurements
The 2D image projections (id,(u,v))
bool equals(const SfmTrack &sfmTrack, double tol=1e-9) const
assert equality up to a tolerance
Point3 p
3D position of the point
float b
RGB color of the 3D point.
void print(const std::string &s="") const
print