Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 2 additions & 2 deletions main/circle.h
Original file line number Diff line number Diff line change
Expand Up @@ -14,8 +14,8 @@ class Circle: public Figure
void setA(Point _a);
void setR(double _r);
Point getA();
double getR();
double getArea();
virtual double getR();
virtual double getArea();

};

Expand Down
6 changes: 3 additions & 3 deletions main/diamond.h
Original file line number Diff line number Diff line change
Expand Up @@ -6,12 +6,12 @@
class Diamond: public Figure
{
private:
Point points[3];
Point points[4];

public:
Diamond(Point _a, Point _b, Point _c, Point _d);
double getCircumference();
double getArea();
virtual double getCircumference();
virtual double getArea();
};

#endif
4 changes: 4 additions & 0 deletions main/factory.cpp
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
#include "factory.h"
#include "factoryfigure.h"
#include "factoryfiguresspatial.h"

18 changes: 18 additions & 0 deletions main/factory.h
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
#ifndef factory_h
#define factory_h



class factory
{
public:



};





#endif
34 changes: 34 additions & 0 deletions main/factoryfigure.cpp
Original file line number Diff line number Diff line change
@@ -0,0 +1,34 @@
#include "factoryfigure.h"


FactoryFigure::FactoryFigure(figureType f,Point _a,Point _b,Point _c){
if(f==triangle){
this->a= new Triangle(_a,_b,_c);
}
}
FactoryFigure::FactoryFigure(figureType f,Point _a,Point _b,Point _c,Point _d){
switch(f){
case diamond:
this->a= new Diamond(_a,_b,_c,_d);
break;
case square:
this->a= new Square(_a,_b,_c,_d);
break;
case tetragon:
this->a= new Tetragon(_a,_b,_c,_d);
break;
case trapeze:
this->a= new Trapeze(_a,_b,_c,_d);
break;
}
}
FactoryFigure::FactoryFigure(figureType f,Point _a,double _r){
if(f==circle){
this->a= new Circle(_a,_r);
}
}
FactoryFigure::FactoryFigure(figureType f,Point _a,Point _b,Point _c,Point _d,Point _e){
if(f==pentagon){
this->a= new Pentagon(_a,_b,_c,_d,_e);
}
}
35 changes: 35 additions & 0 deletions main/factoryfigure.h
Original file line number Diff line number Diff line change
@@ -0,0 +1,35 @@
#ifndef factoryfigure_h
#define factoryfigure_h
#include "figure.h"
#include "point.h"
#include "triangle.h"
#include "diamond.h"
#include "square.h"
#include "tetragon.h"
#include "trapeze.h"
#include "circle.h"
#include "pentagon.h"


enum figureType
{
circle,
diamond,
pentagon,
square,
tetragon,
trapeze,
triangle
};

class FactoryFigure
{
public:
Figure *a;
FactoryFigure(figureType f,Point _a,Point _b,Point _c);
FactoryFigure(figureType f,Point _a,Point _b,Point _c,Point _d);
FactoryFigure(figureType f,Point _a,double _r);
FactoryFigure(figureType f,Point _a,Point _b,Point _c,Point _d,Point _e);
};

#endif
56 changes: 56 additions & 0 deletions main/factoryfiguresspatial.cpp
Original file line number Diff line number Diff line change
@@ -0,0 +1,56 @@
#include "factoryfiguresspatial.h"


FactoryFigureSpatial::FactoryFigureSpatial(figureSpatialType f,PointSpatial _a,PointSpatial _b,PointSpatial _c,PointSpatial _d)

{
if ( f == pyramidtriangular )
{
this->a = new PyramidTriangular(_a,_b,_c,_d);
}


}
FactoryFigureSpatial::FactoryFigureSpatial(figureSpatialType f,PointSpatial _a,PointSpatial _b,PointSpatial _c,PointSpatial _d,PointSpatial _e)
{
if ( f == pyramidtetragonal )
{
this->a = new PyramidTetragonal(_a,_b,_c,_d,_e);
}



}
FactoryFigureSpatial::FactoryFigureSpatial(figureSpatialType f,PointSpatial _a,PointSpatial _b,PointSpatial _c,PointSpatial _d,PointSpatial _e,PointSpatial _f)
{
if ( f == pyramidpentagonal )
{
this->a = new PyramidPentagonal(_a,_b,_c,_d,_e,_f);
}
else if ( f == prismtriangular )
{

this->a = new PrismTriangular(_a,_b,_c,_d,_e,_f);
}


}
FactoryFigureSpatial::FactoryFigureSpatial(figureSpatialType f,PointSpatial _a,PointSpatial _b,PointSpatial _c,PointSpatial _d,PointSpatial _e,PointSpatial _f, PointSpatial _g,PointSpatial _h)
{

if ( f == prismtetragonal )
{
this->a = new PrismTetragonal(_a,_b,_c,_d,_e,_f,_g,_h);
}

}

FactoryFigureSpatial::FactoryFigureSpatial(figureSpatialType f,PointSpatial _a,PointSpatial _b,PointSpatial _c,PointSpatial _d,PointSpatial _e,PointSpatial _f, PointSpatial _g,PointSpatial _h,PointSpatial _i,PointSpatial _j)
{

if ( f == prismpentagonal )
{
this->a = new PrismPentagonal(_a,_b,_c,_d,_e,_f,_g,_h,_i,_j);
}

}
36 changes: 36 additions & 0 deletions main/factoryfiguresspatial.h
Original file line number Diff line number Diff line change
@@ -0,0 +1,36 @@
#ifndef factoryfigurespatial_h
#define factoryfigurespatial_h
#include "figurespatial.h"
#include "pointspatial.h"
#include "prismpentagonal.h"
#include "prismtetragonal.h"
#include "prismtriangular.h"
#include "pyramidtetragonal.h"
#include "pyramidpentagonal.h"
#include "pyramidtriangular.h"


enum figureSpatialType
{
pyramidtriangular,
prismpentagonal,
prismtetragonal,
prismtriangular,
pyramidpentagonal,
pyramidtetragonal
};


class FactoryFigureSpatial
{
public:
FigureSpatial *a;
FactoryFigureSpatial(figureSpatialType f,PointSpatial _a,PointSpatial _b,PointSpatial _c,PointSpatial _d);
FactoryFigureSpatial(figureSpatialType f,PointSpatial _a,PointSpatial _b,PointSpatial _c,PointSpatial _d,PointSpatial _e);
FactoryFigureSpatial(figureSpatialType f,PointSpatial _a,PointSpatial _b,PointSpatial _c,PointSpatial _d,PointSpatial _e,PointSpatial _f);
FactoryFigureSpatial(figureSpatialType f,PointSpatial _a,PointSpatial _b,PointSpatial _c,PointSpatial _d,PointSpatial _e,PointSpatial _f, PointSpatial _g,PointSpatial _h);
FactoryFigureSpatial(figureSpatialType f,PointSpatial _a,PointSpatial _b,PointSpatial _c,PointSpatial _d,PointSpatial _e,PointSpatial _f, PointSpatial _g,PointSpatial _h,PointSpatial _i,PointSpatial _j);

};

#endif
6 changes: 4 additions & 2 deletions main/figure.h
Original file line number Diff line number Diff line change
Expand Up @@ -3,8 +3,10 @@

class Figure
{
double getCircumference();
double getArea();
public:

virtual double getCircumference();
virtual double getArea();
};
#endif

6 changes: 4 additions & 2 deletions main/figurespatial.h
Original file line number Diff line number Diff line change
Expand Up @@ -3,8 +3,10 @@

class FigureSpatial
{
double getCircumference();
double getVolume();
public:

virtual double getCircumference();
virtual double getVolume();
};

#endif
3 changes: 1 addition & 2 deletions main/library.h
Original file line number Diff line number Diff line change
@@ -1,7 +1,6 @@
#ifndef library_h
#define library_h

#include <iostream>
#include <cmath>
#include "point.h"
#include "pointspatial.h"
Expand All @@ -14,7 +13,7 @@
#include "triangle.h"
#include "figure.h"
#include "figurespatial.h"
#include "piramidtriangular.h"
#include "pyramidtriangular.h"
#include "pyramidtetragonal.h"
#include "pyramidpentagonal.h"
#include "prismpentagonal.h"
Expand Down
Loading