You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
tdeedu/kig/objects/conic_types.h

185 lines
4.6 KiB

// Copyright (C) 2003 Dominique Devriese <devriese@kde.org>
// This program is free software; you can redistribute it and/or
// modify it under the terms of the GNU General Public License
// as published by the Free Software Foundation; either version 2
// of the License, or (at your option) any later version.
// This program is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
// GNU General Public License for more details.
// You should have received a copy of the GNU General Public License
// along with this program; if not, write to the Free Software
// Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
// 02110-1301, USA.
#ifndef KIG_OBJECTS_CONIC_TYPES_H
#define KIG_OBJECTS_CONIC_TYPES_H
#include "base_type.h"
class ConicB5PType
: public ArgsParserObjectType
{
ConicB5PType();
~ConicB5PType();
public:
static const ConicB5PType* instance();
ObjectImp* calc( const Args& parents, const KigDocument& ) const;
const ObjectImpType* resultId() const;
};
class ConicBAAPType
: public ArgsParserObjectType
{
ConicBAAPType();
~ConicBAAPType();
public:
static const ConicBAAPType* instance();
ObjectImp* calc( const Args& parents, const KigDocument& ) const;
const ObjectImpType* resultId() const;
};
class ConicBFFPType
: public ArgsParserObjectType
{
protected:
ConicBFFPType( const char* fullname, const ArgsParser::spec*, int n );
~ConicBFFPType();
public:
ObjectImp* calc( const Args& parents, const KigDocument& ) const;
/**
* -1 for hyperbola, 1 for ellipse..
*/
virtual int type() const = 0;
const ObjectImpType* resultId() const;
};
class EllipseBFFPType
: public ConicBFFPType
{
EllipseBFFPType();
~EllipseBFFPType();
public:
static const EllipseBFFPType* instance();
int type() const;
};
class HyperbolaBFFPType
: public ConicBFFPType
{
HyperbolaBFFPType();
~HyperbolaBFFPType();
public:
static const HyperbolaBFFPType* instance();
int type() const;
};
class ConicBDFPType
: public ArgsParserObjectType
{
ConicBDFPType();
~ConicBDFPType();
public:
static const ConicBDFPType* instance();
ObjectImp* calc( const Args& parents, const KigDocument& ) const;
const ObjectImpType* resultId() const;
};
class ParabolaBTPType
: public ArgsParserObjectType
{
ParabolaBTPType();
~ParabolaBTPType();
public:
static const ParabolaBTPType* instance();
ObjectImp* calc( const Args& parents, const KigDocument& ) const;
const ObjectImpType* resultId() const;
};
class EquilateralHyperbolaB4PType
: public ArgsParserObjectType
{
EquilateralHyperbolaB4PType();
~EquilateralHyperbolaB4PType();
public:
static const EquilateralHyperbolaB4PType* instance();
ObjectImp* calc( const Args& parents, const KigDocument& ) const;
const ObjectImpType* resultId() const;
};
class ConicPolarPointType
: public ArgsParserObjectType
{
ConicPolarPointType();
~ConicPolarPointType();
public:
static const ConicPolarPointType* instance();
ObjectImp* calc( const Args& parents, const KigDocument& ) const;
const ObjectImpType* resultId() const;
};
class ConicPolarLineType
: public ArgsParserObjectType
{
ConicPolarLineType();
~ConicPolarLineType();
public:
static const ConicPolarLineType* instance();
ObjectImp* calc( const Args& parents, const KigDocument& ) const;
const ObjectImpType* resultId() const;
};
class ConicDirectrixType
: public ArgsParserObjectType
{
ConicDirectrixType();
~ConicDirectrixType();
public:
static const ConicDirectrixType* instance();
ObjectImp* calc( const Args& parents, const KigDocument& ) const;
const ObjectImpType* resultId() const;
};
class ParabolaBDPType
: public ObjectLPType
{
ParabolaBDPType();
~ParabolaBDPType();
public:
static const ParabolaBDPType* instance();
ObjectImp* calc( const LineData& l, const Coordinate& c ) const;
const ObjectImpType* resultId() const;
};
class ConicAsymptoteType
: public ArgsParserObjectType
{
ConicAsymptoteType();
~ConicAsymptoteType();
public:
static const ConicAsymptoteType* instance();
ObjectImp* calc( const Args& parents, const KigDocument& ) const;
const ObjectImpType* resultId() const;
};
class ConicRadicalType
: public ArgsParserObjectType
{
ConicRadicalType();
~ConicRadicalType();
public:
static const ConicRadicalType* instance();
ObjectImp* calc( const Args& parents, const KigDocument& ) const;
const ObjectImpType* resultId() const;
TQStringList specialActions() const;
void executeAction( int i, ObjectHolder& o, ObjectTypeCalcer& t,
KigPart& d, KigWidget& w, NormalMode& m ) const;
};
#endif