Mobile API Reference  MicroStrategy 2019
GraphObjectAggregation.h
Go to the documentation of this file.
1 //=============================================================================
2 // Filename: GraphObjectAggregation.h
3 // Date: 2010-11-25
4 // Authors: Zhenhua Sheng
5 
6 // Copyright (C) 1997-2010 MicroStrategy Incorporated
7 // All rights reserved
8 
9 //Implementation of GraphObjectAggregation class
10 //=============================================================================
11 
12 
13 #ifndef MsiChart_GraphObjectAggregation_h
14 #define MsiChart_GraphObjectAggregation_h
15 
16 #include "StdAfx.h"
17 #include "PDCHeader/PDCalgorithm"
18 #include "PDCHeader/PDCcmath"
19 #include "GraphObject.h"
20 
21 namespace MsiChart {
23  public:
25 
30  GraphObjectAggregation(const TripleId& irTripleId, GraphObjectManager* ipManager);
31  virtual ~GraphObjectAggregation();
32 
36  void AddGraphObject(GraphObject::Ptr iGraphObjectPtr, bool iToFirstFrame = false);
37 
40  void Clear(bool iClearStartFrame = true, bool iClearEndFrame = true);
41 
42  //---------Override functions-------------------------------------
43  virtual void GenerateImageMap(ImageMap& iorImageMap);
44  virtual void Draw() const;
45  virtual bool IsLayerObject() const;
46  virtual bool ObjectInRectangle(const Rect2D& irRect);
47  virtual void GetClockwisePolygon(std::vector<Point2D>& orPolygon) const;
48 
50  const std::vector<Int32>& irObjectIds, Int32& iorDistance, Int32 iRadius,
51  std::vector<GraphObject::Ptr>& iorGraphObjectsAround, EnumGraphObjectUsage iUsage = GOU_NORMAL_HIGHLIGHT) const;
52 
53  virtual void SetProgress(double iProgress);
54 
56  bool IsEmpty() const;
57 
58  protected:
59  // Draw the objects in mGraphObjectList;
60  void DoDraw() const;
61 
63  std::vector<GraphObject::Ptr> mGraphObjectList;
64  std::vector<GraphObject::Ptr> mStartFrameGraphObjectList;
65  };
66 
68  {
69  return true;
70  }
71 }
72 
73 
74 #endif
virtual void GetClockwisePolygon(std::vector< Point2D > &orPolygon) const
void Clear(bool iClearStartFrame=true, bool iClearEndFrame=true)
MSynch::SmartPtr< GraphObjectAggregation > Ptr
Definition: GraphObjectAggregation.h:24
virtual void SetProgress(double iProgress)
void AddGraphObject(GraphObject::Ptr iGraphObjectPtr, bool iToFirstFrame=false)
EnumGraphObjectUsage
Definition: GraphObject.h:28
#define Int32
Definition: BasicTypes.h:20
virtual void GenerateImageMap(ImageMap &iorImageMap)
GraphObject::Ptr OnPointDetectionEx(const Point2D &irCursor, const std::vector< Int32 > &irObjectIds, Int32 &iorDistance, Int32 iRadius, std::vector< GraphObject::Ptr > &iorGraphObjectsAround, EnumGraphObjectUsage iUsage=GOU_NORMAL_HIGHLIGHT) const
bool IsEmpty() const
Check whether the current LayerObject is empty.
Definition: GraphObject.h:38
Definition: SmartPtr.h:38
virtual bool ObjectInRectangle(const Rect2D &irRect)
Definition: ABLPlot.h:21
std::vector< AreaRec * > ImageMap
Definition: ImageMap.h:99
virtual bool IsLayerObject() const
Definition: GraphObjectAggregation.h:67
std::vector< GraphObject::Ptr > mGraphObjectList
A collection of GraphObjects which share the same format properties.
Definition: GraphObjectAggregation.h:63
GraphObjectAggregation(const TripleId &irTripleId, GraphObjectManager *ipManager)
std::vector< GraphObject::Ptr > mStartFrameGraphObjectList
Definition: GraphObjectAggregation.h:64
Definition: GraphObjectManager.h:37
Definition: GraphObjectAggregation.h:22
Use four Int32 values to represent a 2D rectangle.
Definition: Rect2D.h:25
Definition: GraphObject.h:30
Definition: Common.h:397