10 #ifndef MsiChart_TrendLineObject_h 11 #define MsiChart_TrendLineObject_h 26 struct GraphTrendLineOptions;
39 virtual void Draw()
const;
52 virtual void SetData(
const std::vector<double>& irX,
const std::vector<double>& irY);
74 virtual bool ComputeEquation(
const std::vector<double>& irX,
const std::vector<double>& irY) = 0;
81 virtual void ComputeR(
const std::vector<double>& irX,
const std::vector<double>& irY) = 0;
93 virtual double GetY(
double iX)
const = 0;
100 virtual double GetSlope(
double iX)
const = 0;
162 bool IsZero(
double& irValue)
const;
186 void AddToPolarCurve(
double iStartXLogical,
double iEndXLogical,
double iStep);
virtual bool ObjectInRectangle(const Rect2D &irRect)
Rect2D mDataArea
Definition: TrendLineObject.h:192
EnumDSSGraphObject mRealObjectId
Definition: TrendLineObject.h:196
bool IsZero(double &irValue) const
TextObject::Ptr GetEquationText()
TrendLineObject(const TripleId &irTripleId, EnumDSSGraphObject iRealObjectId, GraphObjectManager *ipManager, GraphCollectionObject *ipParentObject, Axis *ipXAxis, Axis *ipYAxis, GraphTrendLineOptions *ipTrendLineOptions, const Rect2D &irDataArea, bool iIsVertical, const Point2D &irDepthOffset)
bool IsInBoundary(double &irNumber) const
virtual void Draw() const
const EnumDSSGraphObject GetRealObjectId() const
Definition: TrendLineObject.h:205
void AddToPolarCurve(double iStartXLogical, double iEndXLogical, double iStep)
Definition: TrendLineObject.h:28
virtual void SetData(const std::vector< double > &irX, const std::vector< double > &irY)
virtual void CreateCurveLine()
Definition: GraphCollectionObject.h:19
virtual void GetEquationString(wchar_t *iorString)=0
virtual double GetSlope(double iX) const =0
virtual void ComputeR(const std::vector< double > &irX, const std::vector< double > &irY)=0
virtual bool PointInObject(const Point2D &irPoint)
virtual void DrawOutLine()
CurveLineObject::Ptr mCurveLinePtr
Definition: TrendLineObject.h:197
virtual bool ComputeEquation(const std::vector< double > &irX, const std::vector< double > &irY)=0
virtual void GetClockwisePolygon(std::vector< Point2D > &orPolygon) const
EnumDSSGraphObject
Definition: DSSIPhoneEnums.h:823
#define Int32
Definition: BasicTypes.h:20
double mMinXLogical
Definition: TrendLineObject.h:198
TextObject::Ptr mTextPtr
Definition: TrendLineObject.h:195
BezierCurve::Ptr CreateBezierCurve(double iStartXLogical, double iEndXLogical) const
virtual double GetY(double iX) const =0
MSynch::SmartPtr< TrendLineObject > Ptr
Definition: TrendLineObject.h:31
Definition: GraphObject.h:38
Definition: SmartPtr.h:38
double mMaxYLogical
Definition: TrendLineObject.h:201
Axis * mpXAxis
Definition: TrendLineObject.h:189
std::vector< AreaRec * > ImageMap
Definition: ImageMap.h:99
void AddToLogarithmAxisCurve(double iStartXLogical, double iEndXLogical, double iStep)
double mMinYLogical
Definition: TrendLineObject.h:200
void CreatePolarCurveLine()
double mMaxXLogical
Definition: TrendLineObject.h:199
virtual void CreateEquationText()
bool IsPolarTrendLine() const
virtual void GenerateImageMap(ImageMap &iorImageMap)
Point2D mDepthOffset
Definition: TrendLineObject.h:193
GraphTrendLineOptions * mpTrendLineOptions
Definition: TrendLineObject.h:191
const Int32 gMaxTrendLineTextLength
void GaussElimination(std::vector< double > &irA, std::vector< double > &iorXY, const Int32 iSize)
Definition: GraphObjectManager.h:37
Use four Int32 values to represent a 2D rectangle.
Definition: Rect2D.h:25
Axis * mpYAxis
Definition: TrendLineObject.h:190
bool mIsVertical
Definition: TrendLineObject.h:194