FLImaging 7.4.28.2
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 bool operator==(const CFLTriangle<int32_t>& flt) const;
579
591 bool operator==(const CFLTriangle<int64_t>& flt) const;
592
604 bool operator==(const CFLTriangle<float>& flt) const;
605
617 bool operator==(const CFLTriangle<double>& flt) const;
618
619
631 bool operator!=(const CFLTriangle<int32_t>& flt) const;
632
644 bool operator!=(const CFLTriangle<int64_t>& flt) const;
645
657 bool operator!=(const CFLTriangle<float>& flt) const;
658
670 bool operator!=(const CFLTriangle<double>& flt) const;
671
683 const CFLTriangle<T>& operator+=(const double& value);
684
699
714
729
744
759
774
789
804
816 const CFLTriangle<T>& operator-=(const double& value);
817
832
847
862
877
892
907
922
937
949 const CFLTriangle<T>& operator*=(const double& value);
950
965
980
995
1010
1025
1040
1055
1070
1082 const CFLTriangle<T>& operator/=(const double& value);
1083
1098
1113
1128
1143
1158
1173
1188
1203
1215 CFLTriangle<T> operator+(const double& value) const;
1216
1231
1246
1261
1276
1291
1306
1321
1336
1348 CFLTriangle<T> operator-(const double& value) const;
1349
1364
1379
1394
1409
1424
1439
1454
1469
1481 CFLTriangle<T> operator*(const double& value) const;
1482
1497
1512
1527
1542
1557
1572
1587
1602
1614 CFLTriangle<T> operator/(const double& value) const;
1615
1630
1645
1660
1675
1690
1705
1720
1735
1746
1760 friend CFLTriangle<T> operator+(const double& value, const CFLTriangle<T>& flt)
1761 {
1762 CFLTriangle<T> t(flt);
1763 t += value;
1764 return t;
1765 }
1766
1780 friend CFLTriangle<T> operator-(const double& value, const CFLTriangle<T>& flt)
1781 {
1782 CFLTriangle<T> t(flt);
1783 t *= -1.;
1784 t += value;
1785 return t;
1786 }
1787
1801 friend CFLTriangle<T> operator*(const double& value, const CFLTriangle<T>& flt)
1802 {
1803 CFLTriangle<T> t(flt);
1804 t *= value;
1805 return t;
1806 }
1807
1821 friend CFLTriangle<T> operator/(const double& value, const CFLTriangle<T>& flt)
1822 {
1823 CFLTriangle<T> t(flt);
1824
1825 t.flpPoints[0].x = (T)(value / flt.flpPoints[0].x);
1826 t.flpPoints[0].y = (T)(value / flt.flpPoints[0].y);
1827 t.flpPoints[1].x = (T)(value / flt.flpPoints[1].x);
1828 t.flpPoints[1].y = (T)(value / flt.flpPoints[1].y);
1829 t.flpPoints[2].x = (T)(value / flt.flpPoints[2].x);
1830 t.flpPoints[2].y = (T)(value / flt.flpPoints[2].y);
1831
1832 return t;
1833 }
1834
1858 virtual const CResult Set(int32_t x0, int32_t y0, int32_t x1, int32_t y1, int32_t x2, int32_t y2);
1859
1883 virtual const CResult Set(int64_t x0, int64_t y0, int64_t x1, int64_t y1, int64_t x2, int64_t y2);
1884
1908 virtual const CResult Set(float x0, float y0, float x1, float y1, float x2, float y2);
1909
1933 virtual const CResult Set(double x0, double y0, double x1, double y1, double x2, double y2);
1934
1954 virtual const CResult Set(const Base::TPoint<int32_t>& tpPoint0, const Base::TPoint<int32_t>& tpPoint1, const Base::TPoint<int32_t>& tpPoint2);
1955
1975 virtual const CResult Set(const Base::TPoint<int64_t>& tpPoint0, const Base::TPoint<int64_t>& tpPoint1, const Base::TPoint<int64_t>& tpPoint2);
1976
1996 virtual const CResult Set(const Base::TPoint<float>& tpPoint0, const Base::TPoint<float>& tpPoint1, const Base::TPoint<float>& tpPoint2);
1997
2017 virtual const CResult Set(const Base::TPoint<double>& tpPoint0, const Base::TPoint<double>& tpPoint1, const Base::TPoint<double>& tpPoint2);
2018
2038 virtual const CResult Set(const Base::TPoint<int32_t>* pTpPoint0, const Base::TPoint<int32_t>* pTpPoint1, const Base::TPoint<int32_t>* pTpPoint2);
2039
2059 virtual const CResult Set(const Base::TPoint<int64_t>* pTpPoint0, const Base::TPoint<int64_t>* pTpPoint1, const Base::TPoint<int64_t>* pTpPoint2);
2060
2080 virtual const CResult Set(const Base::TPoint<float>* pTpPoint0, const Base::TPoint<float>* pTpPoint1, const Base::TPoint<float>* pTpPoint2);
2081
2101 virtual const CResult Set(const Base::TPoint<double>* pTpPoint0, const Base::TPoint<double>* pTpPoint1, const Base::TPoint<double>* pTpPoint2);
2102
2122 virtual const CResult Set(const CFLPoint<int32_t>& flpPoint0, const CFLPoint<int32_t>& flpPoint1, const CFLPoint<int32_t>& flpPoint2);
2123
2143 virtual const CResult Set(const CFLPoint<int64_t>& flpPoint0, const CFLPoint<int64_t>& flpPoint1, const CFLPoint<int64_t>& flpPoint2);
2144
2164 virtual const CResult Set(const CFLPoint<float>& flpPoint0, const CFLPoint<float>& flpPoint1, const CFLPoint<float>& flpPoint2);
2165
2185 virtual const CResult Set(const CFLPoint<double>& flpPoint0, const CFLPoint<double>& flpPoint1, const CFLPoint<double>& flpPoint2);
2186
2206 virtual const CResult Set(const CFLPoint<int32_t>* pFlpPoint0, const CFLPoint<int32_t>* pFlpPoint1, const CFLPoint<int32_t>* pFlpPoint2);
2207
2227 virtual const CResult Set(const CFLPoint<int64_t>* pFlpPoint0, const CFLPoint<int64_t>* pFlpPoint1, const CFLPoint<int64_t>* pFlpPoint2);
2228
2248 virtual const CResult Set(const CFLPoint<float>* pFlpPoint0, const CFLPoint<float>* pFlpPoint1, const CFLPoint<float>* pFlpPoint2);
2249
2269 virtual const CResult Set(const CFLPoint<double>* pFlpPoint0, const CFLPoint<double>* pFlpPoint1, const CFLPoint<double>* pFlpPoint2);
2270
2284 virtual const CResult Set(const CFLTriangle<int32_t>& flt);
2285
2299 virtual const CResult Set(const CFLTriangle<int64_t>& flt);
2300
2314 virtual const CResult Set(const CFLTriangle<float>& flt);
2315
2329 virtual const CResult Set(const CFLTriangle<double>& flt);
2330
2344 virtual const CResult Set(const CFLTriangle<int32_t>* pFlt);
2345
2359 virtual const CResult Set(const CFLTriangle<int64_t>* pFlt);
2360
2374 virtual const CResult Set(const CFLTriangle<float>* pFlt);
2375
2389 virtual const CResult Set(const CFLTriangle<double>* pFlt);
2390
2391 using CFLFigure::Set;
2392 virtual const CResult Set(const CFLFigure& flf) override;
2393 virtual const CResult Set(const CFLFigure* pFlf) override;
2394
2395 virtual void Clear() override;
2396
2397 virtual EFigureDeclType GetDeclType() const override;
2398 virtual EFigureTemplateType GetTemplateType() const override;
2399
2400 virtual bool IsValid() const override;
2401 virtual bool IsFigureValid() const override;
2402
2403 virtual const CResult MakeFigureValid() override;
2404 virtual const CResult MakeFigureInvalid() override;
2405
2407 virtual bool IsSpecEqual(const CFLFigure* pFlfRhs, EFigureSpecCompareType eSpecType = EFigureSpecCompareType_Coordinates) const override;
2408
2409 virtual double GetWidth() const override;
2410 virtual double GetHeight() const override;
2411 virtual double GetAngle() const override;
2412 virtual double GetArea() const override;
2413 virtual double GetPerimeter() const override;
2414 virtual double GetLength() const override;
2416 virtual const CResult GetVertexCount(CFLFigureArray& flfaResult, EIncludingRegionType eType = EIncludingRegionType_All, bool bRecursive = true) const override;
2417 virtual const CResult GetVertexCount(CFLFigureArray* pFlfaResult, EIncludingRegionType eType = EIncludingRegionType_All, bool bRecursive = true) const override;
2418
2419 virtual const CResult ReverseSequence() override;
2421
2434
2448 virtual const CResult ChangeOriginIndex(int64_t i64IndexToBeOrigin);
2449
2451 virtual const CResult GetBoundaryRect(double& left, double& top, double& right, double& bottom) const override;
2452
2453 using CFLFigure::Inflate;
2454 virtual const CResult Inflate(double left, double top, double right, double bottom) override;
2455
2456 using CFLFigure::Offset;
2457 virtual const CResult Offset(double x, double y) override;
2458
2459 using CFLFigure::Multiply;
2460 virtual const CResult Multiply(double f64MulX, double f64MulY) override;
2461
2462 using CFLFigure::Scale;
2463 virtual const CResult Scale(double f64PivotX, double f64PivotY, double f64RatioX, double f64RatioY) override;
2464
2465 using CFLFigure::Rotate;
2466 virtual const CResult Rotate(double f64Angle, double f64PivotX, double f64PivotY) override;
2467
2469 virtual const CResult GetCenter(double& x, double& y) const override;
2470
2472 virtual const CResult GetCenterOfGravity(double& x, double& y) const override;
2473
2474 using CFLFigure::Flip;
2475 virtual const CResult Flip(EFigureFlipDirection eDirection, double f64PivotX, double f64PivotY) override;
2476
2477 using CFLFigure::Warp;
2478 virtual const CResult Warp(const CFLQuad<double>* pFlqSourceRegion, const CFLQuad<double>* pFlqTargetRegion, CFLFigureArray* pFlfaResult, EWarpingType eWarpingType = EWarpingType_Bilinear) const override;
2479 virtual const CResult Warp(const CFLPointArray* pFlpaSource, const CFLPointArray* pFlpaTarget, CFLFigureArray* pFlfaResult, EWarpingType eWarpingType = EWarpingType_Bicubic, int32_t i32Extension = 2) const override;
2480
2481 using CFLFigure::Swap;
2482 virtual const CResult Swap(CFLFigure* pFlfRight) override;
2483
2485 virtual const CResult GetMinimumEnclosingRectangle(CFLQuad<double>* pQuad) const override;
2486
2487 using CFLFigure::Extend;
2488
2491
2493 virtual const CResult GetPointsOfMinimumDistance(const CFLFigure* pFlfTarget, CFLPointArray* pFlpaResult) const override;
2494
2496 virtual const CResult GetPointsOfMaximumDistance(const CFLFigure* pFlfTarget, CFLPointArray* pFlpaResult) const override;
2497
2499 virtual const CResult GetRasterRegion(CFLFigureArray* pFlfaResult, const CFLRect<int64_t>* pFlrROI = nullptr) const override;
2500 virtual const CResult GetRasterRegion(Base::CFLArray<Base::TRect<int32_t>>* pFlaResult, const CFLRect<int64_t>* pFlrROI = nullptr) const override;
2501 virtual const CResult GetRasterRegion(Base::CFLArray<Base::TRect<int64_t>>* pFlaResult, const CFLRect<int64_t>* pFlrROI = nullptr) const override;
2502 virtual const CResult GetRasterRegion(Base::CFLArray<Base::TRect<float>>* pFlaResult, const CFLRect<int64_t>* pFlrROI = nullptr) const override;
2503 virtual const CResult GetRasterRegion(Base::CFLArray<Base::TRect<double>>* pFlaResult, const CFLRect<int64_t>* pFlrROI = nullptr) const override;
2504 virtual const CResult GetRasterRegion(Base::CFLArray<Base::TPoint3<int32_t>>* pFlaResult, const CFLRect<int64_t>* pFlrROI = nullptr) const override;
2505
2506 virtual bool IsCollision(const CFLFigure& figure) const override;
2507 virtual bool IsCollision(const CFLFigure* pFigure) const override;
2508
2510 virtual bool IsCollision(const CFLPoint<double>* pPoint) const override;
2511 virtual bool IsCollision(const CFLLine<double>* pLine) const override;
2512 virtual bool IsCollision(const CFLRect<double>* pRect) const override;
2513 virtual bool IsCollision(const CFLRoundRect<double>* pRect) const override;
2514 virtual bool IsCollision(const CFLQuad<double>* pQuad) const override;
2515 virtual bool IsCollision(const CFLCircle<double>* pRect) const override;
2516 virtual bool IsCollision(const CFLEllipse<double>* pEll) const override;
2517 virtual bool IsCollision(const CFLDoughnut<double>* pDoughnut) const override;
2518 virtual bool IsCollision(const CFLCubicSpline* pFlcs) const override;
2519 virtual bool IsCollision(const CFLBezierQuadraticCurve* pFlbc2) const override;
2520 virtual bool IsCollision(const CFLBezierCubicCurve* pFlbc3) const override;
2521 virtual bool IsCollision(const CFLBezierQuarticCurve* pFlbc4) const override;
2522 virtual bool IsCollision(const CFLRegion* pFlrg) const override;
2523 virtual bool IsCollision(const CFLComplexRegion* pFlcr) const override;
2524 virtual bool IsCollision(const CFLFigureArray* pFlfa) const override;
2525 virtual bool IsCollision(const CFLPointArray* pFlpa) const override;
2526
2527 virtual const CResult GetIntersection(const CFLFigure& figure, CFLFigureArray* pFlfaResult) const override;
2528 virtual const CResult GetIntersection(const CFLFigure* pFigure, CFLFigureArray* pFlfaResult) const override;
2529
2531 virtual const CResult GetIntersection(const CFLLine<double>* pLine, CFLFigureArray* pFlfaResult) const override;
2532 virtual const CResult GetIntersection(const CFLRect<double>* pRect, CFLFigureArray* pFlfaResult) const override;
2533 virtual const CResult GetIntersection(const CFLRoundRect<double>* pRect, CFLFigureArray* pFlfaResult) const override;
2534 virtual const CResult GetIntersection(const CFLQuad<double>* pQuad, CFLFigureArray* pFlfaResult) const override;
2535 virtual const CResult GetIntersection(const CFLCircle<double>* pCir, CFLFigureArray* pFlfaResult) const override;
2536 virtual const CResult GetIntersection(const CFLEllipse<double>* pEll, CFLFigureArray* pFlfaResult) const override;
2537 virtual const CResult GetIntersection(const CFLDoughnut<double>* pDoughnut, CFLFigureArray* pFlfaResult) const override;
2538 virtual const CResult GetIntersection(const CFLCubicSpline* pFlcs, CFLFigureArray* pFlfaResult) const override;
2539 virtual const CResult GetIntersection(const CFLBezierQuadraticCurve* pFlbc2, CFLFigureArray* pFlfaResult) const override;
2540 virtual const CResult GetIntersection(const CFLBezierCubicCurve* pFlbc3, CFLFigureArray* pFlfaResult) const override;
2541 virtual const CResult GetIntersection(const CFLBezierQuarticCurve* pFlbc4, CFLFigureArray* pFlfaResult) const override;
2542 virtual const CResult GetIntersection(const CFLRegion* pFlrg, CFLFigureArray* pFlfaResult) const override;
2543 virtual const CResult GetIntersection(const CFLComplexRegion* pFlcr, CFLFigureArray* pFlfaResult) const override;
2544 virtual const CResult GetIntersection(const CFLFigureArray* pFlfaOperand, CFLFigureArray* pFlfaResult) const override;
2545
2550
2551 virtual const CResult GetRasterContour(Base::CFLArray<Base::TPoint<int32_t>>* pFlaResult, bool bExcludeSingleDelta = false) const override;
2552 virtual const CResult GetRasterContour(CFLFigureArray* pFlfaResult, bool bExcludeSingleDelta = false) const override;
2553 virtual const CResult GetRasterContour(CFLPointArray* pFlpaResult, bool bExcludeSingleDelta = false) const override;
2554
2555 virtual const CResult GetSamplingPointsOnSegment(double f64SamplingDistance, CFLFigureArray* pFlfaResult) const override;
2556 virtual const CResult GetSamplingPointsOnSegment(double f64SamplingDistance, CFLPointArray* pFlpaResult) const override;
2557
2558 virtual const CResult GetSamplingVectorOnSegment(double f64SamplingDistance, CFLFigureArray* pFlfaResult) const override;
2559 virtual const CResult GetSamplingVectorOnSegment(double f64SamplingDistance, CFLPointArray* pFlpaResult) const override;
2560
2561 SupportToDuplicateObject(CFLTriangle<T>, *this);
2562 DeclareGetClassType();
2563 };
2564
2565 typedef CFLTriangle<int32_t> CFLTriangleL;
2566 typedef CFLTriangle<int64_t> CFLTriangleLL;
2567 typedef CFLTriangle<float> CFLTriangleF;
2568 typedef CFLTriangle<double> CFLTriangleD;
2569 }
2570}
Template type 의 배열 클래스.
Definition FLArray.h:53
3차원 점을 표현하는 간략화된 클래스
Definition TPoint3.h:37
점을 표현하는 간략화된 클래스
Definition TPoint.h:37
직사각형을 표현하는 간략화된 클래스
Definition TRect.h:37
FLImaging 모듈의 수행 결과 객체
Definition ResultsDef.h:1676
3차 베지어 곡선을 표현하는 클래스
Definition FLBezierCubicCurve.h:24
2차 베지어 곡선을 표현하는 클래스
Definition FLBezierQuadraticCurve.h:24
4차 베지어 곡선을 표현하는 클래스
Definition FLBezierQuarticCurve.h:24
원을 표현하는 클래스
Definition FLCircle.h:25
다각형을 표현하는 클래스
Definition FLComplexRegion.h:28
큐빅 곡선을 표현하는 클래스
Definition FLCubicSpline.h:23
원 또는 호 형태의 도넛 모양을 표현하는 클래스
Definition FLDoughnut.h:26
타원을 표현하는 클래스
Definition FLEllipse.h:25
도형 배열을 표현하는 클래스
Definition FLFigureArray.h:27
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
대상 Figure와 서로 가장 가까운 위치를 반환합니다.
virtual bool IsSpecEqual(const CFLFigure &flfRhs, EFigureSpecCompareType eSpecType=EFigureSpecCompareType_Coordinates) const
virtual const CResult Multiply(int32_t i32Mul)
virtual CFLPoint< double > GetCenter() const
virtual const CResult GetRegionOfUnion(const CFLFigure &figure, CFLFigureArray *pFlfaResult) const
두 객체의 합집합을 수행
virtual double GetMinimumDistance(const CFLFigure &flfTarget) const
대상 Figure와 서로 가장 가까운 위치의 거리를 반환합니다.
virtual const CResult Scale(double f64RatioX, double f64RatioY)
virtual const CResult Offset(int32_t val)
virtual const CResult GetRegionOfSubtraction(const CFLFigure &figure, CFLFigureArray *pFlfaResult) const
두 객체의 차집합을 수행
virtual CFLQuad< double > GetMinimumEnclosingRectangle() const
최소 둘레의 직사각형을 얻어옵니다
virtual const CResult GetRegionOfExclusiveOr(const CFLFigure &figure, CFLFigureArray *pFlfaResult) const
두 객체의 배타적 논리합을 수행
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)
입력된 크기만큼 각 축 방향으로 늘리는 함수
virtual const CResult Rotate(double f64Angle)
virtual const CResult GetIntersection(const CFLFigure &figure, CFLFigureArray *pFlfaResult) const
virtual bool IsCollision(const CFLFigure &figure) const
virtual double GetMaximumDistance(const CFLFigure &flfTarget) const
대상 Figure와 서로 가장 먼 위치의 거리를 반환 합니다.
virtual const CResult GetPointsOfMaximumDistance(const CFLFigure &flfTarget, CFLPointArray *pFlpaResult) const
대상 Figure와 서로 가장 먼 위치를 반환합니다.
virtual const CResult Set(const Base::CFLImage &fli)
virtual const CResult GetRegionOfIntersection(const CFLFigure &figure, CFLFigureArray *pFlfaResult) const
두 객체의 교집합을 수행
virtual const CResult Flip(EFigureFlipDirection eDirection)
직선을 표현하는 클래스
Definition FLLine.h:25
점 배열을 표현하는 클래스
Definition FLPointArray.h:26
점을 표현하는 클래스
Definition FLPoint.h:24
사변형을 표현하는 클래스
Definition FLQuad.h:24
직사각형을 표현하는 클래스
Definition FLRect.h:24
영역을 표현하는 클래스
Definition FLRegion.h:26
모서리가 둥근 직사각형을 표현하는 클래스
Definition FLRoundRect.h:24
2차원 삼각형을 표현하는 클래스
Definition FLTriangle.h:25
virtual const CResult Set(float x0, float y0, float x1, float y1, float x2, float y2)
파라미터 설정 함수
const CFLTriangle< T > & operator*=(const CFLPoint< int32_t > &flpPoint)
삼각형의 각 정점의 x,y 값에 매개변수를 곱하는 연산자
virtual bool IsValid() const override
CFLTriangle< T > operator-(const Base::TPoint< int64_t > &tpPoint) const
이동 연산자[offset]
CFLTriangle(const CFLTriangle< int64_t > &flt)
복사 생성자
virtual const CResult GetVertexCount(CFLFigureArray &flfaResult, EIncludingRegionType eType=EIncludingRegionType_All, bool bRecursive=true) const override
도형의 정점의 개수를 반환합니다
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
삼각형의 각 정점의 x, y 값에 매개변수를 곱하는 연산자
virtual const CResult GetIntersection(const CFLBezierQuarticCurve *pFlbc4, CFLFigureArray *pFlfaResult) const override
const CFLTriangle< T > & operator-=(const CFLPoint< int32_t > &flpPoint)
이동 연산자[offset]
virtual const CResult GetRasterContour(CFLPointArray *pFlpaResult, bool bExcludeSingleDelta=false) const override
Contour의 Raster 점 정보를 얻어옵니다
CFLTriangle(const CFLTriangle< double > &flt)
복사 생성자
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)
초기화 생성자
virtual uint64_t GetVertexCountRecursive(EIncludingRegionType eType=EIncludingRegionType_All) const override
FigureArray 내부의 모든 정점의 개수를 출력합니다.
virtual const CResult Flip(EFigureFlipDirection eDirection, double f64PivotX, double f64PivotY) override
CFLTriangle< T > operator*(const CFLPoint< double > &flpPoint) const
삼각형의 각 정점의 x, y 값에 매개변수를 곱하는 연산자
virtual const CResult Set(const CFLTriangle< float > &flt)
파라미터 설정 함수
virtual const CResult Set(const CFLTriangle< double > &flt)
파라미터 설정 함수
CFLTriangle(const CFLTriangle< float > &flt)
복사 생성자
virtual EFigureDeclType GetDeclType() const override
virtual const CResult Set(const Base::TPoint< float > *pTpPoint0, const Base::TPoint< float > *pTpPoint1, const Base::TPoint< float > *pTpPoint2)
파라미터 설정 함수
virtual const CResult MakeFigureInvalid() override
Figure를 유효하지 않은 Figure로 만듦. (예를 들어, 점의 좌표를 Invalid한 x, y로 설정)
virtual const CResult Set(const CFLTriangle< int32_t > &flt)
파라미터 설정 함수
CFLTriangle< T > operator-(const Base::TPoint< double > &tpPoint) const
이동 연산자[offset]
friend CFLTriangle< T > operator+(const double &value, const CFLTriangle< T > &flt)
이동 연산자[offset]
Definition FLTriangle.h:1760
const CFLTriangle< T > & operator/=(const Base::TPoint< double > &tpPoint)
삼각형의 각 정점의 x,y 값에 매개변수를 나누는 연산자
CFLTriangle< T > operator/(const CFLPoint< float > &flpPoint) const
삼각형의 각 정점의 x, y 값을 매개변수로 나누는 연산자
virtual const CResult GetSamplingVectorOnSegment(double f64SamplingDistance, CFLPointArray *pFlpaResult) const override
설정한 길이만큼 직선으로 이동하는 점 정보를 얻어옵니다
virtual double GetLength() const override
CFLTriangle(const CFLTriangle< int32_t > &flt)
복사 생성자
CFLTriangle< T > operator-() const
해당 객체의 x, y 값의 부호를 반전시킨 객체를 반환하는 연산자
virtual const CResult Set(const CFLPoint< int64_t > &flpPoint0, const CFLPoint< int64_t > &flpPoint1, const CFLPoint< int64_t > &flpPoint2)
파라미터 설정 함수
const CFLTriangle< T > & operator+=(const CFLPoint< double > &flpPoint)
이동 연산자[offset]
CFLTriangle(const Base::TPoint< float > *pTpPoint0, const Base::TPoint< float > *pTpPoint1, const Base::TPoint< float > *pTpPoint2)
초기화 생성자
virtual const CResult Set(const CFLPoint< double > *pFlpPoint0, const CFLPoint< double > *pFlpPoint1, const CFLPoint< double > *pFlpPoint2)
파라미터 설정 함수
CFLTriangle< T > operator/(const Base::TPoint< int64_t > &tpPoint) const
삼각형의 각 정점의 x, y 값을 매개변수로 나누는 연산자
virtual const CResult GetRasterContour(Base::CFLArray< Base::TPoint< int32_t > > *pFlaResult, bool bExcludeSingleDelta=false) const override
Contour의 Raster 점 정보를 얻어옵니다
const CFLTriangle< T > & operator*=(const CFLPoint< double > &flpPoint)
삼각형의 각 정점의 x,y 값에 매개변수를 곱하는 연산자
const CFLTriangle< T > & operator+=(const Base::TPoint< float > &tpPoint)
이동 연산자[offset]
virtual double GetAngle() const override
CFLTriangle(const CFLPoint< double > *pFlpPoint0, const CFLPoint< double > *pFlpPoint1, const CFLPoint< double > *pFlpPoint2)
초기화 생성자
CFLTriangle(const CFLTriangle< int32_t > *pFlt)
복사 생성자
const CFLTriangle< T > & operator*=(const double &value)
삼각형의 각 정점의 x,y 값에 매개변수를 곱하는 연산자
CFLTriangle< T > operator+(const CFLPoint< int32_t > &flpPoint) const
이동 연산자[offset]
bool operator!=(const CFLTriangle< double > &flt) const
비교 연산자
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)
초기화 생성자
bool operator==(const CFLTriangle< float > &flt) const
비교 연산자
const CFLTriangle< T > & operator/=(const Base::TPoint< float > &tpPoint)
삼각형의 각 정점의 x,y 값에 매개변수를 나누는 연산자
const CFLTriangle< T > & operator*=(const CFLPoint< float > &flpPoint)
삼각형의 각 정점의 x,y 값에 매개변수를 곱하는 연산자
virtual const CResult Set(double x0, double y0, double x1, double y1, double x2, double y2)
파라미터 설정 함수
const CFLTriangle< T > & operator-=(const CFLPoint< float > &flpPoint)
이동 연산자[offset]
virtual const CResult Multiply(double f64MulX, double f64MulY) override
const CFLTriangle< T > & operator-=(const Base::TPoint< double > &tpPoint)
이동 연산자[offset]
virtual bool IsCollision(const CFLBezierQuarticCurve *pFlbc4) const override
virtual const CResult Set(const CFLPoint< float > *pFlpPoint0, const CFLPoint< float > *pFlpPoint1, const CFLPoint< float > *pFlpPoint2)
파라미터 설정 함수
virtual bool IsCollision(const CFLRect< double > *pRect) const override
const CFLTriangle< T > & operator*=(const CFLPoint< int64_t > &flpPoint)
삼각형의 각 정점의 x,y 값에 매개변수를 곱하는 연산자
virtual const CResult Set(const Base::TPoint< int32_t > &tpPoint0, const Base::TPoint< int32_t > &tpPoint1, const Base::TPoint< int32_t > &tpPoint2)
파라미터 설정 함수
virtual const CResult Set(const CFLPoint< int64_t > *pFlpPoint0, const CFLPoint< int64_t > *pFlpPoint1, const CFLPoint< int64_t > *pFlpPoint2)
파라미터 설정 함수
CFLTriangle< T > operator*(const CFLPoint< float > &flpPoint) const
삼각형의 각 정점의 x, y 값에 매개변수를 곱하는 연산자
virtual const CResult GetSamplingVectorOnSegment(double f64SamplingDistance, CFLFigureArray *pFlfaResult) const override
설정한 길이만큼 직선으로 이동하는 점 정보를 얻어옵니다
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)
초기화 생성자
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)
삼각형의 각 정점의 x,y 값에 매개변수를 나누는 연산자
virtual const CResult Set(const Base::TPoint< int32_t > *pTpPoint0, const Base::TPoint< int32_t > *pTpPoint1, const Base::TPoint< int32_t > *pTpPoint2)
파라미터 설정 함수
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]
CFLTriangle< T > operator/(const Base::TPoint< int32_t > &tpPoint) const
삼각형의 각 정점의 x, y 값을 매개변수로 나누는 연산자
virtual bool IsCollision(const CFLRoundRect< double > *pRect) const override
friend CFLTriangle< T > operator-(const double &value, const CFLTriangle< T > &flt)
이동 연산자[offset]
Definition FLTriangle.h:1780
CFLTriangle(const CFLTriangle< float > *pFlt)
복사 생성자
CFLTriangle< T > operator*(const Base::TPoint< int64_t > &tpPoint) const
삼각형의 각 정점의 x, y 값에 매개변수를 곱하는 연산자
virtual const CResult Set(int64_t x0, int64_t y0, int64_t x1, int64_t y1, int64_t x2, int64_t y2)
파라미터 설정 함수
const CFLTriangle< T > & operator-=(const Base::TPoint< float > &tpPoint)
이동 연산자[offset]
CFLTriangle(int32_t x0, int32_t y0, int32_t x1, int32_t y1, int32_t x2, int32_t y2)
초기화 생성자
CFLPoint< int32_t > flpPoints[3]
Definition FLTriangle.h:31
CFLTriangle(const CFLTriangle< int64_t > *pFlt)
복사 생성자
const CFLTriangle< T > & operator/=(const Base::TPoint< int64_t > &tpPoint)
삼각형의 각 정점의 x,y 값에 매개변수를 나누는 연산자
const CFLTriangle< T > & operator+=(const CFLPoint< float > &flpPoint)
이동 연산자[offset]
virtual void Clear() override
객체의 변수를 초기화 합니다.
CFLTriangle< T > operator/(const Base::TPoint< float > &tpPoint) const
삼각형의 각 정점의 x, y 값을 매개변수로 나누는 연산자
virtual const CResult Set(const Base::TPoint< double > &tpPoint0, const Base::TPoint< double > &tpPoint1, const Base::TPoint< double > &tpPoint2)
파라미터 설정 함수
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)
삼각형의 각 정점의 x,y 값에 매개변수를 곱하는 연산자
CFLTriangle< T > operator-(const CFLPoint< double > &flpPoint) const
이동 연산자[offset]
bool operator!=(const CFLTriangle< float > &flt) const
비교 연산자
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)
초기화 생성자로, Figure 의 DeclType 에 맞는 Set() 함수를 호출합니다.
CFLTriangle(const CFLTriangle< double > *pFlt)
복사 생성자
virtual double GetPerimeter() const override
const CFLTriangle< T > & operator+=(const CFLPoint< int32_t > &flpPoint)
이동 연산자[offset]
const CFLTriangle< T > & operator/=(const CFLPoint< int64_t > &flpPoint)
삼각형의 각 정점의 x,y 값에 매개변수를 나누는 연산자
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)
초기화 생성자
virtual const CResult Set(const Base::TPoint< float > &tpPoint0, const Base::TPoint< float > &tpPoint1, const Base::TPoint< float > &tpPoint2)
파라미터 설정 함수
CFLTriangle(const Base::TPoint< double > *pTpPoint0, const Base::TPoint< double > *pTpPoint1, const Base::TPoint< double > *pTpPoint2)
초기화 생성자
virtual bool IsCollision(const CFLBezierCubicCurve *pFlbc3) const override
CFLTriangle< T > operator/(const Base::TPoint< double > &tpPoint) const
삼각형의 각 정점의 x, y 값을 매개변수로 나누는 연산자
virtual const CResult GetIntersection(const CFLLine< double > *pLine, CFLFigureArray *pFlfaResult) const override
virtual const CResult Set(const CFLTriangle< int32_t > *pFlt)
파라미터 설정 함수
CFLTriangle< T > operator-(const CFLPoint< int64_t > &flpPoint) const
이동 연산자[offset]
const CFLTriangle< T > & operator*=(const Base::TPoint< int64_t > &tpPoint)
삼각형의 각 정점의 x,y 값에 매개변수를 곱하는 연산자
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
삼각형의 각 정점의 x, y 값을 매개변수로 나누는 연산자
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
삼각형의 각 정점의 x, y 값에 매개변수를 곱하는 연산자
const CFLTriangle< T > & operator-=(const CFLPoint< double > &flpPoint)
이동 연산자[offset]
bool operator==(const CFLTriangle< int64_t > &flt) const
비교 연산자
virtual const CResult GetIntersection(const CFLRegion *pFlrg, CFLFigureArray *pFlfaResult) const override
virtual const CResult MakeFigureValid() override
유효하지 않은 Figure를 유효한 Figure로 만듦. (예를 들어, 좌우, 상하가 뒤집힌 사각형을 원래대로 복원)
CFLTriangle< T > operator-(const Base::TPoint< float > &tpPoint) const
이동 연산자[offset]
virtual EFigureTemplateType GetTemplateType() const override
CFLTriangle< T > operator+(const CFLPoint< double > &flpPoint) const
이동 연산자[offset]
virtual const CResult Set(const CFLTriangle< int64_t > &flt)
파라미터 설정 함수
virtual const CResult GetPointsOfMaximumDistance(const CFLFigure *pFlfTarget, CFLPointArray *pFlpaResult) const override
대상 Figure와 서로 가장 먼 위치를 반환합니다.
virtual const CResult Set(const CFLPoint< float > &flpPoint0, const CFLPoint< float > &flpPoint1, const CFLPoint< float > &flpPoint2)
파라미터 설정 함수
virtual const CResult GetVertexCount(CFLFigureArray *pFlfaResult, EIncludingRegionType eType=EIncludingRegionType_All, bool bRecursive=true) const override
도형의 정점의 개수를 반환합니다
virtual const CResult ChangeOriginIndex(int64_t i64IndexToBeOrigin)
모양은 유지한 상태로 시작 정점을 변경하는 함수
virtual bool IsCollision(const CFLBezierQuadraticCurve *pFlbc2) const override
const CFLTriangle< T > & operator+=(const Base::TPoint< int32_t > &tpPoint)
이동 연산자[offset]
CFLTriangle(int64_t x0, int64_t y0, int64_t x1, int64_t y1, int64_t x2, int64_t y2)
초기화 생성자
virtual const CResult GetBoundaryRect(double &left, double &top, double &right, double &bottom) const override
const CFLTriangle< T > & operator+=(const double &value)
이동 연산자[offset]
CFLTriangle(const CFLPoint< int32_t > &flpPoint0, const CFLPoint< int32_t > &flpPoint1, const CFLPoint< int32_t > &flpPoint2)
초기화 생성자
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)
삼각형의 각 정점의 x, y 값을 매개변수로 나누는 연산자
Definition FLTriangle.h:1821
CFLTriangle< T > operator+(const Base::TPoint< float > &tpPoint) const
이동 연산자[offset]
CFLTriangle< T > operator-(const double &value) const
이동 연산자[offset]
virtual const CResult Set(const Base::TPoint< double > *pTpPoint0, const Base::TPoint< double > *pTpPoint1, const Base::TPoint< double > *pTpPoint2)
파라미터 설정 함수
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)
초기화 생성자
CFLTriangle(const CFLPoint< int64_t > &flpPoint0, const CFLPoint< int64_t > &flpPoint1, const CFLPoint< int64_t > &flpPoint2)
초기화 생성자
CFLTriangle< T > operator+(const CFLPoint< float > &flpPoint) const
이동 연산자[offset]
virtual const CResult Set(const CFLPoint< double > &flpPoint0, const CFLPoint< double > &flpPoint1, const CFLPoint< double > &flpPoint2)
파라미터 설정 함수
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)
파라미터 설정 함수
const CFLTriangle< T > & operator/=(const double &value)
삼각형의 각 정점의 x,y 값에 매개변수를 나누는 연산자
const CFLTriangle< T > & operator/=(const CFLPoint< float > &flpPoint)
삼각형의 각 정점의 x,y 값에 매개변수를 나누는 연산자
bool operator!=(const CFLTriangle< int64_t > &flt) const
비교 연산자
bool operator!=(const CFLTriangle< int32_t > &flt) const
비교 연산자
const CFLTriangle< T > & operator-=(const double &value)
이동 연산자[offset]
const CFLTriangle< T > & operator+=(const Base::TPoint< double > &tpPoint)
이동 연산자[offset]
CFLTriangle(const CFLPoint< int32_t > *pFlpPoint0, const CFLPoint< int32_t > *pFlpPoint1, const CFLPoint< int32_t > *pFlpPoint2)
초기화 생성자
virtual bool IsFigureValid() const override
CFLTriangle(const CFLPoint< int64_t > *pFlpPoint0, const CFLPoint< int64_t > *pFlpPoint1, const CFLPoint< int64_t > *pFlpPoint2)
초기화 생성자
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)
파라미터 설정 함수
CFLTriangle< T > operator+(const Base::TPoint< int32_t > &tpPoint) const
이동 연산자[offset]
CFLTriangle< T > operator*(const double &value) const
삼각형의 각 정점의 x, y 값에 매개변수를 곱하는 연산자
virtual const CResult GetSamplingPointsOnSegment(double f64SamplingDistance, CFLFigureArray *pFlfaResult) const override
설정한 길이만큼 이동하는 점 정보를 얻어옵니다
virtual const CResult GetIntersection(const CFLBezierQuadraticCurve *pFlbc2, CFLFigureArray *pFlfaResult) const override
virtual const CResult Set(const CFLTriangle< int64_t > *pFlt)
파라미터 설정 함수
const CFLTriangle< T > & operator-=(const CFLPoint< int64_t > &flpPoint)
이동 연산자[offset]
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
bool operator==(const CFLTriangle< int32_t > &flt) const
비교 연산자
virtual const CResult Inflate(double left, double top, double right, double bottom) override
const CFLTriangle< T > & operator=(const CFLTriangle< int64_t > &flt)
대입 연산자
friend CFLTriangle< T > operator*(const double &value, const CFLTriangle< T > &flt)
삼각형의 각 정점의 x, y 값에 매개변수를 곱하는 연산자
Definition FLTriangle.h:1801
CFLTriangle< T > operator/(const CFLPoint< double > &flpPoint) const
삼각형의 각 정점의 x, y 값을 매개변수로 나누는 연산자
virtual const CResult GetRasterContour(CFLFigureArray *pFlfaResult, bool bExcludeSingleDelta=false) const override
Contour의 Raster 점 정보를 얻어옵니다
virtual const CResult ReverseSequence() override
순서를 반대방향으로 바꾸는 함수
virtual EWindingDirection GetWindingDirection() const sealed
virtual const CResult Set(const CFLTriangle< float > *pFlt)
파라미터 설정 함수
CFLTriangle< T > operator+(const double &value) const
이동 연산자[offset]
const CFLTriangle< T > & operator+=(const CFLPoint< int64_t > &flpPoint)
이동 연산자[offset]
CFLTriangle(float x0, float y0, float x1, float y1, float x2, float y2)
초기화 생성자
CFLTriangle(const CFLPoint< double > &flpPoint0, const CFLPoint< double > &flpPoint1, const CFLPoint< double > &flpPoint2)
초기화 생성자
virtual const CResult GetIntersection(const CFLBezierCubicCurve *pFlbc3, CFLFigureArray *pFlfaResult) const override
virtual const CResult Set(const CFLTriangle< double > *pFlt)
파라미터 설정 함수
virtual const CResult ReverseWindingDirection()
Winding Direction 을 반대방향으로 바꾸는 함수
const CFLTriangle< T > & operator=(const CFLTriangle< int32_t > &flt)
대입 연산자
const CFLTriangle< T > & operator=(const CFLTriangle< double > &flt)
대입 연산자
virtual bool IsCollision(const CFLLine< double > *pLine) const override
const CFLTriangle< T > & operator*=(const Base::TPoint< float > &tpPoint)
삼각형의 각 정점의 x,y 값에 매개변수를 곱하는 연산자
CFLTriangle(const Base::TPoint< int32_t > *pTpPoint0, const Base::TPoint< int32_t > *pTpPoint1, const Base::TPoint< int32_t > *pTpPoint2)
초기화 생성자
const CFLTriangle< T > & operator+=(const Base::TPoint< int64_t > &tpPoint)
이동 연산자[offset]
virtual const CResult GetSamplingPointsOnSegment(double f64SamplingDistance, CFLPointArray *pFlpaResult) const override
설정한 길이만큼 이동하는 점 정보를 얻어옵니다
bool operator==(const CFLTriangle< double > &flt) const
비교 연산자
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)
삼각형의 각 정점의 x,y 값에 매개변수를 나누는 연산자
virtual const CResult Set(int32_t x0, int32_t y0, int32_t x1, int32_t y1, int32_t x2, int32_t y2)
파라미터 설정 함수
CFLTriangle< T > operator-(const Base::TPoint< int32_t > &tpPoint) const
이동 연산자[offset]
virtual const CResult Swap(CFLFigure *pFlfRight) override
const CFLTriangle< T > & operator*=(const Base::TPoint< double > &tpPoint)
삼각형의 각 정점의 x,y 값에 매개변수를 곱하는 연산자
CFLTriangle< T > operator+(const Base::TPoint< double > &tpPoint) const
이동 연산자[offset]
CFLTriangle(const CFLPoint< float > *pFlpPoint0, const CFLPoint< float > *pFlpPoint1, const CFLPoint< float > *pFlpPoint2)
초기화 생성자
const CFLTriangle< T > & operator=(const CFLTriangle< float > &flt)
대입 연산자
CFLTriangle< T > operator/(const CFLPoint< int32_t > &flpPoint) const
삼각형의 각 정점의 x, y 값을 매개변수로 나누는 연산자
const CFLTriangle< T > & operator-=(const Base::TPoint< int32_t > &tpPoint)
이동 연산자[offset]
virtual bool IsCollision(const CFLCubicSpline *pFlcs) const override
CFLTriangle< T > operator-(const CFLPoint< float > &flpPoint) const
이동 연산자[offset]
virtual const CResult GetIntersection(const CFLCircle< double > *pCir, CFLFigureArray *pFlfaResult) const override
CFLTriangle(const CFLFigure &flf)
초기화 생성자로, Figure 의 DeclType 에 맞는 Set() 함수를 호출합니다.
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)
파라미터 설정 함수
CFLTriangle(const Base::TPoint< int64_t > *pTpPoint0, const Base::TPoint< int64_t > *pTpPoint1, const Base::TPoint< int64_t > *pTpPoint2)
초기화 생성자
CFLTriangle< T > operator/(const CFLPoint< int64_t > &flpPoint) const
삼각형의 각 정점의 x, y 값을 매개변수로 나누는 연산자
CFLTriangle< T > operator+(const CFLPoint< int64_t > &flpPoint) const
이동 연산자[offset]
virtual const CResult GetPointsOfMinimumDistance(const CFLFigure *pFlfTarget, CFLPointArray *pFlpaResult) const override
대상 Figure와 서로 가장 가까운 위치를 반환합니다.
virtual bool IsCollision(const CFLRegion *pFlrg) const override
CFLTriangle< T > operator*(const Base::TPoint< double > &tpPoint) const
삼각형의 각 정점의 x, y 값에 매개변수를 곱하는 연산자
CFLTriangle< T > operator*(const Base::TPoint< int32_t > &tpPoint) const
삼각형의 각 정점의 x, y 값에 매개변수를 곱하는 연산자
virtual bool IsCollision(const CFLQuad< double > *pQuad) const override
const CFLTriangle< T > & operator/=(const CFLPoint< int32_t > &flpPoint)
삼각형의 각 정점의 x,y 값에 매개변수를 나누는 연산자
CFLTriangle< T > operator*(const CFLPoint< int32_t > &flpPoint) const
삼각형의 각 정점의 x, y 값에 매개변수를 곱하는 연산자
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)
파라미터 설정 함수
CFLTriangle(double x0, double y0, double x1, double y1, double x2, double y2)
초기화 생성자
CFLTriangle< T > operator+(const Base::TPoint< int64_t > &tpPoint) const
이동 연산자[offset]
virtual const CResult GetCenter(double &x, double &y) const override
virtual const CResult GetMinimumEnclosingRectangle(CFLQuad< double > *pQuad) const override
최소 둘레의 직사각형을 얻어옵니다
const CFLTriangle< T > & operator-=(const Base::TPoint< int64_t > &tpPoint)
이동 연산자[offset]
Definition AlgorithmBase.h:16
EWarpingType
Definition DefinitionsFigure.h:2836
@ EWarpingType_Bicubic
Definition DefinitionsFigure.h:2853
@ EWarpingType_Bilinear
Definition DefinitionsFigure.h:2847
EWindingDirection
점들이 이어지는 방향
Definition DefinitionsFigure.h:2617
EIncludingRegionType
Definition DefinitionsFigure.h:2811
@ EIncludingRegionType_All
Definition DefinitionsFigure.h:2816
EFigureDeclType
도형의 타입
Definition DefinitionsFigure.h:33
EFigureTemplateType
도형의 변수 자료형
Definition DefinitionsFigure.h:390
EFigureSpecCompareType
Definition DefinitionsFigure.h:3546
@ EFigureSpecCompareType_Coordinates
Definition DefinitionsFigure.h:3551
EFigureFlipDirection
뒤집는 방향
Definition DefinitionsFigure.h:2708