fixed some issues

added new tools for creating APs, Beacons, GTP, POI, Fingerprints
fixed selection issue
changed new-element creation
added missing layer parameters
This commit is contained in:
2017-06-01 16:26:09 +02:00
parent 489a64fd69
commit 7a23001b82
29 changed files with 763 additions and 265 deletions

View File

@@ -30,13 +30,18 @@ public:
std::string getLayerName() const override {return "APs";}
//TODO: check
void createAP(Floorplan::AccessPoint* ap) {
MMFloorAccessPoint* createAP(Floorplan::AccessPoint* ap) {
// add to underlying model
floor->accesspoints.push_back(ap);
// add to myself as element
addElement(new MMFloorAccessPoint(this, floor, ap));
//addElement(new MMFloorAccessPoint(this, floor, ap));
// add to myself as element
MMFloorAccessPoint* mm = new MMFloorAccessPoint(this, floor, ap);
addElement(mm);
return mm;
}

View File

@@ -30,13 +30,19 @@ public:
std::string getLayerName() const override {return "Beacons";}
//TODO: check
void createBeacon(Floorplan::Beacon* b) {
MMFloorBeacon* createBeacon(Floorplan::Beacon* b) {
// add to underlying model
floor->beacons.push_back(b);
// // add to myself as element
// addElement(new MMFloorBeacon(this, floor, b));
// add to myself as element
addElement(new MMFloorBeacon(this, floor, b));
MMFloorBeacon* mm = new MMFloorBeacon(this, floor, b);
addElement(mm);
return mm;
}
};

View File

@@ -29,13 +29,18 @@ public:
Floorplan::Floor* getFloor() {return floor;}
//TODO: check
void createGroundTruthPoint(Floorplan::GroundTruthPoint* gtp) {
MMFloorGroundTruthPoint* createGroundTruthPoint(Floorplan::GroundTruthPoint* gtp) {
// add to underlying model
floor->gtpoints.push_back(gtp);
// add to myself as element
addElement(new MMFloorGroundTruthPoint(this, floor, gtp));
//addElement(new MMFloorGroundTruthPoint(this, floor, gtp));
// add to myself as element
MMFloorGroundTruthPoint* mm = new MMFloorGroundTruthPoint(this, floor, gtp);
addElement(mm);
return mm;
}

View File

@@ -46,26 +46,29 @@ public:
virtual int getNumParams() const override {
return 1;
return 2;
}
virtual Param getParamDesc(const int idx) const override {
switch(idx) {
case 0: return Param("length", ParamType::FLOAT, true);
case 0: return Param("thickness (m)", ParamType::FLOAT);
case 1: return Param("length", ParamType::FLOAT, true);
}
throw 1;
}
virtual ParamValue getParamValue(const int idx) const override {
switch(idx) {
case 0: return fo->from.getDistance(fo->to);
case 0: return fo->thickness_m;
case 1: return fo->from.getDistance(fo->to);
}
throw 1;
}
virtual void setParamValue(const int idx, const ParamValue& val) override {
switch(idx) {
case 0: break;
case 0: fo->thickness_m = val.toFloat(); break;
case 1: break;
}
}

View File

@@ -29,13 +29,18 @@ public:
Floorplan::Floor* getFloor() {return floor;}
//TODO: check
void createPOI(Floorplan::POI* poi) {
MMFloorPOI* createPOI(Floorplan::POI* poi) {
// add to underlying model
floor->pois.push_back(poi);
// add to myself as element
addElement(new MMFloorPOI(this, floor, poi));
//addElement(new MMFloorPOI(this, floor, poi));
// add to myself as element
MMFloorPOI* mm = new MMFloorPOI(this, floor, poi);
addElement(mm);
return mm;
}

View File

@@ -36,9 +36,13 @@ public:
// add to underlying model
Floorplan::Floor* floor = new Floorplan::Floor();
floor->name = "floor";
map->floors.push_back(floor);
// defalut values
floor->atHeight = 0;
floor->height = 3;
floor->name = "floor";
// add to UI model
MMFloor* mmfloor = new MMFloor(this, map, floor);
//elements.push_back(mmfloor);

View File

@@ -139,6 +139,12 @@ public:
}
void changed() {
for (MapLayerListener* listener : listeners) {
listener->onLayerChanged(this);
}
}
private:
void onElemAdded(MapModelElement* e) {