10 #include <aliceVision/types.hpp>
11 #include <aliceVision/numeric/numeric.hpp>
12 #include <aliceVision/image/dcp.hpp>
13 #include <aliceVision/sensorDB/Datasheet.hpp>
14 #include <aliceVision/camera/IntrinsicInitMode.hpp>
15 #include <aliceVision/lensCorrectionProfile/lcp.hpp>
17 #include <aliceVision/sfmData/ImageInfo.hpp>
18 #include <aliceVision/sfmData/exif.hpp>
19 #include <aliceVision/sfmData/ExposureSetting.hpp>
35 using sptr = std::shared_ptr<View>;
51 View(
const std::string& imagePath =
"",
52 IndexT viewId = UndefinedIndexT,
53 IndexT intrinsicId = UndefinedIndexT,
54 IndexT poseId = UndefinedIndexT,
55 std::size_t width = 0,
56 std::size_t height = 0,
57 IndexT rigId = UndefinedIndexT,
58 IndexT subPoseId = UndefinedIndexT,
59 const std::map<std::string, std::string>& metadata = std::map<std::string, std::string>())
61 _intrinsicId(intrinsicId),
64 _subPoseId(subPoseId),
65 _image(new
ImageInfo(imagePath, width, height, metadata))
84 v->_image = std::make_shared<ImageInfo>(*this->_image);
88 bool operator==(
const View& other)
const
91 return _viewId == other._viewId && _intrinsicId == other._intrinsicId && _poseId == other._poseId && _rigId == other._rigId &&
92 _subPoseId == other._subPoseId && _imageGroupId == other._imageGroupId;
95 inline bool operator!=(
const View& other)
const {
return !(*
this == other); }
215 _subPoseId = subPoseId;
240 if (std::find(_ancestors.begin(), _ancestors.end(), image) == _ancestors.end())
242 _ancestors.push_back(image);
273 IndexT _imageGroupId = UndefinedIndexT;
275 IndexT _frameId = UndefinedIndexT;
277 IndexT _resectionId = UndefinedIndexT;
279 bool _isPoseIndependent =
true;
281 std::vector<IndexT> _ancestors;
283 std::shared_ptr<ImageInfo> _image;