Skip to content

Commit a88495a

Browse files
committed
[filterSfM] fix bug
1 parent e07bc8d commit a88495a

File tree

1 file changed

+6
-5
lines changed

1 file changed

+6
-5
lines changed

src/software/pipeline/main_filterSfM.cpp

Lines changed: 6 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -209,19 +209,19 @@ bool filterLandmarks(SfMData& sfmData, double radiusScale, bool useFeatureScale)
209209

210210
bool filterObservations(SfMData& sfmData, int maxNbObservationsPerLandmark)
211211
{
212-
std::vector<Landmark> landmarksData(sfmData.getLandmarks().size());
212+
std::vector<Landmark*> landmarksData(sfmData.getLandmarks().size());
213213
{
214214
size_t i = 0;
215-
for(const auto& it : sfmData.getLandmarks())
215+
for(auto& it : sfmData.getLandmarks())
216216
{
217-
landmarksData[i++] = it.second;
217+
landmarksData[i++] = &it.second;
218218
}
219219
}
220220

221221
#pragma omp parallel for
222222
for(auto i = 0; i < landmarksData.size(); i++)
223223
{
224-
sfmData::Landmark landmark = landmarksData[i];
224+
sfmData::Landmark& landmark = *landmarksData[i];
225225

226226
// check number of observations
227227
if(landmark.observations.size() <= maxNbObservationsPerLandmark)
@@ -232,7 +232,8 @@ bool filterObservations(SfMData& sfmData, int maxNbObservationsPerLandmark)
232232

233233
// compute observation scores
234234

235-
std::vector<std::pair<double, IndexT>> observationScores(landmark.observations.size());
235+
std::vector<std::pair<double, IndexT>> observationScores;
236+
observationScores.reserve(landmark.observations.size());
236237

237238
for(const auto& observationPair : landmark.observations)
238239
{

0 commit comments

Comments
 (0)