Nix (Dev) 3.5.10
dev - 3.5.10 - 1af9301
Loading...
Searching...
No Matches
CDiagram.hpp
Go to the documentation of this file.
1#ifndef LIBS_DIAGRAMS_CDIAGRAM_HPP_
2#define LIBS_DIAGRAMS_CDIAGRAM_HPP_
3
4#include "mimics/enums.hpp"
5#include <cstdint>
6#include <string>
7#include <vector>
8class IGraphics;
9
10enum class EShowAxis
11{
15};
16
18{
19public:
21 static std::string strTextPosition(iv::mimics::elements::eScalePosition eTextPosition);
22
23 CDiagram(uint64_t numDivision, uint64_t numSubDivision, double heightTextAxis);
24 explicit CDiagram(const CDiagram *other);
25 CDiagram(const CDiagram &other) = delete;
26 CDiagram(CDiagram &&other) = delete;
27 ~CDiagram();
28
29 CDiagram &operator=(const CDiagram &) = delete;
30 CDiagram &operator=(CDiagram &&other) = delete;
31
32 void drawAxis(IGraphics *graphics, uint64_t numDecimals, double widthLines,
33 iv::mimics::elements::eScalePosition textPosition) const;
34 void setShowAxisX(double xMin, double xMax, EShowAxis showAxis, double sizeX, double sizeY) const;
35 void setShowAxisY(double yMin, double yMax, EShowAxis showAxis, double sizeX, double sizeY) const;
36 void setDivisions(uint64_t numDivision, uint64_t numSubDivision);
37 void setTextHeight(double heightTextAxis);
38
39 static EShowAxis calculateShowDiagram(float lineWidth, float sizeText, bool onlySeparators);
40
41private:
42 struct SPrvAxis;
43
44 static void prvDrawText(const SPrvAxis *axis, const std::vector<double> &separators, double heightText,
45 bool isHorizontal, uint64_t numDivision, uint64_t numDecimals,
46 iv::mimics::elements::eScalePosition textPosition, IGraphics *graphics);
47 static void prvDrawAxisUnit(uint64_t numDivision, uint64_t numSubDivision, const SPrvAxis *axis,
48 uint64_t numDecimals, double heightText, double widthLines, bool isHorizontal,
49 iv::mimics::elements::eScalePosition scalePosition, IGraphics *graphics);
50
51 struct SPrvAxis
52 {
54
55 double m_sizeX;
56 double m_sizeY;
57
59
60 double m_minimum;
61 double m_maximum;
62
63 SPrvAxis(bool isShowed, double sizeX, double sizeY, enum EShowAxis showAxis, double minimum, double maximum);
64
65 explicit SPrvAxis(const SPrvAxis *other);
66 };
67
68 uint64_t m_numDivision;
70
72
75};
76
77#endif /* LIBS_DIAGRAMS_CDIAGRAM_HPP_ */
EShowAxis
Definition CDiagram.hpp:11
Definition CDiagram.hpp:18
void setShowAxisX(double xMin, double xMax, EShowAxis showAxis, double sizeX, double sizeY) const
Definition CDiagram.cpp:465
static EShowAxis calculateShowDiagram(float lineWidth, float sizeText, bool onlySeparators)
Definition CDiagram.cpp:506
static std::string strTextPosition(iv::mimics::elements::eScalePosition eTextPosition)
Definition CDiagram.cpp:275
SPrvAxis * m_axisY
Definition CDiagram.hpp:74
static void prvDrawAxisUnit(uint64_t numDivision, uint64_t numSubDivision, const SPrvAxis *axis, uint64_t numDecimals, double heightText, double widthLines, bool isHorizontal, iv::mimics::elements::eScalePosition scalePosition, IGraphics *graphics)
Definition CDiagram.cpp:374
CDiagram(uint64_t numDivision, uint64_t numSubDivision, double heightTextAxis)
Definition CDiagram.cpp:286
CDiagram(CDiagram &&other)=delete
CDiagram(const CDiagram &other)=delete
void setTextHeight(double heightTextAxis)
Definition CDiagram.cpp:501
static void prvDrawText(const SPrvAxis *axis, const std::vector< double > &separators, double heightText, bool isHorizontal, uint64_t numDivision, uint64_t numDecimals, iv::mimics::elements::eScalePosition textPosition, IGraphics *graphics)
Definition CDiagram.cpp:339
static iv::mimics::elements::eScalePosition enumTextPosition(const std::string &strTextPosition)
Definition CDiagram.cpp:259
SPrvAxis * m_axisX
Definition CDiagram.hpp:73
uint64_t m_numSubDivision
Definition CDiagram.hpp:69
~CDiagram()
Definition CDiagram.cpp:327
void drawAxis(IGraphics *graphics, uint64_t numDecimals, double widthLines, iv::mimics::elements::eScalePosition textPosition) const
Definition CDiagram.cpp:443
uint64_t m_numDivision
Definition CDiagram.hpp:68
void setDivisions(uint64_t numDivision, uint64_t numSubDivision)
Definition CDiagram.cpp:495
void setShowAxisY(double yMin, double yMax, EShowAxis showAxis, double sizeX, double sizeY) const
Definition CDiagram.cpp:480
CDiagram & operator=(CDiagram &&other)=delete
CDiagram & operator=(const CDiagram &)=delete
double m_heightTextAxis
Definition CDiagram.hpp:71
Definition IGraphics.hpp:20
eScalePosition
Definition enums.hpp:177
Definition CDiagram.hpp:52
double m_maximum
Definition CDiagram.hpp:61
double m_minimum
Definition CDiagram.hpp:60
double m_sizeX
Definition CDiagram.hpp:55
double m_sizeY
Definition CDiagram.hpp:56
bool m_isShowed
Definition CDiagram.hpp:53
EShowAxis m_showAxis
Definition CDiagram.hpp:58
SPrvAxis(bool isShowed, double sizeX, double sizeY, enum EShowAxis showAxis, double minimum, double maximum)
Definition CDiagram.cpp:416