FLImaging 6.5.8.1
FLPoint.h
1#pragma once
2
9#include "FLFigure.h"
10
12namespace FLImaging
13{
15 namespace Foundation
16 {
22 template<typename T>
23 class FL_EXPORT CFLPoint : public CFLFigure
24 {
25 public:
30 T x;
31
36 T y;
37
38 virtual void Clear() override;
39
40 virtual EFigureDeclType GetDeclType() const override;
41 virtual EFigureTemplateType GetTemplateType() const override;
42
43 virtual bool IsValid() const override;
44 virtual bool IsFigureValid() const override;
45
46 virtual const CResult MakeFigureInvalid() override;
47
48
49 using CFLFigure::GetBoundaryRect;
50 virtual const CResult GetBoundaryRect(double& left, double& top, double& right, double& bottom) const override;
51
52 using CFLFigure::Offset;
53 virtual const CResult Offset(double x, double y) override;
54
55 using CFLFigure::Multiply;
56 virtual const CResult Multiply(double f64MulX, double f64MulY) override;
57
58 using CFLFigure::Scale;
59 virtual const CResult Scale(double f64PivotX, double f64PivotY, double f64RatioX, double f64RatioY) override;
60
61 using CFLFigure::Rotate;
62 virtual const CResult Rotate(double f64Angle, double f64PivotX, double f64PivotY) override;
63
64 using CFLFigure::GetCenter;
65 virtual const CResult GetCenter(double& x, double& y) const override;
66
67 using CFLFigure::GetCenterOfGravity;
68 virtual const CResult GetCenterOfGravity(double& x, double& y) const override;
69
70 using CFLFigure::Flip;
71 virtual const CResult Flip(EFigureFlipDirection eDirection, double f64PivotX, double f64PivotY) override;
72
73 using CFLFigure::Warp;
74 virtual const CResult Warp(const CFLQuad<double>* pFlqSourceRegion, const CFLQuad<double>* pFlqTargetRegion, CFLFigureArray* pFlfaResult, EWarpingType eWarpingType = EWarpingType_Bilinear) const override;
75 virtual const CResult Warp(const CFLPointArray* pFlpaSource, const CFLPointArray* pFlpaTarget, CFLFigureArray* pFlfaResult, EWarpingType eWarpingType = EWarpingType_Bicubic, int32_t i32Extension = 2) const override;
76
77 using CFLFigure::Swap;
78 virtual const CResult Swap(CFLFigure* pFlfRight) override;
79
80 using CFLFigure::GetMinimumEnclosingRectangle;
81 virtual const CResult GetMinimumEnclosingRectangle(CFLQuad<double>* pQuad) const override;
82
83 using CFLFigure::GetMinimumDistance;
84 using CFLFigure::GetMaximumDistance;
85
86 using CFLFigure::GetPointsOfMinimumDistance;
87 virtual const CResult GetPointsOfMinimumDistance(const CFLFigure* pFlfTarget, CFLPointArray* pFlpaResult) const override;
88
89 using CFLFigure::GetPointsOfMaximumDistance;
90 virtual const CResult GetPointsOfMaximumDistance(const CFLFigure* pFlfTarget, CFLPointArray* pFlpaResult) const override;
91
92 using CFLFigure::GetRasterRegion;
93 virtual const CResult GetRasterRegion(CFLFigureArray* pFlfaResult, const CFLRect<int64_t>* pFlrROI = nullptr) const override;
94 virtual const CResult GetRasterRegion(Base::CFLArray<Base::TRect<int32_t>>* pFlaResult, const CFLRect<int64_t>* pFlrROI = nullptr) const override;
95 virtual const CResult GetRasterRegion(Base::CFLArray<Base::TRect<int64_t>>* pFlaResult, const CFLRect<int64_t>* pFlrROI = nullptr) const override;
96 virtual const CResult GetRasterRegion(Base::CFLArray<Base::TRect<float>>* pFlaResult, const CFLRect<int64_t>* pFlrROI = nullptr) const override;
97 virtual const CResult GetRasterRegion(Base::CFLArray<Base::TRect<double>>* pFlaResult, const CFLRect<int64_t>* pFlrROI = nullptr) const override;
98 virtual const CResult GetRasterRegion(Base::CFLArray<Base::TPoint3<int32_t>>* pFlaResult, const CFLRect<int64_t>* pFlrROI = nullptr) const override;
99
100
101
102 virtual double GetWidth() const override;
103 virtual double GetHeight() const override;
104 virtual double GetArea() const override;
105 virtual double GetAngle() const override;
106 virtual double GetPerimeter() const override;
107 virtual double GetLength() const override;
108 virtual uint64_t GetVertexCountRecursive(EIncludingRegionType eType = EIncludingRegionType_All) const;
109 virtual const CResult GetVertexCount(CFLFigureArray& flfaResult, EIncludingRegionType eType = EIncludingRegionType_All, bool bRecursive = true) const override;
110 virtual const CResult GetVertexCount(CFLFigureArray* pFlfaResult, EIncludingRegionType eType = EIncludingRegionType_All, bool bRecursive = true) const override;
111
112 virtual const CResult MeasureThickness(double& f64Thickness, double f64SamplingStep = 1.) const override;
113 virtual const CResult MeasureThickness(double* pF64Thickness, double f64SamplingStep = 1.) const override;
114
115
133 virtual EWindingDirection GetWindingDirection(double f64BeginPtX, double f64BeginPtY, double f64MidPtX, double f64MidPtY) const sealed;
134
148 virtual EWindingDirection GetWindingDirection(const CFLPoint<int32_t>& flpBegin, const CFLPoint<int32_t>& flpMid) const sealed;
149
163 virtual EWindingDirection GetWindingDirection(const CFLPoint<int32_t>* pFlpBegin, const CFLPoint<int32_t>* pFlpMid) const sealed;
164
178 virtual EWindingDirection GetWindingDirection(const CFLPoint<int64_t>& flpBegin, const CFLPoint<int64_t>& flpMid) const sealed;
179
193 virtual EWindingDirection GetWindingDirection(const CFLPoint<int64_t>* pFlpBegin, const CFLPoint<int64_t>* pFlpMid) const sealed;
194
208 virtual EWindingDirection GetWindingDirection(const CFLPoint<float>& flpBegin, const CFLPoint<float>& flpMid) const sealed;
209
223 virtual EWindingDirection GetWindingDirection(const CFLPoint<float>* pFlpBegin, const CFLPoint<float>* pFlpMid) const sealed;
224
238 virtual EWindingDirection GetWindingDirection(const CFLPoint<double>& flpBegin, const CFLPoint<double>& flpMid) const sealed;
239
253 virtual EWindingDirection GetWindingDirection(const CFLPoint<double>* pFlpBegin, const CFLPoint<double>* pFlpMid) const sealed;
254
268 virtual EWindingDirection GetWindingDirection(const CFLLine<int32_t>& fllBegin) const sealed;
269
283 virtual EWindingDirection GetWindingDirection(const CFLLine<int32_t>* pFllBegin) const sealed;
284
298 virtual EWindingDirection GetWindingDirection(const CFLLine<int64_t>& fllBegin) const sealed;
299
313 virtual EWindingDirection GetWindingDirection(const CFLLine<int64_t>* pFllBegin) const sealed;
314
328 virtual EWindingDirection GetWindingDirection(const CFLLine<float>& fllBegin) const sealed;
329
343 virtual EWindingDirection GetWindingDirection(const CFLLine<float>* pFllBegin) const sealed;
344
358 virtual EWindingDirection GetWindingDirection(const CFLLine<double>& fllBegin) const sealed;
359
373 virtual EWindingDirection GetWindingDirection(const CFLLine<double>* pFllBegin) const sealed;
374
375
376
377 using CFLFigure::IsCollision;
378 virtual bool IsCollision(const CFLPoint<double>* pPoint) const override;
379 virtual bool IsCollision(const CFLLine<double>* pLine) const override;
380 virtual bool IsCollision(const CFLRect<double>* pRect) const override;
381 virtual bool IsCollision(const CFLRoundRect<double>* pRect) const override;
382 virtual bool IsCollision(const CFLQuad<double>* pQuad) const override;
383 virtual bool IsCollision(const CFLCircle<double>* pRect) const override;
384 virtual bool IsCollision(const CFLEllipse<double>* pEll) const override;
385 virtual bool IsCollision(const CFLDoughnut<double>* pDoughnut) const override;
386 virtual bool IsCollision(const CFLCubicSpline* pFlcs) const override;
387 virtual bool IsCollision(const CFLBezierCubicCurve* pFlbc3) const override;
388 virtual bool IsCollision(const CFLBezierQuadraticCurve* pFlbc2) const override;
389 virtual bool IsCollision(const CFLRegion* pFlrg) const override;
390 virtual bool IsCollision(const CFLComplexRegion* pFlcr) const override;
391 virtual bool IsCollision(const CFLFigureArray* pFlfa) const override;
392 virtual bool IsCollision(const CFLPointArray* pFlpa) const override;
393
394
395
407 virtual double GetDistance(const CFLPoint<int32_t>& point) const;
408
420 virtual double GetDistance(const CFLPoint<int32_t>* pPoint) const;
421
433 virtual double GetDistance(const CFLPoint<int64_t>& point) const;
434
446 virtual double GetDistance(const CFLPoint<int64_t>* pPoint) const;
447
459 virtual double GetDistance(const CFLPoint<float>& point) const;
460
472 virtual double GetDistance(const CFLPoint<float>* pPoint) const;
473
485 virtual double GetDistance(const CFLPoint<double>& point) const;
486
498 virtual double GetDistance(const CFLPoint<double>* pPoint) const;
499
513 virtual double GetOrthogonalDistance(const CFLLine<int32_t>& line) const sealed;
514
528 virtual double GetOrthogonalDistance(const CFLLine<int32_t>* pLine) const sealed;
529
543 virtual double GetOrthogonalDistance(const CFLLine<int64_t>& line) const sealed;
544
558 virtual double GetOrthogonalDistance(const CFLLine<int64_t>* pLine) const sealed;
559
573 virtual double GetOrthogonalDistance(const CFLLine<float>& line) const sealed;
574
588 virtual double GetOrthogonalDistance(const CFLLine<float>* pLine) const sealed;
589
603 virtual double GetOrthogonalDistance(const CFLLine<double>& line) const sealed;
604
618 virtual double GetOrthogonalDistance(const CFLLine<double>* pLine) const sealed;
619
631 virtual double GetAngle(const CFLPoint<int32_t>& point) const sealed;
632
644 virtual double GetAngle(const CFLPoint<int32_t>* pPoint) const sealed;
645
657 virtual double GetAngle(const CFLPoint<int64_t>& point) const sealed;
658
670 virtual double GetAngle(const CFLPoint<int64_t>* pPoint) const sealed;
671
683 virtual double GetAngle(const CFLPoint<float>& point) const sealed;
684
696 virtual double GetAngle(const CFLPoint<float>* pPoint) const sealed;
697
709 virtual double GetAngle(const CFLPoint<double>& point) const sealed;
710
722 virtual double GetAngle(const CFLPoint<double>* pPoint) const sealed;
723
737 virtual double GetInteriorAngle(const CFLPoint<int32_t>& firstPoint, const CFLPoint<int32_t>& thirdPoint) const sealed;
738
752 virtual double GetInteriorAngle(const CFLPoint<int32_t>* pFirstPoint, const CFLPoint<int32_t>* pThirdPoint) const sealed;
753
767 virtual double GetInteriorAngle(const CFLPoint<int64_t>& firstPoint, const CFLPoint<int64_t>& thirdPoint) const sealed;
768
782 virtual double GetInteriorAngle(const CFLPoint<int64_t>* pFirstPoint, const CFLPoint<int64_t>* pThirdPoint) const sealed;
783
797 virtual double GetInteriorAngle(const CFLPoint<float>& firstPoint, const CFLPoint<float>& thirdPoint) const sealed;
798
812 virtual double GetInteriorAngle(const CFLPoint<float>* pFirstPoint, const CFLPoint<float>* pThirdPoint) const sealed;
813
827 virtual double GetInteriorAngle(const CFLPoint<double>& firstPoint, const CFLPoint<double>& thirdPoint) const sealed;
828
842 virtual double GetInteriorAngle(const CFLPoint<double>* pFirstPoint, const CFLPoint<double>* pThirdPoint) const sealed;
843
857 virtual CFLPoint<double> GetCircumcenter(const CFLPoint<int32_t>& point1, const CFLPoint<int32_t>& point2) const sealed;
858
872 virtual CFLPoint<double> GetCircumcenter(const CFLPoint<int32_t>* pPoint1, const CFLPoint<int32_t>* pPoint2) const sealed;
873
887 virtual CFLPoint<double> GetCircumcenter(const CFLPoint<int64_t>& point1, const CFLPoint<int64_t>& point2) const sealed;
888
902 virtual CFLPoint<double> GetCircumcenter(const CFLPoint<int64_t>* pPoint1, const CFLPoint<int64_t>* pPoint2) const sealed;
903
917 virtual CFLPoint<double> GetCircumcenter(const CFLPoint<float>& point1, const CFLPoint<float>& point2) const sealed;
918
932 virtual CFLPoint<double> GetCircumcenter(const CFLPoint<float>* pPoint1, const CFLPoint<float>* pPoint2) const sealed;
933
947 virtual CFLPoint<double> GetCircumcenter(const CFLPoint<double>& point1, const CFLPoint<double>& point2) const sealed;
948
962 virtual CFLPoint<double> GetCircumcenter(const CFLPoint<double>* pPoint1, const CFLPoint<double>* pPoint2) const sealed;
963
975 virtual CFLPoint<double> GetUnitVector(const CFLPoint<int32_t>& flpTarget) const sealed;
976
988 virtual CFLPoint<double> GetUnitVector(const CFLPoint<int32_t>* pFlpTarget) const sealed;
989
1001 virtual CFLPoint<double> GetUnitVector(const CFLPoint<int64_t>& flpTarget) const sealed;
1002
1014 virtual CFLPoint<double> GetUnitVector(const CFLPoint<int64_t>* pFlpTarget) const sealed;
1015
1027 virtual CFLPoint<double> GetUnitVector(const CFLPoint<float>& flpTarget) const sealed;
1028
1040 virtual CFLPoint<double> GetUnitVector(const CFLPoint<float>* pFlpTarget) const sealed;
1041
1053 virtual CFLPoint<double> GetUnitVector(const CFLPoint<double>& flpTarget) const sealed;
1054
1066 virtual CFLPoint<double> GetUnitVector(const CFLPoint<double>* pFlpTarget) const sealed;
1067
1079 virtual CFLPoint<double> GetNormalVector(const CFLPoint<int32_t>& flpTarget) const sealed;
1080
1092 virtual CFLPoint<double> GetNormalVector(const CFLPoint<int32_t>* pFlpTarget) const sealed;
1093
1105 virtual CFLPoint<double> GetNormalVector(const CFLPoint<int64_t>& flpTarget) const sealed;
1106
1118 virtual CFLPoint<double> GetNormalVector(const CFLPoint<int64_t>* pFlpTarget) const sealed;
1119
1131 virtual CFLPoint<double> GetNormalVector(const CFLPoint<float>& flpTarget) const sealed;
1132
1144 virtual CFLPoint<double> GetNormalVector(const CFLPoint<float>* pFlpTarget) const sealed;
1145
1157 virtual CFLPoint<double> GetNormalVector(const CFLPoint<double>& flpTarget) const sealed;
1158
1170 virtual CFLPoint<double> GetNormalVector(const CFLPoint<double>* pFlpTarget) const sealed;
1171
1187 virtual CFLFigureArray MakeCrossHair(double f64LineLength = 1., bool bDiagonal = false) const sealed;
1188
1208 virtual const CResult MakeCrossHair(const CFLFigureArray& flfaResult, double f64LineLength = 1., bool bDiagonal = false) const sealed;
1209
1229 virtual const CResult MakeCrossHair(CFLFigureArray* pFlfaResult, double f64LineLength = 1., bool bDiagonal = false) const sealed;
1230
1231 virtual const CResult GetRasterContour(Base::CFLArray<Base::TPoint<int32_t>>* pFlaResult, bool bExcludeSingleDelta = false) const override;
1232 virtual const CResult GetRasterContour(CFLFigureArray* pFlfaResult, bool bExcludeSingleDelta = false) const override;
1233 virtual const CResult GetRasterContour(CFLPointArray* pFlpaResult, bool bExcludeSingleDelta = false) const override;
1234
1235 virtual const CResult GetSamplingPointsOnSegment(double f64SamplingDistance, CFLFigureArray& flfaResult) const override;
1236 virtual const CResult GetSamplingPointsOnSegment(double f64SamplingDistance, CFLFigureArray* pFlfaResult) const override;
1237
1238 virtual const CResult GetSamplingVectorOnSegment(double f64SamplingDistance, CFLFigureArray& flfaResult) const override;
1239 virtual const CResult GetSamplingVectorOnSegment(double f64SamplingDistance, CFLFigureArray* pFlfaResult) const override;
1240
1241
1242 virtual const CResult Set(const Base::CFLImage& fli) override;
1243 virtual const CResult Set(const Base::CFLImage* pFli) override;
1244 virtual const CResult Set(const Base::CFLImagePage& fli) override;
1245 virtual const CResult Set(const Base::CFLImagePage* pFli) override;
1246 virtual const CResult Set(const CFLFigure& flf) override;
1247 virtual const CResult Set(const CFLFigure* pFlf) override;
1248
1264 virtual const CResult Set(int32_t x, int32_t y) sealed;
1265
1281 virtual const CResult Set(int32_t x, int64_t y) sealed;
1282
1298 virtual const CResult Set(int32_t x, float y) sealed;
1299
1315 virtual const CResult Set(int32_t x, double y) sealed;
1316
1332 virtual const CResult Set(int64_t x, int32_t y) sealed;
1333
1349 virtual const CResult Set(int64_t x, int64_t y) sealed;
1350
1366 virtual const CResult Set(int64_t x, float y) sealed;
1367
1383 virtual const CResult Set(int64_t x, double y) sealed;
1384
1400 virtual const CResult Set(float x, int32_t y) sealed;
1401
1417 virtual const CResult Set(float x, int64_t y) sealed;
1418
1434 virtual const CResult Set(float x, float y) sealed;
1435
1451 virtual const CResult Set(float x, double y) sealed;
1452
1468 virtual const CResult Set(double x, int32_t y) sealed;
1469
1485 virtual const CResult Set(double x, int64_t y) sealed;
1486
1502 virtual const CResult Set(double x, float y) sealed;
1503
1519 virtual const CResult Set(double x, double y) sealed;
1520
1536 virtual const CResult Set(const Base::TPoint<int32_t>& point) sealed;
1537
1553 virtual const CResult Set(const Base::TPoint<int32_t>* pPoint) sealed;
1554
1570 virtual const CResult Set(const Base::TPoint<int64_t>& point) sealed;
1571
1587 virtual const CResult Set(const Base::TPoint<int64_t>* pPoint) sealed;
1588
1604 virtual const CResult Set(const Base::TPoint<float>& point) sealed;
1605
1621 virtual const CResult Set(const Base::TPoint<float>* pPoint) sealed;
1622
1638 virtual const CResult Set(const Base::TPoint<double>& point) sealed;
1639
1655 virtual const CResult Set(const Base::TPoint<double>* pPoint) sealed;
1656
1670 virtual const CResult Set(const CFLPoint<int32_t>& point) sealed;
1671
1685 virtual const CResult Set(const CFLPoint<int32_t>* pPoint) sealed;
1686
1700 virtual const CResult Set(const CFLPoint<int64_t>& point) sealed;
1701
1715 virtual const CResult Set(const CFLPoint<int64_t>* pPoint) sealed;
1716
1730 virtual const CResult Set(const CFLPoint<float>& point) sealed;
1731
1745 virtual const CResult Set(const CFLPoint<float>* pPoint) sealed;
1746
1760 virtual const CResult Set(const CFLPoint<double>& point) sealed;
1761
1775 virtual const CResult Set(const CFLPoint<double>* pPoint) sealed;
1776
1792 virtual const CResult Set(const CFLFigureText<int32_t>& flft) sealed;
1793
1809 virtual const CResult Set(const CFLFigureText<int32_t>* pFlft) sealed;
1810
1826 virtual const CResult Set(const CFLFigureText<int64_t>& flft) sealed;
1827
1843 virtual const CResult Set(const CFLFigureText<int64_t>* pFlft) sealed;
1844
1860 virtual const CResult Set(const CFLFigureText<float>& flft) sealed;
1861
1877 virtual const CResult Set(const CFLFigureText<float>* pFlft) sealed;
1878
1894 virtual const CResult Set(const CFLFigureText<double>& flft) sealed;
1895
1911 virtual const CResult Set(const CFLFigureText<double>* pFlft) sealed;
1912
1913
1919
1924 virtual ~CFLPoint();
1925
1937
1949
1961
1973
1975 // Copy constructor
1976
1988 CFLPoint(int32_t x, int32_t y);
1989
2001 CFLPoint(int32_t x, int64_t y);
2002
2014 CFLPoint(int32_t x, float y);
2015
2027 CFLPoint(int32_t x, double y);
2028
2040 CFLPoint(int64_t x, int32_t y);
2041
2053 CFLPoint(int64_t x, int64_t y);
2054
2066 CFLPoint(int64_t x, float y);
2067
2079 CFLPoint(int64_t x, double y);
2080
2092 CFLPoint(float x, int32_t y);
2093
2105 CFLPoint(float x, int64_t y);
2106
2118 CFLPoint(float x, float y);
2119
2131 CFLPoint(float x, double y);
2132
2144 CFLPoint(double x, int32_t y);
2145
2157 CFLPoint(double x, int64_t y);
2158
2170 CFLPoint(double x, float y);
2171
2183 CFLPoint(double x, double y);
2184
2197
2210
2223
2236
2249
2262
2275
2288
2300 CFLPoint(const CFLFigure& flf);
2301
2313 CFLPoint(const CFLFigure* pFlf);
2314
2315 CFLPoint(const CFLPoint<T>& flpRhs);
2316 CFLPoint(const CFLPoint<T>* pFlpRhs);
2317
2318 CFLPoint(const CFLFigureText<T>& flft);
2319 CFLPoint(const CFLFigureText<T>* pFlft);
2320
2321 CFLPoint(int32_t x, int32_t y, const wchar_t* pWcsName);
2322 CFLPoint(int64_t x, int64_t y, const wchar_t* pWcsName);
2323 CFLPoint(float x, float y, const wchar_t* pWcsName);
2324 CFLPoint(double x, double y, const wchar_t* pWcsName);
2325
2327
2328
2330 // Assignment operator
2331
2346
2361
2376
2391
2403 const CFLPoint<T>& operator=(const CFLFigure& flf);
2404
2415
2417
2418
2420 // Comparison operator
2421
2435 bool operator==(const Base::TPoint<int32_t>& point) const;
2436
2450 bool operator==(const Base::TPoint<int64_t>& point) const;
2451
2465 bool operator==(const Base::TPoint<float>& point) const;
2466
2480 bool operator==(const Base::TPoint<double>& point) const;
2481
2493 bool operator==(const CFLPoint<int32_t>& point) const;
2494
2506 bool operator==(const CFLPoint<int64_t>& point) const;
2507
2519 bool operator==(const CFLPoint<float>& point) const;
2520
2532 bool operator==(const CFLPoint<double>& point) const;
2533
2547 bool operator!=(const Base::TPoint<int32_t>& point) const;
2548
2562 bool operator!=(const Base::TPoint<int64_t>& point) const;
2563
2577 bool operator!=(const Base::TPoint<float>& point) const;
2578
2592 bool operator!=(const Base::TPoint<double>& point) const;
2593
2605 bool operator!=(const CFLPoint<int32_t>& point) const;
2606
2618 bool operator!=(const CFLPoint<int64_t>& point) const;
2619
2631 bool operator!=(const CFLPoint<float>& point) const;
2632
2644 bool operator!=(const CFLPoint<double>& point) const;
2646
2647
2649 // Arithmetic and assignment operator
2650
2662 const CFLPoint<T>& operator+=(const int32_t& value);
2663
2675 const CFLPoint<T>& operator+=(const int64_t& value);
2676
2688 const CFLPoint<T>& operator+=(const float& value);
2689
2701 const CFLPoint<T>& operator+=(const double& value);
2702
2717
2732
2747
2762
2775
2788
2801
2814
2826 const CFLPoint<T>& operator-=(const int32_t& value);
2827
2839 const CFLPoint<T>& operator-=(const int64_t& value);
2840
2852 const CFLPoint<T>& operator-=(const float& value);
2853
2865 const CFLPoint<T>& operator-=(const double& value);
2866
2881
2896
2911
2926
2939
2952
2965
2978
2990 const CFLPoint<T>& operator*=(const int32_t& value);
2991
3003 const CFLPoint<T>& operator*=(const int64_t& value);
3004
3016 const CFLPoint<T>& operator*=(const float& value);
3017
3029 const CFLPoint<T>& operator*=(const double& value);
3030
3045
3060
3075
3090
3103
3116
3129
3142
3154 const CFLPoint<T>& operator/=(const int32_t& value);
3155
3167 const CFLPoint<T>& operator/=(const int64_t& value);
3168
3180 const CFLPoint<T>& operator/=(const float& value);
3181
3193 const CFLPoint<T>& operator/=(const double& value);
3194
3209
3224
3239
3254
3267
3280
3293
3307
3308
3310 // Arithmetic operator
3322 CFLPoint<double> operator+(const int32_t& value) const;
3323
3335 CFLPoint<double> operator+(const int64_t& value) const;
3336
3348 CFLPoint<double> operator+(const float& value) const;
3349
3361 CFLPoint<double> operator+(const double& value) const;
3362
3377
3392
3407
3422
3435
3448
3461
3474
3486 CFLPoint<double> operator-(const int32_t& value) const;
3487
3499 CFLPoint<double> operator-(const int64_t& value) const;
3500
3512 CFLPoint<double> operator-(const float& value) const;
3513
3525 CFLPoint<double> operator-(const double& value) const;
3526
3541
3556
3571
3586
3599
3612
3625
3638
3650 CFLPoint<double> operator*(const int32_t& value) const;
3651
3663 CFLPoint<double> operator*(const int64_t& value) const;
3664
3676 CFLPoint<double> operator*(const float& value) const;
3677
3689 CFLPoint<double> operator*(const double& value) const;
3690
3705
3720
3735
3750
3763
3776
3789
3802
3814 CFLPoint<double> operator/(const int32_t& value) const;
3815
3827 CFLPoint<double> operator/(const int64_t& value) const;
3828
3840 CFLPoint<double> operator/(const float& value) const;
3841
3853 CFLPoint<double> operator/(const double& value) const;
3854
3869
3884
3899
3914
3927
3940
3953
3967
3968 //Friend operator
3970 // Arithmetic operator
3971
3985 friend CFLPoint<double> operator+(const int32_t& value, const CFLPoint<T>& point)
3986 {
3987 CFLPoint<double> t(point);
3988 t += value;
3989 return t;
3990 }
3991
4005 friend CFLPoint<double> operator+(const int64_t& value, const CFLPoint<T>& point)
4006 {
4007 CFLPoint<double> t(point);
4008 t += value;
4009 return t;
4010 }
4011
4025 friend CFLPoint<double> operator+(const float& value, const CFLPoint<T>& point)
4026 {
4027 CFLPoint<double> t(point);
4028 t += value;
4029 return t;
4030 }
4031
4045 friend CFLPoint<double> operator+(const double& value, const CFLPoint<T>& point)
4046 {
4047 CFLPoint<double> t(point);
4048 t += value;
4049 return t;
4050 }
4051
4065 friend CFLPoint<double> operator-(const int32_t& value, const CFLPoint<T>& point)
4066 {
4067 CFLPoint<double> t(point);
4068 t *= -1.;
4069 t += value;
4070 return t;
4071 }
4072
4086 friend CFLPoint<double> operator-(const int64_t& value, const CFLPoint<T>& point)
4087 {
4088 CFLPoint<double> t(point);
4089 t *= -1.;
4090 t += value;
4091 return t;
4092 }
4093
4107 friend CFLPoint<double> operator-(const float& value, const CFLPoint<T>& point)
4108 {
4109 CFLPoint<double> t(point);
4110 t *= -1.;
4111 t += value;
4112 return t;
4113 }
4114
4128 friend CFLPoint<double> operator-(const double& value, const CFLPoint<T>& point)
4129 {
4130 CFLPoint<double> t(point);
4131 t *= -1.;
4132 t += value;
4133 return t;
4134 }
4135
4149 friend CFLPoint<double> operator*(const int32_t& value, const CFLPoint<T>& point)
4150 {
4151 CFLPoint<double> t(point);
4152 t *= value;
4153 return t;
4154 }
4155
4169 friend CFLPoint<double> operator*(const int64_t& value, const CFLPoint<T>& point)
4170 {
4171 CFLPoint<double> t(point);
4172 t *= value;
4173 return t;
4174 }
4175
4189 friend CFLPoint<double> operator*(const float& value, const CFLPoint<T>& point)
4190 {
4191 CFLPoint<double> t(point);
4192 t *= value;
4193 return t;
4194 }
4195
4209 friend CFLPoint<double> operator*(const double& value, const CFLPoint<T>& point)
4210 {
4211 CFLPoint<double> t(point);
4212 t *= value;
4213 return t;
4214 }
4215
4229 friend CFLPoint<double> operator/(const int32_t& value, const CFLPoint<T>& point)
4230 {
4231 CFLPoint<double> t((double)value / (double)point.x, (double)value / (double)point.y);
4232 return t;
4233 }
4234
4248 friend CFLPoint<double> operator/(const int64_t& value, const CFLPoint<T>& point)
4249 {
4250 CFLPoint<double> t((double)value / (double)point.x, (double)value / (double)point.y);
4251 return t;
4252 }
4253
4267 friend CFLPoint<double> operator/(const float& value, const CFLPoint<T>& point)
4268 {
4269 CFLPoint<double> t((double)value / (double)point.x, (double)value / (double)point.y);
4270 return t;
4271 }
4272
4286 friend CFLPoint<double> operator/(const double& value, const CFLPoint<T>& point)
4287 {
4288 CFLPoint<double> t((double)value / (double)point.x, (double)value / (double)point.y);
4289 return t;
4290 }
4292
4293 operator Base::TPoint<int32_t>() const;
4294 operator Base::TRect<int32_t>() const;
4295
4296
4297
4298 SupportToDuplicateObject(CFLPoint<T>, *this);
4299 DeclareGetClassType();
4300 };
4301
4302 typedef CFLPoint<int32_t> CFLPointL;
4303 typedef CFLPoint<int64_t> CFLPointLL;
4304 typedef CFLPoint<float> CFLPointF;
4305 typedef CFLPoint<double> CFLPointD;
4306 }
4307}
Template type array class.
Definition RangeTree.h:19
FLIMaging's image class.
Definition FLImage.h:35
CFLImage's page class.
Definition FLImagePage.h:37
Simplified class representing a 3-D point.
Definition TPoint3.h:37
Simplified class representing a point.
Definition TPoint.h:37
Simplified class representing a rectangle.
Definition TRect.h:37
FLImaging module execution result object.
Definition ResultsDef.h:1514
A class representing bezier cubic curve.
Definition FLBezierCubicCurve.h:24
A class representing bezier quadratic curve.
Definition FLBezierQuadraticCurve.h:24
A class representing circle.
Definition FLCircle.h:25
A class representing a polygon.
Definition FLComplexRegion.h:27
A class representing cubic spline.
Definition FLCubicSpline.h:23
A class representing a doughnut shape of a circle or an arc.
Definition FLDoughnut.h:26
A class representing ellipse.
Definition FLEllipse.h:25
A base class representing array of figure.
Definition FLFigureArray.h:26
A base class of classes representing figures.
Definition FLFigure.h:27
A class that expresses information necessary for drawing.
Definition FLFigureText.h:26
A class representing a line.
Definition FLLine.h:25
A base class representing array of figure.
Definition FLPointArray.h:26
A class representing a point.
Definition FLPoint.h:24
const CFLPoint< T > & operator/=(const float &value)
An operator that divides the x, y values of the object into parameters.
virtual double GetAngle(const CFLPoint< int64_t > &point) const sealed
Get the angle formed with the x-axis when the object and the parameter object are connected with a st...
CFLPoint< double > operator-(const int32_t &value) const
Offset operator[offset].
virtual const CResult Set(const CFLPoint< float > *pPoint) sealed
Parameter setting function.
virtual const CResult Set(const CFLPoint< int64_t > *pPoint) sealed
Parameter setting function.
virtual double GetAngle() const override
virtual const CResult Warp(const CFLPointArray *pFlpaSource, const CFLPointArray *pFlpaTarget, CFLFigureArray *pFlfaResult, EWarpingType eWarpingType=EWarpingType_Bicubic, int32_t i32Extension=2) const override
CFLPoint< double > operator+(const Base::TPoint< double > &point) const
Offset operator[offset].
CFLPoint(const Base::TPoint< float > &point)
initialization constructor
virtual double GetAngle(const CFLPoint< int32_t > *pPoint) const sealed
Get the angle formed with the x-axis when the object and the parameter object are connected with a st...
const CFLPoint< T > & operator*=(const int64_t &value)
An operator that multiplies the x and y values of the object by a parameter.
virtual bool IsCollision(const CFLCubicSpline *pFlcs) const override
virtual double GetInteriorAngle(const CFLPoint< double > *pFirstPoint, const CFLPoint< double > *pThirdPoint) const sealed
A function that finds the interior angle between three points centered on an object.
virtual const CResult Set(const Base::TPoint< int32_t > *pPoint) sealed
Parameter setting function.
virtual double GetInteriorAngle(const CFLPoint< int32_t > &firstPoint, const CFLPoint< int32_t > &thirdPoint) const sealed
A function that finds the interior angle between three points centered on an object.
virtual double GetDistance(const CFLPoint< double > &point) const
Get the shortest distance to the parameter's object.
virtual CFLPoint< double > GetUnitVector(const CFLPoint< double > &flpTarget) const sealed
A function that calculates the unit vector from that object to the parameter object.
T y
Definition FLPoint.h:36
virtual const CResult Set(const Base::TPoint< int64_t > *pPoint) sealed
Parameter setting function.
const CFLPoint< T > & operator*=(const double &value)
An operator that multiplies the x and y values of the object by a parameter.
virtual double GetDistance(const CFLPoint< double > *pPoint) const
Get the shortest distance to the parameter's object.
virtual const CResult Set(double x, int64_t y) sealed
Parameter setting function.
virtual const CResult Set(float x, int32_t y) sealed
Parameter setting function.
friend CFLPoint< double > operator*(const double &value, const CFLPoint< T > &point)
Offset operator[offset].
Definition FLPoint.h:4209
CFLPoint(int32_t x, int64_t y)
initialization constructor
const CFLPoint< T > & operator-=(const CFLPoint< int32_t > &point)
Offset operator[offset].
const CFLPoint< T > & operator*=(const CFLPoint< float > &point)
An operator that multiplies the x and y values of the object by a parameter.
const CFLPoint< T > & operator-=(const CFLPoint< float > &point)
Offset operator[offset].
virtual const CResult Set(const CFLPoint< float > &point) sealed
Parameter setting function.
virtual const CResult MakeCrossHair(CFLFigureArray *pFlfaResult, double f64LineLength=1., bool bDiagonal=false) const sealed
A function that creates a crosshair with a specified length centered on the object.
const CFLPoint< T > & operator-=(const int64_t &value)
Offset operator[offset].
const CFLPoint< T > & operator-=(const double &value)
Offset operator[offset].
virtual EWindingDirection GetWindingDirection(const CFLPoint< double > *pFlpBegin, const CFLPoint< double > *pFlpMid) const sealed
virtual double GetAngle(const CFLPoint< double > *pPoint) const sealed
Get the angle formed with the x-axis when the object and the parameter object are connected with a st...
CFLPoint< double > operator+(const int64_t &value) const
Offset operator[offset].
virtual CFLPoint< double > GetNormalVector(const CFLPoint< int32_t > &flpTarget) const sealed
A function that calculates the normal vector from that object to the parameter object.
CFLPoint< double > operator*(const int32_t &value) const
An operator that multiplies the x and y values of the object by a parameter.
virtual double GetHeight() const override
virtual CFLPoint< double > GetNormalVector(const CFLPoint< int64_t > &flpTarget) const sealed
A function that calculates the normal vector from that object to the parameter object.
virtual double GetWidth() const override
CFLPoint< double > operator*(const Base::TPoint< int64_t > &point) const
An operator that multiplies the x and y values of the object by a parameter.
const CFLPoint< T > & operator/=(const Base::TPoint< int64_t > &point)
An operator that divides the x, y values of the object into parameters.
virtual double GetAngle(const CFLPoint< float > *pPoint) const sealed
Get the angle formed with the x-axis when the object and the parameter object are connected with a st...
virtual const CResult Set(const CFLFigureText< int64_t > &flft) sealed
Parameter setting function.
bool operator==(const Base::TPoint< float > &point) const
Comparison operator.
CFLPoint< double > operator-(const Base::TPoint< int64_t > &point) const
Offset operator[offset].
const CFLPoint< T > & operator/=(const Base::TPoint< int32_t > &point)
An operator that divides the x, y values of the object into parameters.
friend CFLPoint< double > operator*(const float &value, const CFLPoint< T > &point)
Offset operator[offset].
Definition FLPoint.h:4189
const CFLPoint< T > & operator/=(const int32_t &value)
An operator that divides the x, y values of the object into parameters.
virtual bool IsCollision(const CFLComplexRegion *pFlcr) const override
CFLPoint(float x, int64_t y)
initialization constructor
CFLPoint(int32_t x, double y)
initialization constructor
const CFLPoint< T > & operator=(const Base::TPoint< int64_t > &point)
Assignment operator.
virtual bool IsCollision(const CFLRect< double > *pRect) const override
virtual double GetInteriorAngle(const CFLPoint< int64_t > *pFirstPoint, const CFLPoint< int64_t > *pThirdPoint) const sealed
A function that finds the interior angle between three points centered on an object.
const CFLPoint< T > & operator*=(const int32_t &value)
An operator that multiplies the x and y values of the object by a parameter.
virtual EWindingDirection GetWindingDirection(double f64BeginPtX, double f64BeginPtY, double f64MidPtX, double f64MidPtY) const sealed
CFLPoint< double > operator/(const CFLPoint< int64_t > &point) const
An operator that divides the x, y values of the object into parameters.
virtual const CResult Set(const Base::TPoint< float > &point) sealed
Parameter setting function.
const CFLPoint< T > & operator=(const Base::TPoint< double > &point)
Assignment operator.
friend CFLPoint< double > operator-(const int32_t &value, const CFLPoint< T > &point)
Offset operator[offset].
Definition FLPoint.h:4065
virtual EWindingDirection GetWindingDirection(const CFLLine< float > &fllBegin) const sealed
virtual EWindingDirection GetWindingDirection(const CFLPoint< double > &flpBegin, const CFLPoint< double > &flpMid) const sealed
const CFLPoint< T > & operator/=(const double &value)
An operator that divides the x, y values of the object into parameters.
const CFLPoint< T > & operator=(const CFLPoint< T > &flp)
const CFLPoint< T > & operator-=(const CFLPoint< int64_t > &point)
Offset operator[offset].
virtual const CResult GetRasterRegion(Base::CFLArray< Base::TRect< int32_t > > *pFlaResult, const CFLRect< int64_t > *pFlrROI=nullptr) const override
virtual const CResult Set(int64_t x, int32_t y) sealed
Parameter setting function.
const CFLPoint< T > & operator=(const CFLFigure &flf)
const CFLPoint< T > & operator+=(const double &value)
Offset operator[offset].
virtual EWindingDirection GetWindingDirection(const CFLPoint< float > &flpBegin, const CFLPoint< float > &flpMid) const sealed
CFLPoint< double > operator*(const Base::TPoint< int32_t > &point) const
An operator that multiplies the x and y values of the object by a parameter.
bool operator==(const CFLPoint< float > &point) const
Comparison operator.
CFLPoint< double > operator+(const CFLPoint< double > &point) const
Offset operator[offset].
virtual const CResult GetCenter(double &x, double &y) const override
CFLPoint(const Base::TPoint< int64_t > *pPoint)
initialization constructor
virtual const CResult Set(const CFLFigure *pFlf) override
virtual const CResult Set(const CFLPoint< int32_t > &point) sealed
Parameter setting function.
CFLPoint(const Base::TPoint< float > *pPoint)
initialization constructor
bool operator!=(const Base::TPoint< int32_t > &point) const
Comparison operator.
virtual EWindingDirection GetWindingDirection(const CFLLine< double > *pFllBegin) const sealed
virtual EWindingDirection GetWindingDirection(const CFLLine< int64_t > &fllBegin) const sealed
virtual CFLPoint< double > GetCircumcenter(const CFLPoint< double > &point1, const CFLPoint< double > &point2) const sealed
A function that finds the center of gravity between three points, including the object.
CFLPoint(const Base::TPoint< int32_t > &point)
initialization constructor
virtual const CResult Set(const CFLPoint< double > *pPoint) sealed
Parameter setting function.
virtual const CResult GetRasterRegion(Base::CFLArray< Base::TRect< float > > *pFlaResult, const CFLRect< int64_t > *pFlrROI=nullptr) const override
const CFLPoint< T > & operator-=(const int32_t &value)
Offset operator[offset].
virtual CFLFigureArray MakeCrossHair(double f64LineLength=1., bool bDiagonal=false) const sealed
A function that creates a crosshair with a specified length centered on the object.
const CFLPoint< T > & operator*=(const CFLPoint< double > &point)
An operator that multiplies the x and y values of the object by a parameter.
virtual CFLPoint< double > GetCircumcenter(const CFLPoint< float > &point1, const CFLPoint< float > &point2) const sealed
A function that finds the center of gravity between three points, including the object.
virtual const CResult GetRasterContour(CFLPointArray *pFlpaResult, bool bExcludeSingleDelta=false) const override
Get contour's raster point information.
virtual CFLPoint< double > GetNormalVector(const CFLPoint< int64_t > *pFlpTarget) const sealed
A function that calculates the normal vector from that object to the parameter object.
virtual double GetDistance(const CFLPoint< int32_t > *pPoint) const
Get the shortest distance to the parameter's object.
virtual EWindingDirection GetWindingDirection(const CFLPoint< int32_t > *pFlpBegin, const CFLPoint< int32_t > *pFlpMid) const sealed
CFLPoint< double > operator-(const double &value) const
Offset operator[offset].
virtual double GetDistance(const CFLPoint< int64_t > *pPoint) const
Get the shortest distance to the parameter's object.
CFLPoint< double > operator*(const Base::TPoint< double > &point) const
An operator that multiplies the x and y values of the object by a parameter.
bool operator!=(const CFLPoint< double > &point) const
Comparison operator.
virtual const CResult GetRasterContour(CFLFigureArray *pFlfaResult, bool bExcludeSingleDelta=false) const override
Get contour's raster point information.
virtual CFLPoint< double > GetUnitVector(const CFLPoint< int32_t > *pFlpTarget) const sealed
A function that calculates the unit vector from that object to the parameter object.
virtual const CResult Set(const CFLFigureText< float > &flft) sealed
Parameter setting function.
virtual CFLPoint< double > GetNormalVector(const CFLPoint< float > *pFlpTarget) const sealed
A function that calculates the normal vector from that object to the parameter object.
virtual const CResult GetRasterRegion(Base::CFLArray< Base::TPoint3< int32_t > > *pFlaResult, const CFLRect< int64_t > *pFlrROI=nullptr) const override
CFLPoint< double > operator+(const double &value) const
Offset operator[offset].
CFLPoint< double > operator*(const CFLPoint< double > &point) const
An operator that multiplies the x and y values of the object by a parameter.
virtual const CResult Set(int32_t x, int64_t y) sealed
Parameter setting function.
virtual const CResult Swap(CFLFigure *pFlfRight) override
virtual const CResult Flip(EFigureFlipDirection eDirection, double f64PivotX, double f64PivotY) override
virtual const CResult Set(int64_t x, float y) sealed
Parameter setting function.
virtual const CResult Set(const Base::TPoint< int64_t > &point) sealed
Parameter setting function.
CFLPoint< double > operator*(const float &value) const
An operator that multiplies the x and y values of the object by a parameter.
virtual const CResult GetVertexCount(CFLFigureArray *pFlfaResult, EIncludingRegionType eType=EIncludingRegionType_All, bool bRecursive=true) const override
Get the number of vertices in the figure.
virtual const CResult Set(float x, float y) sealed
Parameter setting function.
virtual CFLPoint< double > GetNormalVector(const CFLPoint< float > &flpTarget) const sealed
A function that calculates the normal vector from that object to the parameter object.
virtual CFLPoint< double > GetNormalVector(const CFLPoint< double > *pFlpTarget) const sealed
A function that calculates the normal vector from that object to the parameter object.
CFLPoint(int64_t x, int64_t y)
initialization constructor
virtual bool IsCollision(const CFLQuad< double > *pQuad) const override
bool operator==(const CFLPoint< int64_t > &point) const
Comparison operator.
CFLPoint< double > operator/(const CFLPoint< double > &point) const
An operator that divides the x, y values of the object into parameters.
CFLPoint(int64_t x, int32_t y)
initialization constructor
virtual CFLPoint< double > GetNormalVector(const CFLPoint< double > &flpTarget) const sealed
A function that calculates the normal vector from that object to the parameter object.
CFLPoint(const CFLFigure &flf)
initialization constructor
virtual double GetLength() const override
virtual const CResult MeasureThickness(double *pF64Thickness, double f64SamplingStep=1.) const override
Measure the thickness of the figure.
virtual CFLPoint< double > GetCircumcenter(const CFLPoint< int32_t > &point1, const CFLPoint< int32_t > &point2) const sealed
A function that finds the center of gravity between three points, including the object.
const CFLPoint< T > & operator+=(const Base::TPoint< double > &point)
Offset operator[offset].
CFLPoint< double > operator*(const CFLPoint< int32_t > &point) const
An operator that multiplies the x and y values of the object by a parameter.
virtual CFLPoint< double > GetCircumcenter(const CFLPoint< int32_t > *pPoint1, const CFLPoint< int32_t > *pPoint2) const sealed
A function that finds the center of gravity between three points, including the object.
virtual const CResult Set(const CFLFigureText< double > &flft) sealed
Parameter setting function.
virtual bool IsFigureValid() const override
virtual const CResult MakeCrossHair(const CFLFigureArray &flfaResult, double f64LineLength=1., bool bDiagonal=false) const sealed
A function that creates a crosshair with a specified length centered on the object.
virtual CFLPoint< double > GetCircumcenter(const CFLPoint< int64_t > &point1, const CFLPoint< int64_t > &point2) const sealed
A function that finds the center of gravity between three points, including the object.
CFLPoint(const Base::CFLImagePage &flip)
virtual double GetArea() const override
virtual const CResult GetSamplingPointsOnSegment(double f64SamplingDistance, CFLFigureArray &flfaResult) const override
Get point information moving by the set length.
virtual const CResult Set(int32_t x, float y) sealed
Parameter setting function.
CFLPoint< double > operator/(const CFLPoint< int32_t > &point) const
An operator that divides the x, y values of the object into parameters.
virtual const CResult MeasureThickness(double &f64Thickness, double f64SamplingStep=1.) const override
Measure the thickness of the figure.
virtual const CResult Set(int64_t x, double y) sealed
Parameter setting function.
virtual const CResult Set(const Base::TPoint< int32_t > &point) sealed
Parameter setting function.
virtual const CResult Set(const Base::CFLImage &fli) override
virtual const CResult GetPointsOfMinimumDistance(const CFLFigure *pFlfTarget, CFLPointArray *pFlpaResult) const override
Get the position closest to the target figure.
const CFLPoint< T > & operator/=(const CFLPoint< float > &point)
An operator that divides the x, y values of the object into parameters.
virtual EWindingDirection GetWindingDirection(const CFLPoint< float > *pFlpBegin, const CFLPoint< float > *pFlpMid) const sealed
bool operator==(const CFLPoint< int32_t > &point) const
Comparison operator.
virtual CFLPoint< double > GetUnitVector(const CFLPoint< int64_t > &flpTarget) const sealed
A function that calculates the unit vector from that object to the parameter object.
virtual EWindingDirection GetWindingDirection(const CFLLine< double > &fllBegin) const sealed
CFLPoint< double > operator*(const CFLPoint< int64_t > &point) const
An operator that multiplies the x and y values of the object by a parameter.
virtual const CResult Set(const CFLFigureText< double > *pFlft) sealed
Parameter setting function.
CFLPoint< double > operator/(const double &value) const
An operator that divides the x, y values of the object into parameters.
bool operator!=(const Base::TPoint< double > &point) const
Comparison operator.
const CFLPoint< T > & operator*=(const Base::TPoint< int64_t > &point)
An operator that multiplies the x and y values of the object by a parameter.
const CFLPoint< T > & operator-=(const Base::TPoint< double > &point)
Offset operator[offset].
CFLPoint< double > operator/(const Base::TPoint< int32_t > &point) const
An operator that divides the x, y values of the object into parameters.
friend CFLPoint< double > operator/(const double &value, const CFLPoint< T > &point)
Offset operator[offset].
Definition FLPoint.h:4286
T x
Definition FLPoint.h:30
friend CFLPoint< double > operator-(const double &value, const CFLPoint< T > &point)
Offset operator[offset].
Definition FLPoint.h:4128
CFLPoint< double > operator/(const float &value) const
An operator that divides the x, y values of the object into parameters.
virtual const CResult GetPointsOfMaximumDistance(const CFLFigure *pFlfTarget, CFLPointArray *pFlpaResult) const override
Get the location farthest away from the target figure.
friend CFLPoint< double > operator-(const float &value, const CFLPoint< T > &point)
Offset operator[offset].
Definition FLPoint.h:4107
virtual const CResult Warp(const CFLQuad< double > *pFlqSourceRegion, const CFLQuad< double > *pFlqTargetRegion, CFLFigureArray *pFlfaResult, EWarpingType eWarpingType=EWarpingType_Bilinear) const override
const CFLPoint< T > & operator=(const Base::TPoint< float > &point)
Assignment operator.
friend CFLPoint< double > operator/(const int64_t &value, const CFLPoint< T > &point)
Offset operator[offset].
Definition FLPoint.h:4248
virtual CFLPoint< double > GetUnitVector(const CFLPoint< float > *pFlpTarget) const sealed
A function that calculates the unit vector from that object to the parameter object.
CFLPoint(const Base::TPoint< int32_t > *pPoint)
initialization constructor
CFLPoint(int64_t x, double y)
initialization constructor
virtual const CResult Set(int64_t x, int64_t y) sealed
Parameter setting function.
virtual double GetAngle(const CFLPoint< int64_t > *pPoint) const sealed
Get the angle formed with the x-axis when the object and the parameter object are connected with a st...
virtual CFLPoint< double > GetUnitVector(const CFLPoint< double > *pFlpTarget) const sealed
A function that calculates the unit vector from that object to the parameter object.
CFLPoint< double > operator/(const CFLPoint< float > &point) const
An operator that divides the x, y values of the object into parameters.
CFLPoint(const Base::CFLImage *pFli)
virtual const CResult Offset(double x, double y) override
friend CFLPoint< double > operator*(const int64_t &value, const CFLPoint< T > &point)
Offset operator[offset].
Definition FLPoint.h:4169
virtual double GetDistance(const CFLPoint< int64_t > &point) const
Get the shortest distance to the parameter's object.
virtual double GetInteriorAngle(const CFLPoint< int64_t > &firstPoint, const CFLPoint< int64_t > &thirdPoint) const sealed
A function that finds the interior angle between three points centered on an object.
virtual const CResult Set(const CFLFigureText< int32_t > &flft) sealed
Parameter setting function.
virtual double GetDistance(const CFLPoint< float > &point) const
Get the shortest distance to the parameter's object.
const CFLPoint< T > & operator+=(const CFLPoint< int32_t > &point)
Offset operator[offset].
friend CFLPoint< double > operator/(const int32_t &value, const CFLPoint< T > &point)
Offset operator[offset].
Definition FLPoint.h:4229
CFLPoint(float x, double y)
initialization constructor
CFLPoint< double > operator+(const CFLPoint< float > &point) const
Offset operator[offset].
virtual const CResult GetRasterRegion(Base::CFLArray< Base::TRect< double > > *pFlaResult, const CFLRect< int64_t > *pFlrROI=nullptr) const override
virtual const CResult GetRasterRegion(CFLFigureArray *pFlfaResult, const CFLRect< int64_t > *pFlrROI=nullptr) const override
virtual const CResult GetMinimumEnclosingRectangle(CFLQuad< double > *pQuad) const override
Get a minimum enclosing rectangle.
virtual const CResult Set(const Base::CFLImagePage &fli) override
CFLPoint(float x, int32_t y)
initialization constructor
virtual const CResult GetSamplingVectorOnSegment(double f64SamplingDistance, CFLFigureArray &flfaResult) const override
Get point information moving by the set length.
CFLPoint(const CFLFigure *pFlf)
initialization constructor
virtual const CResult GetSamplingVectorOnSegment(double f64SamplingDistance, CFLFigureArray *pFlfaResult) const override
Get point information moving by the set length.
virtual bool IsCollision(const CFLFigureArray *pFlfa) const override
virtual const CResult GetCenterOfGravity(double &x, double &y) const override
CFLPoint(const Base::CFLImage &fli)
CFLPoint(const Base::TPoint< double > *pPoint)
initialization constructor
const CFLPoint< T > & operator*=(const CFLPoint< int32_t > &point)
An operator that multiplies the x and y values of the object by a parameter.
const CFLPoint< T > & operator+=(const CFLPoint< int64_t > &point)
Offset operator[offset].
virtual const CResult Set(const CFLPoint< double > &point) sealed
Parameter setting function.
virtual const CResult GetRasterRegion(Base::CFLArray< Base::TRect< int64_t > > *pFlaResult, const CFLRect< int64_t > *pFlrROI=nullptr) const override
friend CFLPoint< double > operator+(const double &value, const CFLPoint< T > &point)
Offset operator[offset].
Definition FLPoint.h:4045
virtual double GetAngle(const CFLPoint< int32_t > &point) const sealed
Get the angle formed with the x-axis when the object and the parameter object are connected with a st...
CFLPoint< double > operator-(const int64_t &value) const
Offset operator[offset].
virtual bool IsCollision(const CFLRegion *pFlrg) const override
const CFLPoint< T > & operator*=(const Base::TPoint< int32_t > &point)
An operator that multiplies the x and y values of the object by a parameter.
CFLPoint(int32_t x, float y)
initialization constructor
CFLPoint< double > operator+(const float &value) const
Offset operator[offset].
const CFLPoint< T > & operator/=(const int64_t &value)
An operator that divides the x, y values of the object into parameters.
const CFLPoint< T > & operator+=(const CFLPoint< float > &point)
Offset operator[offset].
virtual bool IsCollision(const CFLPoint< double > *pPoint) const override
CFLPoint(const Base::TPoint< int64_t > &point)
initialization constructor
CFLPoint< double > operator*(const Base::TPoint< float > &point) const
An operator that multiplies the x and y values of the object by a parameter.
const CFLPoint< T > & operator+=(const CFLPoint< double > &point)
Offset operator[offset].
CFLPoint< double > operator-(const CFLPoint< double > &point) const
Offset operator[offset].
CFLPoint(int64_t x, float y)
initialization constructor
const CFLPoint< T > & operator+=(const float &value)
Offset operator[offset].
virtual EWindingDirection GetWindingDirection(const CFLPoint< int64_t > *pFlpBegin, const CFLPoint< int64_t > *pFlpMid) const sealed
CFLPoint< double > operator-(const Base::TPoint< double > &point) const
Offset operator[offset].
bool operator==(const CFLPoint< double > &point) const
Comparison operator.
CFLPoint(float x, float y)
initialization constructor
CFLPoint< double > operator+(const Base::TPoint< int64_t > &point) const
Offset operator[offset].
virtual CFLPoint< double > GetNormalVector(const CFLPoint< int32_t > *pFlpTarget) const sealed
A function that calculates the normal vector from that object to the parameter object.
CFLPoint< double > operator*(const CFLPoint< float > &point) const
An operator that multiplies the x and y values of the object by a parameter.
CFLPoint< double > operator/(const Base::TPoint< float > &point) const
An operator that divides the x, y values of the object into parameters.
const CFLPoint< T > & operator*=(const Base::TPoint< double > &point)
An operator that multiplies the x and y values of the object by a parameter.
virtual const CResult Set(double x, double y) sealed
Parameter setting function.
const CFLPoint< T > & operator/=(const Base::TPoint< float > &point)
An operator that divides the x, y values of the object into parameters.
CFLPoint(double x, int64_t y)
initialization constructor
virtual double GetInteriorAngle(const CFLPoint< int32_t > *pFirstPoint, const CFLPoint< int32_t > *pThirdPoint) const sealed
A function that finds the interior angle between three points centered on an object.
virtual CFLPoint< double > GetCircumcenter(const CFLPoint< float > *pPoint1, const CFLPoint< float > *pPoint2) const sealed
A function that finds the center of gravity between three points, including the object.
virtual EFigureTemplateType GetTemplateType() const override
CFLPoint< double > operator/(const Base::TPoint< double > &point) const
An operator that divides the x, y values of the object into parameters.
CFLPoint(const Base::TPoint< double > &point)
initialization constructor
CFLPoint< double > operator+(const CFLPoint< int32_t > &point) const
Offset operator[offset].
virtual EWindingDirection GetWindingDirection(const CFLPoint< int32_t > &flpBegin, const CFLPoint< int32_t > &flpMid) const sealed
virtual const CResult Set(float x, int64_t y) sealed
Parameter setting function.
virtual double GetPerimeter() const override
const CFLPoint< T > & operator-=(const float &value)
Offset operator[offset].
bool operator!=(const CFLPoint< float > &point) const
Comparison operator.
virtual const CResult GetVertexCount(CFLFigureArray &flfaResult, EIncludingRegionType eType=EIncludingRegionType_All, bool bRecursive=true) const override
Get the number of vertices in the figure.
const CFLPoint< T > & operator=(const Base::TPoint< int32_t > &point)
Assignment operator.
virtual const CResult Set(const Base::TPoint< double > &point) sealed
Parameter setting function.
virtual bool IsCollision(const CFLDoughnut< double > *pDoughnut) const override
friend CFLPoint< double > operator+(const int32_t &value, const CFLPoint< T > &point)
Offset operator[offset].
Definition FLPoint.h:3985
virtual const CResult Set(const Base::CFLImagePage *pFli) override
CFLPoint< double > operator-(const Base::TPoint< int32_t > &point) const
Offset operator[offset].
CFLPoint< double > operator-(const Base::TPoint< float > &point) const
Offset operator[offset].
virtual double GetOrthogonalDistance(const CFLLine< float > *pLine) const sealed
Get the vertical distance between straight lines given as parameters in the object.
friend CFLPoint< double > operator*(const int32_t &value, const CFLPoint< T > &point)
Offset operator[offset].
Definition FLPoint.h:4149
const CFLPoint< T > & operator+=(const Base::TPoint< int64_t > &point)
Offset operator[offset].
virtual const CResult Set(int32_t x, int32_t y) sealed
Parameter setting function.
virtual double GetOrthogonalDistance(const CFLLine< int64_t > &line) const sealed
Get the vertical distance between straight lines given as parameters in the object.
virtual double GetOrthogonalDistance(const CFLLine< int32_t > &line) const sealed
Get the vertical distance between straight lines given as parameters in the object.
const CFLPoint< T > & operator+=(const Base::TPoint< int32_t > &point)
Offset operator[offset].
virtual double GetOrthogonalDistance(const CFLLine< int64_t > *pLine) const sealed
Get the vertical distance between straight lines given as parameters in the object.
friend CFLPoint< double > operator-(const int64_t &value, const CFLPoint< T > &point)
Offset operator[offset].
Definition FLPoint.h:4086
CFLPoint(double x, int32_t y)
initialization constructor
virtual const CResult MakeFigureInvalid() override
Make the figure invalid. (For example, set the coordinates of the point to invalid x,...
bool operator==(const Base::TPoint< int64_t > &point) const
Comparison operator.
CFLPoint(double x, double y)
initialization constructor
const CFLPoint< T > & operator+=(const Base::TPoint< float > &point)
Offset operator[offset].
virtual EWindingDirection GetWindingDirection(const CFLPoint< int64_t > &flpBegin, const CFLPoint< int64_t > &flpMid) const sealed
CFLPoint(int32_t x, int32_t y)
initialization constructor
virtual double GetAngle(const CFLPoint< double > &point) const sealed
Get the angle formed with the x-axis when the object and the parameter object are connected with a st...
virtual bool IsCollision(const CFLCircle< double > *pRect) const override
virtual CFLPoint< double > GetUnitVector(const CFLPoint< float > &flpTarget) const sealed
A function that calculates the unit vector from that object to the parameter object.
virtual EFigureDeclType GetDeclType() const override
const CFLPoint< T > & operator-=(const Base::TPoint< int64_t > &point)
Offset operator[offset].
virtual const CResult Set(int32_t x, double y) sealed
Parameter setting function.
virtual CFLPoint< double > GetUnitVector(const CFLPoint< int32_t > &flpTarget) const sealed
A function that calculates the unit vector from that object to the parameter object.
const CFLPoint< T > & operator-=(const Base::TPoint< int32_t > &point)
Offset operator[offset].
virtual double GetOrthogonalDistance(const CFLLine< float > &line) const sealed
Get the vertical distance between straight lines given as parameters in the object.
virtual const CResult Set(double x, float y) sealed
Parameter setting function.
bool operator!=(const CFLPoint< int64_t > &point) const
Comparison operator.
const CFLPoint< T > & operator*=(const Base::TPoint< float > &point)
An operator that multiplies the x and y values of the object by a parameter.
virtual CFLPoint< double > GetCircumcenter(const CFLPoint< int64_t > *pPoint1, const CFLPoint< int64_t > *pPoint2) const sealed
A function that finds the center of gravity between three points, including the object.
const CFLPoint< T > & operator*=(const float &value)
An operator that multiplies the x and y values of the object by a parameter.
virtual const CResult GetSamplingPointsOnSegment(double f64SamplingDistance, CFLFigureArray *pFlfaResult) const override
Get point information moving by the set length.
CFLPoint< double > operator+(const CFLPoint< int64_t > &point) const
Offset operator[offset].
virtual double GetOrthogonalDistance(const CFLLine< double > &line) const sealed
Get the vertical distance between straight lines given as parameters in the object.
virtual const CResult Set(const CFLFigure &flf) override
CFLPoint< double > operator*(const int64_t &value) const
An operator that multiplies the x and y values of the object by a parameter.
CFLPoint(double x, float y)
initialization constructor
CFLPoint< double > operator-(const CFLPoint< int64_t > &point) const
Offset operator[offset].
virtual bool IsCollision(const CFLLine< double > *pLine) const override
virtual void Clear() override
Clear an object's variable.
virtual const CResult Set(const CFLFigureText< float > *pFlft) sealed
Parameter setting function.
virtual CFLPoint< double > GetCircumcenter(const CFLPoint< double > *pPoint1, const CFLPoint< double > *pPoint2) const sealed
A function that finds the center of gravity between three points, including the object.
virtual bool IsCollision(const CFLEllipse< double > *pEll) const override
virtual EWindingDirection GetWindingDirection(const CFLLine< int64_t > *pFllBegin) const sealed
CFLPoint< double > operator+(const Base::TPoint< float > &point) const
Offset operator[offset].
virtual const CResult Set(double x, int32_t y) sealed
Parameter setting function.
virtual double GetInteriorAngle(const CFLPoint< double > &firstPoint, const CFLPoint< double > &thirdPoint) const sealed
A function that finds the interior angle between three points centered on an object.
virtual EWindingDirection GetWindingDirection(const CFLLine< int32_t > *pFllBegin) const sealed
virtual const CResult Multiply(double f64MulX, double f64MulY) override
CFLPoint< double > operator-(const CFLPoint< int32_t > &point) const
Offset operator[offset].
virtual const CResult Set(float x, double y) sealed
Parameter setting function.
CFLPoint< double > operator-(const float &value) const
Offset operator[offset].
virtual const CResult Set(const Base::TPoint< double > *pPoint) sealed
Parameter setting function.
bool operator==(const Base::TPoint< double > &point) const
Comparison operator.
virtual double GetDistance(const CFLPoint< float > *pPoint) const
Get the shortest distance to the parameter's object.
bool operator!=(const Base::TPoint< int64_t > &point) const
Comparison operator.
virtual EWindingDirection GetWindingDirection(const CFLLine< float > *pFllBegin) const sealed
friend CFLPoint< double > operator+(const int64_t &value, const CFLPoint< T > &point)
Offset operator[offset].
Definition FLPoint.h:4005
CFLPoint< double > operator/(const int32_t &value) const
An operator that divides the x, y values of the object into parameters.
virtual bool IsCollision(const CFLPointArray *pFlpa) const override
virtual const CResult GetRasterContour(Base::CFLArray< Base::TPoint< int32_t > > *pFlaResult, bool bExcludeSingleDelta=false) const override
Get contour's raster point information.
friend CFLPoint< double > operator+(const float &value, const CFLPoint< T > &point)
Offset operator[offset].
Definition FLPoint.h:4025
virtual double GetInteriorAngle(const CFLPoint< float > &firstPoint, const CFLPoint< float > &thirdPoint) const sealed
A function that finds the interior angle between three points centered on an object.
bool operator!=(const Base::TPoint< float > &point) const
Comparison operator.
CFLPoint< double > operator+(const Base::TPoint< int32_t > &point) const
Offset operator[offset].
virtual bool IsValid() const override
bool operator==(const Base::TPoint< int32_t > &point) const
Comparison operator.
const CFLPoint< T > & operator+=(const int64_t &value)
Offset operator[offset].
virtual double GetOrthogonalDistance(const CFLLine< int32_t > *pLine) const sealed
Get the vertical distance between straight lines given as parameters in the object.
const CFLPoint< T > & operator/=(const Base::TPoint< double > &point)
An operator that divides the x, y values of the object into parameters.
virtual const CResult Set(const CFLFigureText< int64_t > *pFlft) sealed
Parameter setting function.
virtual bool IsCollision(const CFLBezierCubicCurve *pFlbc3) const override
virtual const CResult Set(const Base::TPoint< float > *pPoint) sealed
Parameter setting function.
const CFLPoint< T > & operator+=(const int32_t &value)
Offset operator[offset].
const CFLPoint< T > & operator*=(const CFLPoint< int64_t > &point)
An operator that multiplies the x and y values of the object by a parameter.
virtual double GetInteriorAngle(const CFLPoint< float > *pFirstPoint, const CFLPoint< float > *pThirdPoint) const sealed
A function that finds the interior angle between three points centered on an object.
virtual const CResult Set(const CFLFigureText< int32_t > *pFlft) sealed
Parameter setting function.
virtual const CResult Set(const Base::CFLImage *pFli) override
const CFLPoint< T > & operator/=(const CFLPoint< int64_t > &point)
An operator that divides the x, y values of the object into parameters.
CFLPoint< double > operator/(const Base::TPoint< int64_t > &point) const
An operator that divides the x, y values of the object into parameters.
CFLPoint< double > operator+(const int32_t &value) const
Offset operator[offset].
virtual const CResult GetBoundaryRect(double &left, double &top, double &right, double &bottom) const override
virtual const CResult Rotate(double f64Angle, double f64PivotX, double f64PivotY) override
CFLPoint< double > operator-(const CFLPoint< float > &point) const
Offset operator[offset].
virtual uint64_t GetVertexCountRecursive(EIncludingRegionType eType=EIncludingRegionType_All) const
FigureArray Get the number of all vertices inside.
virtual EWindingDirection GetWindingDirection(const CFLLine< int32_t > &fllBegin) const sealed
virtual const CResult Set(const CFLPoint< int64_t > &point) sealed
Parameter setting function.
const CFLPoint< T > & operator-=(const Base::TPoint< float > &point)
Offset operator[offset].
CFLPoint< double > operator/(const int64_t &value) const
An operator that divides the x, y values of the object into parameters.
friend CFLPoint< double > operator/(const float &value, const CFLPoint< T > &point)
Offset operator[offset].
Definition FLPoint.h:4267
virtual const CResult Scale(double f64PivotX, double f64PivotY, double f64RatioX, double f64RatioY) override
const CFLPoint< T > & operator/=(const CFLPoint< double > &point)
An operator that divides the x, y values of the object into parameters.
CFLPoint< double > operator*(const double &value) const
An operator that multiplies the x and y values of the object by a parameter.
virtual double GetOrthogonalDistance(const CFLLine< double > *pLine) const sealed
Get the vertical distance between straight lines given as parameters in the object.
const CFLPoint< T > & operator/=(const CFLPoint< int32_t > &point)
An operator that divides the x, y values of the object into parameters.
virtual bool IsCollision(const CFLRoundRect< double > *pRect) const override
virtual const CResult Set(const CFLPoint< int32_t > *pPoint) sealed
Parameter setting function.
const CFLPoint< T > & operator-=(const CFLPoint< double > &point)
Offset operator[offset].
virtual CFLPoint< double > GetUnitVector(const CFLPoint< int64_t > *pFlpTarget) const sealed
A function that calculates the unit vector from that object to the parameter object.
virtual bool IsCollision(const CFLBezierQuadraticCurve *pFlbc2) const override
virtual double GetDistance(const CFLPoint< int32_t > &point) const
Get the shortest distance to the parameter's object.
bool operator!=(const CFLPoint< int32_t > &point) const
Comparison operator.
CFLPoint(const Base::CFLImagePage *pFlip)
virtual double GetAngle(const CFLPoint< float > &point) const sealed
Get the angle formed with the x-axis when the object and the parameter object are connected with a st...
A class representing a quadrangle.
Definition FLQuad.h:24
A class representing a rectangle.
Definition FLRect.h:24
A class representing region.
Definition FLRegion.h:26
A class representing a round rectangle.
Definition FLRoundRect.h:24
EWarpingType
Definition DefinitionsFigure.h:2748
EWindingDirection
Winding direction.
Definition DefinitionsFigure.h:2529
EIncludingRegionType
Definition DefinitionsFigure.h:2723
EFigureDeclType
Declare type of figure.
Definition DefinitionsFigure.h:33
EFigureTemplateType
Template type of figure.
Definition DefinitionsFigure.h:302
EFigureFlipDirection
Flip direction.
Definition DefinitionsFigure.h:2620