kig
conic_types.h
Go to the documentation of this file.00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018 #ifndef KIG_OBJECTS_CONIC_TYPES_H
00019 #define KIG_OBJECTS_CONIC_TYPES_H
00020
00021 #include "base_type.h"
00022
00023 class ConicB5PType
00024 : public ArgsParserObjectType
00025 {
00026 ConicB5PType();
00027 ~ConicB5PType();
00028 public:
00029 static const ConicB5PType* instance();
00030 ObjectImp* calc( const Args& parents, const KigDocument& ) const;
00031 const ObjectImpType* resultId() const;
00032 };
00033
00034 class ConicBAAPType
00035 : public ArgsParserObjectType
00036 {
00037 ConicBAAPType();
00038 ~ConicBAAPType();
00039 public:
00040 static const ConicBAAPType* instance();
00041 ObjectImp* calc( const Args& parents, const KigDocument& ) const;
00042 const ObjectImpType* resultId() const;
00043 };
00044
00045 class ConicBFFPType
00046 : public ArgsParserObjectType
00047 {
00048 protected:
00049 ConicBFFPType( const char* fullname, const ArgsParser::spec*, int n );
00050 ~ConicBFFPType();
00051 public:
00052 ObjectImp* calc( const Args& parents, const KigDocument& ) const;
00053
00057 virtual int type() const = 0;
00058 const ObjectImpType* resultId() const;
00059 };
00060
00061 class EllipseBFFPType
00062 : public ConicBFFPType
00063 {
00064 EllipseBFFPType();
00065 ~EllipseBFFPType();
00066 public:
00067 static const EllipseBFFPType* instance();
00068 int type() const;
00069 };
00070
00071 class HyperbolaBFFPType
00072 : public ConicBFFPType
00073 {
00074 HyperbolaBFFPType();
00075 ~HyperbolaBFFPType();
00076 public:
00077 static const HyperbolaBFFPType* instance();
00078 int type() const;
00079 };
00080
00081 class ConicBDFPType
00082 : public ArgsParserObjectType
00083 {
00084 ConicBDFPType();
00085 ~ConicBDFPType();
00086 public:
00087 static const ConicBDFPType* instance();
00088 ObjectImp* calc( const Args& parents, const KigDocument& ) const;
00089 const ObjectImpType* resultId() const;
00090 };
00091
00092 class ParabolaBTPType
00093 : public ArgsParserObjectType
00094 {
00095 ParabolaBTPType();
00096 ~ParabolaBTPType();
00097 public:
00098 static const ParabolaBTPType* instance();
00099 ObjectImp* calc( const Args& parents, const KigDocument& ) const;
00100 const ObjectImpType* resultId() const;
00101 };
00102
00103 class EquilateralHyperbolaB4PType
00104 : public ArgsParserObjectType
00105 {
00106 EquilateralHyperbolaB4PType();
00107 ~EquilateralHyperbolaB4PType();
00108 public:
00109 static const EquilateralHyperbolaB4PType* instance();
00110 ObjectImp* calc( const Args& parents, const KigDocument& ) const;
00111 const ObjectImpType* resultId() const;
00112 };
00113
00114 class ConicPolarPointType
00115 : public ArgsParserObjectType
00116 {
00117 ConicPolarPointType();
00118 ~ConicPolarPointType();
00119 public:
00120 static const ConicPolarPointType* instance();
00121 ObjectImp* calc( const Args& parents, const KigDocument& ) const;
00122 const ObjectImpType* resultId() const;
00123 };
00124
00125 class ConicPolarLineType
00126 : public ArgsParserObjectType
00127 {
00128 ConicPolarLineType();
00129 ~ConicPolarLineType();
00130 public:
00131 static const ConicPolarLineType* instance();
00132 ObjectImp* calc( const Args& parents, const KigDocument& ) const;
00133 const ObjectImpType* resultId() const;
00134 };
00135
00136 class ConicDirectrixType
00137 : public ArgsParserObjectType
00138 {
00139 ConicDirectrixType();
00140 ~ConicDirectrixType();
00141 public:
00142 static const ConicDirectrixType* instance();
00143 ObjectImp* calc( const Args& parents, const KigDocument& ) const;
00144 const ObjectImpType* resultId() const;
00145 };
00146
00147 class ParabolaBDPType
00148 : public ObjectLPType
00149 {
00150 ParabolaBDPType();
00151 ~ParabolaBDPType();
00152 public:
00153 static const ParabolaBDPType* instance();
00154 ObjectImp* calc( const LineData& l, const Coordinate& c ) const;
00155 const ObjectImpType* resultId() const;
00156 };
00157
00158 class ConicAsymptoteType
00159 : public ArgsParserObjectType
00160 {
00161 ConicAsymptoteType();
00162 ~ConicAsymptoteType();
00163 public:
00164 static const ConicAsymptoteType* instance();
00165 ObjectImp* calc( const Args& parents, const KigDocument& ) const;
00166 const ObjectImpType* resultId() const;
00167 };
00168
00169 class ConicRadicalType
00170 : public ArgsParserObjectType
00171 {
00172 ConicRadicalType();
00173 ~ConicRadicalType();
00174 public:
00175 static const ConicRadicalType* instance();
00176 ObjectImp* calc( const Args& parents, const KigDocument& ) const;
00177 const ObjectImpType* resultId() const;
00178 QStringList specialActions() const;
00179 void executeAction( int i, ObjectHolder& o, ObjectTypeCalcer& t,
00180 KigPart& d, KigWidget& w, NormalMode& m ) const;
00181 };
00182
00183 #endif
00184