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
gui::Hill Class Reference

Фигура рельефа с высотой More...

#include <hill.h>

Inheritance diagram for gui::Hill:
Collaboration diagram for gui::Hill:

Public Member Functions

 Hill ()=default
 
 Hill (const Hill &)=default
 
 Hill (const lib::Hill &data, QColor color=QColor(50, 200, 50, 255))
 
 Hill (const std::initializer_list< lib::Point > &points, QColor color=QColor(50, 200, 50, 255))
 Инициализирует новый экземпляр Hill.
 
 Hill (const std::vector< lib::Point > &points, QColor color=QColor(50, 200, 50, 255))
 
 Hill (Hill &&)=default
 
void AddVertice (lib::Point vertice)
 
void Draw (QCustomPlot *plot) override
 Отрисовывает фигуру на полотне
 
QCPCurve * GetCurvePtr () const
 Возвращает значение указателя на полотне
 
lib::HillGetData ()
 
const lib::HillGetData () const
 
std::vector< lib::Point > & GetVertices ()
 
const std::vector< lib::Point > & GetVertices () const
 
Hilloperator= (const Hill &)=default
 
Hilloperator= (Hill &&)=default
 
bool operator== (const gui::Hill &hill) const
 

Private Attributes

QColor color_
 
QCPCurve * curve_ {nullptr}
 
lib::Hill data_
 

Detailed Description

Фигура рельефа с высотой

Фигура представляет собой зеленый многоугольник с полупрозрачной заливкой (зеленый по умолчанию, однако цвет задаётся в аргументах конструктора)

Constructor & Destructor Documentation

◆ Hill() [1/6]

gui::Hill::Hill ( )
default

◆ Hill() [2/6]

gui::Hill::Hill ( const std::initializer_list< lib::Point > & points,
QColor color = QColor(50, 200, 50, 255) )
inline

Инициализирует новый экземпляр Hill.

Parameters
pointsсписок точек
colorцвет
26 : data_(points), color_{color} {}
lib::Hill data_
Definition hill.h:71
QColor color_
Definition hill.h:72

◆ Hill() [3/6]

gui::Hill::Hill ( const std::vector< lib::Point > & points,
QColor color = QColor(50, 200, 50, 255) )
inline
30 : data_(points), color_{color} {}

◆ Hill() [4/6]

gui::Hill::Hill ( const lib::Hill & data,
QColor color = QColor(50, 200, 50, 255) )
inline
33 : data_(data), color_{color} {}

◆ Hill() [5/6]

gui::Hill::Hill ( const Hill & )
default

◆ Hill() [6/6]

gui::Hill::Hill ( Hill && )
default

Member Function Documentation

◆ AddVertice()

void gui::Hill::AddVertice ( lib::Point vertice)
inline
49{ data_.AddVertice(vertice); }
void AddVertice(Point vertice)
Definition hill.h:40
Here is the call graph for this function:

◆ Draw()

void gui::Hill::Draw ( QCustomPlot * plot)
overridevirtual

Отрисовывает фигуру на полотне

Фигура представляет собой зеленый многоугольник с полупрозрачной заливкой (зеленый по умолчанию, однако цвет задаётся в аргументах конструктора)

Parameters
plotуказатель на полотно

Implements gui::Drawable.

4 {
5 curve_ = new QCPCurve(plot->xAxis, plot->yAxis);
6
7 QColor fill_color = QColor(color_.red(), color_.green(), color_.blue(), 100);
8
9 QPen pen;
10 pen.setColor(color_);
11 pen.setStyle(Qt::SolidLine);
12 curve_->setPen(pen);
13 curve_->setBrush(fill_color);
14
15 curve_->setLineStyle(QCPCurve::lsLine);
16
17 auto points = data_.GetVertices();
18
19 for (size_t i = 0; i < points.size(); i++) {
20 curve_->addData(points[i].x, points[i].y);
21 }
22
23 // замыкаем, соединяя с первой точкой
24 curve_->addData(points[0].x, points[0].y);
25}
QCPCurve * curve_
Definition hill.h:74
const std::vector< Point > & GetVertices() const
Definition hill.h:37
Here is the call graph for this function:

◆ GetCurvePtr()

QCPCurve * gui::Hill::GetCurvePtr ( ) const
inline

Возвращает значение указателя на полотне

Returns
QCPGraph*: указатель
64{ return curve_; }

◆ GetData() [1/2]

lib::Hill & gui::Hill::GetData ( )
inline
42{ return data_; }

◆ GetData() [2/2]

const lib::Hill & gui::Hill::GetData ( ) const
inline
41{ return data_; }
Here is the caller graph for this function:

◆ GetVertices() [1/2]

std::vector< lib::Point > & gui::Hill::GetVertices ( )
inline
47{ return data_.GetVertices(); }
Here is the call graph for this function:

◆ GetVertices() [2/2]

const std::vector< lib::Point > & gui::Hill::GetVertices ( ) const
inline
44 {
45 return data_.GetVertices();
46 }
Here is the call graph for this function:

◆ operator=() [1/2]

Hill & gui::Hill::operator= ( const Hill & )
default

◆ operator=() [2/2]

Hill & gui::Hill::operator= ( Hill && )
default

◆ operator==()

bool gui::Hill::operator== ( const gui::Hill & hill) const
inline
66 {
67 return data_ == hill.GetData();
68 }
const lib::Hill & GetData() const
Definition hill.h:41
Here is the call graph for this function:

Member Data Documentation

◆ color_

QColor gui::Hill::color_
private

◆ curve_

QCPCurve* gui::Hill::curve_ {nullptr}
private
74{nullptr};

◆ data_

lib::Hill gui::Hill::data_
private

The documentation for this class was generated from the following files: