#ifndef FLOORPLAN_3D_MISC_H #define FLOORPLAN_3D_MISC_H #include "Obstacle3.h" namespace Floorplan3D { /** used to model ceiling thickness */ struct FloorPos { float fh; float z1; float z2; float height; FloorPos(const Floorplan::Floor* f) : fh(0.01), z1(f->getStartingZ()), z2(f->getEndingZ()-fh), height(z2-z1) {;} }; static Obstacle3D::Type getType(const Floorplan::FloorObstacleLine* l) { switch (l->type) { case Floorplan::ObstacleType::WALL: return Obstacle3D::Type::WALL; case Floorplan::ObstacleType::WINDOW: return Obstacle3D::Type::WINDOW; case Floorplan::ObstacleType::HANDRAIL: return Obstacle3D::Type::HANDRAIL; default: return Obstacle3D::Type::UNKNOWN; } } static Obstacle3D::Type getType(const Floorplan::FloorObstacleWall* l) { switch (l->type) { case Floorplan::ObstacleType::WALL: return Obstacle3D::Type::WALL; case Floorplan::ObstacleType::WINDOW: return Obstacle3D::Type::WINDOW; case Floorplan::ObstacleType::HANDRAIL: return Obstacle3D::Type::HANDRAIL; default: return Obstacle3D::Type::UNKNOWN; } } static Obstacle3D::Type getType(const Floorplan::FloorObstacleCircle* c) { (void) c; return Obstacle3D::Type::WALL; } } #endif // FLOORPLAN_3D_MISC_H