blob: 62a3e8c990d426d132faf07adb8c4ab77acdbdfb (
plain) (
blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
|
#include "Rhombus.h"
Rhombus::Rhombus(double x1, double y1, double x2, double y2) : Shape(4)
{
setPoint(0, x1, y1);
setPoint(1, x2, y2);
double sideLength = getPointAtIndex(0).getDist(getPointAtIndex(1));
setPoint(2, x2 + sideLength, y2);
setPoint(3, x1 + sideLength, y1);
}
double Rhombus::getArea() const
{
return 0.5 * getPointAtIndex(0).getDist(getPointAtIndex(2)) * getPointAtIndex(1).getDist(getPointAtIndex(3));
}
double Rhombus::getPer() const
{
return 4 * getPointAtIndex(0).getDist(getPointAtIndex(1));
}
Shape* Rhombus::clone() const
{
Rhombus* copy = new Rhombus(*this);
return copy;
}
|