FLImaging 7.8.25.3
FLFigure.h
1#pragma once
2
8
9#include <cstdint>
10
11#include "FLFigureForwardDeclaration.h"
12#include "DefinitionsFigure.h"
13#include "FLFigureAttribute.h"
14
16namespace FLImaging
17{
19 namespace Foundation
20 {
26 class FL_EXPORT CFLFigure : public Base::CFLBase
27 {
28 public:
29
37 virtual void Clear();
38
52 virtual const CResult Load(const wchar_t* pWcsFileName) sealed;
53
67 virtual const CResult Save(const wchar_t* pWcsFileName) const sealed;
68
82 virtual const CResult SetName(const wchar_t* pWcsName) sealed;
83
97 virtual const CResult SetName(const wchar_t wcName) sealed;
98
108 virtual const wchar_t* GetName() const sealed;
109
119 virtual const CResult ClearName() sealed;
120
136 virtual const CResult EnableRasterOperation(bool bSet);
137
149 virtual bool IsRasterOperationEnabled() const;
150
164 virtual const CResult EnableRasterRegionOutline(bool bSet) sealed;
165
175 virtual bool IsRasterRegionOutlineEnabled() const sealed;
176
190 virtual const CResult SetRasterRegionOutlineThickness(float f32Thickness) sealed;
191
201 virtual float GetRasterRegionOutlineThickness() const sealed;
202
214 virtual const CResult SetAttributeDrawingLineColor(uint32_t u32LineColor) sealed;
215
231 virtual const CResult SetAttributeDrawingLineColor(uint8_t u8Blue, uint8_t u8Green, uint8_t u8Red) sealed;
232
244 virtual const CResult GetAttributeDrawingLineColor(uint32_t& u32LineColor) const sealed;
245
256
268 virtual const CResult SetAttributeDrawingLineWidth(float f32LineWidth) sealed;
269
281 virtual const CResult GetAttributeDrawingLineWidth(float& f32LineWidth) const sealed;
282
293
305 virtual const CResult SetAttributeDrawingFillColor(uint32_t u32FillColor) sealed;
306
322 virtual const CResult SetAttributeDrawingFillColor(uint8_t u8Blue, uint8_t u8Green, uint8_t u8Red) sealed;
323
335 virtual const CResult GetAttributeDrawingFillColor(uint32_t& u32FillColor) const sealed;
336
347
362
376 virtual const CResult GetAttributeDrawingPenStyle(EAttributeDrawingPenStyle& ePenStyle) const sealed;
377
388
400 virtual const CResult SetAttributeDrawingLineColorAlphaRatio(float f32LineColorAlphaRatio) sealed;
401
413 virtual const CResult GetAttributeDrawingLineColorAlphaRatio(float& f32LineColorAlphaRatio) const sealed;
414
425
437 virtual const CResult SetAttributeDrawingFillColorAlphaRatio(float f32FillColorAlphaRatio) sealed;
438
450 virtual const CResult GetAttributeDrawingFillColorAlphaRatio(float& f32FillColorAlphaRatio) const sealed;
451
462
474 virtual const CResult SetAttributeDrawingEdgeColor(uint32_t u32EdgeColor) sealed;
475
491 virtual const CResult SetAttributeDrawingEdgeColor(uint8_t u8Blue, uint8_t u8Green, uint8_t u8Red) sealed;
492
504 virtual const CResult GetAttributeDrawingEdgeColor(uint32_t& u32EdgeColor) const sealed;
505
516
528 virtual const CResult EnableAttributeDrawingRealSizeLineWidth(bool bEnable) sealed;
529
541 virtual const CResult IsAttributeDrawingRealSizeLineWidthEnabled(bool& bEnabled) const sealed;
542
553
561 virtual bool IsValid() const override;
562
570 virtual bool IsFigureValid() const;
571
581 virtual EFigureDeclType GetDeclType() const = 0;
582
593
595
611
619 virtual double GetWidth() const;
620
628 virtual double GetHeight() const;
629
637 virtual double GetAngle() const;
638
646 virtual double GetArea() const;
647
655 virtual double GetPerimeter() const;
656
664 virtual double GetLength() const;
665
683 virtual double GetCircularity() const;
684
692 virtual double GetMinimumEnclosingRectangleWidth() const;
693
702
710 virtual double GetMinimumEnclosingRectangleAngle() const;
711
719 virtual double GetMinimumEnclosingRectangleArea() const;
720
729
738
747
756
767
779 virtual const CResult ReverseSequence();
780
795
797
818 virtual const CResult GetVertexCount(CFLFigureArray& flfaResult, EIncludingRegionType eType = EIncludingRegionType_All, bool bRecursive = true) const;
819 virtual const CResult GetVertexCount(CFLFigureArray* pFlfaResult, EIncludingRegionType eType = EIncludingRegionType_All, bool bRecursive = true) const;
821
823
838 virtual const CResult MeasureThickness(double& f64Thickness, double f64SamplingStep = 1.) const;
839 virtual const CResult MeasureThickness(double* pF64Thickness, double f64SamplingStep = 1.) const;
841
853 virtual const CResult MakeFigureValid();
854
866 virtual const CResult MakeFigureInvalid();
867
869
882 virtual const CResult Inflate(int32_t i32HalfSize);
883 virtual const CResult Inflate(int64_t i64HalfSize);
884 virtual const CResult Inflate(float f32HalfSize);
885 virtual const CResult Inflate(double f64HalfSize);
887
889
906 virtual const CResult Inflate(int32_t left, int32_t top, int32_t right, int32_t bottom);
907 virtual const CResult Inflate(int64_t left, int64_t top, int64_t right, int64_t bottom);
908 virtual const CResult Inflate(float left, float top, float right, float bottom);
909 virtual const CResult Inflate(double left, double top, double right, double bottom);
911
913
926 virtual const CResult Inflate(int32_t width, int32_t height);
927 virtual const CResult Inflate(int64_t width, int64_t height);
928 virtual const CResult Inflate(float width, float height);
929 virtual const CResult Inflate(double width, double height);
931
933
946 virtual const CResult Inflate(const CFLPoint<int32_t>& point);
947 virtual const CResult Inflate(const CFLPoint<int32_t>* pPoint);
948 virtual const CResult Inflate(const CFLPoint<int64_t>& point);
949 virtual const CResult Inflate(const CFLPoint<int64_t>* pPoint);
950 virtual const CResult Inflate(const CFLPoint<float>& point);
951 virtual const CResult Inflate(const CFLPoint<float>* pPoint);
952 virtual const CResult Inflate(const CFLPoint<double>& point);
953 virtual const CResult Inflate(const CFLPoint<double>* pPoint);
955
957
970 virtual const CResult Inflate(const CFLLine<int32_t>& line);
971 virtual const CResult Inflate(const CFLLine<int32_t>* pLine);
972 virtual const CResult Inflate(const CFLLine<int64_t>& line);
973 virtual const CResult Inflate(const CFLLine<int64_t>* pLine);
974 virtual const CResult Inflate(const CFLLine<float>& line);
975 virtual const CResult Inflate(const CFLLine<float>* pLine);
976 virtual const CResult Inflate(const CFLLine<double>& line);
977 virtual const CResult Inflate(const CFLLine<double>* pLine);
979
981
994 virtual const CResult Inflate(const CFLRect<int32_t>& rect);
995 virtual const CResult Inflate(const CFLRect<int32_t>* pRect);
996 virtual const CResult Inflate(const CFLRect<int64_t>& rect);
997 virtual const CResult Inflate(const CFLRect<int64_t>* pRect);
998 virtual const CResult Inflate(const CFLRect<float>& rect);
999 virtual const CResult Inflate(const CFLRect<float>* pRect);
1000 virtual const CResult Inflate(const CFLRect<double>& rect);
1001 virtual const CResult Inflate(const CFLRect<double>* pRect);
1003
1017 virtual const CResult Scale(double f64RatioX, double f64RatioY);
1018
1020
1037 virtual const CResult Scale(int32_t i32PivotX, int32_t i32PivotY, double f64RatioX, double f64RatioY);
1038 virtual const CResult Scale(int64_t i64PivotX, int64_t i64PivotY, double f64RatioX, double f64RatioY);
1039 virtual const CResult Scale(float f32PivotX, float f32PivotY, double f64RatioX, double f64RatioY);
1040 virtual const CResult Scale(double f64PivotX, double f64PivotY, double f64RatioX, double f64RatioY);
1042
1044
1061 virtual const CResult Scale(const CFLPoint<int32_t>& flpPivot, double f64RatioX, double f64RatioY);
1062 virtual const CResult Scale(const CFLPoint<int32_t>* pFlpPivot, double f64RatioX, double f64RatioY);
1063 virtual const CResult Scale(const CFLPoint<int64_t>& flpPivot, double f64RatioX, double f64RatioY);
1064 virtual const CResult Scale(const CFLPoint<int64_t>* pFlpPivot, double f64RatioX, double f64RatioY);
1065 virtual const CResult Scale(const CFLPoint<float>& flpPivot, double f64RatioX, double f64RatioY);
1066 virtual const CResult Scale(const CFLPoint<float>* pFlpPivot, double f64RatioX, double f64RatioY);
1067 virtual const CResult Scale(const CFLPoint<double>& flpPivot, double f64RatioX, double f64RatioY);
1068 virtual const CResult Scale(const CFLPoint<double>* pFlpPivot, double f64RatioX, double f64RatioY);
1070
1072
1087 virtual const CResult Extend(int32_t i32HalfSize);
1088 virtual const CResult Extend(int64_t i64HalfSize);
1089 virtual const CResult Extend(float f32HalfSize);
1090 virtual const CResult Extend(double f64HalfSize);
1092
1094
1111 virtual const CResult Extend(int32_t i32HalfWidth, int32_t i32HalfHeight);
1112 virtual const CResult Extend(int64_t i64HalfWidth, int64_t i64HalfHeight);
1113 virtual const CResult Extend(float f32HalfWidth, float f32HalfHeight);
1114 virtual const CResult Extend(double f64HalfWidth, double f64HalfHeight);
1116
1118
1139 virtual const CResult Extend(int32_t left, int32_t top, int32_t right, int32_t bottom);
1140 virtual const CResult Extend(int64_t left, int64_t top, int64_t right, int64_t bottom);
1141 virtual const CResult Extend(float left, float top, float right, float bottom);
1142 virtual const CResult Extend(double left, double top, double right, double bottom);
1144
1146
1163 virtual const CResult Extend(const Base::TPoint<int32_t>& tpSize);
1164 virtual const CResult Extend(const Base::TPoint<int32_t>* pTpSize);
1165 virtual const CResult Extend(const Base::TPoint<int64_t>& tpSize);
1166 virtual const CResult Extend(const Base::TPoint<int64_t>* pTpSize);
1167 virtual const CResult Extend(const Base::TPoint<float>& tpSize);
1168 virtual const CResult Extend(const Base::TPoint<float>* pTpSize);
1169 virtual const CResult Extend(const Base::TPoint<double>& tpSize);
1170 virtual const CResult Extend(const Base::TPoint<double>* pTpSize);
1172
1174
1191 virtual const CResult Extend(const Base::TRect<int32_t>& trSize);
1192 virtual const CResult Extend(const Base::TRect<int32_t>* pTrSize);
1193 virtual const CResult Extend(const Base::TRect<int64_t>& trSize);
1194 virtual const CResult Extend(const Base::TRect<int64_t>* pTrSize);
1195 virtual const CResult Extend(const Base::TRect<float>& trSize);
1196 virtual const CResult Extend(const Base::TRect<float>* pTrSize);
1197 virtual const CResult Extend(const Base::TRect<double>& trSize);
1198 virtual const CResult Extend(const Base::TRect<double>* pTrSize);
1200
1202
1219 virtual const CResult Extend(const CFLPoint<int32_t>& flpSize);
1220 virtual const CResult Extend(const CFLPoint<int32_t>* pFlpSize);
1221 virtual const CResult Extend(const CFLPoint<int64_t>& flpSize);
1222 virtual const CResult Extend(const CFLPoint<int64_t>* pFlpSize);
1223 virtual const CResult Extend(const CFLPoint<float>& flpSize);
1224 virtual const CResult Extend(const CFLPoint<float>* pFlpSize);
1225 virtual const CResult Extend(const CFLPoint<double>& flpSize);
1226 virtual const CResult Extend(const CFLPoint<double>* pFlpSize);
1228
1230
1247 virtual const CResult Extend(const CFLLine<int32_t>& fllSize);
1248 virtual const CResult Extend(const CFLLine<int32_t>* pFllSize);
1249 virtual const CResult Extend(const CFLLine<int64_t>& fllSize);
1250 virtual const CResult Extend(const CFLLine<int64_t>* pFllSize);
1251 virtual const CResult Extend(const CFLLine<float>& fllSize);
1252 virtual const CResult Extend(const CFLLine<float>* pFllSize);
1253 virtual const CResult Extend(const CFLLine<double>& fllSize);
1254 virtual const CResult Extend(const CFLLine<double>* pFllSize);
1256
1258
1275 virtual const CResult Extend(const CFLRect<int32_t>& flrSize);
1276 virtual const CResult Extend(const CFLRect<int32_t>* pFlrSize);
1277 virtual const CResult Extend(const CFLRect<int64_t>& flrSize);
1278 virtual const CResult Extend(const CFLRect<int64_t>* pFlrSize);
1279 virtual const CResult Extend(const CFLRect<float>& flrSize);
1280 virtual const CResult Extend(const CFLRect<float>* pFlrSize);
1281 virtual const CResult Extend(const CFLRect<double>& flrSize);
1282 virtual const CResult Extend(const CFLRect<double>* pFlrSize);
1284
1286
1295 virtual bool IsCollision(const CFLFigure& figure) const;
1296 virtual bool IsCollision(const CFLFigure* pFigure) const;
1297 virtual bool IsCollision(const Base::TPoint<int32_t>& point) const;
1298 virtual bool IsCollision(const Base::TPoint<int32_t>* pPoint) const;
1299 virtual bool IsCollision(const Base::TPoint<int64_t>& point) const;
1300 virtual bool IsCollision(const Base::TPoint<int64_t>* pPoint) const;
1301 virtual bool IsCollision(const Base::TPoint<float>& point) const;
1302 virtual bool IsCollision(const Base::TPoint<float>* pPoint) const;
1303 virtual bool IsCollision(const Base::TPoint<double>& point) const;
1304 virtual bool IsCollision(const Base::TPoint<double>* pPoint) const;
1305 virtual bool IsCollision(const Base::TRect<int32_t>& rect) const;
1306 virtual bool IsCollision(const Base::TRect<int32_t>* pRect) const;
1307 virtual bool IsCollision(const Base::TRect<int64_t>& rect) const;
1308 virtual bool IsCollision(const Base::TRect<int64_t>* pRect) const;
1309 virtual bool IsCollision(const Base::TRect<float>& rect) const;
1310 virtual bool IsCollision(const Base::TRect<float>* pRect) const;
1311 virtual bool IsCollision(const Base::TRect<double>& rect) const;
1312 virtual bool IsCollision(const Base::TRect<double>* pRect) const;
1313 virtual bool IsCollision(const CFLPoint<int32_t>& point) const;
1314 virtual bool IsCollision(const CFLPoint<int32_t>* pPoint) const;
1315 virtual bool IsCollision(const CFLPoint<int64_t>& point) const;
1316 virtual bool IsCollision(const CFLPoint<int64_t>* pPoint) const;
1317 virtual bool IsCollision(const CFLPoint<float>& point) const;
1318 virtual bool IsCollision(const CFLPoint<float>* pPoint) const;
1319 virtual bool IsCollision(const CFLPoint<double>& point) const;
1320 virtual bool IsCollision(const CFLPoint<double>* pPoint) const;
1321 virtual bool IsCollision(const CFLLine<int32_t>& line) const;
1322 virtual bool IsCollision(const CFLLine<int32_t>* pLine) const;
1323 virtual bool IsCollision(const CFLLine<int64_t>& line) const;
1324 virtual bool IsCollision(const CFLLine<int64_t>* pLine) const;
1325 virtual bool IsCollision(const CFLLine<float>& line) const;
1326 virtual bool IsCollision(const CFLLine<float>* pLine) const;
1327 virtual bool IsCollision(const CFLLine<double>& line) const;
1328 virtual bool IsCollision(const CFLLine<double>* pLine) const;
1329 virtual bool IsCollision(const CFLRect<int32_t>& rect) const;
1330 virtual bool IsCollision(const CFLRect<int32_t>* pRect) const;
1331 virtual bool IsCollision(const CFLRect<int64_t>& rect) const;
1332 virtual bool IsCollision(const CFLRect<int64_t>* pRect) const;
1333 virtual bool IsCollision(const CFLRect<float>& rect) const;
1334 virtual bool IsCollision(const CFLRect<float>* pRect) const;
1335 virtual bool IsCollision(const CFLRect<double>& rect) const;
1336 virtual bool IsCollision(const CFLRect<double>* pRect) const;
1337 virtual bool IsCollision(const CFLRoundRect<int32_t>& flrr) const;
1338 virtual bool IsCollision(const CFLRoundRect<int32_t>* pFlrr) const;
1339 virtual bool IsCollision(const CFLRoundRect<int64_t>& flrr) const;
1340 virtual bool IsCollision(const CFLRoundRect<int64_t>* pFlrr) const;
1341 virtual bool IsCollision(const CFLRoundRect<float>& flrr) const;
1342 virtual bool IsCollision(const CFLRoundRect<float>* pFlrr) const;
1343 virtual bool IsCollision(const CFLRoundRect<double>& flrr) const;
1344 virtual bool IsCollision(const CFLRoundRect<double>* pFlrr) const;
1345 virtual bool IsCollision(const CFLQuad<int32_t>& quad) const;
1346 virtual bool IsCollision(const CFLQuad<int32_t>* pQuad) const;
1347 virtual bool IsCollision(const CFLQuad<int64_t>& quad) const;
1348 virtual bool IsCollision(const CFLQuad<int64_t>* pQuad) const;
1349 virtual bool IsCollision(const CFLQuad<float>& quad) const;
1350 virtual bool IsCollision(const CFLQuad<float>* pQuad) const;
1351 virtual bool IsCollision(const CFLQuad<double>& quad) const;
1352 virtual bool IsCollision(const CFLQuad<double>* pQuad) const;
1353 virtual bool IsCollision(const CFLCircle<int32_t>& cir) const;
1354 virtual bool IsCollision(const CFLCircle<int32_t>* pCir) const;
1355 virtual bool IsCollision(const CFLCircle<int64_t>& cir) const;
1356 virtual bool IsCollision(const CFLCircle<int64_t>* pCir) const;
1357 virtual bool IsCollision(const CFLCircle<float>& cir) const;
1358 virtual bool IsCollision(const CFLCircle<float>* pCir) const;
1359 virtual bool IsCollision(const CFLCircle<double>& cir) const;
1360 virtual bool IsCollision(const CFLCircle<double>* pCir) const;
1361 virtual bool IsCollision(const CFLEllipse<int32_t>& ell) const;
1362 virtual bool IsCollision(const CFLEllipse<int32_t>* pEll) const;
1363 virtual bool IsCollision(const CFLEllipse<int64_t>& ell) const;
1364 virtual bool IsCollision(const CFLEllipse<int64_t>* pEll) const;
1365 virtual bool IsCollision(const CFLEllipse<float>& ell) const;
1366 virtual bool IsCollision(const CFLEllipse<float>* pEll) const;
1367 virtual bool IsCollision(const CFLEllipse<double>& ell) const;
1368 virtual bool IsCollision(const CFLEllipse<double>* pEll) const;
1369 virtual bool IsCollision(const CFLDoughnut<int32_t>& doughnut) const;
1370 virtual bool IsCollision(const CFLDoughnut<int32_t>* pDoughnut) const;
1371 virtual bool IsCollision(const CFLDoughnut<int64_t>& doughnut) const;
1372 virtual bool IsCollision(const CFLDoughnut<int64_t>* pDoughnut) const;
1373 virtual bool IsCollision(const CFLDoughnut<float>& doughnut) const;
1374 virtual bool IsCollision(const CFLDoughnut<float>* pDoughnut) const;
1375 virtual bool IsCollision(const CFLDoughnut<double>& doughnut) const;
1376 virtual bool IsCollision(const CFLDoughnut<double>* pDoughnut) const;
1377 virtual bool IsCollision(const CFLCubicSpline& flcs) const;
1378 virtual bool IsCollision(const CFLCubicSpline* pFlcs) const;
1379 virtual bool IsCollision(const CFLBezierQuadraticCurve& flbc2) const;
1380 virtual bool IsCollision(const CFLBezierQuadraticCurve* pFlbc2) const;
1381 virtual bool IsCollision(const CFLBezierCubicCurve& flbc3) const;
1382 virtual bool IsCollision(const CFLBezierCubicCurve* pFlbc3) const;
1383 virtual bool IsCollision(const CFLBezierQuarticCurve& flbc4) const;
1384 virtual bool IsCollision(const CFLBezierQuarticCurve* pFlbc4) const;
1385 virtual bool IsCollision(const CFLRegion& flrg) const;
1386 virtual bool IsCollision(const CFLRegion* pFlrg) const;
1387 virtual bool IsCollision(const CFLComplexRegion& flcr) const;
1388 virtual bool IsCollision(const CFLComplexRegion* pFlcr) const;
1389 virtual bool IsCollision(const CFLFigureArray& flfa) const;
1390 virtual bool IsCollision(const CFLFigureArray* pFlfa) const;
1391 virtual bool IsCollision(const CFLPointArray& flpa) const;
1392 virtual bool IsCollision(const CFLPointArray* pFlpa) const;
1394
1396
1411 virtual const CResult GetIntersection(const CFLFigure& figure, CFLFigureArray* pFlfaResult) const;
1412 virtual const CResult GetIntersection(const CFLFigure* pFigure, CFLFigureArray* pFlfaResult) const;
1413 virtual const CResult GetIntersection(const CFLLine<int32_t>& line, CFLFigureArray* pFlfaResult) const;
1414 virtual const CResult GetIntersection(const CFLLine<int32_t>* pLine, CFLFigureArray* pFlfaResult) const;
1415 virtual const CResult GetIntersection(const CFLLine<int64_t>& line, CFLFigureArray* pFlfaResult) const;
1416 virtual const CResult GetIntersection(const CFLLine<int64_t>* pLine, CFLFigureArray* pFlfaResult) const;
1417 virtual const CResult GetIntersection(const CFLLine<float>& line, CFLFigureArray* pFlfaResult) const;
1418 virtual const CResult GetIntersection(const CFLLine<float>* pLine, CFLFigureArray* pFlfaResult) const;
1419 virtual const CResult GetIntersection(const CFLLine<double>& line, CFLFigureArray* pFlfaResult) const;
1420 virtual const CResult GetIntersection(const CFLLine<double>* pLine, CFLFigureArray* pFlfaResult) const;
1421 virtual const CResult GetIntersection(const CFLRect<int32_t>& rect, CFLFigureArray* pFlfaResult) const;
1422 virtual const CResult GetIntersection(const CFLRect<int32_t>* pRect, CFLFigureArray* pFlfaResult) const;
1423 virtual const CResult GetIntersection(const CFLRect<int64_t>& rect, CFLFigureArray* pFlfaResult) const;
1424 virtual const CResult GetIntersection(const CFLRect<int64_t>* pRect, CFLFigureArray* pFlfaResult) const;
1425 virtual const CResult GetIntersection(const CFLRect<float>& rect, CFLFigureArray* pFlfaResult) const;
1426 virtual const CResult GetIntersection(const CFLRect<float>* pRect, CFLFigureArray* pFlfaResult) const;
1427 virtual const CResult GetIntersection(const CFLRect<double>& rect, CFLFigureArray* pFlfaResult) const;
1428 virtual const CResult GetIntersection(const CFLRect<double>* pRect, CFLFigureArray* pFlfaResult) const;
1429 virtual const CResult GetIntersection(const CFLRoundRect<int32_t>& flrr, CFLFigureArray* pFlfaResult) const;
1430 virtual const CResult GetIntersection(const CFLRoundRect<int32_t>* pFlrr, CFLFigureArray* pFlfaResult) const;
1431 virtual const CResult GetIntersection(const CFLRoundRect<int64_t>& flrr, CFLFigureArray* pFlfaResult) const;
1432 virtual const CResult GetIntersection(const CFLRoundRect<int64_t>* pFlrr, CFLFigureArray* pFlfaResult) const;
1433 virtual const CResult GetIntersection(const CFLRoundRect<float>& flrr, CFLFigureArray* pFlfaResult) const;
1434 virtual const CResult GetIntersection(const CFLRoundRect<float>* pFlrr, CFLFigureArray* pFlfaResult) const;
1435 virtual const CResult GetIntersection(const CFLRoundRect<double>& flrr, CFLFigureArray* pFlfaResult) const;
1436 virtual const CResult GetIntersection(const CFLRoundRect<double>* pFlrr, CFLFigureArray* pFlfaResult) const;
1437 virtual const CResult GetIntersection(const CFLQuad<int32_t>& quad, CFLFigureArray* pFlfaResult) const;
1438 virtual const CResult GetIntersection(const CFLQuad<int32_t>* pQuad, CFLFigureArray* pFlfaResult) const;
1439 virtual const CResult GetIntersection(const CFLQuad<int64_t>& quad, CFLFigureArray* pFlfaResult) const;
1440 virtual const CResult GetIntersection(const CFLQuad<int64_t>* pQuad, CFLFigureArray* pFlfaResult) const;
1441 virtual const CResult GetIntersection(const CFLQuad<float>& quad, CFLFigureArray* pFlfaResult) const;
1442 virtual const CResult GetIntersection(const CFLQuad<float>* pQuad, CFLFigureArray* pFlfaResult) const;
1443 virtual const CResult GetIntersection(const CFLQuad<double>& quad, CFLFigureArray* pFlfaResult) const;
1444 virtual const CResult GetIntersection(const CFLQuad<double>* pQuad, CFLFigureArray* pFlfaResult) const;
1445 virtual const CResult GetIntersection(const CFLCircle<int32_t>& cir, CFLFigureArray* pFlfaResult) const;
1446 virtual const CResult GetIntersection(const CFLCircle<int32_t>* pCir, CFLFigureArray* pFlfaResult) const;
1447 virtual const CResult GetIntersection(const CFLCircle<int64_t>& cir, CFLFigureArray* pFlfaResult) const;
1448 virtual const CResult GetIntersection(const CFLCircle<int64_t>* pCir, CFLFigureArray* pFlfaResult) const;
1449 virtual const CResult GetIntersection(const CFLCircle<float>& cir, CFLFigureArray* pFlfaResult) const;
1450 virtual const CResult GetIntersection(const CFLCircle<float>* pCir, CFLFigureArray* pFlfaResult) const;
1451 virtual const CResult GetIntersection(const CFLCircle<double>& cir, CFLFigureArray* pFlfaResult) const;
1452 virtual const CResult GetIntersection(const CFLCircle<double>* pCir, CFLFigureArray* pFlfaResult) const;
1453 virtual const CResult GetIntersection(const CFLEllipse<int32_t>& ell, CFLFigureArray* pFlfaResult) const;
1454 virtual const CResult GetIntersection(const CFLEllipse<int32_t>* pEll, CFLFigureArray* pFlfaResult) const;
1455 virtual const CResult GetIntersection(const CFLEllipse<int64_t>& ell, CFLFigureArray* pFlfaResult) const;
1456 virtual const CResult GetIntersection(const CFLEllipse<int64_t>* pEll, CFLFigureArray* pFlfaResult) const;
1457 virtual const CResult GetIntersection(const CFLEllipse<float>& ell, CFLFigureArray* pFlfaResult) const;
1458 virtual const CResult GetIntersection(const CFLEllipse<float>* pEll, CFLFigureArray* pFlfaResult) const;
1459 virtual const CResult GetIntersection(const CFLEllipse<double>& ell, CFLFigureArray* pFlfaResult) const;
1460 virtual const CResult GetIntersection(const CFLEllipse<double>* pEll, CFLFigureArray* pFlfaResult) const;
1461 virtual const CResult GetIntersection(const CFLDoughnut<int32_t>& doughnut, CFLFigureArray* pFlfaResult) const;
1462 virtual const CResult GetIntersection(const CFLDoughnut<int32_t>* pDoughnut, CFLFigureArray* pFlfaResult) const;
1463 virtual const CResult GetIntersection(const CFLDoughnut<int64_t>& doughnut, CFLFigureArray* pFlfaResult) const;
1464 virtual const CResult GetIntersection(const CFLDoughnut<int64_t>* pDoughnut, CFLFigureArray* pFlfaResult) const;
1465 virtual const CResult GetIntersection(const CFLDoughnut<float>& doughnut, CFLFigureArray* pFlfaResult) const;
1466 virtual const CResult GetIntersection(const CFLDoughnut<float>* pDoughnut, CFLFigureArray* pFlfaResult) const;
1467 virtual const CResult GetIntersection(const CFLDoughnut<double>& doughnut, CFLFigureArray* pFlfaResult) const;
1468 virtual const CResult GetIntersection(const CFLDoughnut<double>* pDoughnut, CFLFigureArray* pFlfaResult) const;
1469 virtual const CResult GetIntersection(const CFLRegion& flrg, CFLFigureArray* pFlfaResult) const;
1470 virtual const CResult GetIntersection(const CFLRegion* pFlrg, CFLFigureArray* pFlfaResult) const;
1471 virtual const CResult GetIntersection(const CFLCubicSpline& flcs, CFLFigureArray* pFlfaResult) const;
1472 virtual const CResult GetIntersection(const CFLCubicSpline* pFlcs, CFLFigureArray* pFlfaResult) const;
1473 virtual const CResult GetIntersection(const CFLBezierQuadraticCurve& flbc2, CFLFigureArray* pFlfaResult) const;
1474 virtual const CResult GetIntersection(const CFLBezierQuadraticCurve* pFlbc2, CFLFigureArray* pFlfaResult) const;
1475 virtual const CResult GetIntersection(const CFLBezierCubicCurve& flbc3, CFLFigureArray* pFlfaResult) const;
1476 virtual const CResult GetIntersection(const CFLBezierCubicCurve* pFlbc3, CFLFigureArray* pFlfaResult) const;
1477 virtual const CResult GetIntersection(const CFLBezierQuarticCurve& flbc4, CFLFigureArray* pFlfaResult) const;
1478 virtual const CResult GetIntersection(const CFLBezierQuarticCurve* pFlbc4, CFLFigureArray* pFlfaResult) const;
1479 virtual const CResult GetIntersection(const CFLComplexRegion& flcr, CFLFigureArray* pFlfaResult) const;
1480 virtual const CResult GetIntersection(const CFLComplexRegion* pFlcr, CFLFigureArray* pFlfaResult) const;
1481 virtual const CResult GetIntersection(const CFLFigureArray& flfaOperand, CFLFigureArray* pFlfaResult) const;
1482 virtual const CResult GetIntersection(const CFLFigureArray* pFlfaOperand, CFLFigureArray* pFlfaResult) const;
1484
1495
1497
1510 virtual const CResult GetCenter(int32_t& x, int32_t& y) const;
1511 virtual const CResult GetCenter(int32_t* x, int32_t* y) const;
1512 virtual const CResult GetCenter(int64_t& x, int64_t& y) const;
1513 virtual const CResult GetCenter(int64_t* x, int64_t* y) const;
1514 virtual const CResult GetCenter(float& x, float& y) const;
1515 virtual const CResult GetCenter(float* x, float* y) const;
1516 virtual const CResult GetCenter(double& x, double& y) const;
1517 virtual const CResult GetCenter(double* x, double* y) const;
1519
1521
1534 virtual const CResult GetCenter(CFLPoint<int32_t>& point) const;
1535 virtual const CResult GetCenter(CFLPoint<int32_t>* pPoint) const;
1536 virtual const CResult GetCenter(CFLPoint<int64_t>& point) const;
1537 virtual const CResult GetCenter(CFLPoint<int64_t>* pPoint) const;
1538 virtual const CResult GetCenter(CFLPoint<float>& point) const;
1539 virtual const CResult GetCenter(CFLPoint<float>* pPoint) const;
1540 virtual const CResult GetCenter(CFLPoint<double>& point) const;
1541 virtual const CResult GetCenter(CFLPoint<double>* pPoint) const;
1543
1554
1556
1569 virtual const CResult GetCenterOfGravity(int32_t& x, int32_t& y) const;
1570 virtual const CResult GetCenterOfGravity(int32_t* x, int32_t* y) const;
1571 virtual const CResult GetCenterOfGravity(int64_t& x, int64_t& y) const;
1572 virtual const CResult GetCenterOfGravity(int64_t* x, int64_t* y) const;
1573 virtual const CResult GetCenterOfGravity(float& x, float& y) const;
1574 virtual const CResult GetCenterOfGravity(float* x, float* y) const;
1575 virtual const CResult GetCenterOfGravity(double& x, double& y) const;
1576 virtual const CResult GetCenterOfGravity(double* x, double* y) const;
1578
1580
1593 virtual const CResult GetCenterOfGravity(CFLPoint<int32_t>& point) const;
1594 virtual const CResult GetCenterOfGravity(CFLPoint<int32_t>* pPoint) const;
1595 virtual const CResult GetCenterOfGravity(CFLPoint<int64_t>& point) const;
1596 virtual const CResult GetCenterOfGravity(CFLPoint<int64_t>* pPoint) const;
1597 virtual const CResult GetCenterOfGravity(CFLPoint<float>& point) const;
1598 virtual const CResult GetCenterOfGravity(CFLPoint<float>* pPoint) const;
1599 virtual const CResult GetCenterOfGravity(CFLPoint<double>& point) const;
1600 virtual const CResult GetCenterOfGravity(CFLPoint<double>* pPoint) const;
1602
1613
1615
1628 virtual const CResult GetMinimumEnclosingRectangleCenter(int32_t& x, int32_t& y) const;
1629 virtual const CResult GetMinimumEnclosingRectangleCenter(int32_t* x, int32_t* y) const;
1630 virtual const CResult GetMinimumEnclosingRectangleCenter(int64_t& x, int64_t& y) const;
1631 virtual const CResult GetMinimumEnclosingRectangleCenter(int64_t* x, int64_t* y) const;
1632 virtual const CResult GetMinimumEnclosingRectangleCenter(float& x, float& y) const;
1633 virtual const CResult GetMinimumEnclosingRectangleCenter(float* x, float* y) const;
1634 virtual const CResult GetMinimumEnclosingRectangleCenter(double& x, double& y) const;
1635 virtual const CResult GetMinimumEnclosingRectangleCenter(double* x, double* y) const;
1637
1639
1661
1670
1672
1689 virtual const CResult GetBoundaryRect(int32_t& left, int32_t& top, int32_t& right, int32_t& bottom) const;
1690 virtual const CResult GetBoundaryRect(int32_t* pLeft, int32_t* pTop, int32_t* pRight, int32_t* pBottom) const;
1691 virtual const CResult GetBoundaryRect(int64_t& left, int64_t& top, int64_t& right, int64_t& bottom) const;
1692 virtual const CResult GetBoundaryRect(int64_t* pLeft, int64_t* pTop, int64_t* pRight, int64_t* pBottom) const;
1693 virtual const CResult GetBoundaryRect(float& left, float& top, float& right, float& bottom) const;
1694 virtual const CResult GetBoundaryRect(float* pLeft, float* pTop, float* pRight, float* pBottom) const;
1695 virtual const CResult GetBoundaryRect(double& left, double& top, double& right, double& bottom) const;
1696 virtual const CResult GetBoundaryRect(double* pLeft, double* pTop, double* pRight, double* pBottom) const;
1698
1700
1713 virtual const CResult GetBoundaryRect(CFLRect<int32_t>& rect) const;
1714 virtual const CResult GetBoundaryRect(CFLRect<int32_t>* pRect) const;
1715 virtual const CResult GetBoundaryRect(CFLRect<int64_t>& rect) const;
1716 virtual const CResult GetBoundaryRect(CFLRect<int64_t>* pRect) const;
1717 virtual const CResult GetBoundaryRect(CFLRect<float>& rect) const;
1718 virtual const CResult GetBoundaryRect(CFLRect<float>* pRect) const;
1719 virtual const CResult GetBoundaryRect(CFLRect<double>& rect) const;
1720 virtual const CResult GetBoundaryRect(CFLRect<double>* pRect) const;
1722
1724
1735 virtual const CResult Offset(int32_t val);
1736 virtual const CResult Offset(int64_t val);
1737 virtual const CResult Offset(float val);
1738 virtual const CResult Offset(double val);
1740
1742
1755 virtual const CResult Offset(int32_t x, int32_t y);
1756 virtual const CResult Offset(int64_t x, int64_t y);
1757 virtual const CResult Offset(float x, float y);
1758 virtual const CResult Offset(double x, double y);
1760
1762
1775 virtual const CResult Offset(const Base::TPoint<int32_t>& point);
1776 virtual const CResult Offset(const Base::TPoint<int32_t>* pPoint);
1777 virtual const CResult Offset(const Base::TPoint<int64_t>& point);
1778 virtual const CResult Offset(const Base::TPoint<int64_t>* pPoint);
1779 virtual const CResult Offset(const Base::TPoint<float>& point);
1780 virtual const CResult Offset(const Base::TPoint<float>* pPoint);
1781 virtual const CResult Offset(const Base::TPoint<double>& point);
1782 virtual const CResult Offset(const Base::TPoint<double>* pPoint);
1784
1786
1799 virtual const CResult Offset(const CFLPoint<int32_t>& point);
1800 virtual const CResult Offset(const CFLPoint<int32_t>* pPoint);
1801 virtual const CResult Offset(const CFLPoint<int64_t>& point);
1802 virtual const CResult Offset(const CFLPoint<int64_t>* pPoint);
1803 virtual const CResult Offset(const CFLPoint<float>& point);
1804 virtual const CResult Offset(const CFLPoint<float>* pPoint);
1805 virtual const CResult Offset(const CFLPoint<double>& point);
1806 virtual const CResult Offset(const CFLPoint<double>* pPoint);
1808
1810
1823 virtual const CResult Multiply(int32_t i32Mul);
1824 virtual const CResult Multiply(int64_t i64Mul);
1825 virtual const CResult Multiply(float f32Mul);
1826 virtual const CResult Multiply(double f64Mul);
1828
1830
1845 virtual const CResult Multiply(int32_t i32MulX, int32_t i32MulY);
1846 virtual const CResult Multiply(int64_t i64MulX, int64_t i64MulY);
1847 virtual const CResult Multiply(float f32MulX, float f32MulY);
1848 virtual const CResult Multiply(double f64MulX, double f64MulY);
1850
1852
1867 virtual const CResult Multiply(const Base::TPoint<int32_t>& tp);
1868 virtual const CResult Multiply(const Base::TPoint<int32_t>* pTp);
1869 virtual const CResult Multiply(const Base::TPoint<int64_t>& tp);
1870 virtual const CResult Multiply(const Base::TPoint<int64_t>* pTp);
1871 virtual const CResult Multiply(const Base::TPoint<float>& tp);
1872 virtual const CResult Multiply(const Base::TPoint<float>* pTp);
1873 virtual const CResult Multiply(const Base::TPoint<double>& tp);
1874 virtual const CResult Multiply(const Base::TPoint<double>* pTp);
1876
1878
1893 virtual const CResult Multiply(const CFLPoint<int32_t>& flp);
1894 virtual const CResult Multiply(const CFLPoint<int32_t>* pFlp);
1895 virtual const CResult Multiply(const CFLPoint<int64_t>& flp);
1896 virtual const CResult Multiply(const CFLPoint<int64_t>* pFlp);
1897 virtual const CResult Multiply(const CFLPoint<float>& flp);
1898 virtual const CResult Multiply(const CFLPoint<float>* pFlp);
1899 virtual const CResult Multiply(const CFLPoint<double>& flp);
1900 virtual const CResult Multiply(const CFLPoint<double>* pFlp);
1902
1904
1923 virtual const CResult GetRasterRegion(CFLFigureArray& flfaResult, const CFLPoint<int64_t>* pFlpImageSize, bool bConservativeRasterization = false) const;
1924 virtual const CResult GetRasterRegion(CFLFigureArray* pFlfaResult, const CFLPoint<int64_t>* pFlpImageSize, bool bConservativeRasterization = false) const;
1926
1928
1947 virtual const CResult GetRasterRegion(CFLFigureArray& flfaResult, const CFLRect<int64_t>* pFlrROI = nullptr, bool bConservativeRasterization = false) const;
1948 virtual const CResult GetRasterRegion(CFLFigureArray* pFlfaResult, const CFLRect<int64_t>* pFlrROI = nullptr, bool bConservativeRasterization = false) const;
1950
1952
1973 virtual const CResult GetRasterRegion(Base::CFLArray<Base::TRect<int32_t>>& flaResult, const CFLPoint<int64_t>* pFlpImageSize, bool bConservativeRasterization = false) const;
1974 virtual const CResult GetRasterRegion(Base::CFLArray<Base::TRect<int32_t>>* pFlaResult, const CFLPoint<int64_t>* pFlpImageSize, bool bConservativeRasterization = false) const;
1975 virtual const CResult GetRasterRegion(Base::CFLArray<Base::TRect<int64_t>>& flaResult, const CFLPoint<int64_t>* pFlpImageSize, bool bConservativeRasterization = false) const;
1976 virtual const CResult GetRasterRegion(Base::CFLArray<Base::TRect<int64_t>>* pFlaResult, const CFLPoint<int64_t>* pFlpImageSize, bool bConservativeRasterization = false) const;
1977 virtual const CResult GetRasterRegion(Base::CFLArray<Base::TRect<float>>& flaResult, const CFLPoint<int64_t>* pFlpImageSize, bool bConservativeRasterization = false) const;
1978 virtual const CResult GetRasterRegion(Base::CFLArray<Base::TRect<float>>* pFlaResult, const CFLPoint<int64_t>* pFlpImageSize, bool bConservativeRasterization = false) const;
1979 virtual const CResult GetRasterRegion(Base::CFLArray<Base::TRect<double>>& flaResult, const CFLPoint<int64_t>* pFlpImageSize, bool bConservativeRasterization = false) const;
1980 virtual const CResult GetRasterRegion(Base::CFLArray<Base::TRect<double>>* pFlaResult, const CFLPoint<int64_t>* pFlpImageSize, bool bConservativeRasterization = false) const;
1982
1984
2005 virtual const CResult GetRasterRegion(Base::CFLArray<Base::TRect<int32_t>>& flaResult, const CFLRect<int64_t>* pFlrROI = nullptr, bool bConservativeRasterization = false) const;
2006 virtual const CResult GetRasterRegion(Base::CFLArray<Base::TRect<int32_t>>* pFlaResult, const CFLRect<int64_t>* pFlrROI = nullptr, bool bConservativeRasterization = false) const;
2007 virtual const CResult GetRasterRegion(Base::CFLArray<Base::TRect<int64_t>>& flaResult, const CFLRect<int64_t>* pFlrROI = nullptr, bool bConservativeRasterization = false) const;
2008 virtual const CResult GetRasterRegion(Base::CFLArray<Base::TRect<int64_t>>* pFlaResult, const CFLRect<int64_t>* pFlrROI = nullptr, bool bConservativeRasterization = false) const;
2009 virtual const CResult GetRasterRegion(Base::CFLArray<Base::TRect<float>>& flaResult, const CFLRect<int64_t>* pFlrROI = nullptr, bool bConservativeRasterization = false) const;
2010 virtual const CResult GetRasterRegion(Base::CFLArray<Base::TRect<float>>* pFlaResult, const CFLRect<int64_t>* pFlrROI = nullptr, bool bConservativeRasterization = false) const;
2011 virtual const CResult GetRasterRegion(Base::CFLArray<Base::TRect<double>>& flaResult, const CFLRect<int64_t>* pFlrROI = nullptr, bool bConservativeRasterization = false) const;
2012 virtual const CResult GetRasterRegion(Base::CFLArray<Base::TRect<double>>* pFlaResult, const CFLRect<int64_t>* pFlrROI = nullptr, bool bConservativeRasterization = false) const;
2014
2016
2039 virtual const CResult GetRasterRegion(Base::CFLArray<Base::TPoint3<int32_t>>& flaResult, const CFLRect<int64_t>* pFlrROI = nullptr, bool bConservativeRasterization = false) const;
2040 virtual const CResult GetRasterRegion(Base::CFLArray<Base::TPoint3<int32_t>>* pFlaResult, const CFLRect<int64_t>* pFlrROI = nullptr, bool bConservativeRasterization = false) const;
2042
2044
2057 virtual const CResult Set(const Base::CFLImage& fli);
2058 virtual const CResult Set(const Base::CFLImage* pFli);
2060
2062
2075 virtual const CResult Set(const Base::CFLImagePage& flip);
2076 virtual const CResult Set(const Base::CFLImagePage* pFlip);
2078
2080
2091 virtual const CResult Set(const CFLFigure& flf);
2092 virtual const CResult Set(const CFLFigure* pFlf);
2094
2096
2113 virtual const CResult GetRegionOfIntersection(const CFLFigure& figure, CFLFigureArray* pFlfaResult) const;
2114 virtual const CResult GetRegionOfIntersection(const CFLFigure* pFigure, CFLFigureArray* pFlfaResult) const;
2115 virtual const CResult GetRegionOfIntersection(const CFLRect<int32_t>& rect, CFLFigureArray* pFlfaResult) const;
2116 virtual const CResult GetRegionOfIntersection(const CFLRect<int32_t>* pRect, CFLFigureArray* pFlfaResult) const;
2117 virtual const CResult GetRegionOfIntersection(const CFLRect<int64_t>& rect, CFLFigureArray* pFlfaResult) const;
2118 virtual const CResult GetRegionOfIntersection(const CFLRect<int64_t>* pRect, CFLFigureArray* pFlfaResult) const;
2119 virtual const CResult GetRegionOfIntersection(const CFLRect<float>& rect, CFLFigureArray* pFlfaResult) const;
2120 virtual const CResult GetRegionOfIntersection(const CFLRect<float>* pRect, CFLFigureArray* pFlfaResult) const;
2121 virtual const CResult GetRegionOfIntersection(const CFLRect<double>& rect, CFLFigureArray* pFlfaResult) const;
2122 virtual const CResult GetRegionOfIntersection(const CFLRect<double>* pRect, CFLFigureArray* pFlfaResult) const;
2123 virtual const CResult GetRegionOfIntersection(const CFLRoundRect<int32_t>& flrr, CFLFigureArray* pFlfaResult) const;
2124 virtual const CResult GetRegionOfIntersection(const CFLRoundRect<int32_t>* pFlrr, CFLFigureArray* pFlfaResult) const;
2125 virtual const CResult GetRegionOfIntersection(const CFLRoundRect<int64_t>& flrr, CFLFigureArray* pFlfaResult) const;
2126 virtual const CResult GetRegionOfIntersection(const CFLRoundRect<int64_t>* pFlrr, CFLFigureArray* pFlfaResult) const;
2127 virtual const CResult GetRegionOfIntersection(const CFLRoundRect<float>& flrr, CFLFigureArray* pFlfaResult) const;
2128 virtual const CResult GetRegionOfIntersection(const CFLRoundRect<float>* pFlrr, CFLFigureArray* pFlfaResult) const;
2129 virtual const CResult GetRegionOfIntersection(const CFLRoundRect<double>& flrr, CFLFigureArray* pFlfaResult) const;
2130 virtual const CResult GetRegionOfIntersection(const CFLRoundRect<double>* pFlrr, CFLFigureArray* pFlfaResult) const;
2131 virtual const CResult GetRegionOfIntersection(const CFLQuad<int32_t>& quad, CFLFigureArray* pFlfaResult) const;
2132 virtual const CResult GetRegionOfIntersection(const CFLQuad<int32_t>* pQuad, CFLFigureArray* pFlfaResult) const;
2133 virtual const CResult GetRegionOfIntersection(const CFLQuad<int64_t>& quad, CFLFigureArray* pFlfaResult) const;
2134 virtual const CResult GetRegionOfIntersection(const CFLQuad<int64_t>* pQuad, CFLFigureArray* pFlfaResult) const;
2135 virtual const CResult GetRegionOfIntersection(const CFLQuad<float>& quad, CFLFigureArray* pFlfaResult) const;
2136 virtual const CResult GetRegionOfIntersection(const CFLQuad<float>* pQuad, CFLFigureArray* pFlfaResult) const;
2137 virtual const CResult GetRegionOfIntersection(const CFLQuad<double>& quad, CFLFigureArray* pFlfaResult) const;
2138 virtual const CResult GetRegionOfIntersection(const CFLQuad<double>* pQuad, CFLFigureArray* pFlfaResult) const;
2139 virtual const CResult GetRegionOfIntersection(const CFLCircle<int32_t>& cir, CFLFigureArray* pFlfaResult) const;
2140 virtual const CResult GetRegionOfIntersection(const CFLCircle<int32_t>* pCir, CFLFigureArray* pFlfaResult) const;
2141 virtual const CResult GetRegionOfIntersection(const CFLCircle<int64_t>& cir, CFLFigureArray* pFlfaResult) const;
2142 virtual const CResult GetRegionOfIntersection(const CFLCircle<int64_t>* pCir, CFLFigureArray* pFlfaResult) const;
2143 virtual const CResult GetRegionOfIntersection(const CFLCircle<float>& cir, CFLFigureArray* pFlfaResult) const;
2144 virtual const CResult GetRegionOfIntersection(const CFLCircle<float>* pCir, CFLFigureArray* pFlfaResult) const;
2145 virtual const CResult GetRegionOfIntersection(const CFLCircle<double>& cir, CFLFigureArray* pFlfaResult) const;
2146 virtual const CResult GetRegionOfIntersection(const CFLCircle<double>* pCir, CFLFigureArray* pFlfaResult) const;
2147 virtual const CResult GetRegionOfIntersection(const CFLEllipse<int32_t>& ell, CFLFigureArray* pFlfaResult) const;
2148 virtual const CResult GetRegionOfIntersection(const CFLEllipse<int32_t>* pEll, CFLFigureArray* pFlfaResult) const;
2149 virtual const CResult GetRegionOfIntersection(const CFLEllipse<int64_t>& ell, CFLFigureArray* pFlfaResult) const;
2150 virtual const CResult GetRegionOfIntersection(const CFLEllipse<int64_t>* pEll, CFLFigureArray* pFlfaResult) const;
2151 virtual const CResult GetRegionOfIntersection(const CFLEllipse<float>& ell, CFLFigureArray* pFlfaResult) const;
2152 virtual const CResult GetRegionOfIntersection(const CFLEllipse<float>* pEll, CFLFigureArray* pFlfaResult) const;
2153 virtual const CResult GetRegionOfIntersection(const CFLEllipse<double>& ell, CFLFigureArray* pFlfaResult) const;
2154 virtual const CResult GetRegionOfIntersection(const CFLEllipse<double>* pEll, CFLFigureArray* pFlfaResult) const;
2155 virtual const CResult GetRegionOfIntersection(const CFLDoughnut<int32_t>& doughnut, CFLFigureArray* pFlfaResult) const;
2156 virtual const CResult GetRegionOfIntersection(const CFLDoughnut<int32_t>* pDoughnut, CFLFigureArray* pFlfaResult) const;
2157 virtual const CResult GetRegionOfIntersection(const CFLDoughnut<int64_t>& doughnut, CFLFigureArray* pFlfaResult) const;
2158 virtual const CResult GetRegionOfIntersection(const CFLDoughnut<int64_t>* pDoughnut, CFLFigureArray* pFlfaResult) const;
2159 virtual const CResult GetRegionOfIntersection(const CFLDoughnut<float>& doughnut, CFLFigureArray* pFlfaResult) const;
2160 virtual const CResult GetRegionOfIntersection(const CFLDoughnut<float>* pDoughnut, CFLFigureArray* pFlfaResult) const;
2161 virtual const CResult GetRegionOfIntersection(const CFLDoughnut<double>& doughnut, CFLFigureArray* pFlfaResult) const;
2162 virtual const CResult GetRegionOfIntersection(const CFLDoughnut<double>* pDoughnut, CFLFigureArray* pFlfaResult) const;
2163 virtual const CResult GetRegionOfIntersection(const CFLRegion& flrg, CFLFigureArray* pFlfaResult) const;
2164 virtual const CResult GetRegionOfIntersection(const CFLRegion* pFlrg, CFLFigureArray* pFlfaResult) const;
2165 virtual const CResult GetRegionOfIntersection(const CFLComplexRegion& flcr, CFLFigureArray* pFlfaResult) const;
2166 virtual const CResult GetRegionOfIntersection(const CFLComplexRegion* pFlcr, CFLFigureArray* pFlfaResult) const;
2167 virtual const CResult GetRegionOfIntersection(const CFLFigureArray& flfaOperand, CFLFigureArray* pFlfaResult) const;
2168 virtual const CResult GetRegionOfIntersection(const CFLFigureArray* pFlfaOperand, CFLFigureArray* pFlfaResult) const;
2170
2172
2189 virtual const CResult GetRegionOfUnion(const CFLFigure& figure, CFLFigureArray* pFlfaResult) const;
2190 virtual const CResult GetRegionOfUnion(const CFLFigure* pFigure, CFLFigureArray* pFlfaResult) const;
2191 virtual const CResult GetRegionOfUnion(const CFLRect<int32_t>& rect, CFLFigureArray* pFlfaResult) const;
2192 virtual const CResult GetRegionOfUnion(const CFLRect<int32_t>* pRect, CFLFigureArray* pFlfaResult) const;
2193 virtual const CResult GetRegionOfUnion(const CFLRect<int64_t>& rect, CFLFigureArray* pFlfaResult) const;
2194 virtual const CResult GetRegionOfUnion(const CFLRect<int64_t>* pRect, CFLFigureArray* pFlfaResult) const;
2195 virtual const CResult GetRegionOfUnion(const CFLRect<float>& rect, CFLFigureArray* pFlfaResult) const;
2196 virtual const CResult GetRegionOfUnion(const CFLRect<float>* pRect, CFLFigureArray* pFlfaResult) const;
2197 virtual const CResult GetRegionOfUnion(const CFLRect<double>& rect, CFLFigureArray* pFlfaResult) const;
2198 virtual const CResult GetRegionOfUnion(const CFLRect<double>* pRect, CFLFigureArray* pFlfaResult) const;
2199 virtual const CResult GetRegionOfUnion(const CFLRoundRect<int32_t>& flrr, CFLFigureArray* pFlfaResult) const;
2200 virtual const CResult GetRegionOfUnion(const CFLRoundRect<int32_t>* pFlrr, CFLFigureArray* pFlfaResult) const;
2201 virtual const CResult GetRegionOfUnion(const CFLRoundRect<int64_t>& flrr, CFLFigureArray* pFlfaResult) const;
2202 virtual const CResult GetRegionOfUnion(const CFLRoundRect<int64_t>* pFlrr, CFLFigureArray* pFlfaResult) const;
2203 virtual const CResult GetRegionOfUnion(const CFLRoundRect<float>& flrr, CFLFigureArray* pFlfaResult) const;
2204 virtual const CResult GetRegionOfUnion(const CFLRoundRect<float>* pFlrr, CFLFigureArray* pFlfaResult) const;
2205 virtual const CResult GetRegionOfUnion(const CFLRoundRect<double>& flrr, CFLFigureArray* pFlfaResult) const;
2206 virtual const CResult GetRegionOfUnion(const CFLRoundRect<double>* pFlrr, CFLFigureArray* pFlfaResult) const;
2207 virtual const CResult GetRegionOfUnion(const CFLQuad<int32_t>& quad, CFLFigureArray* pFlfaResult) const;
2208 virtual const CResult GetRegionOfUnion(const CFLQuad<int32_t>* pQuad, CFLFigureArray* pFlfaResult) const;
2209 virtual const CResult GetRegionOfUnion(const CFLQuad<int64_t>& quad, CFLFigureArray* pFlfaResult) const;
2210 virtual const CResult GetRegionOfUnion(const CFLQuad<int64_t>* pQuad, CFLFigureArray* pFlfaResult) const;
2211 virtual const CResult GetRegionOfUnion(const CFLQuad<float>& quad, CFLFigureArray* pFlfaResult) const;
2212 virtual const CResult GetRegionOfUnion(const CFLQuad<float>* pQuad, CFLFigureArray* pFlfaResult) const;
2213 virtual const CResult GetRegionOfUnion(const CFLQuad<double>& quad, CFLFigureArray* pFlfaResult) const;
2214 virtual const CResult GetRegionOfUnion(const CFLQuad<double>* pQuad, CFLFigureArray* pFlfaResult) const;
2215 virtual const CResult GetRegionOfUnion(const CFLCircle<int32_t>& cir, CFLFigureArray* pFlfaResult) const;
2216 virtual const CResult GetRegionOfUnion(const CFLCircle<int32_t>* pCir, CFLFigureArray* pFlfaResult) const;
2217 virtual const CResult GetRegionOfUnion(const CFLCircle<int64_t>& cir, CFLFigureArray* pFlfaResult) const;
2218 virtual const CResult GetRegionOfUnion(const CFLCircle<int64_t>* pCir, CFLFigureArray* pFlfaResult) const;
2219 virtual const CResult GetRegionOfUnion(const CFLCircle<float>& cir, CFLFigureArray* pFlfaResult) const;
2220 virtual const CResult GetRegionOfUnion(const CFLCircle<float>* pCir, CFLFigureArray* pFlfaResult) const;
2221 virtual const CResult GetRegionOfUnion(const CFLCircle<double>& cir, CFLFigureArray* pFlfaResult) const;
2222 virtual const CResult GetRegionOfUnion(const CFLCircle<double>* pCir, CFLFigureArray* pFlfaResult) const;
2223 virtual const CResult GetRegionOfUnion(const CFLEllipse<int32_t>& ell, CFLFigureArray* pFlfaResult) const;
2224 virtual const CResult GetRegionOfUnion(const CFLEllipse<int32_t>* pEll, CFLFigureArray* pFlfaResult) const;
2225 virtual const CResult GetRegionOfUnion(const CFLEllipse<int64_t>& ell, CFLFigureArray* pFlfaResult) const;
2226 virtual const CResult GetRegionOfUnion(const CFLEllipse<int64_t>* pEll, CFLFigureArray* pFlfaResult) const;
2227 virtual const CResult GetRegionOfUnion(const CFLEllipse<float>& ell, CFLFigureArray* pFlfaResult) const;
2228 virtual const CResult GetRegionOfUnion(const CFLEllipse<float>* pEll, CFLFigureArray* pFlfaResult) const;
2229 virtual const CResult GetRegionOfUnion(const CFLEllipse<double>& ell, CFLFigureArray* pFlfaResult) const;
2230 virtual const CResult GetRegionOfUnion(const CFLEllipse<double>* pEll, CFLFigureArray* pFlfaResult) const;
2231 virtual const CResult GetRegionOfUnion(const CFLDoughnut<int32_t>& doughnut, CFLFigureArray* pFlfaResult) const;
2232 virtual const CResult GetRegionOfUnion(const CFLDoughnut<int32_t>* pDoughnut, CFLFigureArray* pFlfaResult) const;
2233 virtual const CResult GetRegionOfUnion(const CFLDoughnut<int64_t>& doughnut, CFLFigureArray* pFlfaResult) const;
2234 virtual const CResult GetRegionOfUnion(const CFLDoughnut<int64_t>* pDoughnut, CFLFigureArray* pFlfaResult) const;
2235 virtual const CResult GetRegionOfUnion(const CFLDoughnut<float>& doughnut, CFLFigureArray* pFlfaResult) const;
2236 virtual const CResult GetRegionOfUnion(const CFLDoughnut<float>* pDoughnut, CFLFigureArray* pFlfaResult) const;
2237 virtual const CResult GetRegionOfUnion(const CFLDoughnut<double>& doughnut, CFLFigureArray* pFlfaResult) const;
2238 virtual const CResult GetRegionOfUnion(const CFLDoughnut<double>* pDoughnut, CFLFigureArray* pFlfaResult) const;
2239 virtual const CResult GetRegionOfUnion(const CFLRegion& flrg, CFLFigureArray* pFlfaResult) const;
2240 virtual const CResult GetRegionOfUnion(const CFLRegion* pFlrg, CFLFigureArray* pFlfaResult) const;
2241 virtual const CResult GetRegionOfUnion(const CFLComplexRegion& flcr, CFLFigureArray* pFlfaResult) const;
2242 virtual const CResult GetRegionOfUnion(const CFLComplexRegion* pFlcr, CFLFigureArray* pFlfaResult) const;
2243 virtual const CResult GetRegionOfUnion(const CFLFigureArray& flfaOperand, CFLFigureArray* pFlfaResult) const;
2244 virtual const CResult GetRegionOfUnion(const CFLFigureArray* pFlfaOperand, CFLFigureArray* pFlfaResult) const;
2246
2248
2265 virtual const CResult GetRegionOfSubtraction(const CFLFigure& figure, CFLFigureArray* pFlfaResult) const;
2266 virtual const CResult GetRegionOfSubtraction(const CFLFigure* pFigure, CFLFigureArray* pFlfaResult) const;
2267 virtual const CResult GetRegionOfSubtraction(const CFLRect<int32_t>& rect, CFLFigureArray* pFlfaResult) const;
2268 virtual const CResult GetRegionOfSubtraction(const CFLRect<int32_t>* pRect, CFLFigureArray* pFlfaResult) const;
2269 virtual const CResult GetRegionOfSubtraction(const CFLRect<int64_t>& rect, CFLFigureArray* pFlfaResult) const;
2270 virtual const CResult GetRegionOfSubtraction(const CFLRect<int64_t>* pRect, CFLFigureArray* pFlfaResult) const;
2271 virtual const CResult GetRegionOfSubtraction(const CFLRect<float>& rect, CFLFigureArray* pFlfaResult) const;
2272 virtual const CResult GetRegionOfSubtraction(const CFLRect<float>* pRect, CFLFigureArray* pFlfaResult) const;
2273 virtual const CResult GetRegionOfSubtraction(const CFLRect<double>& rect, CFLFigureArray* pFlfaResult) const;
2274 virtual const CResult GetRegionOfSubtraction(const CFLRect<double>* pRect, CFLFigureArray* pFlfaResult) const;
2275 virtual const CResult GetRegionOfSubtraction(const CFLRoundRect<int32_t>& flrr, CFLFigureArray* pFlfaResult) const;
2276 virtual const CResult GetRegionOfSubtraction(const CFLRoundRect<int32_t>* pFlrr, CFLFigureArray* pFlfaResult) const;
2277 virtual const CResult GetRegionOfSubtraction(const CFLRoundRect<int64_t>& flrr, CFLFigureArray* pFlfaResult) const;
2278 virtual const CResult GetRegionOfSubtraction(const CFLRoundRect<int64_t>* pFlrr, CFLFigureArray* pFlfaResult) const;
2279 virtual const CResult GetRegionOfSubtraction(const CFLRoundRect<float>& flrr, CFLFigureArray* pFlfaResult) const;
2280 virtual const CResult GetRegionOfSubtraction(const CFLRoundRect<float>* pFlrr, CFLFigureArray* pFlfaResult) const;
2281 virtual const CResult GetRegionOfSubtraction(const CFLRoundRect<double>& flrr, CFLFigureArray* pFlfaResult) const;
2282 virtual const CResult GetRegionOfSubtraction(const CFLRoundRect<double>* pFlrr, CFLFigureArray* pFlfaResult) const;
2283 virtual const CResult GetRegionOfSubtraction(const CFLQuad<int32_t>& quad, CFLFigureArray* pFlfaResult) const;
2284 virtual const CResult GetRegionOfSubtraction(const CFLQuad<int32_t>* pQuad, CFLFigureArray* pFlfaResult) const;
2285 virtual const CResult GetRegionOfSubtraction(const CFLQuad<int64_t>& quad, CFLFigureArray* pFlfaResult) const;
2286 virtual const CResult GetRegionOfSubtraction(const CFLQuad<int64_t>* pQuad, CFLFigureArray* pFlfaResult) const;
2287 virtual const CResult GetRegionOfSubtraction(const CFLQuad<float>& quad, CFLFigureArray* pFlfaResult) const;
2288 virtual const CResult GetRegionOfSubtraction(const CFLQuad<float>* pQuad, CFLFigureArray* pFlfaResult) const;
2289 virtual const CResult GetRegionOfSubtraction(const CFLQuad<double>& quad, CFLFigureArray* pFlfaResult) const;
2290 virtual const CResult GetRegionOfSubtraction(const CFLQuad<double>* pQuad, CFLFigureArray* pFlfaResult) const;
2291 virtual const CResult GetRegionOfSubtraction(const CFLCircle<int32_t>& cir, CFLFigureArray* pFlfaResult) const;
2292 virtual const CResult GetRegionOfSubtraction(const CFLCircle<int32_t>* pCir, CFLFigureArray* pFlfaResult) const;
2293 virtual const CResult GetRegionOfSubtraction(const CFLCircle<int64_t>& cir, CFLFigureArray* pFlfaResult) const;
2294 virtual const CResult GetRegionOfSubtraction(const CFLCircle<int64_t>* pCir, CFLFigureArray* pFlfaResult) const;
2295 virtual const CResult GetRegionOfSubtraction(const CFLCircle<float>& cir, CFLFigureArray* pFlfaResult) const;
2296 virtual const CResult GetRegionOfSubtraction(const CFLCircle<float>* pCir, CFLFigureArray* pFlfaResult) const;
2297 virtual const CResult GetRegionOfSubtraction(const CFLCircle<double>& cir, CFLFigureArray* pFlfaResult) const;
2298 virtual const CResult GetRegionOfSubtraction(const CFLCircle<double>* pCir, CFLFigureArray* pFlfaResult) const;
2299 virtual const CResult GetRegionOfSubtraction(const CFLEllipse<int32_t>& ell, CFLFigureArray* pFlfaResult) const;
2300 virtual const CResult GetRegionOfSubtraction(const CFLEllipse<int32_t>* pEll, CFLFigureArray* pFlfaResult) const;
2301 virtual const CResult GetRegionOfSubtraction(const CFLEllipse<int64_t>& ell, CFLFigureArray* pFlfaResult) const;
2302 virtual const CResult GetRegionOfSubtraction(const CFLEllipse<int64_t>* pEll, CFLFigureArray* pFlfaResult) const;
2303 virtual const CResult GetRegionOfSubtraction(const CFLEllipse<float>& ell, CFLFigureArray* pFlfaResult) const;
2304 virtual const CResult GetRegionOfSubtraction(const CFLEllipse<float>* pEll, CFLFigureArray* pFlfaResult) const;
2305 virtual const CResult GetRegionOfSubtraction(const CFLEllipse<double>& ell, CFLFigureArray* pFlfaResult) const;
2306 virtual const CResult GetRegionOfSubtraction(const CFLEllipse<double>* pEll, CFLFigureArray* pFlfaResult) const;
2307 virtual const CResult GetRegionOfSubtraction(const CFLDoughnut<int32_t>& doughnut, CFLFigureArray* pFlfaResult) const;
2308 virtual const CResult GetRegionOfSubtraction(const CFLDoughnut<int32_t>* pDoughnut, CFLFigureArray* pFlfaResult) const;
2309 virtual const CResult GetRegionOfSubtraction(const CFLDoughnut<int64_t>& doughnut, CFLFigureArray* pFlfaResult) const;
2310 virtual const CResult GetRegionOfSubtraction(const CFLDoughnut<int64_t>* pDoughnut, CFLFigureArray* pFlfaResult) const;
2311 virtual const CResult GetRegionOfSubtraction(const CFLDoughnut<float>& doughnut, CFLFigureArray* pFlfaResult) const;
2312 virtual const CResult GetRegionOfSubtraction(const CFLDoughnut<float>* pDoughnut, CFLFigureArray* pFlfaResult) const;
2313 virtual const CResult GetRegionOfSubtraction(const CFLDoughnut<double>& doughnut, CFLFigureArray* pFlfaResult) const;
2314 virtual const CResult GetRegionOfSubtraction(const CFLDoughnut<double>* pDoughnut, CFLFigureArray* pFlfaResult) const;
2315 virtual const CResult GetRegionOfSubtraction(const CFLRegion& flrg, CFLFigureArray* pFlfaResult) const;
2316 virtual const CResult GetRegionOfSubtraction(const CFLRegion* pFlrg, CFLFigureArray* pFlfaResult) const;
2317 virtual const CResult GetRegionOfSubtraction(const CFLComplexRegion& flcr, CFLFigureArray* pFlfaResult) const;
2318 virtual const CResult GetRegionOfSubtraction(const CFLComplexRegion* pFlcr, CFLFigureArray* pFlfaResult) const;
2319 virtual const CResult GetRegionOfSubtraction(const CFLFigureArray& flfaOperand, CFLFigureArray* pFlfaResult) const;
2320 virtual const CResult GetRegionOfSubtraction(const CFLFigureArray* pFlfaOperand, CFLFigureArray* pFlfaResult) const;
2322
2324
2341 virtual const CResult GetRegionOfExclusiveOr(const CFLFigure& figure, CFLFigureArray* pFlfaResult) const;
2342 virtual const CResult GetRegionOfExclusiveOr(const CFLFigure* pFigure, CFLFigureArray* pFlfaResult) const;
2343 virtual const CResult GetRegionOfExclusiveOr(const CFLRect<int32_t>& rect, CFLFigureArray* pFlfaResult) const;
2344 virtual const CResult GetRegionOfExclusiveOr(const CFLRect<int32_t>* pRect, CFLFigureArray* pFlfaResult) const;
2345 virtual const CResult GetRegionOfExclusiveOr(const CFLRect<int64_t>& rect, CFLFigureArray* pFlfaResult) const;
2346 virtual const CResult GetRegionOfExclusiveOr(const CFLRect<int64_t>* pRect, CFLFigureArray* pFlfaResult) const;
2347 virtual const CResult GetRegionOfExclusiveOr(const CFLRect<float>& rect, CFLFigureArray* pFlfaResult) const;
2348 virtual const CResult GetRegionOfExclusiveOr(const CFLRect<float>* pRect, CFLFigureArray* pFlfaResult) const;
2349 virtual const CResult GetRegionOfExclusiveOr(const CFLRect<double>& rect, CFLFigureArray* pFlfaResult) const;
2350 virtual const CResult GetRegionOfExclusiveOr(const CFLRect<double>* pRect, CFLFigureArray* pFlfaResult) const;
2351 virtual const CResult GetRegionOfExclusiveOr(const CFLRoundRect<int32_t>& flrr, CFLFigureArray* pFlfaResult) const;
2352 virtual const CResult GetRegionOfExclusiveOr(const CFLRoundRect<int32_t>* pFlrr, CFLFigureArray* pFlfaResult) const;
2353 virtual const CResult GetRegionOfExclusiveOr(const CFLRoundRect<int64_t>& flrr, CFLFigureArray* pFlfaResult) const;
2354 virtual const CResult GetRegionOfExclusiveOr(const CFLRoundRect<int64_t>* pFlrr, CFLFigureArray* pFlfaResult) const;
2355 virtual const CResult GetRegionOfExclusiveOr(const CFLRoundRect<float>& flrr, CFLFigureArray* pFlfaResult) const;
2356 virtual const CResult GetRegionOfExclusiveOr(const CFLRoundRect<float>* pFlrr, CFLFigureArray* pFlfaResult) const;
2357 virtual const CResult GetRegionOfExclusiveOr(const CFLRoundRect<double>& flrr, CFLFigureArray* pFlfaResult) const;
2358 virtual const CResult GetRegionOfExclusiveOr(const CFLRoundRect<double>* pFlrr, CFLFigureArray* pFlfaResult) const;
2359 virtual const CResult GetRegionOfExclusiveOr(const CFLQuad<int32_t>& quad, CFLFigureArray* pFlfaResult) const;
2360 virtual const CResult GetRegionOfExclusiveOr(const CFLQuad<int32_t>* pQuad, CFLFigureArray* pFlfaResult) const;
2361 virtual const CResult GetRegionOfExclusiveOr(const CFLQuad<int64_t>& quad, CFLFigureArray* pFlfaResult) const;
2362 virtual const CResult GetRegionOfExclusiveOr(const CFLQuad<int64_t>* pQuad, CFLFigureArray* pFlfaResult) const;
2363 virtual const CResult GetRegionOfExclusiveOr(const CFLQuad<float>& quad, CFLFigureArray* pFlfaResult) const;
2364 virtual const CResult GetRegionOfExclusiveOr(const CFLQuad<float>* pQuad, CFLFigureArray* pFlfaResult) const;
2365 virtual const CResult GetRegionOfExclusiveOr(const CFLQuad<double>& quad, CFLFigureArray* pFlfaResult) const;
2366 virtual const CResult GetRegionOfExclusiveOr(const CFLQuad<double>* pQuad, CFLFigureArray* pFlfaResult) const;
2367 virtual const CResult GetRegionOfExclusiveOr(const CFLCircle<int32_t>& cir, CFLFigureArray* pFlfaResult) const;
2368 virtual const CResult GetRegionOfExclusiveOr(const CFLCircle<int32_t>* pCir, CFLFigureArray* pFlfaResult) const;
2369 virtual const CResult GetRegionOfExclusiveOr(const CFLCircle<int64_t>& cir, CFLFigureArray* pFlfaResult) const;
2370 virtual const CResult GetRegionOfExclusiveOr(const CFLCircle<int64_t>* pCir, CFLFigureArray* pFlfaResult) const;
2371 virtual const CResult GetRegionOfExclusiveOr(const CFLCircle<float>& cir, CFLFigureArray* pFlfaResult) const;
2372 virtual const CResult GetRegionOfExclusiveOr(const CFLCircle<float>* pCir, CFLFigureArray* pFlfaResult) const;
2373 virtual const CResult GetRegionOfExclusiveOr(const CFLCircle<double>& cir, CFLFigureArray* pFlfaResult) const;
2374 virtual const CResult GetRegionOfExclusiveOr(const CFLCircle<double>* pCir, CFLFigureArray* pFlfaResult) const;
2375 virtual const CResult GetRegionOfExclusiveOr(const CFLEllipse<int32_t>& ell, CFLFigureArray* pFlfaResult) const;
2376 virtual const CResult GetRegionOfExclusiveOr(const CFLEllipse<int32_t>* pEll, CFLFigureArray* pFlfaResult) const;
2377 virtual const CResult GetRegionOfExclusiveOr(const CFLEllipse<int64_t>& ell, CFLFigureArray* pFlfaResult) const;
2378 virtual const CResult GetRegionOfExclusiveOr(const CFLEllipse<int64_t>* pEll, CFLFigureArray* pFlfaResult) const;
2379 virtual const CResult GetRegionOfExclusiveOr(const CFLEllipse<float>& ell, CFLFigureArray* pFlfaResult) const;
2380 virtual const CResult GetRegionOfExclusiveOr(const CFLEllipse<float>* pEll, CFLFigureArray* pFlfaResult) const;
2381 virtual const CResult GetRegionOfExclusiveOr(const CFLEllipse<double>& ell, CFLFigureArray* pFlfaResult) const;
2382 virtual const CResult GetRegionOfExclusiveOr(const CFLEllipse<double>* pEll, CFLFigureArray* pFlfaResult) const;
2383 virtual const CResult GetRegionOfExclusiveOr(const CFLDoughnut<int32_t>& doughnut, CFLFigureArray* pFlfaResult) const;
2384 virtual const CResult GetRegionOfExclusiveOr(const CFLDoughnut<int32_t>* pDoughnut, CFLFigureArray* pFlfaResult) const;
2385 virtual const CResult GetRegionOfExclusiveOr(const CFLDoughnut<int64_t>& doughnut, CFLFigureArray* pFlfaResult) const;
2386 virtual const CResult GetRegionOfExclusiveOr(const CFLDoughnut<int64_t>* pDoughnut, CFLFigureArray* pFlfaResult) const;
2387 virtual const CResult GetRegionOfExclusiveOr(const CFLDoughnut<float>& doughnut, CFLFigureArray* pFlfaResult) const;
2388 virtual const CResult GetRegionOfExclusiveOr(const CFLDoughnut<float>* pDoughnut, CFLFigureArray* pFlfaResult) const;
2389 virtual const CResult GetRegionOfExclusiveOr(const CFLDoughnut<double>& doughnut, CFLFigureArray* pFlfaResult) const;
2390 virtual const CResult GetRegionOfExclusiveOr(const CFLDoughnut<double>* pDoughnut, CFLFigureArray* pFlfaResult) const;
2391 virtual const CResult GetRegionOfExclusiveOr(const CFLRegion& flrg, CFLFigureArray* pFlfaResult) const;
2392 virtual const CResult GetRegionOfExclusiveOr(const CFLRegion* pFlrg, CFLFigureArray* pFlfaResult) const;
2393 virtual const CResult GetRegionOfExclusiveOr(const CFLComplexRegion& flcr, CFLFigureArray* pFlfaResult) const;
2394 virtual const CResult GetRegionOfExclusiveOr(const CFLComplexRegion* pFlcr, CFLFigureArray* pFlfaResult) const;
2395 virtual const CResult GetRegionOfExclusiveOr(const CFLFigureArray& flfaOperand, CFLFigureArray* pFlfaResult) const;
2396 virtual const CResult GetRegionOfExclusiveOr(const CFLFigureArray* pFlfaOperand, CFLFigureArray* pFlfaResult) const;
2398
2410 virtual const CResult Rotate(double f64Angle);
2411
2413
2428 virtual const CResult Rotate(double f64Angle, int32_t i32PivotX, int32_t i32PivotY);
2429 virtual const CResult Rotate(double f64Angle, int64_t i64PivotX, int64_t i64PivotY);
2430 virtual const CResult Rotate(double f64Angle, float f32PivotX, float f32PivotY);
2431 virtual const CResult Rotate(double f64Angle, double f64PivotX, double f64PivotY);
2433
2435
2450 virtual const CResult Rotate(double f64Angle, const CFLPoint<int32_t>& flpPivot);
2451 virtual const CResult Rotate(double f64Angle, const CFLPoint<int32_t>* pFlpPivot);
2452 virtual const CResult Rotate(double f64Angle, const CFLPoint<int64_t>& flpPivot);
2453 virtual const CResult Rotate(double f64Angle, const CFLPoint<int64_t>* pFlpPivot);
2454 virtual const CResult Rotate(double f64Angle, const CFLPoint<float>& flpPivot);
2455 virtual const CResult Rotate(double f64Angle, const CFLPoint<float>* pFlpPivot);
2456 virtual const CResult Rotate(double f64Angle, const CFLPoint<double>& flpPivot);
2457 virtual const CResult Rotate(double f64Angle, const CFLPoint<double>* pFlpPivot);
2459
2473 virtual const CResult Flip(EFigureFlipDirection eDirection);
2474
2476
2493 virtual const CResult Flip(EFigureFlipDirection eDirection, int32_t i32PivotX, int32_t i32PivotY);
2494 virtual const CResult Flip(EFigureFlipDirection eDirection, int64_t i64PivotX, int64_t i64PivotY);
2495 virtual const CResult Flip(EFigureFlipDirection eDirection, float f32PivotX, float f32PivotY);
2496 virtual const CResult Flip(EFigureFlipDirection eDirection, double f64PivotX, double f64PivotY);
2498
2500
2517 virtual const CResult Flip(EFigureFlipDirection eDirection, const CFLPoint<int32_t>& flpPivot);
2518 virtual const CResult Flip(EFigureFlipDirection eDirection, const CFLPoint<int32_t>* pFlpPivot);
2519 virtual const CResult Flip(EFigureFlipDirection eDirection, const CFLPoint<int64_t>& flpPivot);
2520 virtual const CResult Flip(EFigureFlipDirection eDirection, const CFLPoint<int64_t>* pFlpPivot);
2521 virtual const CResult Flip(EFigureFlipDirection eDirection, const CFLPoint<float>& flpPivot);
2522 virtual const CResult Flip(EFigureFlipDirection eDirection, const CFLPoint<float>* pFlpPivot);
2523 virtual const CResult Flip(EFigureFlipDirection eDirection, const CFLPoint<double>& flpPivot);
2524 virtual const CResult Flip(EFigureFlipDirection eDirection, const CFLPoint<double>* pFlpPivot);
2526
2528
2551 virtual const CResult Warp(const CFLQuad<double>& flqSourceRegion, const CFLQuad<double>& flqTargetRegion, CFLFigureArray& flfaResult, EWarpingType eWarpingType = EWarpingType_Bilinear) const;
2552 virtual const CResult Warp(const CFLQuad<double>* pFlqSourceRegion, const CFLQuad<double>* pFlqTargetRegion, CFLFigureArray& flfaResult, EWarpingType eWarpingType = EWarpingType_Bilinear) const;
2553 virtual const CResult Warp(const CFLQuad<double>& flqSourceRegion, const CFLQuad<double>& flqTargetRegion, CFLFigureArray* pFlfaResult, EWarpingType eWarpingType = EWarpingType_Bilinear) const;
2554 virtual const CResult Warp(const CFLQuad<double>* pFlqSourceRegion, const CFLQuad<double>* pFlqTargetRegion, CFLFigureArray* pFlfaResult, EWarpingType eWarpingType = EWarpingType_Bilinear) const;
2556
2558
2583 virtual const CResult Warp(const CFLPointArray& flpaSource, const CFLPointArray& flpaTarget, CFLFigureArray& flfaResult, EWarpingType eWarpingType = EWarpingType_Bicubic, int32_t i32Extension = 2) const;
2584 virtual const CResult Warp(const CFLPointArray* pFlpaSource, const CFLPointArray* pFlpaTarget, CFLFigureArray& flfaResult, EWarpingType eWarpingType = EWarpingType_Bicubic, int32_t i32Extension = 2) const;
2585 virtual const CResult Warp(const CFLPointArray& flpaSource, const CFLPointArray& flpaTarget, CFLFigureArray* pFlfaResult, EWarpingType eWarpingType = EWarpingType_Bicubic, int32_t i32Extension = 2) const;
2586 virtual const CResult Warp(const CFLPointArray* pFlpaSource, const CFLPointArray* pFlpaTarget, CFLFigureArray* pFlfaResult, EWarpingType eWarpingType = EWarpingType_Bicubic, int32_t i32Extension = 2) const;
2588
2590
2611 virtual const CResult Dilate(int64_t i64KernelSizeWidth, int64_t i64KernelSizeHeight, CFLFigureArray& flfaResultFigure, EKernelShape eKernelShape = EKernelShape_Rectangle) const;
2612 virtual const CResult Dilate(int64_t i64KernelSizeWidth, int64_t i64KernelSizeHeight, CFLFigureArray* pFlfaResultFigure, EKernelShape eKernelShape = EKernelShape_Rectangle) const;
2614
2616
2631 virtual const CResult Dilate(const CFLFigure& flfKernel, CFLFigureArray& flfaResultFigure) const;
2632 virtual const CResult Dilate(const CFLFigure* pFlfKernel, CFLFigureArray& flfaResultFigure) const;
2633 virtual const CResult Dilate(const CFLFigure& flfKernel, CFLFigureArray* pFlfaResultFigure) const;
2634 virtual const CResult Dilate(const CFLFigure* pFlfKernel, CFLFigureArray* pFlfaResultFigure) const;
2636
2638
2659 virtual const CResult Erode(int64_t i64KernelSizeWidth, int64_t i64KernelSizeHeight, CFLFigureArray& flfaResultFigure, EKernelShape eKernelShape = EKernelShape_Rectangle) const;
2660 virtual const CResult Erode(int64_t i64KernelSizeWidth, int64_t i64KernelSizeHeight, CFLFigureArray* pFlfaResultFigure, EKernelShape eKernelShape = EKernelShape_Rectangle) const;
2662
2664
2679 virtual const CResult Erode(const CFLFigure& flfKernel, CFLFigureArray& flfaResultFigure) const;
2680 virtual const CResult Erode(const CFLFigure* pFlfKernel, CFLFigureArray& flfaResultFigure) const;
2681 virtual const CResult Erode(const CFLFigure& flfKernel, CFLFigureArray* pFlfaResultFigure) const;
2682 virtual const CResult Erode(const CFLFigure* pFlfKernel, CFLFigureArray* pFlfaResultFigure) const;
2684
2686
2707 virtual const CResult Open(int64_t i64KernelSizeWidth, int64_t i64KernelSizeHeight, CFLFigureArray& flfaResultFigure, EKernelShape eKernelShape = EKernelShape_Rectangle) const;
2708 virtual const CResult Open(int64_t i64KernelSizeWidth, int64_t i64KernelSizeHeight, CFLFigureArray* pFlfaResultFigure, EKernelShape eKernelShape = EKernelShape_Rectangle) const;
2710
2712
2727 virtual const CResult Open(const CFLFigure& flfKernel, CFLFigureArray& flfaResultFigure) const;
2728 virtual const CResult Open(const CFLFigure* pFlfKernel, CFLFigureArray& flfaResultFigure) const;
2729 virtual const CResult Open(const CFLFigure& flfKernel, CFLFigureArray* pFlfaResultFigure) const;
2730 virtual const CResult Open(const CFLFigure* pFlfKernel, CFLFigureArray* pFlfaResultFigure) const;
2732
2734
2755 virtual const CResult Close(int64_t i64KernelSizeWidth, int64_t i64KernelSizeHeight, CFLFigureArray& flfaResultFigure, EKernelShape eKernelShape = EKernelShape_Rectangle) const;
2756 virtual const CResult Close(int64_t i64KernelSizeWidth, int64_t i64KernelSizeHeight, CFLFigureArray* pFlfaResultFigure, EKernelShape eKernelShape = EKernelShape_Rectangle) const;
2758
2760
2775 virtual const CResult Close(const CFLFigure& flfKernel, CFLFigureArray& flfaResultFigure) const;
2776 virtual const CResult Close(const CFLFigure* pFlfKernel, CFLFigureArray& flfaResultFigure) const;
2777 virtual const CResult Close(const CFLFigure& flfKernel, CFLFigureArray* pFlfaResultFigure) const;
2778 virtual const CResult Close(const CFLFigure* pFlfKernel, CFLFigureArray* pFlfaResultFigure) const;
2780
2782
2793 virtual const CResult Swap(CFLFigure& flfRight);
2794 virtual const CResult Swap(CFLFigure* pFlfRight);
2796
2809
2811
2835
2851 virtual CFLCircle<double> GetMinimumEnclosingCircle(int64_t i64OutlierThresholdCount = 0, double f64OutlierThreshold = 3.) const;
2852
2854
2873 virtual const CResult GetMinimumEnclosingCircle(CFLCircle<int32_t>& flcResult, int64_t i64OutlierThresholdCount = 0, double f64OutlierThreshold = 3.) const;
2874 virtual const CResult GetMinimumEnclosingCircle(CFLCircle<int32_t>* pFlcResult, int64_t i64OutlierThresholdCount = 0, double f64OutlierThreshold = 3.) const;
2875 virtual const CResult GetMinimumEnclosingCircle(CFLCircle<int64_t>& flcResult, int64_t i64OutlierThresholdCount = 0, double f64OutlierThreshold = 3.) const;
2876 virtual const CResult GetMinimumEnclosingCircle(CFLCircle<int64_t>* pFlcResult, int64_t i64OutlierThresholdCount = 0, double f64OutlierThreshold = 3.) const;
2877 virtual const CResult GetMinimumEnclosingCircle(CFLCircle<float>& flcResult, int64_t i64OutlierThresholdCount = 0, double f64OutlierThreshold = 3.) const;
2878 virtual const CResult GetMinimumEnclosingCircle(CFLCircle<float>* pFlcResult, int64_t i64OutlierThresholdCount = 0, double f64OutlierThreshold = 3.) const;
2879 virtual const CResult GetMinimumEnclosingCircle(CFLCircle<double>& flcResult, int64_t i64OutlierThresholdCount = 0, double f64OutlierThreshold = 3.) const;
2880 virtual const CResult GetMinimumEnclosingCircle(CFLCircle<double>* pFlcResult, int64_t i64OutlierThresholdCount = 0, double f64OutlierThreshold = 3.) const;
2882
2898 virtual CFLEllipse<double> GetMinimumEnclosingEllipse(int64_t i64OutlierThresholdCount = 0, double f64OutlierThreshold = 3.) const;
2899
2901
2920 virtual const CResult GetMinimumEnclosingEllipse(CFLEllipse<int32_t>& fleResult, int64_t i64OutlierThresholdCount = 0, double f64OutlierThreshold = 3.) const;
2921 virtual const CResult GetMinimumEnclosingEllipse(CFLEllipse<int32_t>* pFleResult, int64_t i64OutlierThresholdCount = 0, double f64OutlierThreshold = 3.) const;
2922 virtual const CResult GetMinimumEnclosingEllipse(CFLEllipse<int64_t>& fleResult, int64_t i64OutlierThresholdCount = 0, double f64OutlierThreshold = 3.) const;
2923 virtual const CResult GetMinimumEnclosingEllipse(CFLEllipse<int64_t>* pFleResult, int64_t i64OutlierThresholdCount = 0, double f64OutlierThreshold = 3.) const;
2924 virtual const CResult GetMinimumEnclosingEllipse(CFLEllipse<float>& fleResult, int64_t i64OutlierThresholdCount = 0, double f64OutlierThreshold = 3.) const;
2925 virtual const CResult GetMinimumEnclosingEllipse(CFLEllipse<float>* pFleResult, int64_t i64OutlierThresholdCount = 0, double f64OutlierThreshold = 3.) const;
2926 virtual const CResult GetMinimumEnclosingEllipse(CFLEllipse<double>& fleResult, int64_t i64OutlierThresholdCount = 0, double f64OutlierThreshold = 3.) const;
2927 virtual const CResult GetMinimumEnclosingEllipse(CFLEllipse<double>* pFleResult, int64_t i64OutlierThresholdCount = 0, double f64OutlierThreshold = 3.) const;
2929
2949 virtual const CResult GetRasterContour(Base::CFLArray<Base::TPoint<int32_t>>* pFlaResult, bool bExcludeSingleDelta = false) const;
2950
2968 virtual const CResult GetRasterContour(CFLFigureArray* pFlfaResult, bool bExcludeSingleDelta = false) const;
2969
2987 virtual const CResult GetRasterContour(CFLPointArray* pFlpaResult, bool bExcludeSingleDelta = false) const;
2988
2990
3007 virtual const CResult GetSamplingPointsOnSegment(double f64SamplingDistance, CFLFigureArray& flfaResult) const;
3008 virtual const CResult GetSamplingPointsOnSegment(double f64SamplingDistance, CFLFigureArray* pFlfaResult) const;
3010
3012
3029 virtual const CResult GetSamplingPointsOnSegment(double f64SamplingDistance, CFLPointArray& flpaResult) const;
3030 virtual const CResult GetSamplingPointsOnSegment(double f64SamplingDistance, CFLPointArray* pFlpaResult) const;
3032
3034
3051 virtual const CResult GetSamplingVectorOnSegment(double f64SamplingDistance, CFLFigureArray& flfaResult) const;
3052 virtual const CResult GetSamplingVectorOnSegment(double f64SamplingDistance, CFLFigureArray* pFlfaResult) const;
3054
3056
3073 virtual const CResult GetSamplingVectorOnSegment(double f64SamplingDistance, CFLPointArray& flpaResult) const;
3074 virtual const CResult GetSamplingVectorOnSegment(double f64SamplingDistance, CFLPointArray* pFlpaResult) const;
3076
3092 virtual const CResult GetConvexHull(CFLRegion* pFlrgConvex) const;
3093
3109 virtual const CResult GetConvexHull(CFLComplexRegion* pFlcrConvex) const;
3110
3112
3127 virtual const CResult GetEstimatedLine(CFLFigureArray& flfaResult) const;
3128 virtual const CResult GetEstimatedLine(CFLFigureArray* pFlfaResult) const;
3130
3132
3151 virtual const CResult GetSkeleton(CFLFigureArray& flfaResult, double f64Accuracy = 1.) const;
3152 virtual const CResult GetSkeleton(CFLFigureArray* pFlfaResult, double f64Accuracy = 1.) const;
3154
3166 virtual double GetMinimumThickness(double f64TrimRatio = 0.05) const;
3167
3179 virtual double GetMaximumThickness(double f64TrimRatio = 0.2) const;
3180
3182
3199 virtual const CResult GetPointsOfMinimumThickness(CFLPointArray& flpaResult, double f64TrimRatio = 0.05) const;
3200 virtual const CResult GetPointsOfMinimumThickness(CFLPointArray* pFlpaResult, double f64TrimRatio = 0.05) const;
3202
3204
3221 virtual const CResult GetPointsOfMaximumThickness(CFLPointArray& flpaResult, double f64TrimRatio = 0.2) const;
3222 virtual const CResult GetPointsOfMaximumThickness(CFLPointArray* pFlpaResult, double f64TrimRatio = 0.2) const;
3224
3226
3237 virtual double GetMinimumDistance(const CFLFigure& flfTarget) const;
3238 virtual double GetMinimumDistance(const CFLFigure* pFlfTarget) const;
3240
3242
3257 virtual const CResult GetMinimumDistance(const CFLFigure& flfTarget, double* pF64Result) const;
3258 virtual const CResult GetMinimumDistance(const CFLFigure* pFlfTarget, double* pF64Result) const;
3260
3262
3273 virtual double GetMaximumDistance(const CFLFigure& flfTarget) const;
3274 virtual double GetMaximumDistance(const CFLFigure* pFlfTarget) const;
3276
3278
3293 virtual const CResult GetMaximumDistance(const CFLFigure& flfTarget, double* pF64Result) const;
3294 virtual const CResult GetMaximumDistance(const CFLFigure* pFlfTarget, double* pF64Result) const;
3296
3298
3315 virtual const CResult GetPointsOfMinimumDistance(const CFLFigure& flfTarget, CFLPointArray* pFlpaResult) const;
3316 virtual const CResult GetPointsOfMinimumDistance(const CFLFigure* pFlfTarget, CFLPointArray* pFlpaResult) const;
3318
3320
3337 virtual const CResult GetPointsOfMaximumDistance(const CFLFigure& flfTarget, CFLPointArray* pFlpaResult) const;
3338 virtual const CResult GetPointsOfMaximumDistance(const CFLFigure* pFlfTarget, CFLPointArray* pFlpaResult) const;
3340
3342
3369 virtual const CResult GetIndexOfMinimumDistance(const CFLFigure& flfDst, CFLFigureArray* pFlfaResultSrc, bool bRecursiveSrc = false, bool bRecursiveDst = false, CFLFigureArray* pFlfaResultDst = nullptr) const;
3370 virtual const CResult GetIndexOfMinimumDistance(const CFLFigure* pFlfDst, CFLFigureArray* pFlfaResultSrc, bool bRecursiveSrc = false, bool bRecursiveDst = false, CFLFigureArray* pFlfaResultDst = nullptr) const;
3372
3374
3401 virtual const CResult GetIndexOfMaximumDistance(const CFLFigure& flfDst, CFLFigureArray* pFlfaResultSrc, bool bRecursiveSrc = false, bool bRecursiveDst = false, CFLFigureArray* pFlfaResultDst = nullptr) const;
3402 virtual const CResult GetIndexOfMaximumDistance(const CFLFigure* pFlfDst, CFLFigureArray* pFlfaResultSrc, bool bRecursiveSrc = false, bool bRecursiveDst = false, CFLFigureArray* pFlfaResultDst = nullptr) const;
3404
3415
3417
3428 virtual const CResult SetExclusiveRegion(const CFLFigure* pFlfaExclusiveRegion);
3429 virtual const CResult SetExclusiveRegion(const CFLFigure& flfaExclusiveRegion);
3431
3433
3444 virtual const CResult AddExclusiveRegion(const CFLFigure* pFigure);
3445 virtual const CResult AddExclusiveRegion(const CFLFigure& figure);
3447
3459 virtual const CResult RemoveExclusiveRegionAt(int64_t i64Index);
3460
3465 virtual void ClearExclusiveRegion();
3466
3474 virtual bool IsThereExclusiveRegion() const;
3475
3476 virtual const CResult GetFigure(const Base::CFLString<wchar_t>& strExpression, CFLFigureArray& flfaResult, Base::CFLString<wchar_t>* pStrErrorSymbol = nullptr, CFLFigureArray* pFlfaResultIndices = nullptr, bool bFigureArrayAsShape = false) const;
3477 virtual const CResult GetFigure(const Base::CFLString<wchar_t>& strExpression, CFLFigureArray* pFlfaResult, Base::CFLString<wchar_t>* pStrErrorSymbol = nullptr, CFLFigureArray* pFlfaResultIndices = nullptr, bool bFigureArrayAsShape = false) const;
3478 virtual const CResult GetFigure(const Base::CFLString<wchar_t>* pStrExpression, CFLFigureArray& flfaResult, Base::CFLString<wchar_t>* pStrErrorSymbol = nullptr, CFLFigureArray* pFlfaResultIndices = nullptr, bool bFigureArrayAsShape = false) const;
3479 virtual const CResult GetFigure(const Base::CFLString<wchar_t>* pStrExpression, CFLFigureArray* pFlfaResult, Base::CFLString<wchar_t>* pStrErrorSymbol = nullptr, CFLFigureArray* pFlfaResultIndices = nullptr, bool bFigureArrayAsShape = false) const;
3480 virtual const CResult Query(const Base::CFLString<wchar_t>& strExpression, CFLFigureArray& flfaResult, Base::CFLString<wchar_t>* pStrErrorSymbol = nullptr, CFLFigureArray* pFlfaResultIndices = nullptr, bool bFigureArrayAsShape = false) const;
3481 virtual const CResult Query(const Base::CFLString<wchar_t>& strExpression, CFLFigureArray* pFlfaResult, Base::CFLString<wchar_t>* pStrErrorSymbol = nullptr, CFLFigureArray* pFlfaResultIndices = nullptr, bool bFigureArrayAsShape = false) const;
3482 virtual const CResult Query(const Base::CFLString<wchar_t>* pStrExpression, CFLFigureArray& flfaResult, Base::CFLString<wchar_t>* pStrErrorSymbol = nullptr, CFLFigureArray* pFlfaResultIndices = nullptr, bool bFigureArrayAsShape = false) const;
3483 virtual const CResult Query(const Base::CFLString<wchar_t>* pStrExpression, CFLFigureArray* pFlfaResult, Base::CFLString<wchar_t>* pStrErrorSymbol = nullptr, CFLFigureArray* pFlfaResultIndices = nullptr, bool bFigureArrayAsShape = false) const;
3484 virtual const CResult RemoveFigure(const Base::CFLString<wchar_t>& strExpression, Base::CFLString<wchar_t>* pStrErrorSymbol = nullptr, bool bFigureArrayAsShape = false);
3485 virtual const CResult RemoveFigure(const Base::CFLString<wchar_t>* pStrExpression, Base::CFLString<wchar_t>* pStrErrorSymbol = nullptr, bool bFigureArrayAsShape = false);
3486 virtual const CResult Filter(const Base::CFLString<wchar_t>& strExpression, Base::CFLString<wchar_t>* pStrErrorSymbol = nullptr, bool bFigureArrayAsShape = false);
3487 virtual const CResult Filter(const Base::CFLString<wchar_t>* pStrExpression, Base::CFLString<wchar_t>* pStrErrorSymbol = nullptr, bool bFigureArrayAsShape = false);
3488
3505
3522
3524
3542
3557
3568
3578 virtual const CFLFigureAttribute* GetAttribute() const sealed;
3579
3581
3594 virtual const CResult AssignAttribute(const CFLFigureAttribute& flfAttr) sealed;
3595 virtual const CResult AssignAttribute(const CFLFigureAttribute* pFlfAttr) sealed;
3597
3607 virtual const CResult ClearAttribute() sealed;
3608
3622 const CResult GetAttributeString(Base::CFLString<wchar_t>& strAttributeString) const;
3623
3637 const CResult SetAttributeString(const Base::CFLString<wchar_t>& strAttributeString);
3638
3639 protected:
3645
3646
3647 public:
3652 virtual ~CFLFigure();
3653
3654 SupportToDuplicateAbstractObject(CFLFigure);
3655 DeclareGetClassType();
3656
3657 protected:
3658
3659 virtual bool AllocateAttribute() sealed;
3660 virtual bool DeleteAttribute() sealed;
3661
3662 CFLFigureAttribute* m_pAttribute;
3663 };
3664 }
3665}
Template type array class.
Definition FLArray.h:71
Top-level base class of FLImaging.
Definition FLBase.h:36
FLIMaging's image class.
Definition FLImage.h:35
CFLImage's page class.
Definition FLImagePage.h:37
Template type string class.
Definition FLString.h:34
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:1704
A class representing bezier cubic curve.
Definition FLBezierCubicCurve.h:24
A class representing bezier quadratic curve.
Definition FLBezierQuadraticCurve.h:24
A class representing bezier quartic curve.
Definition FLBezierQuarticCurve.h:24
A class representing circle.
Definition FLCircle.h:25
A class representing a polygon.
Definition FLComplexRegion.h:28
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:27
A class of Figure attribute class.
Definition FLFigureAttribute.h:26
virtual const CResult Dilate(const CFLFigure &flfKernel, CFLFigureArray &flfaResultFigure) const
virtual bool IsCollision(const Base::TPoint< double > &point) const
virtual bool IsCollision(const CFLQuad< double > *pQuad) const
virtual bool IsCollision(const Base::TRect< int64_t > *pRect) const
virtual const CResult GetIntersection(const CFLDoughnut< int64_t > *pDoughnut, CFLFigureArray *pFlfaResult) const
virtual const CResult GetIntersection(const CFLRoundRect< int32_t > *pFlrr, CFLFigureArray *pFlfaResult) const
virtual bool IsCollision(const CFLRect< int32_t > &rect) const
virtual const CResult GetIntersection(const CFLRoundRect< double > *pFlrr, CFLFigureArray *pFlfaResult) const
virtual const CResult Inflate(const CFLLine< int64_t > *pLine)
virtual const CResult Rotate(double f64Angle, float f32PivotX, float f32PivotY)
virtual const CResult EnableRasterOperation(bool bSet)
Rasterized Region setting Rasterized In the case of a rasterized region, the operation speed is fast,...
virtual const CResult Warp(const CFLPointArray *pFlpaSource, const CFLPointArray *pFlpaTarget, CFLFigureArray &flfaResult, EWarpingType eWarpingType=EWarpingType_Bicubic, int32_t i32Extension=2) const
virtual const CResult GetMinimumEnclosingRectangleCenter(double &x, double &y) const
virtual const CResult Extend(int32_t left, int32_t top, int32_t right, int32_t bottom)
virtual const CResult GetRegionOfUnion(const CFLRect< int64_t > *pRect, CFLFigureArray *pFlfaResult) const
Perform union of two objects.
virtual const CResult GetRegionOfSubtraction(const CFLRoundRect< int64_t > *pFlrr, CFLFigureArray *pFlfaResult) const
Perform subtraction of two objects.
virtual const CResult GetRegionOfUnion(const CFLComplexRegion &flcr, CFLFigureArray *pFlfaResult) const
Perform union of two objects.
virtual bool IsCollision(const CFLCircle< int32_t > *pCir) const
virtual const CResult GetSamplingVectorOnSegment(double f64SamplingDistance, CFLPointArray &flpaResult) const
Get point information moving by the set length.
virtual const CResult GetIntersection(const CFLDoughnut< float > &doughnut, CFLFigureArray *pFlfaResult) const
virtual const CResult GetMinimumEnclosingRectangleCenter(CFLPoint< float > *pPoint) const
virtual bool IsCollision(const CFLRegion &flrg) const
virtual const CResult Rotate(double f64Angle, int64_t i64PivotX, int64_t i64PivotY)
virtual const CResult Inflate(const CFLLine< double > *pLine)
virtual const CResult Close(const CFLFigure &flfKernel, CFLFigureArray *pFlfaResultFigure) const
virtual const CResult GetRegionOfSubtraction(const CFLEllipse< int64_t > *pEll, CFLFigureArray *pFlfaResult) const
Perform subtraction of two objects.
virtual const CResult Dilate(const CFLFigure *pFlfKernel, CFLFigureArray &flfaResultFigure) const
virtual const CResult Scale(int64_t i64PivotX, int64_t i64PivotY, double f64RatioX, double f64RatioY)
virtual const CResult GetMinimumEnclosingCircle(CFLCircle< double > &flcResult, int64_t i64OutlierThresholdCount=0, double f64OutlierThreshold=3.) const
Get a minimum enclosing circle.
virtual const CResult Extend(const Base::TPoint< double > &tpSize)
virtual const CResult ClearAttributeDrawingLineColor() sealed
virtual const CResult GetBoundaryRect(float *pLeft, float *pTop, float *pRight, float *pBottom) const
virtual const CResult Multiply(const Base::TPoint< int32_t > &tp)
virtual const CResult GetCenter(CFLPoint< double > &point) const
virtual const CResult GetRegionOfSubtraction(const CFLEllipse< int32_t > *pEll, CFLFigureArray *pFlfaResult) const
Perform subtraction of two objects.
virtual const CResult GetRegionOfUnion(const CFLQuad< int32_t > *pQuad, CFLFigureArray *pFlfaResult) const
Perform union of two objects.
virtual const CResult GetMinimumEnclosingCircle(CFLCircle< int32_t > &flcResult, int64_t i64OutlierThresholdCount=0, double f64OutlierThreshold=3.) const
Get a minimum enclosing circle.
virtual bool IsCollision(const CFLLine< double > &line) const
virtual const CResult GetRegionOfIntersection(const CFLRoundRect< float > *pFlrr, CFLFigureArray *pFlfaResult) const
Perform intersection of two objects.
virtual const CResult Extend(const CFLPoint< double > *pFlpSize)
virtual const CResult GetRegionOfSubtraction(const CFLCircle< int32_t > &cir, CFLFigureArray *pFlfaResult) const
Perform subtraction of two objects.
virtual EWindingDirection GetWindingDirection() const
virtual const CResult GetMaximumDistance(const CFLFigure *pFlfTarget, double *pF64Result) const
Get the distance of the farthest point from the target figure.
virtual double GetMinimumThickness(double f64TrimRatio=0.05) const
Get the figure's minimum thickness after applying the trimming ratio.
virtual const CResult GetRegionOfUnion(const CFLRoundRect< double > *pFlrr, CFLFigureArray *pFlfaResult) const
Perform union of two objects.
virtual bool IsCollision(const CFLPoint< int32_t > *pPoint) const
virtual const CResult Rotate(double f64Angle, int32_t i32PivotX, int32_t i32PivotY)
virtual const CResult Rotate(double f64Angle, const CFLPoint< double > *pFlpPivot)
virtual bool IsSpecEqual(const CFLFigure *pFlfRhs, EFigureSpecCompareType eSpecType=EFigureSpecCompareType_Coordinates) const
virtual const CResult GetIntersection(const CFLBezierCubicCurve *pFlbc3, CFLFigureArray *pFlfaResult) const
virtual const CResult GetIntersection(const CFLRoundRect< int64_t > &flrr, CFLFigureArray *pFlfaResult) const
virtual const CResult GetRegionOfIntersection(const CFLComplexRegion *pFlcr, CFLFigureArray *pFlfaResult) const
Perform intersection of two objects.
virtual double GetMinimumEnclosingRectangleWidth() const
virtual const CResult Multiply(const CFLPoint< int32_t > &flp)
virtual const CResult GetRegionOfIntersection(const CFLRect< float > &rect, CFLFigureArray *pFlfaResult) const
Perform intersection of two objects.
virtual const CResult EnableAttributeDrawingRealSizeLineWidth(bool bEnable) sealed
virtual const CResult GetIntersection(const CFLQuad< int32_t > *pQuad, CFLFigureArray *pFlfaResult) const
virtual bool IsCollision(const CFLCubicSpline *pFlcs) const
virtual const CResult GetCenter(CFLPoint< int64_t > *pPoint) const
virtual bool IsCollision(const CFLEllipse< int32_t > *pEll) const
virtual const CResult GetVertexCount(CFLFigureArray *pFlfaResult, EIncludingRegionType eType=EIncludingRegionType_All, bool bRecursive=true) const
Get the number of vertices in the figure.
virtual const CResult Warp(const CFLQuad< double > &flqSourceRegion, const CFLQuad< double > &flqTargetRegion, CFLFigureArray &flfaResult, EWarpingType eWarpingType=EWarpingType_Bilinear) const
virtual const CResult GetMinimumEnclosingEllipse(CFLEllipse< int32_t > *pFleResult, int64_t i64OutlierThresholdCount=0, double f64OutlierThreshold=3.) const
Get a minimum enclosing ellipse.
virtual const CResult Inflate(double left, double top, double right, double bottom)
virtual const CResult GetRegionOfIntersection(const CFLRegion &flrg, CFLFigureArray *pFlfaResult) const
Perform intersection of two objects.
virtual const CResult Inflate(const CFLPoint< int32_t > *pPoint)
virtual const CResult Inflate(const CFLPoint< int32_t > &point)
virtual const CResult GetIntersection(const CFLRect< int64_t > *pRect, CFLFigureArray *pFlfaResult) const
virtual bool IsCollision(const CFLCircle< int64_t > &cir) const
const CResult GetExtraAttribute(const Base::CFLString< wchar_t > &strKey, Base::CFLString< wchar_t > &strValue) const
virtual const CResult Rotate(double f64Angle, const CFLPoint< float > *pFlpPivot)
virtual const CResult GetConvexHull(CFLComplexRegion *pFlcrConvex) const
Calculate the convex hull of a figure.
virtual const CResult SetAttributeDrawingFillColor(uint8_t u8Blue, uint8_t u8Green, uint8_t u8Red) sealed
virtual const CResult GetMinimumDistance(const CFLFigure &flfTarget, double *pF64Result) const
Get the distance between the target figure and the closest position to each other.
virtual bool IsCollision(const CFLEllipse< double > *pEll) const
virtual const CResult GetRegionOfUnion(const CFLQuad< double > &quad, CFLFigureArray *pFlfaResult) const
Perform union of two objects.
virtual double GetMaximumDistance(const CFLFigure *pFlfTarget) const
Get the distance between the target figure and the furthest position to each other.
virtual const CResult GetRegionOfUnion(const CFLEllipse< float > &ell, CFLFigureArray *pFlfaResult) const
Perform union of two objects.
virtual const CResult Inflate(const CFLRect< int32_t > &rect)
virtual CFLPoint< double > GetMinimumEnclosingRectangleCenter() const
virtual const CResult EnableRasterRegionOutline(bool bSet) sealed
Setting whether or not to calculate the perimeter of GetRasterRegion.
virtual const CResult GetSamplingVectorOnSegment(double f64SamplingDistance, CFLPointArray *pFlpaResult) const
Get point information moving by the set length.
virtual const CResult Inflate(float width, float height)
virtual bool IsCollision(const CFLRoundRect< double > *pFlrr) const
virtual const CResult Extend(int32_t i32HalfWidth, int32_t i32HalfHeight)
virtual double GetLength() const
virtual const wchar_t * GetName() const sealed
Get the name of a figure object.
virtual const CResult GetAttributeDrawingLineColor(uint32_t &u32LineColor) const sealed
virtual const CResult Offset(double x, double y)
virtual const CResult GetPointsOfMinimumDistance(const CFLFigure &flfTarget, CFLPointArray *pFlpaResult) const
Get the position closest to the target figure.
virtual const CResult Multiply(const CFLPoint< double > &flp)
virtual const CResult GetRegionOfUnion(const CFLFigureArray &flfaOperand, CFLFigureArray *pFlfaResult) const
Perform union of two objects.
virtual const CResult GetRegionOfIntersection(const CFLQuad< float > *pQuad, CFLFigureArray *pFlfaResult) const
Perform intersection of two objects.
virtual bool IsCollision(const CFLCircle< float > &cir) const
virtual const CResult GetRegionOfUnion(const CFLEllipse< int64_t > *pEll, CFLFigureArray *pFlfaResult) const
Perform union of two objects.
virtual const CResult Flip(EFigureFlipDirection eDirection, int64_t i64PivotX, int64_t i64PivotY)
virtual const CResult Extend(const CFLLine< int64_t > *pFllSize)
virtual bool IsCollision(const CFLLine< int32_t > *pLine) const
virtual const CResult GetIntersection(const CFLEllipse< float > &ell, CFLFigureArray *pFlfaResult) const
const CResult GetExtraAttributeKeys(Base::CFLArray< Base::CFLString< wchar_t > > *pFlaKeys) const
virtual const CResult GetCenterOfGravity(int64_t *x, int64_t *y) const
virtual const CResult GetRegionOfIntersection(const CFLRect< int32_t > *pRect, CFLFigureArray *pFlfaResult) const
Perform intersection of two objects.
virtual const CResult GetRegionOfExclusiveOr(const CFLRect< int64_t > &rect, CFLFigureArray *pFlfaResult) const
Perform exclusiveOR of two objects.
virtual const CResult GetRegionOfUnion(const CFLCircle< float > &cir, CFLFigureArray *pFlfaResult) const
Perform union of two objects.
virtual const CResult SetAttributeDrawingLineColorAlphaRatio(float f32LineColorAlphaRatio) sealed
virtual const CResult Rotate(double f64Angle, const CFLPoint< float > &flpPivot)
virtual const CResult GetBoundaryRect(int32_t &left, int32_t &top, int32_t &right, int32_t &bottom) const
virtual bool IsRasterRegionOutlineEnabled() const sealed
Check whether perimeter is calculated in GetRasterRegion.
virtual const CResult GetCenter(float &x, float &y) const
virtual const CResult GetRegionOfExclusiveOr(const CFLRoundRect< double > &flrr, CFLFigureArray *pFlfaResult) const
Perform exclusiveOR of two objects.
virtual const CResult GetRegionOfUnion(const CFLRect< double > *pRect, CFLFigureArray *pFlfaResult) const
Perform union of two objects.
virtual const CResult Flip(EFigureFlipDirection eDirection, float f32PivotX, float f32PivotY)
virtual const CResult GetIntersection(const CFLRegion *pFlrg, CFLFigureArray *pFlfaResult) const
virtual const CResult Extend(const CFLPoint< int32_t > *pFlpSize)
virtual const CResult GetRegionOfExclusiveOr(const CFLCircle< float > *pCir, CFLFigureArray *pFlfaResult) const
Perform exclusiveOR of two objects.
virtual const CResult GetIntersection(const CFLRoundRect< double > &flrr, CFLFigureArray *pFlfaResult) const
virtual const CResult GetRegionOfUnion(const CFLDoughnut< int32_t > &doughnut, CFLFigureArray *pFlfaResult) const
Perform union of two objects.
virtual const CResult GetRegionOfExclusiveOr(const CFLCircle< float > &cir, CFLFigureArray *pFlfaResult) const
Perform exclusiveOR of two objects.
virtual const CResult GetRegionOfUnion(const CFLQuad< int64_t > &quad, CFLFigureArray *pFlfaResult) const
Perform union of two objects.
virtual const CResult GetRegionOfIntersection(const CFLCircle< int64_t > &cir, CFLFigureArray *pFlfaResult) const
Perform intersection of two objects.
virtual const CResult GetRegionOfIntersection(const CFLRoundRect< double > &flrr, CFLFigureArray *pFlfaResult) const
Perform intersection of two objects.
virtual const CResult GetBoundaryRect(CFLRect< int32_t > &rect) const
virtual const CResult GetIntersection(const CFLBezierCubicCurve &flbc3, CFLFigureArray *pFlfaResult) const
virtual const CResult GetRegionOfSubtraction(const CFLCircle< int64_t > &cir, CFLFigureArray *pFlfaResult) const
Perform subtraction of two objects.
virtual const CResult Flip(EFigureFlipDirection eDirection, const CFLPoint< int64_t > &flpPivot)
virtual const CResult Offset(int32_t x, int32_t y)
virtual const CResult Rotate(double f64Angle, const CFLPoint< int32_t > *pFlpPivot)
virtual const CResult Extend(const CFLLine< float > &fllSize)
virtual const CResult Multiply(const CFLPoint< int32_t > *pFlp)
virtual const CResult GetRegionOfUnion(const CFLCircle< double > &cir, CFLFigureArray *pFlfaResult) const
Perform union of two objects.
virtual bool IsCollision(const CFLCircle< int32_t > &cir) const
virtual const CResult GetRegionOfSubtraction(const CFLDoughnut< float > &doughnut, CFLFigureArray *pFlfaResult) const
Perform subtraction of two objects.
virtual const CResult ClearAttributeDrawingLineColorAlphaRatio() sealed
virtual const CResult GetRegionOfExclusiveOr(const CFLCircle< double > *pCir, CFLFigureArray *pFlfaResult) const
Perform exclusiveOR of two objects.
virtual bool IsCollision(const CFLCircle< double > &cir) const
virtual const CResult Scale(const CFLPoint< float > &flpPivot, double f64RatioX, double f64RatioY)
virtual const CResult Extend(const CFLPoint< float > *pFlpSize)
virtual const CResult GetIntersection(const CFLQuad< double > &quad, CFLFigureArray *pFlfaResult) const
virtual const CResult GetPointsOfMinimumDistance(const CFLFigure *pFlfTarget, CFLPointArray *pFlpaResult) const
Get the position closest to the target figure.
virtual const CResult GetRegionOfIntersection(const CFLRect< double > &rect, CFLFigureArray *pFlfaResult) const
Perform intersection of two objects.
virtual const CResult GetRegionOfExclusiveOr(const CFLFigure *pFigure, CFLFigureArray *pFlfaResult) const
Perform exclusiveOR of two objects.
virtual const CResult GetRegionOfIntersection(const CFLEllipse< double > &ell, CFLFigureArray *pFlfaResult) const
Perform intersection of two objects.
virtual const CResult Extend(const Base::TPoint< int32_t > &tpSize)
virtual bool IsSpecEqual(const CFLFigure &flfRhs, EFigureSpecCompareType eSpecType=EFigureSpecCompareType_Coordinates) const
virtual const CResult GetRegionOfExclusiveOr(const CFLDoughnut< int64_t > &doughnut, CFLFigureArray *pFlfaResult) const
Perform exclusiveOR of two objects.
virtual bool IsCollision(const CFLRegion *pFlrg) const
virtual const CResult Inflate(const CFLPoint< float > &point)
virtual const CResult GetRegionOfSubtraction(const CFLComplexRegion *pFlcr, CFLFigureArray *pFlfaResult) const
Perform subtraction of two objects.
virtual const CResult ClearAttributeDrawingPenStyle() sealed
virtual const CResult MeasureThickness(double &f64Thickness, double f64SamplingStep=1.) const
Measure the thickness of the figure.
virtual double GetMinimumEnclosingRectangleShortLongRatio() const
virtual const CResult GetRegionOfIntersection(const CFLRoundRect< int32_t > &flrr, CFLFigureArray *pFlfaResult) const
Perform intersection of two objects.
virtual const CResult GetRegionOfIntersection(const CFLRect< int64_t > *pRect, CFLFigureArray *pFlfaResult) const
Perform intersection of two objects.
virtual const CResult GetIntersection(const CFLDoughnut< double > *pDoughnut, CFLFigureArray *pFlfaResult) const
virtual const CResult GetIntersection(const CFLDoughnut< float > *pDoughnut, CFLFigureArray *pFlfaResult) const
virtual const CResult GetRegionOfSubtraction(const CFLEllipse< double > *pEll, CFLFigureArray *pFlfaResult) const
Perform subtraction of two objects.
virtual const CResult GetCenterOfGravity(double &x, double &y) const
virtual const CResult GetMinimumEnclosingRectangleCenter(CFLPoint< int32_t > *pPoint) const
virtual const CResult GetRegionOfUnion(const CFLCircle< float > *pCir, CFLFigureArray *pFlfaResult) const
Perform union of two objects.
virtual const CResult GetIntersection(const CFLBezierQuadraticCurve &flbc2, CFLFigureArray *pFlfaResult) const
virtual const CResult ClearAttributeDrawingRealSizeLineWidth() sealed
virtual bool IsCollision(const Base::TRect< double > &rect) const
virtual const CResult GetRegionOfIntersection(const CFLDoughnut< float > *pDoughnut, CFLFigureArray *pFlfaResult) const
Perform intersection of two objects.
virtual const CResult GetBoundaryRect(CFLRect< double > *pRect) const
virtual const CResult GetRegionOfIntersection(const CFLFigureArray *pFlfaOperand, CFLFigureArray *pFlfaResult) const
Perform intersection of two objects.
virtual double GetMinimumEnclosingRectangleShortSideLength() const
virtual const CResult GetRegionOfSubtraction(const CFLEllipse< float > *pEll, CFLFigureArray *pFlfaResult) const
Perform subtraction of two objects.
virtual const CResult Extend(double f64HalfSize)
virtual const CResult GetRasterContour(CFLFigureArray *pFlfaResult, bool bExcludeSingleDelta=false) const
Get contour's raster point information.
virtual const CResult GetCenter(CFLPoint< double > *pPoint) const
virtual bool IsCollision(const Base::TPoint< double > *pPoint) const
virtual const CResult GetRegionOfIntersection(const CFLEllipse< int32_t > &ell, CFLFigureArray *pFlfaResult) const
Perform intersection of two objects.
virtual const CResult GetRegionOfSubtraction(const CFLDoughnut< int64_t > &doughnut, CFLFigureArray *pFlfaResult) const
Perform subtraction of two objects.
virtual const CResult GetCenter(CFLPoint< float > *pPoint) const
virtual const CResult GetRegionOfIntersection(const CFLQuad< float > &quad, CFLFigureArray *pFlfaResult) const
Perform intersection of two objects.
virtual const CResult SetExclusiveRegion(const CFLFigure *pFlfaExclusiveRegion)
virtual const CResult Scale(int32_t i32PivotX, int32_t i32PivotY, double f64RatioX, double f64RatioY)
virtual const CResult GetRegionOfExclusiveOr(const CFLCircle< int32_t > &cir, CFLFigureArray *pFlfaResult) const
Perform exclusiveOR of two objects.
virtual const CResult GetCenter(int32_t *x, int32_t *y) const
virtual const CResult GetMinimumEnclosingEllipse(CFLEllipse< double > *pFleResult, int64_t i64OutlierThresholdCount=0, double f64OutlierThreshold=3.) const
Get a minimum enclosing ellipse.
virtual const CResult Scale(const CFLPoint< int64_t > *pFlpPivot, double f64RatioX, double f64RatioY)
virtual const CResult GetRegionOfIntersection(const CFLEllipse< int64_t > *pEll, CFLFigureArray *pFlfaResult) const
Perform intersection of two objects.
virtual const CResult GetRegionOfSubtraction(const CFLQuad< double > &quad, CFLFigureArray *pFlfaResult) const
Perform subtraction of two objects.
virtual const CResult GetIntersection(const CFLEllipse< int32_t > &ell, CFLFigureArray *pFlfaResult) const
virtual const CResult GetRegionOfIntersection(const CFLCircle< double > *pCir, CFLFigureArray *pFlfaResult) const
Perform intersection of two objects.
virtual const CResult GetIntersection(const CFLLine< double > *pLine, CFLFigureArray *pFlfaResult) const
virtual const CResult GetRegionOfUnion(const CFLCircle< int32_t > &cir, CFLFigureArray *pFlfaResult) const
Perform union of two objects.
virtual const CResult GetBoundaryRect(CFLRect< double > &rect) const
virtual const CResult GetRegionOfIntersection(const CFLCircle< float > *pCir, CFLFigureArray *pFlfaResult) const
Perform intersection of two objects.
virtual const CResult Erode(const CFLFigure *pFlfKernel, CFLFigureArray *pFlfaResultFigure) const
virtual const CResult GetRegionOfExclusiveOr(const CFLDoughnut< int32_t > &doughnut, CFLFigureArray *pFlfaResult) const
Perform exclusiveOR of two objects.
virtual const CResult GetRasterRegion(CFLFigureArray *pFlfaResult, const CFLRect< int64_t > *pFlrROI=nullptr, bool bConservativeRasterization=false) const
virtual const CResult GetMinimumEnclosingRectangleCenter(CFLPoint< int64_t > &point) const
virtual const CResult GetCenterOfGravity(CFLPoint< float > &point) const
virtual const CResult Inflate(const CFLLine< int64_t > &line)
virtual bool IsCollision(const CFLBezierCubicCurve &flbc3) const
virtual const CResult Inflate(const CFLPoint< double > &point)
virtual const CResult Inflate(const CFLLine< int32_t > &line)
const CResult SetExtraAttribute(const Base::CFLString< wchar_t > &strKey, const Base::CFLString< wchar_t > &strValue)
virtual const CResult GetRegionOfIntersection(const CFLEllipse< int64_t > &ell, CFLFigureArray *pFlfaResult) const
Perform intersection of two objects.
virtual const CResult GetRegionOfUnion(const CFLRoundRect< float > *pFlrr, CFLFigureArray *pFlfaResult) const
Perform union of two objects.
virtual const CResult Swap(CFLFigure *pFlfRight)
virtual const CResult GetRasterRegion(Base::CFLArray< Base::TRect< int64_t > > &flaResult, const CFLPoint< int64_t > *pFlpImageSize, bool bConservativeRasterization=false) const
virtual const CResult GetRegionOfExclusiveOr(const CFLRect< int32_t > *pRect, CFLFigureArray *pFlfaResult) const
Perform exclusiveOR of two objects.
virtual const CResult Extend(const CFLRect< float > &flrSize)
virtual const CResult Multiply(double f64MulX, double f64MulY)
virtual const CResult GetRegionOfIntersection(const CFLRect< double > *pRect, CFLFigureArray *pFlfaResult) const
Perform intersection of two objects.
virtual const CResult Multiply(const CFLPoint< int64_t > &flp)
virtual const CResult GetIntersection(const CFLFigureArray *pFlfaOperand, CFLFigureArray *pFlfaResult) const
virtual const CResult GetCenter(int64_t *x, int64_t *y) const
virtual const CResult GetRegionOfUnion(const CFLDoughnut< double > &doughnut, CFLFigureArray *pFlfaResult) const
Perform union of two objects.
virtual const CResult GetRegionOfExclusiveOr(const CFLQuad< float > &quad, CFLFigureArray *pFlfaResult) const
Perform exclusiveOR of two objects.
virtual const CResult SetName(const wchar_t wcName) sealed
Set the name of the figure object.
virtual const CResult GetCenterOfGravity(CFLPoint< double > *pPoint) const
virtual const CResult Extend(const CFLRect< int64_t > *pFlrSize)
virtual const CResult GetRegionOfExclusiveOr(const CFLEllipse< int32_t > *pEll, CFLFigureArray *pFlfaResult) const
Perform exclusiveOR of two objects.
virtual const CResult GetRegionOfIntersection(const CFLQuad< int32_t > *pQuad, CFLFigureArray *pFlfaResult) const
Perform intersection of two objects.
virtual const CResult Offset(const CFLPoint< float > &point)
virtual const CResult GetRegionOfSubtraction(const CFLQuad< int32_t > &quad, CFLFigureArray *pFlfaResult) const
Perform subtraction of two objects.
virtual bool IsCollision(const CFLEllipse< int64_t > *pEll) const
virtual bool IsCollision(const CFLCircle< float > *pCir) const
virtual bool IsCollision(const Base::TPoint< int32_t > &point) const
virtual bool IsCollision(const Base::TRect< int32_t > &rect) const
virtual const CResult Scale(double f64PivotX, double f64PivotY, double f64RatioX, double f64RatioY)
virtual bool IsCollision(const CFLDoughnut< float > &doughnut) const
virtual const CResult GetRegionOfSubtraction(const CFLCircle< int32_t > *pCir, CFLFigureArray *pFlfaResult) const
Perform subtraction of two objects.
virtual const CResult Rotate(double f64Angle, const CFLPoint< int64_t > &flpPivot)
virtual const CResult GetRegionOfUnion(const CFLEllipse< int32_t > *pEll, CFLFigureArray *pFlfaResult) const
Perform union of two objects.
virtual const CResult Flip(EFigureFlipDirection eDirection, const CFLPoint< int32_t > *pFlpPivot)
virtual const CResult GetRegionOfIntersection(const CFLFigure *pFigure, CFLFigureArray *pFlfaResult) const
Perform intersection of two objects.
virtual const CResult GetPointsOfMinimumThickness(CFLPointArray &flpaResult, double f64TrimRatio=0.05) const
Returns two points representing the minimum thickness of the figure after applying the trimming ratio...
virtual const CResult Rotate(double f64Angle, const CFLPoint< int32_t > &flpPivot)
virtual const CResult GetRegionOfUnion(const CFLCircle< int32_t > *pCir, CFLFigureArray *pFlfaResult) const
Perform union of two objects.
virtual const CResult Scale(float f32PivotX, float f32PivotY, double f64RatioX, double f64RatioY)
virtual const CResult Offset(const Base::TPoint< int32_t > &point)
virtual const CResult GetRegionOfIntersection(const CFLRoundRect< double > *pFlrr, CFLFigureArray *pFlfaResult) const
Perform intersection of two objects.
virtual double GetArea() const
virtual const CResult GetIntersection(const CFLDoughnut< int32_t > *pDoughnut, CFLFigureArray *pFlfaResult) const
virtual const CResult GetMinimumEnclosingCircle(CFLCircle< int32_t > *pFlcResult, int64_t i64OutlierThresholdCount=0, double f64OutlierThreshold=3.) const
Get a minimum enclosing circle.
virtual const CResult GetRegionOfIntersection(const CFLEllipse< double > *pEll, CFLFigureArray *pFlfaResult) const
Perform intersection of two objects.
virtual const CResult GetIndexOfMaximumDistance(const CFLFigure &flfDst, CFLFigureArray *pFlfaResultSrc, bool bRecursiveSrc=false, bool bRecursiveDst=false, CFLFigureArray *pFlfaResultDst=nullptr) const
Get the index of the position furthest from the target figure. (If it is not a FigureArray or PointAr...
virtual const CResult GetRegionOfIntersection(const CFLCircle< float > &cir, CFLFigureArray *pFlfaResult) const
Perform intersection of two objects.
virtual const CResult Extend(const CFLLine< int32_t > &fllSize)
virtual const CResult GetIndexOfMinimumDistance(const CFLFigure *pFlfDst, CFLFigureArray *pFlfaResultSrc, bool bRecursiveSrc=false, bool bRecursiveDst=false, CFLFigureArray *pFlfaResultDst=nullptr) const
Get the index of the position closest to the target figure. (If it is not a FigureArray or PointArray...
virtual const CResult GetCenterOfGravity(int32_t &x, int32_t &y) const
virtual const CResult Extend(double left, double top, double right, double bottom)
virtual bool IsCollision(const CFLQuad< float > *pQuad) const
virtual bool IsCollision(const Base::TRect< float > *pRect) const
virtual const CResult GetIntersection(const CFLCircle< double > *pCir, CFLFigureArray *pFlfaResult) const
virtual bool IsCollision(const CFLRect< float > &rect) const
virtual const CResult GetCenter(CFLPoint< float > &point) const
virtual const CResult GetMinimumEnclosingRectangle(CFLQuad< int64_t > *pQuad) const
Get a minimum enclosing rectangle.
virtual const CResult GetIntersection(const CFLRect< int64_t > &rect, CFLFigureArray *pFlfaResult) const
virtual double GetMinimumEnclosingRectanglePerimeter() const
virtual const CResult GetIntersection(const CFLBezierQuarticCurve &flbc4, CFLFigureArray *pFlfaResult) const
virtual const CResult Multiply(int32_t i32Mul)
virtual const CResult GetRasterRegion(Base::CFLArray< Base::TRect< double > > *pFlaResult, const CFLRect< int64_t > *pFlrROI=nullptr, bool bConservativeRasterization=false) const
virtual const CResult Open(int64_t i64KernelSizeWidth, int64_t i64KernelSizeHeight, CFLFigureArray *pFlfaResultFigure, EKernelShape eKernelShape=EKernelShape_Rectangle) const
virtual bool IsCollision(const CFLPoint< int32_t > &point) const
virtual const CResult Extend(const CFLRect< int64_t > &flrSize)
virtual const CResult Inflate(const CFLLine< int32_t > *pLine)
virtual bool IsCollision(const CFLLine< float > &line) const
virtual CFLEllipse< double > GetMinimumEnclosingEllipse(int64_t i64OutlierThresholdCount=0, double f64OutlierThreshold=3.) const
Get a minimum enclosing ellipse.
virtual const CResult GetCenterOfGravity(CFLPoint< int64_t > &point) const
virtual bool IsCollision(const CFLRect< double > &rect) const
virtual const CResult GetRegionOfUnion(const CFLCircle< int64_t > &cir, CFLFigureArray *pFlfaResult) const
Perform union of two objects.
virtual const CResult SetAttributeDrawingLineWidth(float f32LineWidth) sealed
virtual const CResult Set(const Base::CFLImagePage *pFlip)
virtual const CResult Multiply(const Base::TPoint< int64_t > &tp)
virtual const CResult GetIntersection(const CFLEllipse< int32_t > *pEll, CFLFigureArray *pFlfaResult) const
virtual const CResult GetMinimumEnclosingRectangleCenter(float *x, float *y) const
virtual const CResult GetSamplingVectorOnSegment(double f64SamplingDistance, CFLFigureArray &flfaResult) const
Get point information moving by the set length.
virtual const CResult GetRegionOfUnion(const CFLRegion *pFlrg, CFLFigureArray *pFlfaResult) const
Perform union of two objects.
virtual const CResult GetMinimumEnclosingRectangle(CFLQuad< double > &quad) const
Get a minimum enclosing rectangle.
virtual const CResult GetRasterRegion(Base::CFLArray< Base::TRect< double > > &flaResult, const CFLPoint< int64_t > *pFlpImageSize, bool bConservativeRasterization=false) const
virtual bool IsCollision(const CFLEllipse< int64_t > &ell) const
virtual const CResult GetRegionOfIntersection(const CFLQuad< double > *pQuad, CFLFigureArray *pFlfaResult) const
Perform intersection of two objects.
virtual const CResult Offset(int64_t val)
virtual bool IsCollision(const CFLBezierQuadraticCurve &flbc2) const
virtual const CResult Inflate(const CFLLine< double > &line)
virtual const CResult GetRegionOfIntersection(const CFLCircle< double > &cir, CFLFigureArray *pFlfaResult) const
Perform intersection of two objects.
virtual CFLPoint< double > GetCenter() const
virtual const CResult GetRegionOfUnion(const CFLFigure &figure, CFLFigureArray *pFlfaResult) const
Perform union of two objects.
virtual const CResult GetVertexCount(CFLFigureArray &flfaResult, EIncludingRegionType eType=EIncludingRegionType_All, bool bRecursive=true) const
Get the number of vertices in the figure.
virtual const CResult SetAttributeDrawingEdgeColor(uint8_t u8Blue, uint8_t u8Green, uint8_t u8Red) sealed
virtual bool IsCollision(const CFLLine< int64_t > *pLine) const
virtual const CResult GetIntersection(const CFLQuad< double > *pQuad, CFLFigureArray *pFlfaResult) const
virtual const CResult GetRegionOfIntersection(const CFLDoughnut< double > &doughnut, CFLFigureArray *pFlfaResult) const
Perform intersection of two objects.
virtual const CResult GetIntersection(const CFLRect< float > &rect, CFLFigureArray *pFlfaResult) const
virtual const CResult GetCenter(double *x, double *y) const
virtual const CResult GetRegionOfUnion(const CFLEllipse< int32_t > &ell, CFLFigureArray *pFlfaResult) const
Perform union of two objects.
virtual bool IsCollision(const CFLLine< float > *pLine) const
virtual const CResult GetMinimumEnclosingRectangle(CFLQuad< float > *pQuad) const
Get a minimum enclosing rectangle.
virtual const CResult GetRegionOfUnion(const CFLQuad< float > &quad, CFLFigureArray *pFlfaResult) const
Perform union of two objects.
virtual const CResult GetIntersection(const CFLLine< int32_t > *pLine, CFLFigureArray *pFlfaResult) const
virtual const CResult Extend(const Base::TPoint< int64_t > *pTpSize)
virtual bool IsCollision(const CFLPoint< double > *pPoint) const
virtual const CResult GetCenterOfGravity(CFLPoint< int64_t > *pPoint) const
virtual bool IsCollision(const CFLRoundRect< int32_t > &flrr) const
virtual const CResult GetIntersection(const CFLCircle< float > &cir, CFLFigureArray *pFlfaResult) const
virtual const CResult Inflate(int64_t width, int64_t height)
virtual const CResult GetIntersection(const CFLRegion &flrg, CFLFigureArray *pFlfaResult) const
virtual const CResult GetMinimumEnclosingCircle(CFLCircle< double > *pFlcResult, int64_t i64OutlierThresholdCount=0, double f64OutlierThreshold=3.) const
Get a minimum enclosing circle.
virtual const CResult Offset(float val)
virtual const CResult GetRasterRegion(Base::CFLArray< Base::TRect< int32_t > > &flaResult, const CFLRect< int64_t > *pFlrROI=nullptr, bool bConservativeRasterization=false) const
virtual const CResult GetRegionOfUnion(const CFLCircle< double > *pCir, CFLFigureArray *pFlfaResult) const
Perform union of two objects.
virtual const CResult GetRegionOfIntersection(const CFLDoughnut< int32_t > &doughnut, CFLFigureArray *pFlfaResult) const
Perform intersection of two objects.
virtual const CResult Inflate(const CFLRect< float > *pRect)
virtual const CResult Extend(int64_t i64HalfWidth, int64_t i64HalfHeight)
virtual const CResult Inflate(const CFLPoint< int64_t > *pPoint)
virtual const CResult GetRegionOfIntersection(const CFLDoughnut< int32_t > *pDoughnut, CFLFigureArray *pFlfaResult) const
Perform intersection of two objects.
virtual const CResult GetMinimumEnclosingRectangle(CFLQuad< int32_t > &quad) const
Get a minimum enclosing rectangle.
virtual const CResult Multiply(const Base::TPoint< int32_t > *pTp)
virtual const CResult GetCenterOfGravity(int64_t &x, int64_t &y) const
virtual const CResult GetCenter(CFLPoint< int32_t > &point) const
virtual const CResult GetRegionOfUnion(const CFLRect< float > &rect, CFLFigureArray *pFlfaResult) const
Perform union of two objects.
virtual const CResult GetRegionOfIntersection(const CFLCircle< int64_t > *pCir, CFLFigureArray *pFlfaResult) const
Perform intersection of two objects.
virtual bool IsCollision(const CFLRect< double > *pRect) const
virtual const CResult GetRegionOfExclusiveOr(const CFLEllipse< double > *pEll, CFLFigureArray *pFlfaResult) const
Perform exclusiveOR of two objects.
virtual const CResult Extend(const Base::TRect< int32_t > &trSize)
virtual const CResult GetRegionOfExclusiveOr(const CFLRoundRect< int32_t > *pFlrr, CFLFigureArray *pFlfaResult) const
Perform exclusiveOR of two objects.
virtual const CResult GetRegionOfSubtraction(const CFLQuad< int64_t > &quad, CFLFigureArray *pFlfaResult) const
Perform subtraction of two objects.
virtual const CResult SetAttributeDrawingLineColor(uint32_t u32LineColor) sealed
virtual const CResult GetRegionOfExclusiveOr(const CFLQuad< int64_t > &quad, CFLFigureArray *pFlfaResult) const
Perform exclusiveOR of two objects.
virtual const CResult GetIntersection(const CFLComplexRegion &flcr, CFLFigureArray *pFlfaResult) const
virtual const CResult Extend(const Base::TPoint< double > *pTpSize)
virtual bool IsCollision(const Base::TPoint< int32_t > *pPoint) const
virtual const CResult Extend(const CFLLine< double > &fllSize)
virtual const CResult GetEstimatedLine(CFLFigureArray &flfaResult) const
Generates an estimated center path for single-path closed figures.
virtual const CResult Scale(const CFLPoint< float > *pFlpPivot, double f64RatioX, double f64RatioY)
virtual bool IsCollision(const Base::TRect< int32_t > *pRect) const
virtual const CResult GetMinimumEnclosingRectangleCenter(float &x, float &y) const
virtual const CResult GetRegionOfIntersection(const CFLDoughnut< float > &doughnut, CFLFigureArray *pFlfaResult) const
Perform intersection of two objects.
virtual const CResult Inflate(const CFLLine< float > *pLine)
virtual const CResult Multiply(int64_t i64Mul)
virtual const CResult GetIntersection(const CFLCircle< int32_t > &cir, CFLFigureArray *pFlfaResult) const
virtual const CResult GetRegionOfExclusiveOr(const CFLQuad< double > &quad, CFLFigureArray *pFlfaResult) const
Perform exclusiveOR of two objects.
virtual bool IsCollision(const CFLPoint< double > &point) const
virtual const CResult GetRasterRegion(Base::CFLArray< Base::TRect< float > > &flaResult, const CFLRect< int64_t > *pFlrROI=nullptr, bool bConservativeRasterization=false) const
virtual bool IsCollision(const Base::TRect< int64_t > &rect) const
virtual const CResult GetIndexOfMaximumDistance(const CFLFigure *pFlfDst, CFLFigureArray *pFlfaResultSrc, bool bRecursiveSrc=false, bool bRecursiveDst=false, CFLFigureArray *pFlfaResultDst=nullptr) const
Get the index of the position furthest from the target figure. (If it is not a FigureArray or PointAr...
virtual const CResult GetIntersection(const CFLEllipse< double > &ell, CFLFigureArray *pFlfaResult) const
virtual bool IsCollision(const CFLPoint< int64_t > &point) const
virtual const CResult GetIntersection(const CFLRect< float > *pRect, CFLFigureArray *pFlfaResult) const
virtual const CResult GetRegionOfSubtraction(const CFLRoundRect< float > *pFlrr, CFLFigureArray *pFlfaResult) const
Perform subtraction of two objects.
virtual const CResult Save(const wchar_t *pWcsFileName) const sealed
Save the figure object as a .fig file.
virtual const CResult Multiply(const CFLPoint< float > *pFlp)
virtual const CResult GetRasterContour(CFLPointArray *pFlpaResult, bool bExcludeSingleDelta=false) const
Get contour's raster point information.
virtual const CResult GetRegionOfUnion(const CFLRect< double > &rect, CFLFigureArray *pFlfaResult) const
Perform union of two objects.
virtual const CResult Flip(EFigureFlipDirection eDirection, const CFLPoint< int64_t > *pFlpPivot)
virtual const CResult GetBoundaryRect(double *pLeft, double *pTop, double *pRight, double *pBottom) const
virtual const CResult GetMinimumEnclosingRectangleCenter(CFLPoint< int64_t > *pPoint) const
virtual const CResult GetRegionOfSubtraction(const CFLFigure *pFigure, CFLFigureArray *pFlfaResult) const
Perform subtraction of two objects.
virtual const CResult GetRegionOfIntersection(const CFLRect< int32_t > &rect, CFLFigureArray *pFlfaResult) const
Perform intersection of two objects.
virtual const CResult GetRegionOfExclusiveOr(const CFLEllipse< float > &ell, CFLFigureArray *pFlfaResult) const
Perform exclusiveOR of two objects.
virtual bool IsCollision(const Base::TPoint< float > *pPoint) const
virtual const CResult Flip(EFigureFlipDirection eDirection, const CFLPoint< double > &flpPivot)
virtual const CResult Inflate(int32_t left, int32_t top, int32_t right, int32_t bottom)
virtual const CResult GetIntersection(const CFLRect< int32_t > *pRect, CFLFigureArray *pFlfaResult) const
virtual bool IsCollision(const CFLPointArray &flpa) const
virtual const CResult GetMinimumEnclosingEllipse(CFLEllipse< int64_t > *pFleResult, int64_t i64OutlierThresholdCount=0, double f64OutlierThreshold=3.) const
Get a minimum enclosing ellipse.
virtual bool IsCollision(const CFLEllipse< double > &ell) const
virtual const CResult GetIntersection(const CFLDoughnut< int32_t > &doughnut, CFLFigureArray *pFlfaResult) const
virtual const CResult GetRegionOfSubtraction(const CFLRect< float > *pRect, CFLFigureArray *pFlfaResult) const
Perform subtraction of two objects.
virtual const CResult GetRegionOfSubtraction(const CFLQuad< float > &quad, CFLFigureArray *pFlfaResult) const
Perform subtraction of two objects.
virtual const CResult Extend(const CFLPoint< double > &flpSize)
virtual const CResult GetIntersection(const CFLCubicSpline *pFlcs, CFLFigureArray *pFlfaResult) const
virtual const CResult GetCenter(CFLPoint< int32_t > *pPoint) const
virtual bool IsCollision(const CFLDoughnut< float > *pDoughnut) const
virtual const CResult GetAttributeDrawingFillColorAlphaRatio(float &f32FillColorAlphaRatio) const sealed
virtual bool IsCollision(const CFLBezierQuadraticCurve *pFlbc2) const
virtual const CResult GetMinimumDistance(const CFLFigure *pFlfTarget, double *pF64Result) const
Get the distance between the target figure and the closest position to each other.
virtual const CResult GetRegionOfUnion(const CFLRect< int32_t > *pRect, CFLFigureArray *pFlfaResult) const
Perform union of two objects.
virtual const CResult GetMinimumEnclosingEllipse(CFLEllipse< double > &fleResult, int64_t i64OutlierThresholdCount=0, double f64OutlierThreshold=3.) const
Get a minimum enclosing ellipse.
virtual const CResult GetIntersection(const CFLBezierQuadraticCurve *pFlbc2, CFLFigureArray *pFlfaResult) const
virtual const CResult Warp(const CFLPointArray &flpaSource, const CFLPointArray &flpaTarget, CFLFigureArray *pFlfaResult, EWarpingType eWarpingType=EWarpingType_Bicubic, int32_t i32Extension=2) const
virtual const CResult GetRasterRegion(Base::CFLArray< Base::TRect< int32_t > > *pFlaResult, const CFLPoint< int64_t > *pFlpImageSize, bool bConservativeRasterization=false) const
virtual const CResult Dilate(const CFLFigure &flfKernel, CFLFigureArray *pFlfaResultFigure) const
virtual const CResult GetRegionOfExclusiveOr(const CFLEllipse< int64_t > &ell, CFLFigureArray *pFlfaResult) const
Perform exclusiveOR of two objects.
virtual const CResult GetBoundaryRect(int64_t *pLeft, int64_t *pTop, int64_t *pRight, int64_t *pBottom) const
virtual const CResult GetRegionOfUnion(const CFLComplexRegion *pFlcr, CFLFigureArray *pFlfaResult) const
Perform union of two objects.
virtual const CResult GetCenter(CFLPoint< int64_t > &point) const
virtual const CResult GetRegionOfSubtraction(const CFLDoughnut< int32_t > &doughnut, CFLFigureArray *pFlfaResult) const
Perform subtraction of two objects.
virtual const CResult Offset(const Base::TPoint< double > *pPoint)
virtual const CResult GetCenter(double &x, double &y) const
virtual const CResult GetRegionOfUnion(const CFLFigureArray *pFlfaOperand, CFLFigureArray *pFlfaResult) const
Perform union of two objects.
virtual const CResult GetBoundaryRect(double &left, double &top, double &right, double &bottom) const
virtual const CResult Offset(const Base::TPoint< double > &point)
virtual const CResult GetIntersection(const CFLQuad< float > &quad, CFLFigureArray *pFlfaResult) const
virtual double GetMinimumDistance(const CFLFigure &flfTarget) const
Get the distance between the target figure and the closest position to each other.
virtual const CResult Multiply(const Base::TPoint< int64_t > *pTp)
virtual const CResult GetRegionOfSubtraction(const CFLRect< double > *pRect, CFLFigureArray *pFlfaResult) const
Perform subtraction of two objects.
virtual const CResult Scale(const CFLPoint< double > *pFlpPivot, double f64RatioX, double f64RatioY)
virtual uint64_t GetVertexCountRecursive(EIncludingRegionType eType=EIncludingRegionType_All) const
FigureArray Get the number of all vertices inside.
virtual const CResult MeasureThickness(double *pF64Thickness, double f64SamplingStep=1.) const
Measure the thickness of the figure.
virtual const CResult SetName(const wchar_t *pWcsName) sealed
Set the name of the figure object.
virtual const CResult Extend(const CFLLine< int64_t > &fllSize)
virtual const CResult GetRegionOfSubtraction(const CFLQuad< int64_t > *pQuad, CFLFigureArray *pFlfaResult) const
Perform subtraction of two objects.
virtual const CResult GetRasterRegion(Base::CFLArray< Base::TRect< float > > *pFlaResult, const CFLPoint< int64_t > *pFlpImageSize, bool bConservativeRasterization=false) const
virtual const CResult Rotate(double f64Angle, const CFLPoint< int64_t > *pFlpPivot)
virtual const CResult GetRegionOfExclusiveOr(const CFLEllipse< int32_t > &ell, CFLFigureArray *pFlfaResult) const
Perform exclusiveOR of two objects.
virtual const CResult AddExclusiveRegion(const CFLFigure *pFigure)
virtual const CResult GetCenterOfGravity(int32_t *x, int32_t *y) const
virtual const CResult Extend(const Base::TRect< int64_t > *pTrSize)
virtual const CResult SetExclusiveRegion(const CFLFigure &flfaExclusiveRegion)
virtual const CResult GetMinimumEnclosingRectangleCenter(CFLPoint< double > &point) const
virtual const CResult GetRegionOfSubtraction(const CFLRoundRect< double > &flrr, CFLFigureArray *pFlfaResult) const
Perform subtraction of two objects.
virtual bool IsCollision(const CFLPoint< float > &point) const
virtual const CResult GetRegionOfIntersection(const CFLRoundRect< int64_t > *pFlrr, CFLFigureArray *pFlfaResult) const
Perform intersection of two objects.
virtual const CResult Offset(double val)
virtual const CResult GetRasterRegion(Base::CFLArray< Base::TRect< int32_t > > &flaResult, const CFLPoint< int64_t > *pFlpImageSize, bool bConservativeRasterization=false) const
virtual const CResult GetMinimumEnclosingRectangle(CFLQuad< double > *pQuad) const
Get a minimum enclosing rectangle.
virtual bool IsCollision(const CFLPoint< int64_t > *pPoint) const
virtual const CResult Offset(const Base::TPoint< float > &point)
virtual const CResult GetRegionOfIntersection(const CFLRoundRect< float > &flrr, CFLFigureArray *pFlfaResult) const
Perform intersection of two objects.
virtual const CResult Scale(double f64RatioX, double f64RatioY)
virtual const CResult Erode(int64_t i64KernelSizeWidth, int64_t i64KernelSizeHeight, CFLFigureArray *pFlfaResultFigure, EKernelShape eKernelShape=EKernelShape_Rectangle) const
virtual const CResult GetIntersection(const CFLBezierQuarticCurve *pFlbc4, CFLFigureArray *pFlfaResult) const
virtual const CResult Extend(const Base::TRect< float > &trSize)
virtual const CResult GetRegionOfSubtraction(const CFLCircle< float > *pCir, CFLFigureArray *pFlfaResult) const
Perform subtraction of two objects.
virtual const CResult Multiply(const CFLPoint< double > *pFlp)
virtual const CResult GetRegionOfSubtraction(const CFLCircle< int64_t > *pCir, CFLFigureArray *pFlfaResult) const
Perform subtraction of two objects.
virtual double GetMinimumDistance(const CFLFigure *pFlfTarget) const
Get the distance between the target figure and the closest position to each other.
virtual const CResult GetRegionOfSubtraction(const CFLRect< double > &rect, CFLFigureArray *pFlfaResult) const
Perform subtraction of two objects.
virtual const CResult Extend(const Base::TPoint< int64_t > &tpSize)
virtual const CResult Offset(int32_t val)
virtual const CResult GetRegionOfExclusiveOr(const CFLRoundRect< int64_t > &flrr, CFLFigureArray *pFlfaResult) const
Perform exclusiveOR of two objects.
virtual const CResult GetIndexOfMinimumDistance(const CFLFigure &flfDst, CFLFigureArray *pFlfaResultSrc, bool bRecursiveSrc=false, bool bRecursiveDst=false, CFLFigureArray *pFlfaResultDst=nullptr) const
Get the index of the position closest to the target figure. (If it is not a FigureArray or PointArray...
virtual const CResult Inflate(double f64HalfSize)
A function that increases in each axis direction by the input size.
virtual const CResult GetMinimumEnclosingRectangleCenter(CFLPoint< int32_t > &point) const
virtual const CResult Extend(const Base::TRect< int64_t > &trSize)
virtual const CResult GetRegionOfExclusiveOr(const CFLRoundRect< float > *pFlrr, CFLFigureArray *pFlfaResult) const
Perform exclusiveOR of two objects.
virtual const CResult GetMinimumEnclosingEllipse(CFLEllipse< float > &fleResult, int64_t i64OutlierThresholdCount=0, double f64OutlierThreshold=3.) const
Get a minimum enclosing ellipse.
virtual const CResult GetRegionOfUnion(const CFLRegion &flrg, CFLFigureArray *pFlfaResult) const
Perform union of two objects.
virtual const CResult Offset(const Base::TPoint< int32_t > *pPoint)
virtual const CResult GetRegionOfUnion(const CFLEllipse< int64_t > &ell, CFLFigureArray *pFlfaResult) const
Perform union of two objects.
virtual const CResult GetIntersection(const CFLDoughnut< double > &doughnut, CFLFigureArray *pFlfaResult) const
virtual const CResult GetBoundaryRect(CFLRect< int64_t > &rect) const
virtual const CResult GetRasterRegion(Base::CFLArray< Base::TPoint3< int32_t > > *pFlaResult, const CFLRect< int64_t > *pFlrROI=nullptr, bool bConservativeRasterization=false) const
virtual const CResult GetMinimumEnclosingRectangle(CFLQuad< int32_t > *pQuad) const
Get a minimum enclosing rectangle.
virtual const CResult Flip(EFigureFlipDirection eDirection, int32_t i32PivotX, int32_t i32PivotY)
virtual const CResult GetRegionOfUnion(const CFLQuad< double > *pQuad, CFLFigureArray *pFlfaResult) const
Perform union of two objects.
virtual const CResult Extend(const CFLRect< int32_t > *pFlrSize)
virtual const CResult GetRegionOfExclusiveOr(const CFLEllipse< double > &ell, CFLFigureArray *pFlfaResult) const
Perform exclusiveOR of two objects.
virtual const CResult GetRegionOfSubtraction(const CFLFigureArray &flfaOperand, CFLFigureArray *pFlfaResult) const
Perform subtraction of two objects.
virtual const CResult GetBoundaryRect(CFLRect< float > *pRect) const
virtual const CResult GetRegionOfIntersection(const CFLDoughnut< int64_t > &doughnut, CFLFigureArray *pFlfaResult) const
Perform intersection of two objects.
virtual const CResult Open(const CFLFigure &flfKernel, CFLFigureArray &flfaResultFigure) const
virtual const CResult GetRegionOfUnion(const CFLRect< float > *pRect, CFLFigureArray *pFlfaResult) const
Perform union of two objects.
virtual bool IsCollision(const CFLRoundRect< int32_t > *pFlrr) const
virtual const CResult GetMinimumEnclosingRectangleCenter(double *x, double *y) const
virtual const CResult GetRasterRegion(Base::CFLArray< Base::TRect< double > > &flaResult, const CFLRect< int64_t > *pFlrROI=nullptr, bool bConservativeRasterization=false) const
virtual const CResult GetRegionOfSubtraction(const CFLCircle< float > &cir, CFLFigureArray *pFlfaResult) const
Perform subtraction of two objects.
virtual const CResult GetRegionOfIntersection(const CFLRegion *pFlrg, CFLFigureArray *pFlfaResult) const
Perform intersection of two objects.
virtual const CResult Flip(EFigureFlipDirection eDirection, const CFLPoint< double > *pFlpPivot)
virtual const CResult Extend(const CFLPoint< int64_t > *pFlpSize)
virtual const CResult Extend(const CFLLine< double > *pFllSize)
virtual const CResult GetIntersection(const CFLRect< int32_t > &rect, CFLFigureArray *pFlfaResult) const
virtual const CResult GetRegionOfUnion(const CFLEllipse< double > &ell, CFLFigureArray *pFlfaResult) const
Perform union of two objects.
virtual const CResult GetRegionOfExclusiveOr(const CFLQuad< int32_t > &quad, CFLFigureArray *pFlfaResult) const
Perform exclusiveOR of two objects.
virtual bool IsCollision(const CFLLine< int64_t > &line) const
virtual const CResult GetRegionOfIntersection(const CFLRect< int64_t > &rect, CFLFigureArray *pFlfaResult) const
Perform intersection of two objects.
virtual const CResult GetRasterRegion(Base::CFLArray< Base::TRect< double > > *pFlaResult, const CFLPoint< int64_t > *pFlpImageSize, bool bConservativeRasterization=false) const
virtual bool IsCollision(const CFLCircle< double > *pCir) const
virtual const CResult GetBoundaryRect(CFLRect< float > &rect) const
virtual const CResult Multiply(const CFLPoint< int64_t > *pFlp)
virtual const CResult Extend(float f32HalfSize)
virtual const CResult GetRegionOfSubtraction(const CFLFigure &figure, CFLFigureArray *pFlfaResult) const
Perform subtraction of two objects.
virtual const CResult Close(const CFLFigure *pFlfKernel, CFLFigureArray &flfaResultFigure) const
virtual const CResult Inflate(const CFLRect< int64_t > *pRect)
virtual const CResult Multiply(int32_t i32MulX, int32_t i32MulY)
virtual const CResult Flip(EFigureFlipDirection eDirection, const CFLPoint< float > *pFlpPivot)
virtual const CResult GetRegionOfExclusiveOr(const CFLRect< double > &rect, CFLFigureArray *pFlfaResult) const
Perform exclusiveOR of two objects.
virtual const CResult GetRegionOfSubtraction(const CFLCircle< double > *pCir, CFLFigureArray *pFlfaResult) const
Perform subtraction of two objects.
virtual const CResult GetRegionOfUnion(const CFLRoundRect< int64_t > &flrr, CFLFigureArray *pFlfaResult) const
Perform union of two objects.
virtual const CResult GetMaximumDistance(const CFLFigure &flfTarget, double *pF64Result) const
Get the distance of the farthest point from the target figure.
virtual const CResult GetMinimumEnclosingEllipse(CFLEllipse< int64_t > &fleResult, int64_t i64OutlierThresholdCount=0, double f64OutlierThreshold=3.) const
Get a minimum enclosing ellipse.
virtual const CResult GetRegionOfSubtraction(const CFLEllipse< int64_t > &ell, CFLFigureArray *pFlfaResult) const
Perform subtraction of two objects.
virtual const CResult GetIntersection(const CFLRect< double > *pRect, CFLFigureArray *pFlfaResult) const
virtual bool IsCollision(const CFLQuad< int64_t > &quad) const
virtual const CResult GetRegionOfExclusiveOr(const CFLFigureArray *pFlfaOperand, CFLFigureArray *pFlfaResult) const
Perform exclusiveOR of two objects.
virtual bool IsThereExclusiveRegion() const
virtual CFLQuad< double > GetMinimumEnclosingRectangle() const
Get a minimum enclosing rectangle.
virtual bool IsCollision(const CFLDoughnut< double > &doughnut) const
virtual const CResult GetIntersection(const CFLEllipse< int64_t > *pEll, CFLFigureArray *pFlfaResult) const
virtual const CResult Load(const wchar_t *pWcsFileName) sealed
Load the figure file saved as .fig and set it to the object. If the figure data of the file to be loa...
virtual const CResult Open(int64_t i64KernelSizeWidth, int64_t i64KernelSizeHeight, CFLFigureArray &flfaResultFigure, EKernelShape eKernelShape=EKernelShape_Rectangle) const
virtual const CResult Offset(const Base::TPoint< int64_t > &point)
virtual const CResult GetRegionOfUnion(const CFLDoughnut< double > *pDoughnut, CFLFigureArray *pFlfaResult) const
Perform union of two objects.
virtual const CResult GetIntersection(const CFLRoundRect< int32_t > &flrr, CFLFigureArray *pFlfaResult) const
virtual const CResult GetMinimumEnclosingRectangleCenter(int64_t *x, int64_t *y) const
virtual const CResult GetRegionOfExclusiveOr(const CFLRect< int64_t > *pRect, CFLFigureArray *pFlfaResult) const
Perform exclusiveOR of two objects.
virtual const CResult GetRegionOfExclusiveOr(const CFLRect< int32_t > &rect, CFLFigureArray *pFlfaResult) const
Perform exclusiveOR of two objects.
virtual const CResult GetIntersection(const CFLLine< float > *pLine, CFLFigureArray *pFlfaResult) const
virtual const CResult GetRegionOfSubtraction(const CFLDoughnut< double > *pDoughnut, CFLFigureArray *pFlfaResult) const
Perform subtraction of two objects.
virtual const CResult Extend(const CFLPoint< int64_t > &flpSize)
virtual const CResult Multiply(int64_t i64MulX, int64_t i64MulY)
virtual const CResult Extend(int64_t i64HalfSize)
virtual const CResult GetRegionOfIntersection(const CFLEllipse< float > &ell, CFLFigureArray *pFlfaResult) const
Perform intersection of two objects.
virtual const CResult GetRegionOfSubtraction(const CFLRect< int32_t > &rect, CFLFigureArray *pFlfaResult) const
Perform subtraction of two objects.
virtual const CResult GetAttributeDrawingLineWidth(float &f32LineWidth) const sealed
virtual const CResult RemoveExclusiveRegionAt(int64_t i64Index)
virtual const CResult Extend(int64_t left, int64_t top, int64_t right, int64_t bottom)
virtual const CResult GetRegionOfIntersection(const CFLQuad< int64_t > &quad, CFLFigureArray *pFlfaResult) const
Perform intersection of two objects.
virtual const CResult Extend(double f64HalfWidth, double f64HalfHeight)
virtual double GetPerimeter() const
virtual bool IsCollision(const CFLQuad< double > &quad) const
virtual const CResult Offset(const CFLPoint< float > *pPoint)
virtual bool IsCollision(const Base::TPoint< int64_t > &point) const
virtual const CResult Extend(const Base::TRect< double > *pTrSize)
virtual const CResult GetRegionOfExclusiveOr(const CFLFigure &figure, CFLFigureArray *pFlfaResult) const
Perform exclusiveOR of two objects.
virtual bool IsCollision(const CFLRoundRect< float > &flrr) const
virtual CFLRect< double > GetBoundaryRect() const
virtual const CResult GetRegionOfUnion(const CFLDoughnut< float > *pDoughnut, CFLFigureArray *pFlfaResult) const
Perform union of two objects.
virtual const CResult GetIntersection(const CFLCircle< int64_t > *pCir, CFLFigureArray *pFlfaResult) const
virtual const CResult GetRegionOfExclusiveOr(const CFLDoughnut< int64_t > *pDoughnut, CFLFigureArray *pFlfaResult) const
Perform exclusiveOR of two objects.
virtual bool IsCollision(const CFLEllipse< int32_t > &ell) const
virtual const CResult GetIntersection(const CFLFigure *pFigure, CFLFigureArray *pFlfaResult) const
virtual const CResult Extend(int32_t i32HalfSize)
virtual const CResult GetMinimumEnclosingCircle(CFLCircle< float > *pFlcResult, int64_t i64OutlierThresholdCount=0, double f64OutlierThreshold=3.) const
Get a minimum enclosing circle.
virtual const CResult GetRegionOfUnion(const CFLCircle< int64_t > *pCir, CFLFigureArray *pFlfaResult) const
Perform union of two objects.
virtual const CResult Warp(const CFLQuad< double > &flqSourceRegion, const CFLQuad< double > &flqTargetRegion, CFLFigureArray *pFlfaResult, EWarpingType eWarpingType=EWarpingType_Bilinear) const
virtual const CResult GetIntersection(const CFLFigureArray &flfaOperand, CFLFigureArray *pFlfaResult) const
virtual bool IsCollision(const CFLBezierQuarticCurve &flbc4) const
virtual bool IsCollision(const CFLPointArray *pFlpa) const
virtual const CResult GetAttributeDrawingFillColor(uint32_t &u32FillColor) const sealed
virtual const CResult GetRegionOfSubtraction(const CFLRoundRect< int32_t > &flrr, CFLFigureArray *pFlfaResult) const
Perform subtraction of two objects.
virtual const CResult GetMinimumEnclosingCircle(CFLCircle< float > &flcResult, int64_t i64OutlierThresholdCount=0, double f64OutlierThreshold=3.) const
Get a minimum enclosing circle.
virtual const CResult AssignAttribute(const CFLFigureAttribute &flfAttr) sealed
virtual const CResult GetRegionOfExclusiveOr(const CFLQuad< int32_t > *pQuad, CFLFigureArray *pFlfaResult) const
Perform exclusiveOR of two objects.
virtual const CResult Swap(CFLFigure &flfRight)
virtual const CResult Inflate(const CFLRect< int64_t > &rect)
virtual const CResult GetRegionOfExclusiveOr(const CFLComplexRegion &flcr, CFLFigureArray *pFlfaResult) const
Perform exclusiveOR of two objects.
virtual const CResult Multiply(const Base::TPoint< double > *pTp)
virtual const CResult GetRegionOfExclusiveOr(const CFLCircle< int64_t > &cir, CFLFigureArray *pFlfaResult) const
Perform exclusiveOR of two objects.
virtual const CResult Multiply(const Base::TPoint< float > *pTp)
virtual const CResult GetRegionOfSubtraction(const CFLRect< int32_t > *pRect, CFLFigureArray *pFlfaResult) const
Perform subtraction of two objects.
virtual double GetMaximumThickness(double f64TrimRatio=0.2) const
Get the figure's maximum thickness after applying the trimming ratio.
virtual const CResult GetRasterRegion(CFLFigureArray &flfaResult, const CFLPoint< int64_t > *pFlpImageSize, bool bConservativeRasterization=false) const
virtual const CResult GetRegionOfIntersection(const CFLQuad< int32_t > &quad, CFLFigureArray *pFlfaResult) const
Perform intersection of two objects.
virtual const CResult GetRegionOfSubtraction(const CFLRect< int64_t > &rect, CFLFigureArray *pFlfaResult) const
Perform subtraction of two objects.
virtual const CResult GetRegionOfUnion(const CFLRoundRect< int32_t > *pFlrr, CFLFigureArray *pFlfaResult) const
Perform union of two objects.
virtual const CResult GetIntersection(const CFLCircle< int64_t > &cir, CFLFigureArray *pFlfaResult) const
virtual const CResult Close(const CFLFigure *pFlfKernel, CFLFigureArray *pFlfaResultFigure) const
virtual const CResult GetRegionOfIntersection(const CFLQuad< int64_t > *pQuad, CFLFigureArray *pFlfaResult) const
Perform intersection of two objects.
virtual const CResult GetRegionOfSubtraction(const CFLQuad< double > *pQuad, CFLFigureArray *pFlfaResult) const
Perform subtraction of two objects.
const CResult GetExtraAttributeKeys(Base::CFLArray< Base::CFLString< wchar_t > > &flaKeys) const
virtual const CResult GetRasterRegion(Base::CFLArray< Base::TRect< int64_t > > *pFlaResult, const CFLPoint< int64_t > *pFlpImageSize, bool bConservativeRasterization=false) const
virtual const CResult SetAttributeDrawingEdgeColor(uint32_t u32EdgeColor) sealed
virtual const CResult GetRegionOfExclusiveOr(const CFLQuad< double > *pQuad, CFLFigureArray *pFlfaResult) const
Perform exclusiveOR of two objects.
virtual const CResult GetIntersection(const CFLCubicSpline &flcs, CFLFigureArray *pFlfaResult) const
virtual const CResult Multiply(double f64Mul)
virtual const CResult GetRegionOfUnion(const CFLEllipse< double > *pEll, CFLFigureArray *pFlfaResult) const
Perform union of two objects.
virtual const CResult GetPointsOfMaximumThickness(CFLPointArray &flpaResult, double f64TrimRatio=0.2) const
Returns two points representing the maximum thickness of the figure after applying the trimming ratio...
virtual const CResult ClearAttributeDrawingEdgeColor() sealed
virtual const CResult MakeFigureInvalid()
Make the figure invalid. (For example, set the coordinates of the point to invalid x,...
virtual bool IsValid() const override
virtual bool IsRasterOperationEnabled() const
Check for Rasterized Region In the case of a rasterized region, the operation speed is fast,...
virtual const CResult GetCenterOfGravity(float &x, float &y) const
virtual const CResult GetMinimumEnclosingEllipse(CFLEllipse< int32_t > &fleResult, int64_t i64OutlierThresholdCount=0, double f64OutlierThreshold=3.) const
Get a minimum enclosing ellipse.
virtual const CResult GetRegionOfExclusiveOr(const CFLRoundRect< int32_t > &flrr, CFLFigureArray *pFlfaResult) const
Perform exclusiveOR of two objects.
virtual void Clear()
Clear an object's variable.
virtual const CResult GetAttributeDrawingLineColorAlphaRatio(float &f32LineColorAlphaRatio) const sealed
virtual const CResult Dilate(int64_t i64KernelSizeWidth, int64_t i64KernelSizeHeight, CFLFigureArray *pFlfaResultFigure, EKernelShape eKernelShape=EKernelShape_Rectangle) const
virtual const CResult GetRegionOfIntersection(const CFLCircle< int32_t > *pCir, CFLFigureArray *pFlfaResult) const
Perform intersection of two objects.
virtual const CResult GetRasterRegion(Base::CFLArray< Base::TRect< int32_t > > *pFlaResult, const CFLRect< int64_t > *pFlrROI=nullptr, bool bConservativeRasterization=false) const
virtual const CResult Inflate(const CFLRect< double > &rect)
virtual float GetRasterRegionOutlineThickness() const sealed
Get the thickness of the perimeter when calculating the perimeter of GetRasterRegion.
virtual const CResult GetRegionOfUnion(const CFLRoundRect< double > &flrr, CFLFigureArray *pFlfaResult) const
Perform union of two objects.
virtual const CResult GetRegionOfExclusiveOr(const CFLComplexRegion *pFlcr, CFLFigureArray *pFlfaResult) const
Perform exclusiveOR of two objects.
virtual const CResult ClearAttribute() sealed
virtual const CResult GetBoundaryRect(float &left, float &top, float &right, float &bottom) const
virtual bool IsCollision(const CFLComplexRegion *pFlcr) const
virtual const CResult Offset(const CFLPoint< int64_t > *pPoint)
virtual const CResult Flip(EFigureFlipDirection eDirection, const CFLPoint< float > &flpPivot)
virtual const CResult Set(const CFLFigure &flf)
virtual const CResult GetRegionOfIntersection(const CFLEllipse< int32_t > *pEll, CFLFigureArray *pFlfaResult) const
Perform intersection of two objects.
virtual const CResult GetRegionOfExclusiveOr(const CFLCircle< int64_t > *pCir, CFLFigureArray *pFlfaResult) const
Perform exclusiveOR of two objects.
virtual bool IsCollision(const CFLRect< int64_t > &rect) const
virtual const CResult Rotate(double f64Angle, const CFLPoint< double > &flpPivot)
virtual const CResult Inflate(const CFLPoint< float > *pPoint)
virtual const CResult GetRegionOfExclusiveOr(const CFLDoughnut< double > *pDoughnut, CFLFigureArray *pFlfaResult) const
Perform exclusiveOR of two objects.
virtual const CResult Scale(const CFLPoint< int32_t > *pFlpPivot, double f64RatioX, double f64RatioY)
virtual const CResult Set(const Base::CFLImage *pFli)
virtual const CResult GetIntersection(const CFLEllipse< double > *pEll, CFLFigureArray *pFlfaResult) const
virtual const CResult GetIntersection(const CFLQuad< int64_t > *pQuad, CFLFigureArray *pFlfaResult) const
virtual const CResult AddExclusiveRegion(const CFLFigure &figure)
virtual double GetCircularity() const
Gets the circularity (compactness) of the figure based on area and perimeter.
virtual const CResult GetBoundaryRect(int32_t *pLeft, int32_t *pTop, int32_t *pRight, int32_t *pBottom) const
virtual const CResult GetRegionOfExclusiveOr(const CFLEllipse< float > *pEll, CFLFigureArray *pFlfaResult) const
Perform exclusiveOR of two objects.
const CResult GetAttributeString(Base::CFLString< wchar_t > &strAttributeString) const
virtual const CResult GetRegionOfSubtraction(const CFLQuad< float > *pQuad, CFLFigureArray *pFlfaResult) const
Perform subtraction of two objects.
virtual const CResult Open(const CFLFigure &flfKernel, CFLFigureArray *pFlfaResultFigure) const
virtual const CResult Inflate(float left, float top, float right, float bottom)
virtual const CResult GetRegionOfExclusiveOr(const CFLEllipse< int64_t > *pEll, CFLFigureArray *pFlfaResult) const
Perform exclusiveOR of two objects.
virtual CFLCircle< double > GetMinimumEnclosingCircle(int64_t i64OutlierThresholdCount=0, double f64OutlierThreshold=3.) const
Get a minimum enclosing circle.
virtual const CResult Inflate(const CFLPoint< int64_t > &point)
virtual const CResult Scale(const CFLPoint< int64_t > &flpPivot, double f64RatioX, double f64RatioY)
virtual CFLPoint< double > GetCenterOfGravity() const
virtual const CResult GetRasterRegion(Base::CFLArray< Base::TRect< float > > *pFlaResult, const CFLRect< int64_t > *pFlrROI=nullptr, bool bConservativeRasterization=false) const
virtual const CResult Erode(int64_t i64KernelSizeWidth, int64_t i64KernelSizeHeight, CFLFigureArray &flfaResultFigure, EKernelShape eKernelShape=EKernelShape_Rectangle) const
virtual const CResult Extend(const CFLLine< float > *pFllSize)
virtual const CResult GetRegionOfExclusiveOr(const CFLRegion &flrg, CFLFigureArray *pFlfaResult) const
Perform exclusiveOR of two objects.
virtual const CResult GetRasterContour(Base::CFLArray< Base::TPoint< int32_t > > *pFlaResult, bool bExcludeSingleDelta=false) const
Get contour's raster point information.
virtual const CResult GetRasterRegion(CFLFigureArray *pFlfaResult, const CFLPoint< int64_t > *pFlpImageSize, bool bConservativeRasterization=false) const
virtual const CResult GetRegionOfSubtraction(const CFLRoundRect< float > &flrr, CFLFigureArray *pFlfaResult) const
Perform subtraction of two objects.
virtual const CResult GetMinimumEnclosingRectangleCenter(CFLPoint< float > &point) const
virtual const CResult SetAttributeDrawingLineColor(uint8_t u8Blue, uint8_t u8Green, uint8_t u8Red) sealed
virtual const CResult GetEstimatedLine(CFLFigureArray *pFlfaResult) const
Generates an estimated center path for single-path closed figures.
virtual const CResult GetRegionOfIntersection(const CFLRoundRect< int64_t > &flrr, CFLFigureArray *pFlfaResult) const
Perform intersection of two objects.
virtual const CResult GetRegionOfExclusiveOr(const CFLDoughnut< int32_t > *pDoughnut, CFLFigureArray *pFlfaResult) const
Perform exclusiveOR of two objects.
virtual const CResult GetCenter(int32_t &x, int32_t &y) const
virtual const CResult GetIntersection(const CFLRoundRect< int64_t > *pFlrr, CFLFigureArray *pFlfaResult) const
virtual const CResult GetRegionOfExclusiveOr(const CFLDoughnut< float > &doughnut, CFLFigureArray *pFlfaResult) const
Perform exclusiveOR of two objects.
virtual const CResult GetMinimumEnclosingEllipse(CFLEllipse< float > *pFleResult, int64_t i64OutlierThresholdCount=0, double f64OutlierThreshold=3.) const
Get a minimum enclosing ellipse.
virtual const CResult GetRegionOfUnion(const CFLRoundRect< int32_t > &flrr, CFLFigureArray *pFlfaResult) const
Perform union of two objects.
virtual bool IsCollision(const CFLLine< double > *pLine) const
virtual const CResult Offset(const CFLPoint< double > *pPoint)
virtual const CResult Multiply(const CFLPoint< float > &flp)
virtual bool IsCollision(const CFLQuad< float > &quad) const
virtual const CResult Extend(const CFLPoint< float > &flpSize)
virtual const CResult Extend(float f32HalfWidth, float f32HalfHeight)
virtual const CResult GetRegionOfSubtraction(const CFLFigureArray *pFlfaOperand, CFLFigureArray *pFlfaResult) const
Perform subtraction of two objects.
virtual const CResult GetSkeleton(CFLFigureArray *pFlfaResult, double f64Accuracy=1.) const
Extracts the center lines of a figure and returns them as a set of OpenType CFLRegions.
virtual const CResult GetRegionOfUnion(const CFLRect< int32_t > &rect, CFLFigureArray *pFlfaResult) const
Perform union of two objects.
virtual bool IsCollision(const CFLRect< int64_t > *pRect) const
virtual bool IsCollision(const CFLRoundRect< double > &flrr) const
virtual const CResult GetMinimumEnclosingRectangleCenter(int32_t *x, int32_t *y) const
virtual const CResult GetRegionOfSubtraction(const CFLRegion *pFlrg, CFLFigureArray *pFlfaResult) const
Perform subtraction of two objects.
virtual const CResult GetPointsOfMaximumThickness(CFLPointArray *pFlpaResult, double f64TrimRatio=0.2) const
Returns two points representing the maximum thickness of the figure after applying the trimming ratio...
virtual const CResult Open(const CFLFigure *pFlfKernel, CFLFigureArray *pFlfaResultFigure) const
virtual const CResult GetIntersection(const CFLRect< double > &rect, CFLFigureArray *pFlfaResult) const
virtual const CFLFigureAttribute * GetAttribute() const sealed
virtual const CResult GetCenterOfGravity(float *x, float *y) const
virtual const CResult GetRegionOfUnion(const CFLQuad< float > *pQuad, CFLFigureArray *pFlfaResult) const
Perform union of two objects.
virtual const CResult Rotate(double f64Angle, double f64PivotX, double f64PivotY)
virtual const CResult GetRegionOfSubtraction(const CFLCircle< double > &cir, CFLFigureArray *pFlfaResult) const
Perform subtraction of two objects.
virtual const CResult GetRegionOfSubtraction(const CFLRoundRect< int64_t > &flrr, CFLFigureArray *pFlfaResult) const
Perform subtraction of two objects.
virtual const CResult GetSkeleton(CFLFigureArray &flfaResult, double f64Accuracy=1.) const
Extracts the center lines of a figure and returns them as a set of OpenType CFLRegions.
virtual const CResult GetMinimumEnclosingCircle(CFLCircle< int64_t > &flcResult, int64_t i64OutlierThresholdCount=0, double f64OutlierThreshold=3.) const
Get a minimum enclosing circle.
virtual const CResult Multiply(float f32Mul)
virtual const CResult Extend(const CFLRect< double > *pFlrSize)
virtual const CResult GetIntersection(const CFLQuad< int64_t > &quad, CFLFigureArray *pFlfaResult) const
virtual const CResult Extend(const CFLLine< int32_t > *pFllSize)
virtual const CResult GetAttributeDrawingEdgeColor(uint32_t &u32EdgeColor) const sealed
virtual const CResult Inflate(int32_t i32HalfSize)
A function that increases in each axis direction by the input size.
virtual const CResult GetCenterOfGravity(CFLPoint< int32_t > &point) const
virtual const CResult GetBoundaryRect(CFLRect< int32_t > *pRect) const
virtual bool IsCollision(const CFLDoughnut< int64_t > &doughnut) const
virtual const CResult GetRegionOfUnion(const CFLDoughnut< int64_t > &doughnut, CFLFigureArray *pFlfaResult) const
Perform union of two objects.
virtual const CResult GetRegionOfSubtraction(const CFLComplexRegion &flcr, CFLFigureArray *pFlfaResult) const
Perform subtraction of two objects.
virtual double GetHeight() const
virtual const CResult GetRegionOfIntersection(const CFLRoundRect< int32_t > *pFlrr, CFLFigureArray *pFlfaResult) const
Perform intersection of two objects.
virtual EFigureTemplateType GetTemplateType() const
virtual const CResult GetRegionOfUnion(const CFLDoughnut< int32_t > *pDoughnut, CFLFigureArray *pFlfaResult) const
Perform union of two objects.
virtual CFLFigureArray * GetExclusiveRegion() const
virtual bool IsCollision(const CFLEllipse< float > &ell) const
virtual const CResult GetRegionOfExclusiveOr(const CFLRect< float > &rect, CFLFigureArray *pFlfaResult) const
Perform exclusiveOR of two objects.
virtual const CResult Extend(const Base::TPoint< float > &tpSize)
virtual const CResult Warp(const CFLPointArray &flpaSource, const CFLPointArray &flpaTarget, CFLFigureArray &flfaResult, EWarpingType eWarpingType=EWarpingType_Bicubic, int32_t i32Extension=2) const
virtual const CResult GetRasterRegion(CFLFigureArray &flfaResult, const CFLRect< int64_t > *pFlrROI=nullptr, bool bConservativeRasterization=false) const
virtual const CResult GetRegionOfExclusiveOr(const CFLRect< double > *pRect, CFLFigureArray *pFlfaResult) const
Perform exclusiveOR of two objects.
virtual const CResult GetRegionOfExclusiveOr(const CFLDoughnut< float > *pDoughnut, CFLFigureArray *pFlfaResult) const
Perform exclusiveOR of two objects.
virtual const CResult GetRegionOfSubtraction(const CFLDoughnut< float > *pDoughnut, CFLFigureArray *pFlfaResult) const
Perform subtraction of two objects.
virtual const CResult GetCenter(int64_t &x, int64_t &y) const
virtual bool IsCollision(const Base::TRect< double > *pRect) const
virtual const CResult Inflate(const CFLRect< int32_t > *pRect)
virtual bool IsCollision(const CFLEllipse< float > *pEll) const
virtual const CResult Extend(const CFLPoint< int32_t > &flpSize)
virtual const CResult Extend(const Base::TRect< double > &trSize)
const CResult ClearExtraAttribute(const Base::CFLString< wchar_t > &strKey)
virtual const CResult GetIntersection(const CFLEllipse< int64_t > &ell, CFLFigureArray *pFlfaResult) const
virtual const CResult GetConvexHull(CFLRegion *pFlrgConvex) const
Calculate the convex hull of a figure.
virtual const CResult GetSamplingPointsOnSegment(double f64SamplingDistance, CFLPointArray &flpaResult) const
Get point information moving by the set length.
virtual const CResult GetRegionOfSubtraction(const CFLDoughnut< int64_t > *pDoughnut, CFLFigureArray *pFlfaResult) const
Perform subtraction of two objects.
virtual const CResult SetRasterRegionOutlineThickness(float f32Thickness) sealed
Set the thickness of the perimeter when calculating the perimeter of GetRasterRegion....
virtual const CResult Erode(const CFLFigure &flfKernel, CFLFigureArray *pFlfaResultFigure) const
virtual const CResult Offset(const CFLPoint< int64_t > &point)
virtual const CResult GetRegionOfExclusiveOr(const CFLDoughnut< double > &doughnut, CFLFigureArray *pFlfaResult) const
Perform exclusiveOR of two objects.
virtual const CResult AssignAttribute(const CFLFigureAttribute *pFlfAttr) sealed
virtual const CResult GetAttributeDrawingPenStyle(EAttributeDrawingPenStyle &ePenStyle) const sealed
virtual const CResult GetRegionOfExclusiveOr(const CFLRect< float > *pRect, CFLFigureArray *pFlfaResult) const
Perform exclusiveOR of two objects.
virtual const CResult GetRasterRegion(Base::CFLArray< Base::TRect< int64_t > > &flaResult, const CFLRect< int64_t > *pFlrROI=nullptr, bool bConservativeRasterization=false) const
virtual const CResult GetRegionOfSubtraction(const CFLEllipse< float > &ell, CFLFigureArray *pFlfaResult) const
Perform subtraction of two objects.
virtual const CResult Extend(const Base::TRect< float > *pTrSize)
virtual const CResult Offset(const CFLPoint< int32_t > &point)
virtual const CResult GetIntersection(const CFLQuad< int32_t > &quad, CFLFigureArray *pFlfaResult) const
virtual const CResult Offset(const CFLPoint< int32_t > *pPoint)
virtual const CResult GetIntersection(const CFLDoughnut< int64_t > &doughnut, CFLFigureArray *pFlfaResult) const
virtual const CResult Warp(const CFLQuad< double > *pFlqSourceRegion, const CFLQuad< double > *pFlqTargetRegion, CFLFigureArray &flfaResult, EWarpingType eWarpingType=EWarpingType_Bilinear) const
virtual const CResult Inflate(int32_t width, int32_t height)
virtual const CResult GetCenterOfGravity(CFLPoint< int32_t > *pPoint) const
virtual const CResult GetMinimumEnclosingRectangle(CFLQuad< float > &quad) const
Get a minimum enclosing rectangle.
virtual const CResult GetRegionOfSubtraction(const CFLDoughnut< int32_t > *pDoughnut, CFLFigureArray *pFlfaResult) const
Perform subtraction of two objects.
virtual const CResult GetPointsOfMinimumThickness(CFLPointArray *pFlpaResult, double f64TrimRatio=0.05) const
Returns two points representing the minimum thickness of the figure after applying the trimming ratio...
virtual bool IsCollision(const CFLQuad< int32_t > *pQuad) const
virtual const CResult GetRegionOfExclusiveOr(const CFLCircle< double > &cir, CFLFigureArray *pFlfaResult) const
Perform exclusiveOR of two objects.
virtual const CResult GetRegionOfUnion(const CFLRect< int64_t > &rect, CFLFigureArray *pFlfaResult) const
Perform union of two objects.
virtual bool IsCollision(const CFLDoughnut< double > *pDoughnut) const
virtual bool IsCollision(const CFLDoughnut< int32_t > &doughnut) const
virtual const CResult Rotate(double f64Angle)
virtual double GetMinimumEnclosingRectangleArea() const
virtual double GetMinimumEnclosingRectangleAngle() const
virtual const CResult GetRegionOfExclusiveOr(const CFLRoundRect< float > &flrr, CFLFigureArray *pFlfaResult) const
Perform exclusiveOR of two objects.
virtual const CResult GetRegionOfIntersection(const CFLFigureArray &flfaOperand, CFLFigureArray *pFlfaResult) const
Perform intersection of two objects.
virtual const CResult GetIntersection(const CFLCircle< double > &cir, CFLFigureArray *pFlfaResult) const
virtual bool IsCollision(const CFLRect< int32_t > *pRect) const
virtual const CResult GetRegionOfIntersection(const CFLDoughnut< double > *pDoughnut, CFLFigureArray *pFlfaResult) const
Perform intersection of two objects.
virtual const CResult GetRegionOfSubtraction(const CFLDoughnut< double > &doughnut, CFLFigureArray *pFlfaResult) const
Perform subtraction of two objects.
virtual const CResult GetRegionOfExclusiveOr(const CFLRoundRect< double > *pFlrr, CFLFigureArray *pFlfaResult) const
Perform exclusiveOR of two objects.
virtual const CResult Inflate(float f32HalfSize)
A function that increases in each axis direction by the input size.
virtual const CResult GetRegionOfIntersection(const CFLQuad< double > &quad, CFLFigureArray *pFlfaResult) const
Perform intersection of two objects.
virtual const CResult GetSamplingVectorOnSegment(double f64SamplingDistance, CFLFigureArray *pFlfaResult) const
Get point information moving by the set length.
virtual bool IsFigureValid() const
virtual bool IsCollision(const CFLCubicSpline &flcs) const
virtual const CResult GetRegionOfUnion(const CFLQuad< int32_t > &quad, CFLFigureArray *pFlfaResult) const
Perform union of two objects.
virtual const CResult GetRegionOfUnion(const CFLDoughnut< float > &doughnut, CFLFigureArray *pFlfaResult) const
Perform union of two objects.
virtual const CResult GetMinimumEnclosingRectangle(CFLQuad< int64_t > &quad) const
Get a minimum enclosing rectangle.
virtual const CResult GetSamplingPointsOnSegment(double f64SamplingDistance, CFLFigureArray &flfaResult) const
Get point information moving by the set length.
virtual const CResult Dilate(int64_t i64KernelSizeWidth, int64_t i64KernelSizeHeight, CFLFigureArray &flfaResultFigure, EKernelShape eKernelShape=EKernelShape_Rectangle) const
virtual const CResult Offset(float x, float y)
virtual const CResult GetMinimumEnclosingRectangleCenter(int32_t &x, int32_t &y) const
virtual const CResult GetRegionOfUnion(const CFLRoundRect< float > &flrr, CFLFigureArray *pFlfaResult) const
Perform union of two objects.
virtual const CResult GetRegionOfExclusiveOr(const CFLCircle< int32_t > *pCir, CFLFigureArray *pFlfaResult) const
Perform exclusiveOR of two objects.
virtual const CResult GetIntersection(const CFLLine< double > &line, CFLFigureArray *pFlfaResult) const
virtual const CResult GetRegionOfExclusiveOr(const CFLQuad< float > *pQuad, CFLFigureArray *pFlfaResult) const
Perform exclusiveOR of two objects.
virtual const CResult GetRegionOfIntersection(const CFLEllipse< float > *pEll, CFLFigureArray *pFlfaResult) const
Perform intersection of two objects.
virtual const CResult GetRegionOfIntersection(const CFLCircle< int32_t > &cir, CFLFigureArray *pFlfaResult) const
Perform intersection of two objects.
virtual const CResult GetPointsOfMaximumDistance(const CFLFigure *pFlfTarget, CFLPointArray *pFlpaResult) const
Get the location farthest away from the target figure.
virtual bool IsCollision(const CFLRoundRect< float > *pFlrr) const
virtual const CResult GetCenterOfGravity(double *x, double *y) const
virtual const CResult GetRegionOfExclusiveOr(const CFLFigureArray &flfaOperand, CFLFigureArray *pFlfaResult) const
Perform exclusiveOR of two objects.
virtual const CResult Close(int64_t i64KernelSizeWidth, int64_t i64KernelSizeHeight, CFLFigureArray *pFlfaResultFigure, EKernelShape eKernelShape=EKernelShape_Rectangle) const
virtual const CResult GetIntersection(const CFLQuad< float > *pQuad, CFLFigureArray *pFlfaResult) const
virtual const CResult GetCenterOfGravity(CFLPoint< double > &point) const
virtual const CResult GetRegionOfIntersection(const CFLRect< float > *pRect, CFLFigureArray *pFlfaResult) const
Perform intersection of two objects.
virtual const CResult Multiply(float f32MulX, float f32MulY)
virtual const CResult GetRegionOfUnion(const CFLFigure *pFigure, CFLFigureArray *pFlfaResult) const
Perform union of two objects.
virtual const CResult GetRegionOfSubtraction(const CFLRect< int64_t > *pRect, CFLFigureArray *pFlfaResult) const
Perform subtraction of two objects.
virtual const CResult GetRegionOfIntersection(const CFLComplexRegion &flcr, CFLFigureArray *pFlfaResult) const
Perform intersection of two objects.
virtual const CResult GetCenter(float *x, float *y) const
virtual const CResult GetIntersection(const CFLFigure &figure, CFLFigureArray *pFlfaResult) const
virtual const CResult Offset(int64_t x, int64_t y)
virtual const CResult Warp(const CFLQuad< double > *pFlqSourceRegion, const CFLQuad< double > *pFlqTargetRegion, CFLFigureArray *pFlfaResult, EWarpingType eWarpingType=EWarpingType_Bilinear) const
virtual bool IsCollision(const CFLCircle< int64_t > *pCir) const
virtual const CResult GetMinimumEnclosingCircle(CFLCircle< int64_t > *pFlcResult, int64_t i64OutlierThresholdCount=0, double f64OutlierThreshold=3.) const
Get a minimum enclosing circle.
virtual const CResult GetIntersection(const CFLRoundRect< float > &flrr, CFLFigureArray *pFlfaResult) const
virtual const CResult Extend(const CFLRect< int32_t > &flrSize)
virtual bool IsCollision(const CFLQuad< int32_t > &quad) const
virtual const CResult Flip(EFigureFlipDirection eDirection, const CFLPoint< int32_t > &flpPivot)
virtual const CResult Flip(EFigureFlipDirection eDirection, double f64PivotX, double f64PivotY)
virtual bool IsCollision(const CFLFigure &figure) const
virtual bool IsCollision(const CFLQuad< int64_t > *pQuad) const
virtual const CResult Multiply(const Base::TPoint< double > &tp)
virtual bool IsCollision(const CFLRect< float > *pRect) const
virtual const CResult Extend(const CFLRect< double > &flrSize)
virtual const CResult GetRegionOfExclusiveOr(const CFLRoundRect< int64_t > *pFlrr, CFLFigureArray *pFlfaResult) const
Perform exclusiveOR of two objects.
virtual const CResult GetCenterOfGravity(CFLPoint< float > *pPoint) const
virtual const CResult GetRegionOfSubtraction(const CFLQuad< int32_t > *pQuad, CFLFigureArray *pFlfaResult) const
Perform subtraction of two objects.
virtual bool IsCollision(const CFLDoughnut< int32_t > *pDoughnut) const
virtual const CResult GetIntersection(const CFLEllipse< float > *pEll, CFLFigureArray *pFlfaResult) const
virtual const CResult GetRegionOfUnion(const CFLEllipse< float > *pEll, CFLFigureArray *pFlfaResult) const
Perform union of two objects.
virtual const CResult GetRegionOfSubtraction(const CFLRect< float > &rect, CFLFigureArray *pFlfaResult) const
Perform subtraction of two objects.
virtual const CResult Scale(const CFLPoint< int32_t > &flpPivot, double f64RatioX, double f64RatioY)
virtual double GetMaximumDistance(const CFLFigure &flfTarget) const
Get the distance between the target figure and the furthest position to each other.
virtual const CResult ClearAttributeDrawingFillColor() sealed
virtual const CResult GetMinimumEnclosingRectangleCenter(int64_t &x, int64_t &y) const
virtual const CResult GetRegionOfSubtraction(const CFLRegion &flrg, CFLFigureArray *pFlfaResult) const
Perform subtraction of two objects.
virtual const CResult Close(int64_t i64KernelSizeWidth, int64_t i64KernelSizeHeight, CFLFigureArray &flfaResultFigure, EKernelShape eKernelShape=EKernelShape_Rectangle) const
virtual const CResult GetRasterRegion(Base::CFLArray< Base::TRect< int64_t > > *pFlaResult, const CFLRect< int64_t > *pFlrROI=nullptr, bool bConservativeRasterization=false) const
virtual const CResult Offset(const Base::TPoint< int64_t > *pPoint)
virtual const CResult GetRegionOfUnion(const CFLQuad< int64_t > *pQuad, CFLFigureArray *pFlfaResult) const
Perform union of two objects.
virtual const CResult ClearName() sealed
virtual double GetWidth() const
virtual const CResult SetAttributeDrawingFillColor(uint32_t u32FillColor) sealed
virtual const CResult Offset(const Base::TPoint< float > *pPoint)
virtual const CResult Inflate(double width, double height)
virtual const CResult GetIntersection(const CFLComplexRegion *pFlcr, CFLFigureArray *pFlfaResult) const
virtual const CResult MakeFigureValid()
Turn an invalid figure into a valid figure. (For example, restore the left and right,...
virtual const CResult Offset(const CFLPoint< double > &point)
const CResult SetAttributeString(const Base::CFLString< wchar_t > &strAttributeString)
virtual const CResult GetRegionOfUnion(const CFLRoundRect< int64_t > *pFlrr, CFLFigureArray *pFlfaResult) const
Perform union of two objects.
virtual const CResult SetAttributeDrawingFillColorAlphaRatio(float f32FillColorAlphaRatio) sealed
virtual bool IsCollision(const CFLComplexRegion &flcr) const
virtual const CResult Inflate(int64_t i64HalfSize)
A function that increases in each axis direction by the input size.
virtual const CResult GetRegionOfSubtraction(const CFLEllipse< double > &ell, CFLFigureArray *pFlfaResult) const
Perform subtraction of two objects.
virtual const CResult GetIntersection(const CFLLine< int64_t > &line, CFLFigureArray *pFlfaResult) const
virtual const CResult GetMinimumEnclosingRectangleCenter(CFLPoint< double > *pPoint) const
virtual const CResult Dilate(const CFLFigure *pFlfKernel, CFLFigureArray *pFlfaResultFigure) const
virtual const CResult GetRegionOfExclusiveOr(const CFLRegion *pFlrg, CFLFigureArray *pFlfaResult) const
Perform exclusiveOR of two objects.
virtual const CResult GetIntersection(const CFLLine< float > &line, CFLFigureArray *pFlfaResult) const
virtual const CResult GetPointsOfMaximumDistance(const CFLFigure &flfTarget, CFLPointArray *pFlpaResult) const
Get the location farthest away from the target figure.
virtual const CResult GetRegionOfSubtraction(const CFLRoundRect< double > *pFlrr, CFLFigureArray *pFlfaResult) const
Perform subtraction of two objects.
virtual bool IsCollision(const CFLBezierCubicCurve *pFlbc3) const
virtual bool IsCollision(const CFLDoughnut< int64_t > *pDoughnut) const
virtual const CResult Extend(const Base::TPoint< float > *pTpSize)
virtual const CResult Extend(float left, float top, float right, float bottom)
virtual const CResult Scale(const CFLPoint< double > &flpPivot, double f64RatioX, double f64RatioY)
virtual bool IsCollision(const Base::TRect< float > &rect) const
virtual const CResult Multiply(const Base::TPoint< float > &tp)
virtual const CResult Extend(const Base::TRect< int32_t > *pTrSize)
virtual bool IsCollision(const CFLRoundRect< int64_t > &flrr) const
virtual const CResult Extend(const Base::TPoint< int32_t > *pTpSize)
virtual const CResult Extend(const CFLRect< float > *pFlrSize)
virtual const CResult Set(const CFLFigure *pFlf)
virtual bool IsCollision(const CFLRoundRect< int64_t > *pFlrr) const
virtual const CResult Inflate(const CFLLine< float > &line)
virtual bool IsCollision(const CFLFigureArray &flfa) const
virtual double GetMinimumEnclosingRectangleLongSideLength() const
virtual const CResult GetRegionOfIntersection(const CFLDoughnut< int64_t > *pDoughnut, CFLFigureArray *pFlfaResult) const
Perform intersection of two objects.
virtual const CResult GetRasterRegion(Base::CFLArray< Base::TRect< float > > &flaResult, const CFLPoint< int64_t > *pFlpImageSize, bool bConservativeRasterization=false) const
virtual double GetMinimumEnclosingRectangleHeight() const
virtual const CResult Inflate(const CFLRect< double > *pRect)
virtual const CResult IsAttributeDrawingRealSizeLineWidthEnabled(bool &bEnabled) const sealed
virtual const CResult GetBoundaryRect(int64_t &left, int64_t &top, int64_t &right, int64_t &bottom) const
virtual bool IsCollision(const CFLBezierQuarticCurve *pFlbc4) const
virtual const CResult GetRegionOfSubtraction(const CFLRoundRect< int32_t > *pFlrr, CFLFigureArray *pFlfaResult) const
Perform subtraction of two objects.
virtual const CResult GetSamplingPointsOnSegment(double f64SamplingDistance, CFLPointArray *pFlpaResult) const
Get point information moving by the set length.
virtual bool IsCollision(const CFLLine< int32_t > &line) const
virtual bool IsCollision(const Base::TPoint< int64_t > *pPoint) const
virtual const CResult Warp(const CFLPointArray *pFlpaSource, const CFLPointArray *pFlpaTarget, CFLFigureArray *pFlfaResult, EWarpingType eWarpingType=EWarpingType_Bicubic, int32_t i32Extension=2) const
virtual const CResult ReverseSequence()
Function to reverse the sequence.
virtual const CResult GetIntersection(const CFLLine< int64_t > *pLine, CFLFigureArray *pFlfaResult) const
virtual bool IsCollision(const CFLPoint< float > *pPoint) const
virtual const CResult Open(const CFLFigure *pFlfKernel, CFLFigureArray &flfaResultFigure) const
virtual const CResult Erode(const CFLFigure *pFlfKernel, CFLFigureArray &flfaResultFigure) const
virtual const CResult Inflate(int64_t left, int64_t top, int64_t right, int64_t bottom)
virtual const CResult Erode(const CFLFigure &flfKernel, CFLFigureArray &flfaResultFigure) const
virtual const CResult GetRegionOfSubtraction(const CFLEllipse< int32_t > &ell, CFLFigureArray *pFlfaResult) const
Perform subtraction of two objects.
virtual const CResult GetRasterRegion(Base::CFLArray< Base::TPoint3< int32_t > > &flaResult, const CFLRect< int64_t > *pFlrROI=nullptr, bool bConservativeRasterization=false) const
virtual const CResult ClearAttributeDrawingLineWidth() sealed
virtual const CResult Set(const Base::CFLImagePage &flip)
virtual EFigureDeclType GetDeclType() const =0
virtual const CResult GetIntersection(const CFLRoundRect< float > *pFlrr, CFLFigureArray *pFlfaResult) const
virtual const CResult Set(const Base::CFLImage &fli)
virtual const CResult Inflate(const CFLPoint< double > *pPoint)
virtual const CResult GetRegionOfIntersection(const CFLFigure &figure, CFLFigureArray *pFlfaResult) const
Perform intersection of two objects.
virtual bool IsCollision(const CFLFigureArray *pFlfa) const
virtual bool IsCollision(const Base::TPoint< float > &point) const
virtual bool IsCollision(const CFLFigure *pFigure) const
virtual const CResult GetRegionOfExclusiveOr(const CFLQuad< int64_t > *pQuad, CFLFigureArray *pFlfaResult) const
Perform exclusiveOR of two objects.
virtual const CResult GetBoundaryRect(CFLRect< int64_t > *pRect) const
virtual double GetAngle() const
virtual const CResult GetRegionOfUnion(const CFLDoughnut< int64_t > *pDoughnut, CFLFigureArray *pFlfaResult) const
Perform union of two objects.
virtual const CResult Close(const CFLFigure &flfKernel, CFLFigureArray &flfaResultFigure) const
virtual const CResult GetIntersection(const CFLCircle< float > *pCir, CFLFigureArray *pFlfaResult) const
virtual const CResult ClearAttributeDrawingFillColorAlphaRatio() sealed
virtual const CResult SetAttributeDrawingPenStyle(EAttributeDrawingPenStyle ePenStyle) sealed
virtual const CResult GetIntersection(const CFLCircle< int32_t > *pCir, CFLFigureArray *pFlfaResult) const
virtual const CResult GetIntersection(const CFLLine< int32_t > &line, CFLFigureArray *pFlfaResult) const
virtual const CResult Flip(EFigureFlipDirection eDirection)
virtual const CResult Inflate(const CFLRect< float > &rect)
virtual const CResult GetSamplingPointsOnSegment(double f64SamplingDistance, CFLFigureArray *pFlfaResult) const
Get point information moving by the set length.
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
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
Definition AlgorithmBase.h:16
EKernelShape
Definition DefinitionsFigure.h:3249
@ EKernelShape_Rectangle
Definition DefinitionsFigure.h:3256
EWarpingType
Definition DefinitionsFigure.h:2869
@ EWarpingType_Bicubic
Definition DefinitionsFigure.h:2886
@ EWarpingType_Bilinear
Definition DefinitionsFigure.h:2880
EWindingDirection
Winding direction.
Definition DefinitionsFigure.h:2650
EIncludingRegionType
Definition DefinitionsFigure.h:2844
@ EIncludingRegionType_All
Definition DefinitionsFigure.h:2849
EFigureDeclType
Declare type of figure.
Definition DefinitionsFigure.h:33
EFigureTemplateType
Template type of figure.
Definition DefinitionsFigure.h:423
EFigureSpecCompareType
Definition DefinitionsFigure.h:3579
@ EFigureSpecCompareType_Coordinates
Definition DefinitionsFigure.h:3584
EAttributeDrawingPenStyle
Pen Style in Figure drawing attribute.
Definition DefinitionsFigure.h:3283
EFigureFlipDirection
Flip direction.
Definition DefinitionsFigure.h:2741