Skip to content

Commit

Permalink
Merge pull request #1701 from alicevision/fix/cameraLock
Browse files Browse the repository at this point in the history
fix camera pose lock I/O
  • Loading branch information
fabiencastan authored Apr 4, 2024
2 parents 922345d + f8149b8 commit 6348b0f
Show file tree
Hide file tree
Showing 2 changed files with 17 additions and 7 deletions.
16 changes: 10 additions & 6 deletions src/aliceVision/sfmDataIO/jsonIO.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -104,11 +104,8 @@ inline void loadPose3(const std::string& name, geometry::Pose3& pose, bpt::ptree
inline void saveCameraPose(const std::string& name, const sfmData::CameraPose& cameraPose, bpt::ptree& parentTree)
{
bpt::ptree cameraPoseTree;

savePose3("transform", cameraPose.getTransform(), cameraPoseTree);
cameraPoseTree.put(
"locked", static_cast<int>(cameraPose.isLocked())); // convert bool to integer to avoid using "true/false" in exported file instead of "1/0".

cameraPoseTree.put("locked", cameraPose.isLocked());
parentTree.add_child(name, cameraPoseTree);
}

Expand All @@ -122,13 +119,20 @@ inline void loadCameraPose(const std::string& name, sfmData::CameraPose& cameraP
{
geometry::Pose3 pose;

loadPose3(name + ".transform", pose, cameraPoseTree);
bpt::ptree & poseTree = cameraPoseTree.get_child(name);

loadPose3("transform", pose, poseTree);

cameraPose.setTransform(pose);

if (cameraPoseTree.get<int>("locked", 0))
if (poseTree.get<bool>("locked", false))
{
cameraPose.lock();
}
else
{
cameraPose.unlock();
}
}

/**
Expand Down
8 changes: 7 additions & 1 deletion src/aliceVision/sfmDataIO/sfmDataIO_test.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -44,7 +44,13 @@ sfmData::SfMData createTestScene(std::size_t viewsCount = 2, std::size_t observa
sfmData.getViews().emplace(viewId, view);

// Add poses
sfmData.setPose(*view, sfmData::CameraPose());
sfmData::CameraPose pose;
if (i == 0)
{
pose.lock();
}

sfmData.setPose(*view, pose);

// Add intrinsics
if (!sharedIntrinsic || (i == 0))
Expand Down

0 comments on commit 6348b0f

Please sign in to comment.