58 lines
986 B
C++
Executable File
58 lines
986 B
C++
Executable File
/**
|
|
* @RDE_HEADER@
|
|
* Building VWM info
|
|
* $Id$
|
|
* $HeadURL$
|
|
* $Author$
|
|
* Created by Gerlinde Rudolphus, SLSA, 2017-01-15
|
|
*/
|
|
|
|
#pragma once
|
|
|
|
#include <QString>
|
|
#include <QMap>
|
|
#include <QPolygonF>
|
|
#include <QDomElement>
|
|
#include <LtsUtilsCore/qpoint3d.h>
|
|
#include <VWM/buildingcontrolvwm_export.h>
|
|
#include <logger.h>
|
|
|
|
|
|
namespace BuildingControlUnit
|
|
{
|
|
namespace VWM
|
|
{
|
|
|
|
struct BUILDINGCONTROLVWM_EXPORT RoomOutlineData
|
|
{
|
|
double minZ;
|
|
double maxZ;
|
|
QPolygonF outline;
|
|
};
|
|
|
|
|
|
class BUILDINGCONTROLVWM_EXPORT BuildingRoomGeometry
|
|
{
|
|
public:
|
|
BuildingRoomGeometry();
|
|
~BuildingRoomGeometry();
|
|
|
|
bool init(const QDomElement &domRoot);
|
|
|
|
QVector<int> pointIsInWhichRooms(const LtsUtils::QPoint3D &pointToFind);
|
|
|
|
private:
|
|
bool parse(const QDomElement &domGroup);
|
|
|
|
|
|
QMap<int, RoomOutlineData> m_roomOutlines;
|
|
|
|
NGL::INGLLogger &m_logger;
|
|
};
|
|
|
|
|
|
|
|
} // namespace VWM
|
|
} // namespace BuildingControlUnit
|
|
|