// ННГУ, ВМК, Курс "Методы программирования-2", С++, ООП // // tccircle.h - Copyright (c) Гергель В.П. 26.01.2003 // // Графические геометрические объекты - окружность #ifndef __TCCIRCLE_H #define __TCCIRCLE_H #include "tcpoint.h" class TChartCircle : public TChartPoint { protected: // поля TFormValue<int> Radius; // радиус окружности public: TChartCircle (int a=0, int b=0, int rad=1) : TChartPoint(a,b) { Radius=rad; } void SetRadiusValue(int val=1, char *f=NULL) { Radius.SetValue(val,f); } virtual void Show() { // визуализация объекта if ( IsActive() && !IsVisible() ) { Form1->Image1->Canvas->Ellipse(X,Y,X+Radius,Y+Radius); Visible = 1; } } virtual void Hide() { // скрытие объекта if ( IsActive() && IsVisible() ) { Form1->Image1->Canvas->Pen->Color = clWhite; Form1->Image1->Canvas->Ellipse(X,Y,X+Radius,Y+Radius); Form1->Image1->Canvas->Pen->Color = clBlack; Visible = 0; } } virtual void CalcParams(double t=-1) { // вычислить параметры if ( t >= 0 ) TChartPoint::CalcParams(t); if ( (t >= 0) && IsActive() ) { Radius.GetValue(t); } } virtual TDatValue * GetCopy() { // создание копии TChartCircle *p = new TChartCircle(X,Y,Radius); p->Active = Active; p->X = X; p->Y = Y; p->Radius = Radius; return p; } }; #endif