00001
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00018
00019
#ifndef CIRCLE_H
00020
#define CIRCLE_H
00021
00022
#include<iostream>
00023
#include <qpainter.h>
00024
#include "primitive.h"
00025
using namespace std;
00026
00034
00035
00037
00038 class Circle :
public Primitive {
00039
00040
protected :
00041
00043 double radius;
00044
00045
public :
00046
00048
Circle();
00049
00054
Circle(
Point3D * c,
const double& r);
00055
00060
Circle(
Point3D * center,
Point3D * p_radius);
00061
00065
Circle(
const Circle& c);
00066
00067
00068 ~Circle() {};
00069
00073
virtual void display (QPainter& paint);
00074
00079
virtual void setPrimitive(QPoint & refPoint, QPoint & modifPoint);
00080
00084
virtual void toXML(QDomElement &elem);
00085
00089
Point3D *
getCenter();
00090
00094
Point3D *
getRadiusPoint();
00095
00099
double getRadius() const;
00100
00104
double& getRadius();
00105
00109
void setCenter(
Point3D * c);
00110
00114
void setRadiusPoint(
Point3D * pr);
00115
00117
void calculateRadius();
00118
00120
void sortSamplesPointsList();
00121
00122 };
00123
00124 #endif
00125