Mobile API Reference  MicroStrategy 2019
CurvePolygonObject.h
Go to the documentation of this file.
1 //==============================================================================================
2 // FILENAME : CurvePolygonObject.h
3 // AUTHOR : Liang Liu
4 // CREATION : 2008-12-8
5 // Copyright (C) MicroStrategy Incorporated 2008
6 // All Rights Reserved
7 //==============================================================================================
8 #ifndef MsiChart_CurvePolygonObject_h
9 #define MsiChart_CurvePolygonObject_h
10 
11 #include "CurveLineObject.h"
12 #include "ShapeObject.h"
13 
14 namespace MsiChart
15 {
20  {
21  public:
23 
29  CurvePolygonObject(const TripleId& irTripleId,
30  GraphObjectManager* ipManager,
31  const std::vector<Point2D>& irPoints,
32  bool iIsVertical,
33  GraphCollectionObject* ipParentObject = NULL);
34  virtual ~CurvePolygonObject();
35 
36  // Inherit from GraphObject class.
37  virtual void Draw() const;
38  virtual void DrawOutLine();
39  virtual bool PointInObject(const Point2D& irPoint);
40  virtual bool ObjectInRectangle(const Rect2D& irRect);
41  virtual void GenerateImageMap(ImageMap& iorImageMap);
42  virtual void GetBoundingRect(Rect2D& orBoundingRect) const;
43  virtual bool SupportBevelEffect() const;
44 
45  protected:
46  // Inherit from GraphObject class.
47  virtual void GetClockwisePolygon(std::vector<Point2D>& orPolygon) const;
48  private:
53  void hSetPath(bool iIsLinePath) const;
54 
55  CurveLineObject::Ptr mMainCurveEdgePtr;
56  CurveLineObject::Ptr mSecondaryCurveEdgePtr;
57  bool mIsVertical;
58  };
59 }
60 #endif
virtual void GetBoundingRect(Rect2D &orBoundingRect) const
Definition: CurvePolygonObject.h:19
virtual bool PointInObject(const Point2D &irPoint)
CurvePolygonObject(const TripleId &irTripleId, GraphObjectManager *ipManager, const std::vector< Point2D > &irPoints, bool iIsVertical, GraphCollectionObject *ipParentObject=NULL)
virtual bool SupportBevelEffect() const
MSynch::SmartPtr< CurvePolygonObject > Ptr
Definition: CurvePolygonObject.h:22
Definition: GraphCollectionObject.h:19
Definition: ShapeObject.h:20
virtual bool ObjectInRectangle(const Rect2D &irRect)
virtual void GenerateImageMap(ImageMap &iorImageMap)
Definition: ABLPlot.h:21
std::vector< AreaRec * > ImageMap
Definition: ImageMap.h:99
virtual void GetClockwisePolygon(std::vector< Point2D > &orPolygon) const
#define NULL
Definition: Null.h:10
Definition: GraphObjectManager.h:37
Use four Int32 values to represent a 2D rectangle.
Definition: Rect2D.h:25
virtual void Draw() const
Definition: Common.h:397