ACloudViewer
3.9.4
A Modern Library for 3D Data Processing
inverted_file_entry_test.cc
Go to the documentation of this file.
1
// Copyright (c) 2018, ETH Zurich and UNC Chapel Hill.
2
// All rights reserved.
3
//
4
// Redistribution and use in source and binary forms, with or without
5
// modification, are permitted provided that the following conditions are met:
6
//
7
// * Redistributions of source code must retain the above copyright
8
// notice, this list of conditions and the following disclaimer.
9
//
10
// * Redistributions in binary form must reproduce the above copyright
11
// notice, this list of conditions and the following disclaimer in the
12
// documentation and/or other materials provided with the distribution.
13
//
14
// * Neither the name of ETH Zurich and UNC Chapel Hill nor the names of
15
// its contributors may be used to endorse or promote products derived
16
// from this software without specific prior written permission.
17
//
18
// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
19
// AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
20
// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
21
// ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDERS OR CONTRIBUTORS BE
22
// LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
23
// CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
24
// SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
25
// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
26
// CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
27
// ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
28
// POSSIBILITY OF SUCH DAMAGE.
29
//
30
// Author: Johannes L. Schoenberger (jsch-at-demuc-dot-de)
31
32
#define TEST_NAME "retrieval/inverted_file_entry"
33
#include "
util/testing.h
"
34
35
#include "
retrieval/inverted_file_entry.h
"
36
37
using namespace
colmap::retrieval
;
38
39
BOOST_AUTO_TEST_CASE
(TestEmpty) {
40
InvertedFileEntry<10>
entry;
41
BOOST_CHECK_EQUAL(entry.
image_id
, -1);
42
BOOST_CHECK_EQUAL(entry.
feature_idx
, -1);
43
BOOST_CHECK_EQUAL(entry.
geometry
.
x
, 0);
44
BOOST_CHECK_EQUAL(entry.
geometry
.
y
, 0);
45
BOOST_CHECK_EQUAL(entry.
geometry
.
scale
, 0);
46
BOOST_CHECK_EQUAL(entry.
geometry
.
orientation
, 0);
47
BOOST_CHECK_EQUAL(entry.
descriptor
.size(), 10);
48
}
49
50
BOOST_AUTO_TEST_CASE
(TestReadWrite) {
51
InvertedFileEntry<10>
entry;
52
entry.
image_id
= 99;
53
entry.
feature_idx
= 100;
54
entry.
geometry
.
x
= 0.123;
55
entry.
geometry
.
y
= 0.456;
56
entry.
geometry
.
scale
= 0.789;
57
entry.
geometry
.
orientation
= -0.1;
58
for
(
size_t
i = 0; i < entry.
descriptor
.size(); ++i) {
59
entry.
descriptor
[i] = (i % 2) == 0;
60
}
61
std::stringstream file;
62
entry.
Write
(&file);
63
64
InvertedFileEntry<10>
read_entry;
65
read_entry.
Read
(&file);
66
BOOST_CHECK_EQUAL(entry.
image_id
, read_entry.
image_id
);
67
BOOST_CHECK_EQUAL(entry.
feature_idx
, read_entry.
feature_idx
);
68
BOOST_CHECK_EQUAL(entry.
geometry
.
x
, read_entry.
geometry
.
x
);
69
BOOST_CHECK_EQUAL(entry.
geometry
.
y
, read_entry.
geometry
.
y
);
70
BOOST_CHECK_EQUAL(entry.
geometry
.
scale
, read_entry.
geometry
.
scale
);
71
BOOST_CHECK_EQUAL(entry.
geometry
.
orientation
,
72
read_entry.
geometry
.
orientation
);
73
for
(
size_t
i = 0; i < entry.
descriptor
.size(); ++i) {
74
BOOST_CHECK_EQUAL(entry.
descriptor
[i], read_entry.
descriptor
[i]);
75
}
76
}
inverted_file_entry.h
BOOST_AUTO_TEST_CASE
BOOST_AUTO_TEST_CASE(TestEmpty)
Definition:
inverted_file_entry_test.cc:39
colmap::retrieval
Definition:
geometry.cc:35
colmap::retrieval::FeatureGeometry::orientation
float orientation
Definition:
geometry.h:41
colmap::retrieval::FeatureGeometry::scale
float scale
Definition:
geometry.h:40
colmap::retrieval::FeatureGeometry::y
float y
Definition:
geometry.h:39
colmap::retrieval::FeatureGeometry::x
float x
Definition:
geometry.h:38
colmap::retrieval::InvertedFileEntry
Definition:
inverted_file_entry.h:22
colmap::retrieval::InvertedFileEntry::image_id
int image_id
Definition:
inverted_file_entry.h:27
colmap::retrieval::InvertedFileEntry::geometry
FeatureGeometry geometry
Definition:
inverted_file_entry.h:33
colmap::retrieval::InvertedFileEntry::Write
void Write(std::ostream *ofs) const
Definition:
inverted_file_entry.h:66
colmap::retrieval::InvertedFileEntry::feature_idx
int feature_idx
Definition:
inverted_file_entry.h:30
colmap::retrieval::InvertedFileEntry::descriptor
std::bitset< N > descriptor
Definition:
inverted_file_entry.h:36
colmap::retrieval::InvertedFileEntry::Read
void Read(std::istream *ifs)
Definition:
inverted_file_entry.h:44
testing.h
libs
Reconstruction
src
retrieval
inverted_file_entry_test.cc
Generated on Tue Feb 3 2026 07:12:30 for ACloudViewer by
1.9.1