Conic Class Reference
An Object representing a conic. More...


Public Member Functions | |
Object * | transform (const Transformation &) const |
Return this Object, transformed by the transformation t. | |
bool | valid () const |
Returns true if this is a valid Object. | |
virtual int | conicType () const |
Type of conic. | |
virtual TQString | conicTypeString () const |
A string containing "Hyperbola", "Parabola" or "Ellipse". | |
virtual TQString | cartesianEquationString (const KigDocument &w) const |
A string containing the cartesian equation of the conic. | |
virtual TQString | polarEquationString (const KigDocument &w) const |
A string containing the polar equation of the conic. | |
virtual const ConicCartesianData | cartesianData () const |
Return the cartesian representation of this conic. | |
virtual const ConicPolarData | polarData () const =0 |
Return the polar representation of this conic. | |
virtual Coordinate | focus1 () const |
Return the first focus of this conic. | |
virtual Coordinate | focus2 () const |
Return the second focus of this conic. | |
const ObjectType * | type () const |
Returns the lowermost ObjectType that this object is an instantiation of. | |
bool | equals (const Object &rhs) const |
Returns true if this Object is equal to rhs. | |
bool | containsPoint (const Coordinate &p, const KigDocument &doc) const |
Return whether this Curve contains the given point. | |
Static Public Member Functions | |
static const ObjectType * | stype () |
Returns the ObjectType representing the Conic type. |
Detailed Description
An Object representing a conic.
A conic is a general second degree curve, and some beautiful theory has been developed about it.. See a math book for more information. This class is in fact an abstract base class hiding the fact that a Conic can be constructed in two ways. If only its Cartesian equation is known, then you should use ConicCart, otherwise, you should use ConicPolar. If the other representation is needed, it will be calculated, but a cartesian representation is rarely needed, and not calculating saves some CPU cycles.
Member Function Documentation
virtual TQString Conic::cartesianEquationString | ( | const KigDocument & | w | ) | const [virtual] |
A string containing the cartesian equation of the conic.
This will be of the form "a x^2 + b y^2 + c xy + d x + e y + f = 0".
Reimplemented in Circle.
virtual int Conic::conicType | ( | ) | const [virtual] |
Type of conic.
Return what type of conic this is: -1 for a hyperbola 0 for a parabola 1 for an ellipse
Reimplemented in Circle.
bool Conic::containsPoint | ( | const Coordinate & | p, | |
const KigDocument & | ||||
) | const [virtual] |
bool Conic::equals | ( | const Object & | rhs | ) | const [virtual] |
virtual TQString Conic::polarEquationString | ( | const KigDocument & | w | ) | const [virtual] |
A string containing the polar equation of the conic.
This will be of the form "rho = pdimen/(1 + ect cos( theta ) + est sin( theta ) )\n [centered at p]"
Reimplemented in Circle.
const ObjectType* Conic::type | ( | ) | const [virtual] |
Returns the lowermost ObjectType that this object is an instantiation of.
E.g. if you want to get a string containing the internal name of the type of an object, you can do:
tn = object.type().internalName()
Implements Object.
Reimplemented in Circle.
bool Conic::valid | ( | ) | const |
Returns true if this is a valid Object.
If you want to return an invalid Object, you should return an InvalidObject instance.
Reimplemented from Object.
Reimplemented in Circle.