34 lines
833 B
C++
34 lines
833 B
C++
#ifndef FLOORPOS_H
|
|
#define FLOORPOS_H
|
|
|
|
#include "Obstacle3.h"
|
|
|
|
namespace Ray3D {
|
|
|
|
/** 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::FloorObstacleCircle* c) {
|
|
(void) c;
|
|
return Obstacle3D::Type::WALL;
|
|
}
|
|
|
|
}
|
|
|
|
#endif // FLOORPOS_H
|