18#ifndef KIG_OBJECTS_CONIC_IMP_H
19#define KIG_OBJECTS_CONIC_IMP_H
23#include "../misc/conic-common.h"
49 static const ObjectImpType*
stype();
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;
57 Rect surroundingRect()
const;
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;
67 double getParam(
const Coordinate& point,
const KigDocument& )
const;
68 const Coordinate getPoint(
double param,
const KigDocument& )
const;
114 const ObjectImpType*
type()
const;
115 void visit( ObjectImpVisitor* vtor )
const;
117 bool equals(
const ObjectImp& rhs )
const;
120 bool internalContainsPoint(
const Coordinate& p,
double threshold )
const;
An implementation of Conic to be used when only the cartesian equation of the conic is known.
Definition: conic_imp.h:129
const ConicPolarData polarData() const
Return the polar representation of this conic.
ConicCart * copy() const
Returns a copy of this Object.
const ConicCartesianData cartesianData() const
Return the cartesian representation of this conic.
Cartesian Conic Data.
Definition: conic-common.h:38
This class represents an equation of a conic in the form .
Definition: conic-common.h:86
An implementation of Conic to be used when only the cartesian equation of the conic is known.
Definition: conic_imp.h:147
const ConicPolarData polarData() const
Return the polar representation of this conic.
ConicPolar * copy() const
Returns a copy of this Object.
An Object representing a conic.
Definition: conic_imp.h:40
virtual TQString conicTypeString() const
A string containing "Hyperbola", "Parabola" or "Ellipse".
virtual int conicType() const
Type of conic.
virtual Coordinate focus2() const
Return the second focus of this conic.
virtual const ConicPolarData polarData() const =0
Return the polar representation of this conic.
virtual TQString polarEquationString(const KigDocument &w) const
A string containing the polar equation of the conic.
Object * transform(const Transformation &) const
Return this Object, transformed by the transformation t.
virtual TQString cartesianEquationString(const KigDocument &w) const
A string containing the cartesian equation of the conic.
bool containsPoint(const Coordinate &p, const KigDocument &doc) const
Return whether this Curve contains the given point.
bool equals(const Object &rhs) const
Returns true if this Object is equal to rhs.
virtual Coordinate focus1() const
Return the first focus of this conic.
virtual const ConicCartesianData cartesianData() const
Return the cartesian representation of this conic.
static const ObjectType * stype()
Returns the ObjectType representing the Conic type.
const ObjectType * type() const
Returns the lowermost ObjectType that this object is an instantiation of.
The Coordinate class is the basic class representing a 2D location by its x and y components.
Definition: coordinate.h:34
This class represents a curve: something which is composed of points, like a line,...
Definition: curve_imp.h:29
Instances of this class represent a certain Object type.
Definition: object_imp.h:89
The Object class represents the behaviour of an object after it is calculated.
Definition: object_imp.h:219