Conic Class Reference
An Object representing a conic. More...Inheritance diagram for Conic:
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 QString | conicTypeString () const |
A string containing "Hyperbola", "Parabola" or "Ellipse". | |
virtual QString | cartesianEquationString (const KigDocument &w) const |
A string containing the cartesian equation of the conic. | |
virtual QString | 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
|
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. |
|
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. |
|
Return whether this Curve contains the given point. This is implemented as a numerical approximation. lementations can/should use the value test_threshold in common.h as a threshold value. Implements Curve. |
|
Returns true if this Object is equal to rhs. This function checks whether rhs is of the same Object type, and whether it contains the same data as this Object. Implements Object. Reimplemented in Circle. |
|
A string containing the polar equation of the conic.
This will be of the form "rho = pdimen/(1 + ect cos( theta ) + est sin( theta ) ) Reimplemented in Circle. |
|
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. |
|
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. |