MCPcopy Create free account
hub / github.com/colmap/colmap / ReadRigWithSensor

Method ReadRigWithSensor

src/colmap/scene/database_sqlite.cc:655–682  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

653 }
654
655 std::optional<Rig> ReadRigWithSensor(sensor_t sensor_id) const override {
656 auto find_rig_id_with_sensor = [&sensor_id](sqlite3_stmt* sql_stmt) {
657 Sqlite3StmtContext context(sql_stmt);
658 SQLITE3_CALL(sqlite3_bind_int64(
659 sql_stmt, 1, static_cast<sqlite3_int64>(sensor_id.id)));
660 SQLITE3_CALL(sqlite3_bind_int64(
661 sql_stmt, 2, static_cast<sqlite3_int64>(sensor_id.type)));
662 std::optional<rig_t> rig_id;
663 if (SQLITE3_CALL(sqlite3_step(sql_stmt)) == SQLITE_ROW) {
664 rig_id = static_cast<rig_t>(sqlite3_column_int64(sql_stmt, 0));
665 }
666 return rig_id;
667 };
668
669 if (const std::optional<rig_t> rig_id =
670 find_rig_id_with_sensor(sql_stmt_read_rig_with_sensor_);
671 rig_id.has_value()) {
672 return ReadRig(*rig_id);
673 }
674
675 if (const std::optional<rig_t> rig_id =
676 find_rig_id_with_sensor(sql_stmt_read_rig_with_ref_sensor_);
677 rig_id.has_value()) {
678 return ReadRig(*rig_id);
679 }
680
681 return std::nullopt;
682 }
683
684 std::vector<Rig> ReadAllRigs() const override {
685 Sqlite3StmtContext context(sql_stmt_read_rigs_);

Callers 3

TEST_PFunction · 0.45
ImageReaderMethod · 0.45
NextMethod · 0.45

Calls

no outgoing calls

Tested by 1

TEST_PFunction · 0.36