8 #ifndef MSICHART_GAUGEPLOT_H 9 #define MSICHART_GAUGEPLOT_H 11 #include "PDCHeader/PDCvector" 111 void hLoadProperties();
117 void hLoadSeriesProperties(
Int32 iSeriesId);
123 void hGenerateOneGauge(
Int32 iGroupId,
const Point2D& irBasePoint,
Int32 iNeedleSize);
130 void hGetMinMaxValue(
double& orMin,
double& orMax);
134 void hGenerateGaugeValueAxis(
Int32 iRadius);
138 void hCalculateSubFrameAreas(
Int32 iGroupCount, std::vector<Rect2D>& orSubFrameAreas);
140 void hGenerateSubFrames(
const std::vector<Rect2D>& irSubFrameAreas);
144 void hGenerateGroupTitleAndLabels(
const std::vector<Rect2D>& irSubFrameAreas, std::vector<Point2D>& orBasePoints,
Int32& orBorderRadius);
148 void hCalcualteBorderRadiusAndBasePoint(
const Rect2D& irSubFrameArea,
Int32 iGroupTitieHeight,
Int32 iGroupLabelHeight,
153 void hGenerateOneGroupTitle(
Int32 iGroupId);
157 void hGenerateOneGroupDataLabel(
Int32 iGroupId);
161 Int32 hCalculateBorderThicknessInPixel(
Int32 iRadius);
163 Int32 hCalculateBorderRangeThicknessInPixel(
Int32 iRadius);
167 bool hCalculateActualBandRange(
const GaugeBandOptions &irGaugeBandOptions,
double &orBandRangeMin,
double &orBandRangeMax);
169 Int32 hFindBandOptionIndexByBandId(
Int32 iBandId)
const;
171 void hCalculateFinalAngles();
173 bool hGetAngle(
Int32 iGroupId,
Int32 iSeriesId,
float& orAngle);
178 bool hIsFirstFrame()
const;
180 Int32 hGetNeedleSize();
182 void hGenerateLabelsAndNeedleBase(
Int32 iGroupId,
const Point2D& irBasePoint,
Int32 iNeedleSize);
188 std::vector<GaugeSeriesOptions::Ptr> mGaugeSeriesOptions;
195 std::vector<GraphCollectionObject::Ptr> mGaugeSeriesCollections;
196 std::vector<GraphCollectionObject::Ptr> mBandCollections;
198 std::vector<Point2D> mBasePoints;
200 Int32 mBorderInnerRadius;
201 std::vector<std::vector<float> > mVecVecAngles;
202 std::vector<std::vector<bool> > mVecVecIsAngleValid;
205 std::vector<GraphObject::Ptr> mPostGraphObjectList;
208 float mStartAngleInRad;
209 float mStopAngleInRad;
bool mShowGaugeTitles
Definition: GaugePlot.h:72
Int32 mStartAngle
Definition: GaugePlot.h:66
Definition: LayerObject.h:21
bool mIsClipped
Definition: GaugePlot.h:77
virtual void GenerateInterpolationFrame(double iProgress, LayerObject *ipLayerObject)
MSynch::SmartPtr< GaugePlot > Ptr
Definition: GaugePlot.h:88
MSynch::SmartPtr< GaugeBandOptions > Ptr
Definition: GaugePlot.h:34
Int32 mBandId
Definition: GaugePlot.h:42
Int32 mGaugesPerRow
Definition: GaugePlot.h:69
Definition: GaugePlot.h:19
EnumDSSGraphGaugeNeedleStyle mNeedleStyle
Definition: GaugePlot.h:78
virtual void GenerateMapAndList()
EnumDSSGraphGaugeBorderStyle mBorderStyle
Definition: GaugePlot.h:79
virtual void GenerateImageMap(ImageMap &iorImageMap)
EnumDSSGraphGaugeBorderStyle
Definition: DSSIPhoneEnums.h:2119
bool mShowSecondaryValuesAsMarkers
Definition: GaugePlot.h:74
Definition: DSSIPhoneEnums.h:2122
Int32 mMarkerSize
Definition: GaugePlot.h:29
double mBandRangeMin
Definition: GaugePlot.h:43
GaugeSeriesOptions()
Definition: GaugePlot.h:23
#define Int32
Definition: BasicTypes.h:20
MSynch::SmartPtr< GaugeSeriesOptions > Ptr
Definition: GaugePlot.h:21
unsigned char mMarkerShape
Definition: GaugePlot.h:28
GaugeBandOptions(Int32 iBandId=0, double iBandRangeMin=0.0, double iBandRangeMax=0.0)
Definition: GaugePlot.h:36
Definition: GaugePlot.h:47
bool mDrawAxisLabelOutside
Definition: GaugePlot.h:75
bool mShowDataLabels
Definition: GaugePlot.h:71
Definition: SmartPtr.h:38
Int32 mBorderThickness
Definition: GaugePlot.h:70
GaugePlot(const TripleId &irTripleId, GraphObjectManager *ipManager, const Rect2D &irDataArea)
double mBandRangeMax
Definition: GaugePlot.h:44
virtual GraphObject::Ptr OnPointDetection(const Point2D &irCursor) const
bool mShowBeveledFrame
Definition: GaugePlot.h:73
std::vector< AreaRec * > ImageMap
Definition: ImageMap.h:99
ChartAdvFormat mGraphNumberFormat
Definition: GaugePlot.h:80
Int32 mStopAngle
Definition: GaugePlot.h:67
Definition: GaugePlot.h:85
bool mDrawCategoriesInReverseOrder
Definition: GaugePlot.h:76
Definition: Msi_ccomvariant.h:24
Int32 mCircularThickness
Definition: GaugePlot.h:68
EnumDSSGraphGaugeNeedleStyle
Definition: DSSIPhoneEnums.h:2130
Definition: DSSIPhoneEnums.h:2134
GaugeOptions()
Definition: GaugePlot.h:49
std::vector< GaugeBandOptions > mShownBands
Definition: GaugePlot.h:81
Definition: GraphObjectManager.h:37
virtual void GetOptions(Int32 iSeriesId, Int32 iPropertyId, CComVariant *opValue) const
Definition: GaugePlot.h:32
Use four Int32 values to represent a 2D rectangle.
Definition: Rect2D.h:25
virtual void GenerateView()
virtual void OnRectangleSelection(const Rect2D &irRect, std::vector< GraphObject::Ptr > &iorSelectedObjects) const