This repository has been archived on 2020-04-08. You can view files and clone it, but cannot push or open issues or pull requests.
Files
IndoorMap/mapview/model/MMRegistration.h
k-a-z-u bce771d6d6 worked on 3D viz
scaling, moving by finger
some fixes / improvement
2018-02-06 17:35:10 +01:00

58 lines
1.1 KiB
C++

#ifndef MMREGISTRATION_H
#define MMREGISTRATION_H
#include "MMRegistrationPoint.h"
#include <Indoor/floorplan/v2/Floorplan.h>
/**
* layer that contains registriation points: earth <-> map
*/
class MMRegistration : public MapLayer {
private:
Floorplan::IndoorMap* map;
public:
/** ctor */
MMRegistration(MapLayer* parent, Floorplan::IndoorMap* map) : MapLayer(parent, MapLayerType::REGISTRATION), map(map) {
// the registered points
for (Floorplan::EarthPosMapPos* reg : map->earthReg.correspondences) {
addElement(new MMRegistrationPoint(this, map, reg));
}
}
bool isVisible() const override {
return map->earthReg.enabled;
}
void setVisible(const bool visible) override {
map->earthReg.enabled = visible;
onVisibilityChanged(visible);
}
//TODO: check
MMRegistrationPoint* create(Floorplan::EarthPosMapPos* reg) {
// add to underlying model
map->earthReg.correspondences.push_back(reg);
// add to myself as element
MMRegistrationPoint* mm = new MMRegistrationPoint(this, map, reg);
addElement(mm);
return mm;
}
virtual std::string getLayerName() const override {return "registration";}
};
#endif // MMREGISTRATION_H