added support for adding fingerprint-locations with meta information

This commit is contained in:
2017-03-10 15:12:27 +01:00
parent cad299cd7c
commit b99bb2e226
3 changed files with 48 additions and 1 deletions

View File

@@ -179,6 +179,7 @@ namespace Floorplan {
struct FloorObstacle;
struct AccessPoint;
struct Beacon;
struct FingerprintLocation;
struct FloorRegion;
struct UnderlayImage;
struct POI;
@@ -189,6 +190,7 @@ namespace Floorplan {
using FloorObstacles = std::vector<FloorObstacle*>;
using FloorAccessPoints = std::vector<AccessPoint*>;
using FloorBeacons = std::vector<Beacon*>;
using FloorFingerprintLocations = std::vector<FingerprintLocation*>;
using FloorRegions = std::vector<FloorRegion*>;
using FloorUnderlays = std::vector<UnderlayImage*>;
using FloorPOIs = std::vector<POI*>;
@@ -206,6 +208,7 @@ namespace Floorplan {
FloorRegions regions; // all regions within the floor (rooms, ...)
FloorAccessPoints accesspoints;
FloorBeacons beacons;
FloorFingerprintLocations fpLocations; // potential fingerprint locations
FloorUnderlays underlays; // underlay images (used for map-building)
FloorPOIs pois; // POIs within the floor
FloorStairs stairs; // all stairs within one floor
@@ -222,7 +225,15 @@ namespace Floorplan {
};
/** location for fingerprint measurements */
struct FingerprintLocation : public HasMeta {
std::string name;
Point2 posOnFloor;
float heightAboveFloor = 0;
FingerprintLocation() {;}
FingerprintLocation(const std::string& name, const Point2 posOnFloor, const float heightAboveFloor) : name(name), posOnFloor(posOnFloor), heightAboveFloor(heightAboveFloor) {;}
Point3 getPosition(const Floor& floor) const {return Point3(posOnFloor.x, posOnFloor.y, floor.atHeight + heightAboveFloor);}
};
/** a POI located somewhere on a floor */
struct POI {