cubic_imp.h
00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018 #ifndef KIG_OBJECTS_CUBIC_IMP_H
00019 #define KIG_OBJECTS_CUBIC_IMP_H
00020
00021 #include "curve_imp.h"
00022
00023 #include "../misc/cubic-common.h"
00024
00025 class LineData;
00026
00030 class CubicImp
00031 : public CurveImp
00032 {
00033 const CubicCartesianData mdata;
00034 public:
00035 typedef CurveImp Parent;
00036 static const ObjectImpType* stype();
00037
00038 CubicImp( const CubicCartesianData& data );
00039 ~CubicImp();
00040
00041 ObjectImp* transform( const Transformation& ) const;
00042 void draw( KigPainter& p ) const;
00043 bool contains( const Coordinate& p, int width, const KigWidget& ) const;
00044 bool inRect( const Rect& r, int width, const KigWidget& ) const;
00045 Rect surroundingRect() const;
00046 TQString cartesianEquationString( const KigDocument& ) const;
00047
00048 const uint numberOfProperties() const;
00049 const QCStringList properties() const;
00050 const QCStringList propertiesInternalNames() const;
00051 ObjectImp* property( uint which, const KigDocument& w ) const;
00052 const char* iconForProperty( uint which ) const;
00053 const ObjectImpType* impRequirementForProperty( uint which ) const;
00054 bool isPropertyDefinedOnOrThroughThisImp( uint which ) const;
00055
00056 CubicImp* copy() const;
00057
00058 double getParam( const Coordinate& point, const KigDocument& ) const;
00059
00060
00061
00062
00063 const Coordinate getPoint( double param, const KigDocument& ) const;
00064 const Coordinate getPoint( double param ) const;
00065
00066 public:
00070 const CubicCartesianData data() const;
00071
00072 const ObjectImpType* type() const;
00073 void visit( ObjectImpVisitor* vtor ) const;
00074
00075 bool equals( const ObjectImp& rhs ) const;
00076
00077 bool containsPoint( const Coordinate& p, const KigDocument& doc ) const;
00078 bool internalContainsPoint( const Coordinate& p, double threshold ) const;
00079 };
00080
00081 #endif
This file is part of the documentation for tdelibs 0.10.7.