Locus No Pilotus
Project of four first grade MIPT DAFE/RSE students (for engineering practical work in the second semester) in Qt C++
Loading...
Searching...
No Matches
trappy_circle.h
Go to the documentation of this file.
1#pragma once
2
3// our code libs:
4#include "base.h"
5
6namespace lib {
7
8/// @brief Опасная зона
9class TrappyCircle : public JSONable {
10 public:
11 TrappyCircle(Point center = {0, 0}, double radius = 0);
12
13 TrappyCircle(const TrappyCircle&) = default;
15
18
19 QJsonObject GetJsonInfo() const override;
20 void SetJsonInfo(const QJsonObject& trappy_circle_obj) override;
21
22 bool IsChanged(const QJsonObject& trappy_circle_obj) const override;
23
24 Point GetCenter() const { return center_; }
25 double GetRadius() const { return radius_; }
26
27 void SetCenter(const Point& center) {
28 center_ = center;
30 }
31
32 void SetRadius(double r) {
33 radius_ = r;
35 }
36
37 bool operator==(const TrappyCircle&) const;
38
39 private:
40 /**
41 * @brief Проверяет данные в классе на валидность
42 * @throw std::invalid_argument: если одна из коорд. центра превышает
43 * максимально допустимое значение
44 * @throw std::invalid_argument: если радиус превышает максимально допустимое
45 * значение
46 */
47 void CheckErrorValues() const override;
48
50 double radius_;
51};
52
53} // namespace lib
Объект, возможный к считыванию по .json файлу [абстрактный класс].
Definition base.h:15
Опасная зона
Definition trappy_circle.h:9
void SetRadius(double r)
Definition trappy_circle.h:32
void SetJsonInfo(const QJsonObject &trappy_circle_obj) override
Definition trappy_circle.cpp:29
TrappyCircle(const TrappyCircle &)=default
QJsonObject GetJsonInfo() const override
Definition trappy_circle.cpp:18
TrappyCircle(TrappyCircle &&)=default
TrappyCircle(Point center={0, 0}, double radius=0)
Definition trappy_circle.cpp:9
bool operator==(const TrappyCircle &) const
Definition trappy_circle.cpp:61
double GetRadius() const
Definition trappy_circle.h:25
Point GetCenter() const
Definition trappy_circle.h:24
TrappyCircle & operator=(const TrappyCircle &)=default
Point center_
Definition trappy_circle.h:49
void CheckErrorValues() const override
Проверяет данные в классе на валидность
Definition trappy_circle.cpp:66
void SetCenter(const Point &center)
Definition trappy_circle.h:27
bool IsChanged(const QJsonObject &trappy_circle_obj) const override
Definition trappy_circle.cpp:54
double radius_
Definition trappy_circle.h:50
TrappyCircle & operator=(TrappyCircle &&)=default
Definition base.h:10
Математическая точка
Definition point.h:16