39 #include "../slam/landmark.h"
40 #include "../slam/observation.h"
64 <<
"View does not exist in registry. Returning a null pointer.";
68 return registry_element->second;
105 CHECK_NOTNULL(observation.get());
119 CHECK_NOTNULL(observation.get());
120 if (!observation->IsIncorporated())
continue;
123 landmarks_.insert(observation->GetLandmark()->Index());
132 return lhs->Index()< rhs->Index();
137 : view_index_(NextViewIndex()), camera_(camera) {}
std::shared_ptr< Observation > Ptr
unsigned int LandmarkIndex
bool HasObservedLandmark(LandmarkIndex landmark_index) const
::bsfm::Camera & MutableCamera()
static View::Ptr Create(const ::bsfm::Camera &camera)
const ::bsfm::Camera & Camera() const
void SetCamera(const ::bsfm::Camera &camera)
static std::unordered_map< ViewIndex, View::Ptr > view_registry_
static ViewIndex NextViewIndex()
static View::Ptr GetView(ViewIndex view_index)
std::shared_ptr< View > Ptr
static bool SortByIndex(const View::Ptr &lhs, const View::Ptr &rhs)
void UpdateObservedLandmarks()
static bool IsValidView(ViewIndex view_index)
std::unordered_set< LandmarkIndex > landmarks_
const std::unordered_set< LandmarkIndex > & ObservedLandmarks() const
std::vector< Observation::Ptr > observations_
static ViewIndex current_view_index_
void AddObservation(const Observation::Ptr &observation)
View(const ::bsfm::Camera &camera)
static ViewIndex NumExistingViews()
const std::vector< Observation::Ptr > & Observations() const