This repository has been archived on 2020-04-08. You can view files and clone it, but cannot push or open issues or pull requests.
Files
IndoorMap/mapview/2D/MV2DElementFloorObstacleWall.h
2018-07-30 20:56:17 +02:00

50 lines
1.2 KiB
C++

#ifndef MV2DELEMENTFLOOROBSTACLEWALL_H
#define MV2DELEMENTFLOOROBSTACLEWALL_H
#include "MV2DElement.h"
#include "HasMoveableNodes.h"
#include <Indoor/floorplan/v2/Floorplan.h>
class MV2DElementFloorObstacleWall : public MV2DElement, public HasMoveableNodes {
private:
Floorplan::Floor* f;
Floorplan::FloorObstacleWall* fo;
float mouseNearLine = NAN;
public:
/** ctor */
MV2DElementFloorObstacleWall(Floorplan::Floor* f, Floorplan::FloorObstacleWall* fo);
/** get the element's 3D bounding box */
BBox2 getBoundingBox() const override;
/** get the element's minimal distance (nearest whatsoever) to the given point */
ClickDist getMinDistanceXY(const Point2 p) const override;
/** repaint me */
void paint(Painter& p) override;
void onFocus() override;
void onUnfocus() override;
virtual std::vector<MoveableNode> getMoveableNodes() const override;
void onNodeMove(MapView2D* v, const int userIdx, const Point2 newPos) override;
void onNodeMoved(MapView2D* v, const int userIdx, const Point2 newPos);
bool keyPressEvent(MapView2D* v, QKeyEvent* e) override;
void mousePressed(MapView2D* v, const Point2 p) override;
};
#endif // MV2DELEMENTFLOOROBSTACLEWALL_H