2. CColTriangle.Cpp
#ifndef CPP005
#define CPP005
#include "cColTria.h"
cColTriangle::cColTriangle() //constructor
{
cTriangle T;
int i;
for (i=0;i<3;i++)
SetTopXY(i,T.GetX(i),T.GetY(i));
SetColor(red);
}
void cColTriangle::Set(cColTriangle F) //triangle modificator
{
int i;
for (i=0;i<3;i++)
SetTopXY(i,F.GetX(i),F.GetY(i));
SetColor(F.GetColor());
}
cColTriangle::cColTriangle(cPoint P1, cPoint P2, cPoint P3) //constructor
{
cTriangle T(P1,P2,P3);
int i;
for (i=0;i<3;i++)
SetTopXY(i,T.GetX(i),T.GetY(i));
SetColor(red);
}
void cColTriangle::SetColor(Colors C) //color modificator
{
Color = C;
}
Colors cColTriangle::GetColor() //selector of color
{
return Color;
}
void cColTriangle::out() //out on screen
{
cout<<"The ";
Colors CurColor;
CurColor = GetColor();
if (CurColor == blue)
cout<<"blue";
else if (CurColor == green)
cout<<"green";
else
cout<<"red";
cout<<" triangle:"<<endl;
int i;
for (i=0;i<3;i++)
GetTop(i).out();
cout<<endl<<endl;
}
#endif
3. CMapBoard.H
#ifndef H006
#define H006
#include "cPoint.cpp"
class cMapboard
{
private:
cPoint Center;
double Stor;
public:
cMapboard(); //constructor
cMapboard(cPoint P, double R); //constructor
void SetCenter(cPoint P); //Center point modoficator
void SetStor(double R); //Stor modification
void Set(cPoint P, double R); //Map modificator
double GetX(); //X selector
double GetY(); //Y selector
double GetStor(); //Stor selector
~cMapboard(); //destructor
int inv(); //invariant
};
#endif
4. CMapBoard.Cpp
#ifndef CPP006
#define CPP006
#include "cMapboard.h"
void cMapboard::SetCenter(cPoint P) //Center point modoficator
{
Center.SetXY(P.GetX(),P.GetY());
}
void cMapboard::SetStor(double R) //Stor modification
{
if ((R>0)&&(R<MAXFLOAT))
Stor = R;
else
Stor = 1;
}
void cMapboard::Set(cPoint P,double R) //Map modificator
{
SetCenter(P);
SetStor(R);
}
cMapboard::cMapboard() //constructor
{
cPoint P;
Set(P,1.0);
}
cMapboard::cMapboard(cPoint P,double R) //constructor
{
Set(P,R);
}
double cMapboard::GetX() //X selector
{
return Center.GetX();
}
double cMapboard::GetY() //Y selector
{
return Center.GetY();
}
double cMapboard::GetStor() //Stor selector
{
return Stor;
}
int cMapboard::inv() //invariant
{
return ( (GetStor() > 0)&&(GetStor() < MAXFLOAT));
}
cMapboard::~cMapboard(){}; //destructor
#endif
5. CTrOnBoard.H
#ifndef H007
#define H007
#include "List1.cpp"
#include "cMapboard.cpp"
class cTrOnBoard : public List , public cMapboard
{
public:
cTrOnBoard(); //constructor
cTrOnBoard(cPoint P, double R); //constructor
int Correct(cColTriangle T); //check triangle
void addontable(cColTriangle T); //add triangle if corret
void reform(); //delete incorect triangles
void SetNewCenter(cPoint P); //center modification + reform
void SetNewStor(double R); //Stor modification + reform
void boardout(); //out list on screen
~cTrOnBoard(); //destructor
};
#endif
