8 #ifndef MsiChart_ValuePlot_h 9 #define MsiChart_ValuePlot_h 94 typedef std::vector<std::vector<Rect2D> >
RecMatrix;
122 const std::vector<Int32>& irVecSeriesVAIndex);
198 void hInitDataLabels(
const std::vector<std::vector<Rect2D> >& irMarkerMatrix, std::vector<GraphCollectionObject::Ptr>& iorCollections);
207 void hInitLabelMatrix(
const std::vector<std::vector<Rect2D> >& irMarkerMatrix, std::vector<GraphCollectionObject::Ptr>& iorCollections);
208 void hGetMarkerRectSet(
const std::vector<std::vector<Rect2D> >&irRectMatrix, std::vector<Rect2D>& orRectSet)
const;
210 Int32 hIsOverlapped(
const Rect2D& irLabelRect, std::vector<Rect2D>& irTargetSet,
bool iIsTiltRect =
false,
bool iIsTiltTargets =
false);
231 double iRadius,
const Point2D& irMarkerCenter,
232 bool isXAxis,
double& orLowOffset,
double& orHighOffset);
243 Int32 hFindSeriesInfoID(
Int32 iSeriesID)
const;
262 bool hGetMarkerSize(
Int32& orMarkerSize,
double& orMarkerSizeValue,
Int32 iSeriesInfoIndex,
Int32 iGroupId = -3);
271 bool hGetMarkerPositon(
Int32 iSeriesInfoIndex,
Int32 iGroupId,
Point2D& orPosition);
317 void hGetFeelerLinePosition(
Point2D& orVexOnMarker,
Point2D& orVexOnLabel,
const Rect2D& irMarkerRect,
const Rect2D& irLabelRect);
330 Int32 hGetMaxRadiusForUnitInDevice();
341 Int32 hGetAdjustedMarkerRadius(
const Rect2D& iDataArea,
Int32 iXUnitCount,
Int32 iYUnitCount,
bool iIsGeneric =
true);
344 void hGetOneAxisOriginLable(
ValueAxis::Ptr iXValueAxis ,
ValueAxis::Ptr iYValueAxis , std::vector<Point2D>& orLablePointVec, std::vector<MBase::String>& orLableTextVec);
346 Int32 mMaxUnitRadius;
361 std::vector<ScatterSeriesInfo> mVecSeriesInfo;
362 std::vector<Rect2D> mStandAloneMarkers;
367 std::vector<GraphTrendLineOptions> mGMTrendLineOption;
368 void LoadGMTrendLineProperties(
Int32 iGroupId);
376 bool hIsTiltLineOverlappedWithNormalRect(
const Point2D& irStart,
const Point2D& irEnd,
const std::vector<Point2D>& irPoints)
const;
377 void hGetPrecisePointsForTiltRect(
const LabelInfo& irLabelInfo, std::vector<Point2D>& orPoints);
381 void hFactoryHandleDataLabels(std::vector<std::vector<Rect2D> >& irVecMarkerRectangle,
bool isDataLabelPossible);
MSynch::SmartPtr< ValuePlot > Ptr
Definition: ValuePlot.h:92
ScatterSeriesInfo()
Definition: ValuePlot.h:23
Definition: ValueBasePlot.h:16
void hCreateGMTrendLine()
EnumDSSGraphDataTextPosition mSuggestedStart
Definition: ValuePlot.h:57
LabelInfo()
Definition: ValuePlot.h:61
Definition: ValuePlot.h:21
bool mShowSmartLabel
Connect the series line.
Definition: ValuePlot.h:31
EnumValueIndex
Definition: ValuePlot.h:80
bool hInitGridMapOccupation(GridMap &iorGridMap)
virtual void GenerateMapAndList()
Int32 mMarkerShape
Marker Size.
Definition: ValuePlot.h:34
virtual void GenerateImageMap(ImageMap &iorImageMap)
std::vector< GraphObject::Ptr > hGenerateMarkersForOneDataPoint(Int32 iSeriesIndex, Int32 iGroupId, Point2D &irCoordPoint, Int32 iMarkerSize, GraphCollectionObject *ipCollection, std::vector< GraphObject::Ptr > &ioShaperList)
bool ComparisionOfScatterLabelInfo(const LabelInfo &iFirst, const LabelInfo &iSecond)
Definition: ValuePlot.h:385
bool hIsFallOut(const Rect2D &irLabelRect)
bool mIsPut
Definition: ValuePlot.h:48
bool hPlaceOneLabel(LabelInfo &iorLabel, std::vector< Rect2D > &irMarkerRectSet, std::vector< Rect2D > &iorLabelRectSet, GraphCollectionObject::Ptr iLabelLinesPtr=NULL)
Definition: GraphCollectionObject.h:19
void hCreateDataLabelCollection(std::vector< GraphCollectionObject::Ptr > &iorCollections)
ValueAxis::Ptr hGetValueAxis(Int32 iAxisIndex)
Int32 mMarkerSize
Show smart label.
Definition: ValuePlot.h:33
GraphCollectionObject * hPickCollectionForGM(Int32 iIndex, std::vector< GraphCollectionObject::Ptr > &irCollections)
Int32 hIsOverlapped(const Rect2D &irLabelRect, std::vector< Rect2D > &irTargetSet, bool iIsTiltRect=false, bool iIsTiltTargets=false)
ValuePlot(const TripleId &irTripleId, GraphObjectManager *ipManager, const Rect2D &irDataArea)
Definition: ValuePlot.h:83
Definition: ValuePlot.h:89
EnumDSSGraphDataTextPosition
Definition: DSSIPhoneEnums.h:1836
Definition: DSSIPhoneEnums.h:1706
void hCreateSmartLabelCollection(std::vector< GraphCollectionObject::Ptr > &iorCollections)
TextObject::Ptr mLabelPtr
Definition: ValuePlot.h:59
void CreateAxisOriginLineLabels()
virtual bool GetMaxElementOffsetClippedByBoundary(bool iIsOnXAxis, double &orLowOffset, double &orHighOffset)
virtual GraphObject::Ptr OnPointDetection(const Point2D &irCursor) const
bool hIsHostMarkerInDataAreaWithCustomMinMax(const Rect2D &irHostMarker)
#define Int32
Definition: BasicTypes.h:20
bool mIsValid
Definition: ValuePlot.h:50
[refactory] Maybe in future, we may use this also for the normal case
Definition: ValuePlot.h:46
Definition: TextObject.h:181
Int32 mSeriesID
Value axis index - X1 or X2.
Definition: ValuePlot.h:38
std::vector< std::vector< Rect2D > > RecMatrix
Definition: ValuePlot.h:94
virtual void AssignSeriesInfo(const std::vector< Int32 > &irSeriesIndex, const std::vector< Int32 > &irVecSeriesVAIndex)
void hInitDataLabels(const std::vector< std::vector< Rect2D > > &irMarkerMatrix, std::vector< GraphCollectionObject::Ptr > &iorCollections)
void hPrepareDataLabelPositions()
void hPlaceLeftOvers(GraphCollectionObject::Ptr iLabelLinesPtr)
bool mConnectDataPoint
Definition: ValuePlot.h:28
virtual Int32 GetMaxElementRadius()
int x
X-coordinate of left edge.
Definition: Rect2D.h:122
Definition: ValuePlot.h:84
void hCreateConnectionPolyLine(std::vector< Point2D > &irCoordPoints, Int32 iSeriesIndex, GraphCollectionObject *ipCollection)
virtual void OnRectangleSelection(const Rect2D &irRect, std::vector< GraphObject::Ptr > &iorSelectedObjects) const
void hInitLabelMatrix(const std::vector< std::vector< Rect2D > > &irMarkerMatrix, std::vector< GraphCollectionObject::Ptr > &iorCollections)
EnumDSSGraphFontRotation
Definition: DSSIPhoneEnums.h:1704
virtual void GetBoundingRect(Rect2D &orBoundingRect) const
bool hPlaceLeftOversIntoFreeSpace(GridMap &iorGridMap, GraphCollectionObject::Ptr iLabelLinesPtr=NULL)
Definition: DSSIPhoneEnums.h:1838
virtual void GetOptions(Int32 iSeriesId, Int32 iPropertyId, CComVariant *opValue) const
void hGenerateCustomeLine()
bool mIsClockWise
Definition: ValuePlot.h:49
std::basic_string< WCHAR, std::char_traits< WCHAR >, Allocator< WCHAR > > String
Definition: BaseString.h:26
Definition: ValuePlot.h:82
std::vector< AreaRec * > ImageMap
Definition: ImageMap.h:99
Rect2D ToRectangle()
Definition: ValuePlot.h:70
Int32 mGroupId
Definition: ValuePlot.h:53
EnumDssGraphMatrixDataLabelPosition
Definition: Common.h:131
void hGetMarkerRectSet(const std::vector< std::vector< Rect2D > > &irRectMatrix, std::vector< Rect2D > &orRectSet) const
Definition: Msi_ccomvariant.h:24
bool hIsUseCustomMinMax()
void hGetClippedOffset(double iLowBoundary, double iHighBoundary, double iRadius, const Point2D &irMarkerCenter, bool isXAxis, double &orLowOffset, double &orHighOffset)
std::vector< GMDataLabelInfo > GMDataLabelVecs
Definition: DataLabelManager.h:93
void hGenerateDatalabels(RecMatrix &irRecMatrix, GraphCollectionObject *ipColPtr=NULL)
GraphTrendLineOptions mTrendLineOptions
Series ID.
Definition: ValuePlot.h:40
void hGetSuggestedSliceUnit(Rect2D &orRect)
EnumDSSGraphFontRotation mLabelRotation
Definition: ValuePlot.h:58
Rect2D mHostMarker
Definition: ValuePlot.h:55
bool hGenerateFeelerForOneLabel(LabelInfo &irLabelInfo, GraphCollectionObject *iopCollection, Int32 iSpace=0)
std::vector< std::vector< Point2D > > PointMatrix
Definition: ValuePlot.h:93
Int32 mXValueAxisIndex
Value axis index - Y1 or Y2.
Definition: ValuePlot.h:36
Definition: DSSIPhoneEnums.h:1839
Int32 mValueAxisIndex
Marker Shape.
Definition: ValuePlot.h:35
bool IsMoved(EnumDSSGraphDataTextPosition iUserSetting)
Definition: ValuePlot.h:65
void hGenerateCollection(std::vector< GraphCollectionObject::Ptr > &orLineCollection)
Int32 hGreedyPlacer(std::vector< Rect2D > &irMarkerRectSet, std::vector< Rect2D > &iorLabelRectSet, GraphCollectionObject::Ptr iLabelLinesPtr=NULL)
TextObject::Ptr hCreateRefLineLable(Int32 iAxisIndex, Int32 iRefLineIndex)
#define NULL
Definition: Null.h:10
virtual void RefreshValueAxis(const std::map< Int32, std::pair< double, double > > &irScaleSet, const Rect2D &irRect)
Definition: GraphObjectManager.h:37
DataLabelManager::Ptr hInitDataLabelManager()
void CreateAxisOriginLine()
Use four Int32 values to represent a 2D rectangle.
Definition: Rect2D.h:25
virtual void GenerateView()
void hGenerateMarker(RecMatrix &iorRecMatrix, std::vector< Point2D > &irCoordPoints, std::vector< Int32 > &irMarkerSizes, Int32 iSeriesIndex, GraphCollectionObject *ipCollection, std::vector< GraphObject::Ptr > &ioShapeList)
std::vector< bool > mIsNullData
Definition: ValuePlot.h:41
virtual void AssignValueAxis(ValueAxis::Ptr iValueAxisPtr, Int32 iIndex)
std::vector< LabelInfo > LabelMatrix
Definition: ValuePlot.h:78
Int32 mSeriesId
Definition: ValuePlot.h:52
Int32 hGetRefLineDir(Int32 iSeriesInfoIndex)