moved kdeaccessibility kdeaddons kdeadmin kdeartwork kdebindings kdeedu kdegames...
[kdeedu.git] / kig / objects / circle_type.h
blob6ada2b71bae6e427d96391f9bb51341dd481eb94
1 // Copyright (C) 2003 Dominique Devriese <devriese@kde.org>
3 // This program is free software; you can redistribute it and/or
4 // modify it under the terms of the GNU General Public License
5 // as published by the Free Software Foundation; either version 2
6 // of the License, or (at your option) any later version.
8 // This program is distributed in the hope that it will be useful,
9 // but WITHOUT ANY WARRANTY; without even the implied warranty of
10 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
11 // GNU General Public License for more details.
13 // You should have received a copy of the GNU General Public License
14 // along with this program; if not, write to the Free Software
15 // Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
16 // 02111-1307, USA.
18 #ifndef KIG_OBJECTS_CIRCLE_TYPE_H
19 #define KIG_OBJECTS_CIRCLE_TYPE_H
21 #include "base_type.h"
23 /**
24 * Circle by center and point
26 class CircleBCPType
27 : public ObjectABType
29 CircleBCPType();
30 ~CircleBCPType();
31 public:
32 static const CircleBCPType* instance();
34 ObjectImp* calc( const Coordinate& a, const Coordinate& b ) const;
35 const ObjectImpType* resultId() const;
38 /**
39 * Circle by point and radius.
41 class CircleBPRType
42 : public ArgsParserObjectType
44 CircleBPRType();
45 ~CircleBPRType();
46 public:
47 static const CircleBPRType* instance();
49 ObjectImp* calc( const Args& args, const KigDocument& ) const;
50 const ObjectImpType* resultId() const;
53 /**
54 * Circle by three points
56 class CircleBTPType
57 : public ArgsParserObjectType
59 CircleBTPType();
60 ~CircleBTPType();
62 public:
63 static const CircleBTPType* instance();
65 ObjectImp* calc( const Args& args, const KigDocument& ) const;
66 const ObjectImpType* resultId() const;
69 #endif