This repository has been archived on 2025-10-24. You can view files and clone it, but cannot push or open issues or pull requests.
Files
MemMAPR-MKR/include/Primitives.hpp
ParkSuMin d55f8fa5d3 Масштабное переобозначение
Улучшение читаемости и понимания кода
2025-05-14 18:00:22 +03:00

58 lines
1.6 KiB
C++

#ifndef MIMAPR_PRIMITIVES_H
#define MIMAPR_PRIMITIVES_H
#include "Form.hpp"
#define EPS_RECTANGLE 0.5
#define EPS_CIRCLE 1
class Rectangle : public Form {
private:
double a_;
double b_;
double h_x_;
double h_y_;
public:
Rectangle(double, double, double, double, bool, int);
double Function(double, double) override;
std::pair<double, double> Second_Deriative(double, double) override;
bool Inhere(double, double) override;
std::pair<double, double> missX(double) override;
std::pair<double, double> missY(double) override;
std::pair<double, double> size() override;
};
class Circle : public Form {
private:
double a_;
double b_;
double h_x_;
double h_y_;
public:
Circle(double, double, double, double, bool, int);
double Function(double, double) override;
std::pair<double, double> Second_Deriative(double, double) override;
bool Inhere(double, double) override;
std::pair<double, double> missX(double) override;
std::pair<double, double> missY(double) override;
std::pair<double, double> size() override;
};
class Arc : public Form {
private:
double a_;
double b_;
double h_x_;
double h_y_;
public:
Arc(double, double, double, double, bool, int);
double Function(double, double) override;
std::pair<double, double> Second_Deriative(double, double) override;
std::pair<double, double> missX(double) override;
std::pair<double, double> missY(double) override;
std::pair<double, double> size() override;
bool Inhere(double, double) override;
};
#endif