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

55 lines
1.3 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 x;
double y;
double h_x;
double h_y;
public:
Rectangle(double, double, double, double, bool, int);
double Function(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 x;
double y;
double h_x;
double h_y;
public:
Circle(double, double, double, double, bool, int);
double Function(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 x;
double y;
double h_x;
double h_y;
public:
Arc(double, double, double, double, bool, int);
double Function(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