Kig Python Scripting API Documentation

conic_imp.h
1 // Copyright (C) 2003 Dominique Devriese <devriese@kde.org>
2 
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.
7 
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.
12 
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., 51 Franklin Street, Fifth Floor, Boston, MA
16 // 02110-1301, USA.
17 
18 #ifndef KIG_OBJECTS_CONIC_IMP_H
19 #define KIG_OBJECTS_CONIC_IMP_H
20 
21 #include "curve_imp.h"
22 
23 #include "../misc/conic-common.h"
24 
38 class ConicImp
39  : public CurveImp
40 {
41 protected:
42  ConicImp();
43  ~ConicImp();
44 public:
45  typedef CurveImp Parent;
49  static const ObjectImpType* stype();
50 
51  ObjectImp* transform( const Transformation& ) const;
52 
53  void draw( KigPainter& p ) const;
54  bool contains( const Coordinate& p, int width, const KigWidget& ) const;
55  bool inRect( const Rect& r, int width, const KigWidget& ) const;
56  bool valid() const;
57  Rect surroundingRect() const;
58 
59  const uint numberOfProperties() const;
60  const ObjectImpType* impRequirementForProperty( uint which ) const;
61  bool isPropertyDefinedOnOrThroughThisImp( uint which ) const;
62  const QCStringList properties() const;
63  const QCStringList propertiesInternalNames() const;
64  const char* iconForProperty( uint which ) const;
65  ObjectImp* property( uint which, const KigDocument& w ) const;
66 
67  double getParam( const Coordinate& point, const KigDocument& ) const;
68  const Coordinate getPoint( double param, const KigDocument& ) const;
69 
70  // information about ourselves.. These are all virtual, because a
71  // trivial subclass like CircleImp can override these with trivial
72  // versions..
73 
81  virtual int conicType() const;
85  virtual TQString conicTypeString() const;
90  virtual TQString cartesianEquationString( const KigDocument& w ) const;
96  virtual TQString polarEquationString( const KigDocument& w ) const;
100  virtual const ConicCartesianData cartesianData() const;
104  virtual const ConicPolarData polarData() const = 0;
108  virtual Coordinate focus1() const;
112  virtual Coordinate focus2() const;
113 
114  const ObjectImpType* type() const;
115  void visit( ObjectImpVisitor* vtor ) const;
116 
117  bool equals( const ObjectImp& rhs ) const;
118 
119  bool containsPoint( const Coordinate& p, const KigDocument& doc ) const;
120  bool internalContainsPoint( const Coordinate& p, double threshold ) const;
121 };
122 
127 class ConicImpCart
128  : public ConicImp
129 {
130  ConicCartesianData mcartdata;
131  ConicPolarData mpolardata;
132 public:
133  ConicImpCart( const ConicCartesianData& data );
134  ~ConicImpCart();
135  ConicImpCart* copy() const;
136 
137  const ConicCartesianData cartesianData() const;
138  const ConicPolarData polarData() const;
139 };
140 
145 class ConicImpPolar
146  : public ConicImp
147 {
148  ConicPolarData mdata;
149 public:
150  ConicImpPolar( const ConicPolarData& data );
151  ~ConicImpPolar();
152  ConicImpPolar* copy() const;
153 
154  const ConicPolarData polarData() const;
155 };
156 
157 #endif
Conic::polarEquationString
virtual TQString polarEquationString(const KigDocument &w) const
A string containing the polar equation of the conic.
Conic::type
const ObjectType * type() const
Returns the lowermost ObjectType that this object is an instantiation of.
Conic::stype
static const ObjectType * stype()
Returns the ObjectType representing the Conic type.
ConicCart::polarData
const ConicPolarData polarData() const
Return the polar representation of this conic.
Conic::containsPoint
bool containsPoint(const Coordinate &p, const KigDocument &doc) const
Return whether this Curve contains the given point.
ConicCart::copy
ConicCart * copy() const
Returns a copy of this Object.
ConicPolar::polarData
const ConicPolarData polarData() const
Return the polar representation of this conic.
Transformation
Class representing a transformation.
Definition: kigtransform.h:37
Curve
This class represents a curve: something which is composed of points, like a line,...
Definition: curve_imp.h:27
ConicPolarData
This class represents an equation of a conic in the form .
Definition: conic-common.h:85
Object
The Object class represents the behaviour of an object after it is calculated.
Definition: object_imp.h:218
ObjectType
Instances of this class represent a certain Object type.
Definition: object_imp.h:88
Conic::cartesianEquationString
virtual TQString cartesianEquationString(const KigDocument &w) const
A string containing the cartesian equation of the conic.
Conic
An Object representing a conic.
Definition: conic_imp.h:38
ConicCart
An implementation of Conic to be used when only the cartesian equation of the conic is known.
Definition: conic_imp.h:127
ConicCart::cartesianData
const ConicCartesianData cartesianData() const
Return the cartesian representation of this conic.
Conic::conicType
virtual int conicType() const
Type of conic.
Conic::transform
Object * transform(const Transformation &) const
Return this Object, transformed by the transformation t.
ConicCartesianData
Cartesian Conic Data.
Definition: conic-common.h:37
Conic::focus1
virtual Coordinate focus1() const
Return the first focus of this conic.
Conic::focus2
virtual Coordinate focus2() const
Return the second focus of this conic.
Conic::conicTypeString
virtual TQString conicTypeString() const
A string containing "Hyperbola", "Parabola" or "Ellipse".
ConicPolar
An implementation of Conic to be used when only the cartesian equation of the conic is known.
Definition: conic_imp.h:145
Conic::cartesianData
virtual const ConicCartesianData cartesianData() const
Return the cartesian representation of this conic.
Conic::equals
bool equals(const Object &rhs) const
Returns true if this Object is equal to rhs.
ConicPolar::copy
ConicPolar * copy() const
Returns a copy of this Object.
Coordinate
The Coordinate class is the basic class representing a 2D location by its x and y components.
Definition: coordinate.h:33
Conic::polarData
virtual const ConicPolarData polarData() const =0
Return the polar representation of this conic.
KDE Logo
This file is part of the documentation for tdelibs .
Documentation copyright © 1996-2002 the KDE developers.
Generated on Tue Feb 25 2025 13:46:37 by doxygen 1.8.17 written by Dimitri van Heesch, © 1997-2001