| 441 | namespace { |
| 442 | |
| 443 | void CopyRegisteredImage(image_t image_id, |
| 444 | const Sim3d& tgt_from_src, |
| 445 | const Reconstruction& src_reconstruction, |
| 446 | Reconstruction& tgt_reconstruction) { |
| 447 | const Image& src_image = src_reconstruction.Image(image_id); |
| 448 | if (!tgt_reconstruction.ExistsCamera(src_image.CameraId())) { |
| 449 | tgt_reconstruction.AddCamera( |
| 450 | src_reconstruction.Camera(src_image.CameraId())); |
| 451 | } |
| 452 | if (!tgt_reconstruction.ExistsRig(src_image.FramePtr()->RigId())) { |
| 453 | tgt_reconstruction.AddRig( |
| 454 | src_reconstruction.Rig(src_image.FramePtr()->RigId())); |
| 455 | } |
| 456 | if (!tgt_reconstruction.ExistsFrame(src_image.FrameId())) { |
| 457 | Frame tgt_frame = src_reconstruction.Frame(src_image.FrameId()); |
| 458 | tgt_frame.ResetRigPtr(); |
| 459 | tgt_reconstruction.AddFrame(std::move(tgt_frame)); |
| 460 | const Rigid3d cam_from_tgt_world = |
| 461 | TransformCameraWorld(tgt_from_src, src_image.CamFromWorld()); |
| 462 | tgt_reconstruction.Frame(src_image.FrameId()) |
| 463 | .SetCamFromWorld(src_image.CameraId(), cam_from_tgt_world); |
| 464 | } |
| 465 | |
| 466 | Image tgt_image = src_image; |
| 467 | tgt_image.ResetCameraPtr(); |
| 468 | tgt_image.ResetFramePtr(); |
| 469 | tgt_reconstruction.AddImage(std::move(tgt_image)); |
| 470 | } |
| 471 | |
| 472 | } // namespace |
| 473 |
no test coverage detected