53 lines
1.5 KiB
C++
53 lines
1.5 KiB
C++
/*
|
||
* © Copyright 2014 – Urheberrechtshinweis
|
||
* Alle Rechte vorbehalten / All Rights Reserved
|
||
*
|
||
* Programmcode ist urheberrechtlich geschuetzt.
|
||
* Das Urheberrecht liegt, soweit nicht ausdruecklich anders gekennzeichnet, bei Frank Ebner.
|
||
* Keine Verwendung ohne explizite Genehmigung.
|
||
* (vgl. § 106 ff UrhG / § 97 UrhG)
|
||
*/
|
||
|
||
#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
|