// ННГУ, ВМК, Курс "Методы программирования-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
Хостинг от uCoz