FLImaging 6.8.12.1
FLTriangle.h
1#pragma once
2
8
9#include "FLFigure.h"
10#include "FLPoint.h"
11
13namespace FLImaging
14{
16 namespace Foundation
17 {
23 template<typename T>
24 class FL_EXPORT CFLTriangle : public CFLFigure
25 {
26 public:
32
38
43 virtual ~CFLTriangle();
44
64 CFLTriangle(int32_t x0, int32_t y0, int32_t x1, int32_t y1, int32_t x2, int32_t y2);
65
85 CFLTriangle(int64_t x0, int64_t y0, int64_t x1, int64_t y1, int64_t x2, int64_t y2);
86
106 CFLTriangle(float x0, float y0, float x1, float y1, float x2, float y2);
107
127 CFLTriangle(double x0, double y0, double x1, double y1, double x2, double y2);
128
144 CFLTriangle(const Base::TPoint<int32_t>& tpPoint0, const Base::TPoint<int32_t>& tpPoint1, const Base::TPoint<int32_t>& tpPoint2);
145
161 CFLTriangle(const Base::TPoint<int64_t>& tpPoint0, const Base::TPoint<int64_t>& tpPoint1, const Base::TPoint<int64_t>& tpPoint2);
162
178 CFLTriangle(const Base::TPoint<float>& tpPoint0, const Base::TPoint<float>& tpPoint1, const Base::TPoint<float>& tpPoint2);
179
195 CFLTriangle(const Base::TPoint<double>& tpPoint0, const Base::TPoint<double>& tpPoint1, const Base::TPoint<double>& tpPoint2);
196
212 CFLTriangle(const Base::TPoint<int32_t>* pTpPoint0, const Base::TPoint<int32_t>* pTpPoint1, const Base::TPoint<int32_t>* pTpPoint2);
213
229 CFLTriangle(const Base::TPoint<int64_t>* pTpPoint0, const Base::TPoint<int64_t>* pTpPoint1, const Base::TPoint<int64_t>* pTpPoint2);
230
246 CFLTriangle(const Base::TPoint<float>* pTpPoint0, const Base::TPoint<float>* pTpPoint1, const Base::TPoint<float>* pTpPoint2);
247
263 CFLTriangle(const Base::TPoint<double>* pTpPoint0, const Base::TPoint<double>* pTpPoint1, const Base::TPoint<double>* pTpPoint2);
264
280 CFLTriangle(const CFLPoint<int32_t>& flpPoint0, const CFLPoint<int32_t>& flpPoint1, const CFLPoint<int32_t>& flpPoint2);
281
297 CFLTriangle(const CFLPoint<int64_t>& flpPoint0, const CFLPoint<int64_t>& flpPoint1, const CFLPoint<int64_t>& flpPoint2);
298
314 CFLTriangle(const CFLPoint<float>& flpPoint0, const CFLPoint<float>& flpPoint1, const CFLPoint<float>& flpPoint2);
315
331 CFLTriangle(const CFLPoint<double>& flpPoint0, const CFLPoint<double>& flpPoint1, const CFLPoint<double>& flpPoint2);
332
348 CFLTriangle(const CFLPoint<int32_t>* pFlpPoint0, const CFLPoint<int32_t>* pFlpPoint1, const CFLPoint<int32_t>* pFlpPoint2);
349
365 CFLTriangle(const CFLPoint<int64_t>* pFlpPoint0, const CFLPoint<int64_t>* pFlpPoint1, const CFLPoint<int64_t>* pFlpPoint2);
366
382 CFLTriangle(const CFLPoint<float>* pFlpPoint0, const CFLPoint<float>* pFlpPoint1, const CFLPoint<float>* pFlpPoint2);
383
399 CFLTriangle(const CFLPoint<double>* pFlpPoint0, const CFLPoint<double>* pFlpPoint1, const CFLPoint<double>* pFlpPoint2);
400
411
422
433
444
455
466
477
488
501
513 CFLTriangle(const CFLFigure* pFlf);
514
527
540
553
566
578 const CFLTriangle<T>& operator+=(const double& value);
579
594
609
624
639
654
669
684
699
711 const CFLTriangle<T>& operator-=(const double& value);
712
727
742
757
772
787
802
817
832
844 const CFLTriangle<T>& operator*=(const double& value);
845
860
875
890
905
920
935
950
965
977 const CFLTriangle<T>& operator/=(const double& value);
978
993
1008
1023
1038
1053
1068
1083
1098
1110 CFLTriangle<T> operator+(const double& value) const;
1111
1126
1141
1156
1171
1186
1201
1216
1231
1243 CFLTriangle<T> operator-(const double& value) const;
1244
1259
1274
1289
1304
1319
1334
1349
1364
1376 CFLTriangle<T> operator*(const double& value) const;
1377
1392
1407
1422
1437
1452
1467
1482
1497
1509 CFLTriangle<T> operator/(const double& value) const;
1510
1525
1540
1555
1570
1585
1600
1615
1630
1644 friend CFLTriangle<T> operator+(const double& value, const CFLTriangle<T>& flt)
1645 {
1646 CFLTriangle<T> t(flt);
1647 t += value;
1648 return t;
1649 }
1650
1664 friend CFLTriangle<T> operator-(const double& value, const CFLTriangle<T>& flt)
1665 {
1666 CFLTriangle<T> t(flt);
1667 t *= -1.;
1668 t += value;
1669 return t;
1670 }
1671
1685 friend CFLTriangle<T> operator*(const double& value, const CFLTriangle<T>& flt)
1686 {
1687 CFLTriangle<T> t(flt);
1688 t *= value;
1689 return t;
1690 }
1691
1705 friend CFLTriangle<T> operator/(const double& value, const CFLTriangle<T>& flt)
1706 {
1708
1709 t.flpPoints[0].x = value / flt.flpPoints[0].x;
1710 t.flpPoints[0].y = value / flt.flpPoints[0].y;
1711 t.flpPoints[1].x = value / flt.flpPoints[1].x;
1712 t.flpPoints[1].y = value / flt.flpPoints[1].y;
1713 t.flpPoints[2].x = value / flt.flpPoints[2].x;
1714 t.flpPoints[2].y = value / flt.flpPoints[2].y;
1715
1716 return t;
1717 }
1718
1742 virtual const CResult Set(int32_t x0, int32_t y0, int32_t x1, int32_t y1, int32_t x2, int32_t y2);
1743
1767 virtual const CResult Set(int64_t x0, int64_t y0, int64_t x1, int64_t y1, int64_t x2, int64_t y2);
1768
1792 virtual const CResult Set(float x0, float y0, float x1, float y1, float x2, float y2);
1793
1817 virtual const CResult Set(double x0, double y0, double x1, double y1, double x2, double y2);
1818
1838 virtual const CResult Set(const Base::TPoint<int32_t>& tpPoint0, const Base::TPoint<int32_t>& tpPoint1, const Base::TPoint<int32_t>& tpPoint2);
1839
1859 virtual const CResult Set(const Base::TPoint<int64_t>& tpPoint0, const Base::TPoint<int64_t>& tpPoint1, const Base::TPoint<int64_t>& tpPoint2);
1860
1880 virtual const CResult Set(const Base::TPoint<float>& tpPoint0, const Base::TPoint<float>& tpPoint1, const Base::TPoint<float>& tpPoint2);
1881
1901 virtual const CResult Set(const Base::TPoint<double>& tpPoint0, const Base::TPoint<double>& tpPoint1, const Base::TPoint<double>& tpPoint2);
1902
1922 virtual const CResult Set(const Base::TPoint<int32_t>* pTpPoint0, const Base::TPoint<int32_t>* pTpPoint1, const Base::TPoint<int32_t>* pTpPoint2);
1923
1943 virtual const CResult Set(const Base::TPoint<int64_t>* pTpPoint0, const Base::TPoint<int64_t>* pTpPoint1, const Base::TPoint<int64_t>* pTpPoint2);
1944
1964 virtual const CResult Set(const Base::TPoint<float>* pTpPoint0, const Base::TPoint<float>* pTpPoint1, const Base::TPoint<float>* pTpPoint2);
1965
1985 virtual const CResult Set(const Base::TPoint<double>* pTpPoint0, const Base::TPoint<double>* pTpPoint1, const Base::TPoint<double>* pTpPoint2);
1986
2006 virtual const CResult Set(const CFLPoint<int32_t>& flpPoint0, const CFLPoint<int32_t>& flpPoint1, const CFLPoint<int32_t>& flpPoint2);
2007
2027 virtual const CResult Set(const CFLPoint<int64_t>& flpPoint0, const CFLPoint<int64_t>& flpPoint1, const CFLPoint<int64_t>& flpPoint2);
2028
2048 virtual const CResult Set(const CFLPoint<float>& flpPoint0, const CFLPoint<float>& flpPoint1, const CFLPoint<float>& flpPoint2);
2049
2069 virtual const CResult Set(const CFLPoint<double>& flpPoint0, const CFLPoint<double>& flpPoint1, const CFLPoint<double>& flpPoint2);
2070
2090 virtual const CResult Set(const CFLPoint<int32_t>* pFlpPoint0, const CFLPoint<int32_t>* pFlpPoint1, const CFLPoint<int32_t>* pFlpPoint2);
2091
2111 virtual const CResult Set(const CFLPoint<int64_t>* pFlpPoint0, const CFLPoint<int64_t>* pFlpPoint1, const CFLPoint<int64_t>* pFlpPoint2);
2112
2132 virtual const CResult Set(const CFLPoint<float>* pFlpPoint0, const CFLPoint<float>* pFlpPoint1, const CFLPoint<float>* pFlpPoint2);
2133
2153 virtual const CResult Set(const CFLPoint<double>* pFlpPoint0, const CFLPoint<double>* pFlpPoint1, const CFLPoint<double>* pFlpPoint2);
2154
2168 virtual const CResult Set(const CFLTriangle<int32_t>& flt);
2169
2183 virtual const CResult Set(const CFLTriangle<int64_t>& flt);
2184
2198 virtual const CResult Set(const CFLTriangle<float>& flt);
2199
2213 virtual const CResult Set(const CFLTriangle<double>& flt);
2214
2228 virtual const CResult Set(const CFLTriangle<int32_t>* pFlt);
2229
2243 virtual const CResult Set(const CFLTriangle<int64_t>* pFlt);
2244
2258 virtual const CResult Set(const CFLTriangle<float>* pFlt);
2259
2273 virtual const CResult Set(const CFLTriangle<double>* pFlt);
2274
2275 using CFLFigure::Set;
2276 virtual const CResult Set(const CFLFigure& flf) override;
2277 virtual const CResult Set(const CFLFigure* pFlf) override;
2278
2279 virtual void Clear() override;
2280
2281 virtual EFigureDeclType GetDeclType() const override;
2282 virtual EFigureTemplateType GetTemplateType() const override;
2283
2284 virtual bool IsValid() const override;
2285 virtual bool IsFigureValid() const override;
2286
2287 virtual const CResult MakeFigureValid() override;
2288 virtual const CResult MakeFigureInvalid() override;
2289
2291 virtual bool IsSpecEqual(const CFLFigure* pFlfRhs, EFigureSpecCompareType eSpecType = EFigureSpecCompareType_Coordinates) const override;
2292
2293 virtual double GetWidth() const override;
2294 virtual double GetHeight() const override;
2295 virtual double GetAngle() const override;
2296 virtual double GetArea() const override;
2297 virtual double GetPerimeter() const override;
2298 virtual double GetLength() const override;
2300 virtual const CResult GetVertexCount(CFLFigureArray& flfaResult, EIncludingRegionType eType = EIncludingRegionType_All, bool bRecursive = true) const override;
2301 virtual const CResult GetVertexCount(CFLFigureArray* pFlfaResult, EIncludingRegionType eType = EIncludingRegionType_All, bool bRecursive = true) const override;
2302
2303 virtual const CResult ReverseSequence() override;
2305
2318
2332 virtual const CResult ChangeOriginIndex(int64_t i64IndexToBeOrigin);
2333
2335 virtual const CResult GetBoundaryRect(double& left, double& top, double& right, double& bottom) const override;
2336
2337 using CFLFigure::Inflate;
2338 virtual const CResult Inflate(double left, double top, double right, double bottom) override;
2339
2340 using CFLFigure::Offset;
2341 virtual const CResult Offset(double x, double y) override;
2342
2343 using CFLFigure::Multiply;
2344 virtual const CResult Multiply(double f64MulX, double f64MulY) override;
2345
2346 using CFLFigure::Scale;
2347 virtual const CResult Scale(double f64PivotX, double f64PivotY, double f64RatioX, double f64RatioY) override;
2348
2349 using CFLFigure::Rotate;
2350 virtual const CResult Rotate(double f64Angle, double f64PivotX, double f64PivotY) override;
2351
2353 virtual const CResult GetCenter(double& x, double& y) const override;
2354
2356 virtual const CResult GetCenterOfGravity(double& x, double& y) const override;
2357
2358 using CFLFigure::Flip;
2359 virtual const CResult Flip(EFigureFlipDirection eDirection, double f64PivotX, double f64PivotY) override;
2360
2361 using CFLFigure::Warp;
2362 virtual const CResult Warp(const CFLQuad<double>* pFlqSourceRegion, const CFLQuad<double>* pFlqTargetRegion, CFLFigureArray* pFlfaResult, EWarpingType eWarpingType = EWarpingType_Bilinear) const override;
2363 virtual const CResult Warp(const CFLPointArray* pFlpaSource, const CFLPointArray* pFlpaTarget, CFLFigureArray* pFlfaResult, EWarpingType eWarpingType = EWarpingType_Bicubic, int32_t i32Extension = 2) const override;
2364
2365 using CFLFigure::Swap;
2366 virtual const CResult Swap(CFLFigure* pFlfRight) override;
2367
2369 virtual const CResult GetMinimumEnclosingRectangle(CFLQuad<double>* pQuad) const override;
2370
2371 using CFLFigure::Extend;
2372 virtual const CResult Extend(double left, double top, double right, double bottom);
2373
2376
2378 virtual const CResult GetPointsOfMinimumDistance(const CFLFigure* pFlfTarget, CFLPointArray* pFlpaResult) const override;
2379
2381 virtual const CResult GetPointsOfMaximumDistance(const CFLFigure* pFlfTarget, CFLPointArray* pFlpaResult) const override;
2382
2384 virtual const CResult GetRasterRegion(CFLFigureArray* pFlfaResult, const CFLRect<int64_t>* pFlrROI = nullptr) const override;
2385 virtual const CResult GetRasterRegion(Base::CFLArray<Base::TRect<int32_t>>* pFlaResult, const CFLRect<int64_t>* pFlrROI = nullptr) const override;
2386 virtual const CResult GetRasterRegion(Base::CFLArray<Base::TRect<int64_t>>* pFlaResult, const CFLRect<int64_t>* pFlrROI = nullptr) const override;
2387 virtual const CResult GetRasterRegion(Base::CFLArray<Base::TRect<float>>* pFlaResult, const CFLRect<int64_t>* pFlrROI = nullptr) const override;
2388 virtual const CResult GetRasterRegion(Base::CFLArray<Base::TRect<double>>* pFlaResult, const CFLRect<int64_t>* pFlrROI = nullptr) const override;
2389 virtual const CResult GetRasterRegion(Base::CFLArray<Base::TPoint3<int32_t>>* pFlaResult, const CFLRect<int64_t>* pFlrROI = nullptr) const override;
2390
2391 virtual bool IsCollision(const CFLFigure& figure) const override;
2392 virtual bool IsCollision(const CFLFigure* pFigure) const override;
2393
2395 virtual bool IsCollision(const CFLPoint<double>* pPoint) const override;
2396 virtual bool IsCollision(const CFLLine<double>* pLine) const override;
2397 virtual bool IsCollision(const CFLRect<double>* pRect) const override;
2398 virtual bool IsCollision(const CFLRoundRect<double>* pRect) const override;
2399 virtual bool IsCollision(const CFLQuad<double>* pQuad) const override;
2400 virtual bool IsCollision(const CFLCircle<double>* pRect) const override;
2401 virtual bool IsCollision(const CFLEllipse<double>* pEll) const override;
2402 virtual bool IsCollision(const CFLDoughnut<double>* pDoughnut) const override;
2403 virtual bool IsCollision(const CFLCubicSpline* pFlcs) const override;
2404 virtual bool IsCollision(const CFLBezierQuadraticCurve* pFlbc2) const override;
2405 virtual bool IsCollision(const CFLBezierCubicCurve* pFlbc3) const override;
2406 virtual bool IsCollision(const CFLBezierQuarticCurve* pFlbc4) const override;
2407 virtual bool IsCollision(const CFLRegion* pFlrg) const override;
2408 virtual bool IsCollision(const CFLComplexRegion* pFlcr) const override;
2409 virtual bool IsCollision(const CFLFigureArray* pFlfa) const override;
2410 virtual bool IsCollision(const CFLPointArray* pFlpa) const override;
2411
2412 virtual const CResult GetIntersection(const CFLFigure& figure, CFLFigureArray* pFlfaResult) const override;
2413 virtual const CResult GetIntersection(const CFLFigure* pFigure, CFLFigureArray* pFlfaResult) const override;
2414
2416 virtual const CResult GetIntersection(const CFLLine<double>* pLine, CFLFigureArray* pFlfaResult) const override;
2417 virtual const CResult GetIntersection(const CFLRect<double>* pRect, CFLFigureArray* pFlfaResult) const override;
2418 virtual const CResult GetIntersection(const CFLRoundRect<double>* pRect, CFLFigureArray* pFlfaResult) const override;
2419 virtual const CResult GetIntersection(const CFLQuad<double>* pQuad, CFLFigureArray* pFlfaResult) const override;
2420 virtual const CResult GetIntersection(const CFLCircle<double>* pCir, CFLFigureArray* pFlfaResult) const override;
2421 virtual const CResult GetIntersection(const CFLEllipse<double>* pEll, CFLFigureArray* pFlfaResult) const override;
2422 virtual const CResult GetIntersection(const CFLDoughnut<double>* pDoughnut, CFLFigureArray* pFlfaResult) const override;
2423 virtual const CResult GetIntersection(const CFLCubicSpline* pFlcs, CFLFigureArray* pFlfaResult) const override;
2424 virtual const CResult GetIntersection(const CFLBezierQuadraticCurve* pFlbc2, CFLFigureArray* pFlfaResult) const override;
2425 virtual const CResult GetIntersection(const CFLBezierCubicCurve* pFlbc3, CFLFigureArray* pFlfaResult) const override;
2426 virtual const CResult GetIntersection(const CFLBezierQuarticCurve* pFlbc4, CFLFigureArray* pFlfaResult) const override;
2427 virtual const CResult GetIntersection(const CFLRegion* pFlrg, CFLFigureArray* pFlfaResult) const override;
2428 virtual const CResult GetIntersection(const CFLComplexRegion* pFlcr, CFLFigureArray* pFlfaResult) const override;
2429 virtual const CResult GetIntersection(const CFLFigureArray* pFlfaOperand, CFLFigureArray* pFlfaResult) const override;
2430
2435
2436 virtual const CResult GetRasterContour(Base::CFLArray<Base::TPoint<int32_t>>* pFlaResult, bool bExcludeSingleDelta = false) const override;
2437 virtual const CResult GetRasterContour(CFLFigureArray* pFlfaResult, bool bExcludeSingleDelta = false) const override;
2438 virtual const CResult GetRasterContour(CFLPointArray* pFlpaResult, bool bExcludeSingleDelta = false) const override;
2439
2440 virtual const CResult GetSamplingPointsOnSegment(double f64SamplingDistance, CFLFigureArray* pFlfaResult) const override;
2441 virtual const CResult GetSamplingPointsOnSegment(double f64SamplingDistance, CFLPointArray* pFlpaResult) const override;
2442
2443 virtual const CResult GetSamplingVectorOnSegment(double f64SamplingDistance, CFLFigureArray* pFlfaResult) const override;
2444 virtual const CResult GetSamplingVectorOnSegment(double f64SamplingDistance, CFLPointArray* pFlpaResult) const override;
2445
2446 SupportToDuplicateObject(CFLTriangle<T>, *this);
2447 DeclareGetClassType();
2448 };
2449
2450 typedef CFLTriangle<int32_t> CFLTriangleL;
2451 typedef CFLTriangle<int64_t> CFLTriangleLL;
2452 typedef CFLTriangle<float> CFLTriangleF;
2453 typedef CFLTriangle<double> CFLTriangleD;
2454 }
2455}
Template type array class.
Definition FLArray.h:53
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:1596
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:27
A class representing cubic spline.
Definition FLCubicSpline.h:23
A class representing a doughnut shape of a circle or an arc.
Definition FLDoughnut.h:26
A class representing ellipse.
Definition FLEllipse.h:25
A base class representing array of figure.
Definition FLFigureArray.h:26
virtual const CResult Rotate(double f64Angle, int32_t i32PivotX, int32_t i32PivotY)
virtual const CResult GetRasterRegion(CFLFigureArray &flfa, const CFLPoint< int64_t > *pFlpImageSize) const
virtual const CResult Warp(const CFLQuad< double > &flqSourceRegion, const CFLQuad< double > &flqTargetRegion, CFLFigureArray &flfaResult, EWarpingType eWarpingType=EWarpingType_Bilinear) const
virtual const CResult GetPointsOfMinimumDistance(const CFLFigure &flfTarget, CFLPointArray *pFlpaResult) const
Get the position closest to the target figure.
virtual bool IsSpecEqual(const CFLFigure &flfRhs, EFigureSpecCompareType eSpecType=EFigureSpecCompareType_Coordinates) const
virtual const CResult Scale(int32_t i32PivotX, int32_t i32PivotY, double f64RatioX, double f64RatioY)
virtual const CResult Multiply(int32_t i32Mul)
virtual CFLPoint< double > GetCenter() const
virtual const CResult GetRegionOfUnion(const CFLFigure &figure, CFLFigureArray *pFlfaResult) const
Perform union of two objects.
virtual double GetMinimumDistance(const CFLFigure &flfTarget) const
Get the distance between the target figure and the closest position to each other.
virtual const CResult Offset(int32_t val)
virtual const CResult Flip(EFigureFlipDirection eDirection, int32_t i32PivotX, int32_t i32PivotY)
virtual const CResult GetRegionOfSubtraction(const CFLFigure &figure, CFLFigureArray *pFlfaResult) const
Perform subtraction of two objects.
virtual CFLQuad< double > GetMinimumEnclosingRectangle() const
Get a minimum enclosing rectangle.
virtual const CResult GetRegionOfExclusiveOr(const CFLFigure &figure, CFLFigureArray *pFlfaResult) const
Perform exclusiveOR of two objects.
virtual CFLRect< double > GetBoundaryRect() const
virtual const CResult Extend(int32_t i32HalfSize)
virtual const CResult Swap(CFLFigure &flfRight)
virtual CFLPoint< double > GetCenterOfGravity() const
virtual const CResult Inflate(int32_t i32HalfSize)
A function that increases in each axis direction by the input size.
virtual const CResult GetIntersection(const CFLFigure &figure, CFLFigureArray *pFlfaResult) const
virtual bool IsCollision(const CFLFigure &figure) const
virtual double GetMaximumDistance(const CFLFigure &flfTarget) const
Get the distance between the target figure and the furthest position to each other.
virtual const CResult GetPointsOfMaximumDistance(const CFLFigure &flfTarget, CFLPointArray *pFlpaResult) const
Get the location farthest away from the target figure.
virtual const CResult Set(const Base::CFLImage &fli)
virtual const CResult GetRegionOfIntersection(const CFLFigure &figure, CFLFigureArray *pFlfaResult) const
Perform intersection of two objects.
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
A class representing a 2D triangle.
Definition FLTriangle.h:25
virtual const CResult Set(float x0, float y0, float x1, float y1, float x2, float y2)
Parameter setting function.
const CFLTriangle< T > & operator*=(const CFLPoint< int32_t > &flpPoint)
An operator that multiplies the x,y values of each vertex of a triangle by a parameter.
virtual bool IsValid() const override
CFLTriangle< T > operator-(const Base::TPoint< int64_t > &tpPoint) const
Offset operator.
CFLTriangle(const CFLTriangle< int64_t > &flt)
copy constructor
virtual const CResult GetVertexCount(CFLFigureArray &flfaResult, EIncludingRegionType eType=EIncludingRegionType_All, bool bRecursive=true) const override
Get the number of vertices in the figure.
virtual const CResult Scale(double f64PivotX, double f64PivotY, double f64RatioX, double f64RatioY) override
virtual const CResult GetIntersection(const CFLRoundRect< double > *pRect, CFLFigureArray *pFlfaResult) const override
virtual const CResult Offset(double x, double y) override
virtual const CResult Set(const CFLFigure *pFlf) override
CFLTriangle< T > operator*(const Base::TPoint< float > &tpPoint) const
An operator that multiplies the x,y and z values of each vertex of the triangle by a parameter.
virtual const CResult GetIntersection(const CFLBezierQuarticCurve *pFlbc4, CFLFigureArray *pFlfaResult) const override
const CFLTriangle< T > & operator-=(const CFLPoint< int32_t > &flpPoint)
Offset operator.
virtual const CResult GetRasterContour(CFLPointArray *pFlpaResult, bool bExcludeSingleDelta=false) const override
Get contour's raster point information.
CFLTriangle(const CFLTriangle< double > &flt)
copy constructor
virtual bool IsCollision(const CFLComplexRegion *pFlcr) const override
virtual const CResult GetRasterRegion(Base::CFLArray< Base::TRect< float > > *pFlaResult, const CFLRect< int64_t > *pFlrROI=nullptr) const override
CFLTriangle(const Base::TPoint< int32_t > &tpPoint0, const Base::TPoint< int32_t > &tpPoint1, const Base::TPoint< int32_t > &tpPoint2)
initialization constructor
virtual uint64_t GetVertexCountRecursive(EIncludingRegionType eType=EIncludingRegionType_All) const override
FigureArray Get the number of all vertices inside.
virtual const CResult Flip(EFigureFlipDirection eDirection, double f64PivotX, double f64PivotY) override
CFLTriangle< T > operator*(const CFLPoint< double > &flpPoint) const
An operator that multiplies the x,y and z values of each vertex of the triangle by a parameter.
virtual const CResult Set(const CFLTriangle< float > &flt)
Parameter setting function.
virtual const CResult Set(const CFLTriangle< double > &flt)
Parameter setting function.
CFLTriangle(const CFLTriangle< float > &flt)
copy constructor
virtual EFigureDeclType GetDeclType() const override
virtual const CResult Set(const Base::TPoint< float > *pTpPoint0, const Base::TPoint< float > *pTpPoint1, const Base::TPoint< float > *pTpPoint2)
Parameter setting function.
virtual const CResult MakeFigureInvalid() override
Make the figure invalid. (For example, set the coordinates of the point to invalid x,...
virtual const CResult Set(const CFLTriangle< int32_t > &flt)
Parameter setting function.
CFLTriangle< T > operator-(const Base::TPoint< double > &tpPoint) const
Offset operator.
friend CFLTriangle< T > operator+(const double &value, const CFLTriangle< T > &flt)
Offset operator.
Definition FLTriangle.h:1644
const CFLTriangle< T > & operator/=(const Base::TPoint< double > &tpPoint)
An operator that divides the x,y values of each vertex of a triangle by a parameter.
CFLTriangle< T > operator/(const CFLPoint< float > &flpPoint) const
An operator that divides the x,y and z values of each vertex of the triangle by a parameter.
virtual const CResult GetSamplingVectorOnSegment(double f64SamplingDistance, CFLPointArray *pFlpaResult) const override
Get point information moving by the set length.
virtual double GetLength() const override
CFLTriangle(const CFLTriangle< int32_t > &flt)
copy constructor
virtual const CResult Set(const CFLPoint< int64_t > &flpPoint0, const CFLPoint< int64_t > &flpPoint1, const CFLPoint< int64_t > &flpPoint2)
Parameter setting function.
const CFLTriangle< T > & operator+=(const CFLPoint< double > &flpPoint)
Offset operator.
CFLTriangle(const Base::TPoint< float > *pTpPoint0, const Base::TPoint< float > *pTpPoint1, const Base::TPoint< float > *pTpPoint2)
initialization constructor
virtual const CResult Set(const CFLPoint< double > *pFlpPoint0, const CFLPoint< double > *pFlpPoint1, const CFLPoint< double > *pFlpPoint2)
Parameter setting function.
CFLTriangle< T > operator/(const Base::TPoint< int64_t > &tpPoint) const
An operator that divides the x,y and z values of each vertex of the triangle by a parameter.
virtual const CResult GetRasterContour(Base::CFLArray< Base::TPoint< int32_t > > *pFlaResult, bool bExcludeSingleDelta=false) const override
Get contour's raster point information.
const CFLTriangle< T > & operator*=(const CFLPoint< double > &flpPoint)
An operator that multiplies the x,y values of each vertex of a triangle by a parameter.
const CFLTriangle< T > & operator+=(const Base::TPoint< float > &tpPoint)
Offset operator.
virtual double GetAngle() const override
CFLTriangle(const CFLPoint< double > *pFlpPoint0, const CFLPoint< double > *pFlpPoint1, const CFLPoint< double > *pFlpPoint2)
initialization constructor
CFLTriangle(const CFLTriangle< int32_t > *pFlt)
copy constructor
const CFLTriangle< T > & operator*=(const double &value)
An operator that multiplies the x,y values of each vertex of a triangle by a parameter.
CFLTriangle< T > operator+(const CFLPoint< int32_t > &flpPoint) const
Offset operator.
virtual bool IsSpecEqual(const CFLFigure *pFlfRhs, EFigureSpecCompareType eSpecType=EFigureSpecCompareType_Coordinates) const override
CFLTriangle(const CFLPoint< float > &flpPoint0, const CFLPoint< float > &flpPoint1, const CFLPoint< float > &flpPoint2)
initialization constructor
const CFLTriangle< T > & operator/=(const Base::TPoint< float > &tpPoint)
An operator that divides the x,y values of each vertex of a triangle by a parameter.
const CFLTriangle< T > & operator*=(const CFLPoint< float > &flpPoint)
An operator that multiplies the x,y values of each vertex of a triangle by a parameter.
virtual const CResult Set(double x0, double y0, double x1, double y1, double x2, double y2)
Parameter setting function.
const CFLTriangle< T > & operator-=(const CFLPoint< float > &flpPoint)
Offset operator.
virtual const CResult Multiply(double f64MulX, double f64MulY) override
const CFLTriangle< T > & operator-=(const Base::TPoint< double > &tpPoint)
Offset operator.
virtual bool IsCollision(const CFLBezierQuarticCurve *pFlbc4) const override
virtual const CResult Set(const CFLPoint< float > *pFlpPoint0, const CFLPoint< float > *pFlpPoint1, const CFLPoint< float > *pFlpPoint2)
Parameter setting function.
virtual bool IsCollision(const CFLRect< double > *pRect) const override
const CFLTriangle< T > & operator*=(const CFLPoint< int64_t > &flpPoint)
An operator that multiplies the x,y values of each vertex of a triangle by a parameter.
virtual const CResult Set(const Base::TPoint< int32_t > &tpPoint0, const Base::TPoint< int32_t > &tpPoint1, const Base::TPoint< int32_t > &tpPoint2)
Parameter setting function.
virtual const CResult Set(const CFLPoint< int64_t > *pFlpPoint0, const CFLPoint< int64_t > *pFlpPoint1, const CFLPoint< int64_t > *pFlpPoint2)
Parameter setting function.
CFLTriangle< T > operator*(const CFLPoint< float > &flpPoint) const
An operator that multiplies the x,y and z values of each vertex of the triangle by a parameter.
virtual const CResult GetSamplingVectorOnSegment(double f64SamplingDistance, CFLFigureArray *pFlfaResult) const override
Get point information moving by the set length.
virtual const CResult GetIntersection(const CFLRect< double > *pRect, CFLFigureArray *pFlfaResult) const override
CFLTriangle(const Base::TPoint< float > &tpPoint0, const Base::TPoint< float > &tpPoint1, const Base::TPoint< float > &tpPoint2)
initialization constructor
virtual bool IsCollision(const CFLDoughnut< double > *pDoughnut) const override
virtual const CResult GetIntersection(const CFLDoughnut< double > *pDoughnut, CFLFigureArray *pFlfaResult) const override
virtual const CResult Set(const CFLFigure &flf) override
const CFLTriangle< T > & operator/=(const CFLPoint< double > &flpPoint)
An operator that divides the x,y values of each vertex of a triangle by a parameter.
virtual const CResult Set(const Base::TPoint< int32_t > *pTpPoint0, const Base::TPoint< int32_t > *pTpPoint1, const Base::TPoint< int32_t > *pTpPoint2)
Parameter setting function.
virtual const CResult GetIntersection(const CFLFigureArray *pFlfaOperand, CFLFigureArray *pFlfaResult) const override
virtual double GetWidth() const override
virtual const CResult GetRasterRegion(CFLFigureArray *pFlfaResult, const CFLRect< int64_t > *pFlrROI=nullptr) const override
CFLTriangle< T > operator-(const CFLPoint< int32_t > &flpPoint) const
Offset operator.
CFLTriangle< T > operator/(const Base::TPoint< int32_t > &tpPoint) const
An operator that divides the x,y and z values of each vertex of the triangle by a parameter.
virtual bool IsCollision(const CFLRoundRect< double > *pRect) const override
friend CFLTriangle< T > operator-(const double &value, const CFLTriangle< T > &flt)
Offset operator.
Definition FLTriangle.h:1664
CFLTriangle(const CFLTriangle< float > *pFlt)
copy constructor
CFLTriangle< T > operator*(const Base::TPoint< int64_t > &tpPoint) const
An operator that multiplies the x,y and z values of each vertex of the triangle by a parameter.
virtual const CResult Set(int64_t x0, int64_t y0, int64_t x1, int64_t y1, int64_t x2, int64_t y2)
Parameter setting function.
const CFLTriangle< T > & operator-=(const Base::TPoint< float > &tpPoint)
Offset operator.
CFLTriangle(int32_t x0, int32_t y0, int32_t x1, int32_t y1, int32_t x2, int32_t y2)
initialization constructor
CFLPoint< int32_t > flpPoints[3]
Definition FLTriangle.h:31
CFLTriangle(const CFLTriangle< int64_t > *pFlt)
copy constructor
const CFLTriangle< T > & operator/=(const Base::TPoint< int64_t > &tpPoint)
An operator that divides the x,y values of each vertex of a triangle by a parameter.
const CFLTriangle< T > & operator+=(const CFLPoint< float > &flpPoint)
Offset operator.
virtual void Clear() override
Clear an object's variable.
CFLTriangle< T > operator/(const Base::TPoint< float > &tpPoint) const
An operator that divides the x,y and z values of each vertex of the triangle by a parameter.
virtual const CResult Set(const Base::TPoint< double > &tpPoint0, const Base::TPoint< double > &tpPoint1, const Base::TPoint< double > &tpPoint2)
Parameter setting function.
virtual const CResult GetRasterRegion(Base::CFLArray< Base::TRect< int32_t > > *pFlaResult, const CFLRect< int64_t > *pFlrROI=nullptr) const override
const CFLTriangle< T > & operator*=(const Base::TPoint< int32_t > &tpPoint)
An operator that multiplies the x,y values of each vertex of a triangle by a parameter.
CFLTriangle< T > operator-(const CFLPoint< double > &flpPoint) const
Offset operator.
virtual const CResult Extend(double left, double top, double right, double bottom)
virtual const CResult GetIntersection(const CFLQuad< double > *pQuad, CFLFigureArray *pFlfaResult) const override
virtual bool IsCollision(const CFLEllipse< double > *pEll) const override
CFLTriangle(const CFLFigure *pFlf)
As an initialization constructor, call the Set() function for the DeclType of CFLFigure& flf .
CFLTriangle(const CFLTriangle< double > *pFlt)
copy constructor
virtual double GetPerimeter() const override
const CFLTriangle< T > & operator+=(const CFLPoint< int32_t > &flpPoint)
Offset operator.
const CFLTriangle< T > & operator/=(const CFLPoint< int64_t > &flpPoint)
An operator that divides the x,y values of each vertex of a triangle by a parameter.
virtual const CResult Warp(const CFLPointArray *pFlpaSource, const CFLPointArray *pFlpaTarget, CFLFigureArray *pFlfaResult, EWarpingType eWarpingType=EWarpingType_Bicubic, int32_t i32Extension=2) const override
virtual bool IsCollision(const CFLFigureArray *pFlfa) const override
CFLTriangle(const Base::TPoint< int64_t > &tpPoint0, const Base::TPoint< int64_t > &tpPoint1, const Base::TPoint< int64_t > &tpPoint2)
initialization constructor
virtual const CResult Set(const Base::TPoint< float > &tpPoint0, const Base::TPoint< float > &tpPoint1, const Base::TPoint< float > &tpPoint2)
Parameter setting function.
CFLTriangle(const Base::TPoint< double > *pTpPoint0, const Base::TPoint< double > *pTpPoint1, const Base::TPoint< double > *pTpPoint2)
initialization constructor
virtual bool IsCollision(const CFLBezierCubicCurve *pFlbc3) const override
CFLTriangle< T > operator/(const Base::TPoint< double > &tpPoint) const
An operator that divides the x,y and z values of each vertex of the triangle by a parameter.
virtual const CResult GetIntersection(const CFLLine< double > *pLine, CFLFigureArray *pFlfaResult) const override
virtual const CResult Set(const CFLTriangle< int32_t > *pFlt)
Parameter setting function.
CFLTriangle< T > operator-(const CFLPoint< int64_t > &flpPoint) const
Offset operator.
const CFLTriangle< T > & operator*=(const Base::TPoint< int64_t > &tpPoint)
An operator that multiplies the x,y values of each vertex of a triangle by a parameter.
virtual bool IsCollision(const CFLCircle< double > *pRect) const override
virtual bool IsCollision(const CFLPointArray *pFlpa) const override
virtual const CResult GetRasterRegion(Base::CFLArray< Base::TRect< double > > *pFlaResult, const CFLRect< int64_t > *pFlrROI=nullptr) const override
virtual double GetHeight() const override
virtual const CResult Rotate(double f64Angle, double f64PivotX, double f64PivotY) override
CFLTriangle< T > operator/(const double &value) const
An operator that divides the x,y and z values of each vertex of the triangle by a parameter.
virtual const CResult GetIntersection(const CFLFigure *pFigure, CFLFigureArray *pFlfaResult) const override
virtual const CResult GetRasterRegion(Base::CFLArray< Base::TPoint3< int32_t > > *pFlaResult, const CFLRect< int64_t > *pFlrROI=nullptr) const override
CFLTriangle< T > operator*(const CFLPoint< int64_t > &flpPoint) const
An operator that multiplies the x,y and z values of each vertex of the triangle by a parameter.
const CFLTriangle< T > & operator-=(const CFLPoint< double > &flpPoint)
Offset operator.
virtual const CResult GetIntersection(const CFLRegion *pFlrg, CFLFigureArray *pFlfaResult) const override
virtual const CResult MakeFigureValid() override
Turn an invalid figure into a valid figure. (For example, restore the left and right,...
CFLTriangle< T > operator-(const Base::TPoint< float > &tpPoint) const
Offset operator.
virtual EFigureTemplateType GetTemplateType() const override
CFLTriangle< T > operator+(const CFLPoint< double > &flpPoint) const
Offset operator.
virtual const CResult Set(const CFLTriangle< int64_t > &flt)
Parameter setting function.
virtual const CResult GetPointsOfMaximumDistance(const CFLFigure *pFlfTarget, CFLPointArray *pFlpaResult) const override
Get the location farthest away from the target figure.
virtual const CResult Set(const CFLPoint< float > &flpPoint0, const CFLPoint< float > &flpPoint1, const CFLPoint< float > &flpPoint2)
Parameter setting function.
virtual const CResult GetVertexCount(CFLFigureArray *pFlfaResult, EIncludingRegionType eType=EIncludingRegionType_All, bool bRecursive=true) const override
Get the number of vertices in the figure.
virtual const CResult ChangeOriginIndex(int64_t i64IndexToBeOrigin)
Changes the starting vertex while preserving the shape.
virtual bool IsCollision(const CFLBezierQuadraticCurve *pFlbc2) const override
const CFLTriangle< T > & operator+=(const Base::TPoint< int32_t > &tpPoint)
Offset operator.
CFLTriangle(int64_t x0, int64_t y0, int64_t x1, int64_t y1, int64_t x2, int64_t y2)
initialization constructor
virtual const CResult GetBoundaryRect(double &left, double &top, double &right, double &bottom) const override
const CFLTriangle< T > & operator+=(const double &value)
Offset operator.
CFLTriangle(const CFLPoint< int32_t > &flpPoint0, const CFLPoint< int32_t > &flpPoint1, const CFLPoint< int32_t > &flpPoint2)
initialization constructor
virtual const CResult GetIntersection(const CFLEllipse< double > *pEll, CFLFigureArray *pFlfaResult) const override
virtual const CResult GetCenterOfGravity(double &x, double &y) const override
friend CFLTriangle< T > operator/(const double &value, const CFLTriangle< T > &flt)
An operator that divides the x, y values of each vertex of the triangle into parameters.
Definition FLTriangle.h:1705
CFLTriangle< T > operator+(const Base::TPoint< float > &tpPoint) const
Offset operator.
CFLTriangle< T > operator-(const double &value) const
Offset operator.
virtual const CResult Set(const Base::TPoint< double > *pTpPoint0, const Base::TPoint< double > *pTpPoint1, const Base::TPoint< double > *pTpPoint2)
Parameter setting function.
virtual const CResult GetIntersection(const CFLFigure &figure, CFLFigureArray *pFlfaResult) const override
CFLTriangle(const Base::TPoint< double > &tpPoint0, const Base::TPoint< double > &tpPoint1, const Base::TPoint< double > &tpPoint2)
initialization constructor
CFLTriangle(const CFLPoint< int64_t > &flpPoint0, const CFLPoint< int64_t > &flpPoint1, const CFLPoint< int64_t > &flpPoint2)
initialization constructor
CFLTriangle< T > operator+(const CFLPoint< float > &flpPoint) const
Offset operator.
virtual const CResult Set(const CFLPoint< double > &flpPoint0, const CFLPoint< double > &flpPoint1, const CFLPoint< double > &flpPoint2)
Parameter setting function.
virtual const CResult GetIntersection(const CFLComplexRegion *pFlcr, CFLFigureArray *pFlfaResult) const override
virtual const CResult Set(const CFLPoint< int32_t > *pFlpPoint0, const CFLPoint< int32_t > *pFlpPoint1, const CFLPoint< int32_t > *pFlpPoint2)
Parameter setting function.
const CFLTriangle< T > & operator/=(const double &value)
An operator that divides the x,y values of each vertex of a triangle by a parameter.
const CFLTriangle< T > & operator/=(const CFLPoint< float > &flpPoint)
An operator that divides the x,y values of each vertex of a triangle by a parameter.
const CFLTriangle< T > & operator-=(const double &value)
Offset operator.
const CFLTriangle< T > & operator+=(const Base::TPoint< double > &tpPoint)
Offset operator.
CFLTriangle(const CFLPoint< int32_t > *pFlpPoint0, const CFLPoint< int32_t > *pFlpPoint1, const CFLPoint< int32_t > *pFlpPoint2)
initialization constructor
virtual bool IsFigureValid() const override
CFLTriangle(const CFLPoint< int64_t > *pFlpPoint0, const CFLPoint< int64_t > *pFlpPoint1, const CFLPoint< int64_t > *pFlpPoint2)
initialization constructor
virtual const CResult GetRasterRegion(Base::CFLArray< Base::TRect< int64_t > > *pFlaResult, const CFLRect< int64_t > *pFlrROI=nullptr) const override
virtual const CResult Set(const CFLPoint< int32_t > &flpPoint0, const CFLPoint< int32_t > &flpPoint1, const CFLPoint< int32_t > &flpPoint2)
Parameter setting function.
CFLTriangle< T > operator+(const Base::TPoint< int32_t > &tpPoint) const
Offset operator.
CFLTriangle< T > operator*(const double &value) const
An operator that multiplies the x,y and z values of each vertex of the triangle by a parameter.
virtual const CResult GetSamplingPointsOnSegment(double f64SamplingDistance, CFLFigureArray *pFlfaResult) const override
Get point information moving by the set length.
virtual const CResult GetIntersection(const CFLBezierQuadraticCurve *pFlbc2, CFLFigureArray *pFlfaResult) const override
virtual const CResult Set(const CFLTriangle< int64_t > *pFlt)
Parameter setting function.
const CFLTriangle< T > & operator-=(const CFLPoint< int64_t > &flpPoint)
Offset operator.
virtual const CResult Warp(const CFLQuad< double > *pFlqSourceRegion, const CFLQuad< double > *pFlqTargetRegion, CFLFigureArray *pFlfaResult, EWarpingType eWarpingType=EWarpingType_Bilinear) const override
virtual bool IsCollision(const CFLFigure *pFigure) const override
virtual const CResult Inflate(double left, double top, double right, double bottom) override
const CFLTriangle< T > & operator=(const CFLTriangle< int64_t > &flt)
assignment operator
friend CFLTriangle< T > operator*(const double &value, const CFLTriangle< T > &flt)
An operator that multiplies the x, y, and z values of each vertex of a triangle by a parameter.
Definition FLTriangle.h:1685
CFLTriangle< T > operator/(const CFLPoint< double > &flpPoint) const
An operator that divides the x,y and z values of each vertex of the triangle by a parameter.
virtual const CResult GetRasterContour(CFLFigureArray *pFlfaResult, bool bExcludeSingleDelta=false) const override
Get contour's raster point information.
virtual const CResult ReverseSequence() override
Function to reverse the sequence.
virtual EWindingDirection GetWindingDirection() const sealed
virtual const CResult Set(const CFLTriangle< float > *pFlt)
Parameter setting function.
CFLTriangle< T > operator+(const double &value) const
Offset operator.
const CFLTriangle< T > & operator+=(const CFLPoint< int64_t > &flpPoint)
Offset operator.
CFLTriangle(float x0, float y0, float x1, float y1, float x2, float y2)
initialization constructor
CFLTriangle(const CFLPoint< double > &flpPoint0, const CFLPoint< double > &flpPoint1, const CFLPoint< double > &flpPoint2)
initialization constructor
virtual const CResult GetIntersection(const CFLBezierCubicCurve *pFlbc3, CFLFigureArray *pFlfaResult) const override
virtual const CResult Set(const CFLTriangle< double > *pFlt)
Parameter setting function.
virtual const CResult ReverseWindingDirection()
Function to change Winding Direction to the opposite direction.
const CFLTriangle< T > & operator=(const CFLTriangle< int32_t > &flt)
assignment operator
const CFLTriangle< T > & operator=(const CFLTriangle< double > &flt)
assignment operator
virtual bool IsCollision(const CFLLine< double > *pLine) const override
const CFLTriangle< T > & operator*=(const Base::TPoint< float > &tpPoint)
An operator that multiplies the x,y values of each vertex of a triangle by a parameter.
CFLTriangle(const Base::TPoint< int32_t > *pTpPoint0, const Base::TPoint< int32_t > *pTpPoint1, const Base::TPoint< int32_t > *pTpPoint2)
initialization constructor
const CFLTriangle< T > & operator+=(const Base::TPoint< int64_t > &tpPoint)
Offset operator.
virtual const CResult GetSamplingPointsOnSegment(double f64SamplingDistance, CFLPointArray *pFlpaResult) const override
Get point information moving by the set length.
virtual bool IsCollision(const CFLPoint< double > *pPoint) const override
virtual const CResult GetIntersection(const CFLCubicSpline *pFlcs, CFLFigureArray *pFlfaResult) const override
const CFLTriangle< T > & operator/=(const Base::TPoint< int32_t > &tpPoint)
An operator that divides the x,y values of each vertex of a triangle by a parameter.
virtual const CResult Set(int32_t x0, int32_t y0, int32_t x1, int32_t y1, int32_t x2, int32_t y2)
Parameter setting function.
CFLTriangle< T > operator-(const Base::TPoint< int32_t > &tpPoint) const
Offset operator.
virtual const CResult Swap(CFLFigure *pFlfRight) override
const CFLTriangle< T > & operator*=(const Base::TPoint< double > &tpPoint)
An operator that multiplies the x,y values of each vertex of a triangle by a parameter.
CFLTriangle< T > operator+(const Base::TPoint< double > &tpPoint) const
Offset operator.
CFLTriangle(const CFLPoint< float > *pFlpPoint0, const CFLPoint< float > *pFlpPoint1, const CFLPoint< float > *pFlpPoint2)
initialization constructor
const CFLTriangle< T > & operator=(const CFLTriangle< float > &flt)
assignment operator
CFLTriangle< T > operator/(const CFLPoint< int32_t > &flpPoint) const
An operator that divides the x,y and z values of each vertex of the triangle by a parameter.
const CFLTriangle< T > & operator-=(const Base::TPoint< int32_t > &tpPoint)
Offset operator.
virtual bool IsCollision(const CFLCubicSpline *pFlcs) const override
CFLTriangle< T > operator-(const CFLPoint< float > &flpPoint) const
Offset operator.
virtual const CResult GetIntersection(const CFLCircle< double > *pCir, CFLFigureArray *pFlfaResult) const override
CFLTriangle(const CFLFigure &flf)
As an initialization constructor, call the Set() function for the DeclType of CFLFigure& flf .
virtual double GetArea() const override
virtual const CResult Set(const Base::TPoint< int64_t > *pTpPoint0, const Base::TPoint< int64_t > *pTpPoint1, const Base::TPoint< int64_t > *pTpPoint2)
Parameter setting function.
CFLTriangle(const Base::TPoint< int64_t > *pTpPoint0, const Base::TPoint< int64_t > *pTpPoint1, const Base::TPoint< int64_t > *pTpPoint2)
initialization constructor
CFLTriangle< T > operator/(const CFLPoint< int64_t > &flpPoint) const
An operator that divides the x,y and z values of each vertex of the triangle by a parameter.
CFLTriangle< T > operator+(const CFLPoint< int64_t > &flpPoint) const
Offset operator.
virtual const CResult GetPointsOfMinimumDistance(const CFLFigure *pFlfTarget, CFLPointArray *pFlpaResult) const override
Get the position closest to the target figure.
virtual bool IsCollision(const CFLRegion *pFlrg) const override
CFLTriangle< T > operator*(const Base::TPoint< double > &tpPoint) const
An operator that multiplies the x,y and z values of each vertex of the triangle by a parameter.
CFLTriangle< T > operator*(const Base::TPoint< int32_t > &tpPoint) const
An operator that multiplies the x,y and z values of each vertex of the triangle by a parameter.
virtual bool IsCollision(const CFLQuad< double > *pQuad) const override
const CFLTriangle< T > & operator/=(const CFLPoint< int32_t > &flpPoint)
An operator that divides the x,y values of each vertex of a triangle by a parameter.
CFLTriangle< T > operator*(const CFLPoint< int32_t > &flpPoint) const
An operator that multiplies the x,y and z values of each vertex of the triangle by a parameter.
virtual bool IsCollision(const CFLFigure &figure) const override
virtual const CResult Set(const Base::TPoint< int64_t > &tpPoint0, const Base::TPoint< int64_t > &tpPoint1, const Base::TPoint< int64_t > &tpPoint2)
Parameter setting function.
CFLTriangle(double x0, double y0, double x1, double y1, double x2, double y2)
initialization constructor
CFLTriangle< T > operator+(const Base::TPoint< int64_t > &tpPoint) const
Offset operator.
virtual const CResult GetCenter(double &x, double &y) const override
virtual const CResult GetMinimumEnclosingRectangle(CFLQuad< double > *pQuad) const override
Get a minimum enclosing rectangle.
const CFLTriangle< T > & operator-=(const Base::TPoint< int64_t > &tpPoint)
Offset operator.
Definition AlgorithmBase.h:16
EWarpingType
Definition DefinitionsFigure.h:2792
@ EWarpingType_Bicubic
Definition DefinitionsFigure.h:2809
@ EWarpingType_Bilinear
Definition DefinitionsFigure.h:2803
EWindingDirection
Winding direction.
Definition DefinitionsFigure.h:2573
EIncludingRegionType
Definition DefinitionsFigure.h:2767
@ EIncludingRegionType_All
Definition DefinitionsFigure.h:2772
EFigureDeclType
Declare type of figure.
Definition DefinitionsFigure.h:33
EFigureTemplateType
Template type of figure.
Definition DefinitionsFigure.h:346
EFigureSpecCompareType
Definition DefinitionsFigure.h:3502
@ EFigureSpecCompareType_Coordinates
Definition DefinitionsFigure.h:3507
EFigureFlipDirection
Flip direction.
Definition DefinitionsFigure.h:2664