FLImaging 7.4.28.2
FLFrustum3.h
1#pragma once
2
8
9#include "FLQuad3.h"
10#include "FLGeometry3DPlane.h"
11#include "FLGeometry3DVector.h"
12
14namespace FLImaging
15{
17 namespace Foundation
18 {
24 template<typename T>
25 class FL_EXPORT CFLFrustum3 : public CFLFigure
26 {
27 public:
33
40 {
46
52
58
64
70
76
82
88
94 };
95
102 {
108
114
120
126
132
138 };
139
145
150 virtual ~CFLFrustum3();
151
162
173
184
195
207 CFLFrustum3(const Base::TQuadrilateralSolid3<float>& tQuadrilateralSolid3);
208
220 CFLFrustum3(const Base::TQuadrilateralSolid3<float>* pTQuadrilateralSolid3);
221
234
246 CFLFrustum3(const Base::TQuadrilateralSolid3<double>* pTQuadrilateralSolid3);
247
261 CFLFrustum3(const CFLQuad3<float>& flqQuad0, const CFLQuad3<float>& flqQuad1);
262
276 CFLFrustum3(const CFLQuad3<double>& flqQuad0, const CFLQuad3<double>& flqQuad1);
277
291 CFLFrustum3(const CFLQuad3<float>* pFlqQuad0, const CFLQuad3<float>* pFlqQuad1);
292
306 CFLFrustum3(const CFLQuad3<double>* pFlqQuad0, const CFLQuad3<double>* pFlqQuad1);
307
320
332 CFLFrustum3(const CFLFigure* pFlf);
333
347 virtual const CResult Set(const CFLFrustum3<float>& flfr);
348
362 virtual const CResult Set(const CFLFrustum3<double>& flfr);
363
377 virtual const CResult Set(const CFLFrustum3<float>* pFlfr);
378
392 virtual const CResult Set(const CFLFrustum3<double>* pFlfr);
393
409 virtual const CResult Set(const Base::TQuadrilateralSolid3<float>& tQuadrilateralSolid3);
410
426 virtual const CResult Set(const Base::TQuadrilateralSolid3<double>& tQuadrilateralSolid3);
427
443 virtual const CResult Set(const Base::TQuadrilateralSolid3<float>* pTQuadrilateralSolid3);
444
460 virtual const CResult Set(const Base::TQuadrilateralSolid3<double>* pTQuadrilateralSolid3);
461
479 virtual const CResult Set(const CFLQuad3<float>& flqQuad0, const CFLQuad3<float>& flqQuad1);
480
498 virtual const CResult Set(const CFLQuad3<double>& flqQuad0, const CFLQuad3<double>& flqQuad1);
499
517 virtual const CResult Set(const CFLQuad3<float>* pFlqQuad0, const CFLQuad3<float>* pFlqQuad1);
518
536 virtual const CResult Set(const CFLQuad3<double>* pFlqQuad0, const CFLQuad3<double>* pFlqQuad1);
537
555 virtual const CResult SetVertex(EVertex eVertexPos, const Base::TPoint3<float>& tp3) sealed;
556
574 virtual const CResult SetVertex(EVertex eVertexPos, const Base::TPoint3<double>& tp3) sealed;
575
593 virtual const CResult SetVertex(EVertex eVertexPos, const Base::TPoint3<float>* pTp3) sealed;
594
612 virtual const CResult SetVertex(EVertex eVertexPos, const Base::TPoint3<double>* pTp3) sealed;
613
631 virtual const CResult SetVertex(EVertex eVertexPos, const Foundation::CFLPoint3<float>& flp3) sealed;
632
650 virtual const CResult SetVertex(EVertex eVertexPos, const Foundation::CFLPoint3<double>& flp3) sealed;
651
669 virtual const CResult SetVertex(EVertex eVertexPos, const Foundation::CFLPoint3<float>* pFlp3) sealed;
670
688 virtual const CResult SetVertex(EVertex eVertexPos, const Foundation::CFLPoint3<double>* pFlp3) sealed;
689
703 virtual const Foundation::CFLPoint3<T>* GetVertex(EVertex eVertexPos) const sealed;
704
718 virtual const CFLGeometry3DVector<T> GetEquationOfPlane(EPlane ePlane) const sealed;
719
733 virtual bool Contains(const Base::TPoint3<float>& tp3) const;
734
748 virtual bool Contains(const Base::TPoint3<double>& tp3) const;
749
763 virtual bool Contains(const Base::TPoint3<float>* pTp3) const;
764
778 virtual bool Contains(const Base::TPoint3<double>* pTp3) const;
779
793 virtual bool Contains(const Foundation::CFLPoint3<float>& flp3) const;
794
808 virtual bool Contains(const Foundation::CFLPoint3<double>& flp3) const;
809
823 virtual bool Contains(const Foundation::CFLPoint3<float>* pFlp3) const;
824
838 virtual bool Contains(const Foundation::CFLPoint3<double>* pFlp3) const;
839
861 virtual const CResult Contains(const Base::CFLArray<Base::TPoint3<float>>& flaVertices, Base::CFLArray<int32_t>& flaResult, bool bClearResult = true) const;
862
884 virtual const CResult Contains(const Base::CFLArray<Base::TPoint3<double>>& flaVertices, Base::CFLArray<int32_t>& flaResult, bool bClearResult = true) const;
885
907 virtual const CResult Contains(const Base::CFLArray<Base::TPoint3<float>>* pFlaVertices, Base::CFLArray<int32_t>& flaResult, bool bClearResult = true) const;
908
930 virtual const CResult Contains(const Base::CFLArray<Base::TPoint3<double>>* pFlaVertices, Base::CFLArray<int32_t>& flaResult, bool bClearResult = true) const;
931
955 virtual const CResult Contains(const Base::CFLArray<Base::TPoint3<float>>& flaVertices, const Base::CFLArray<int32_t>& flaTargetIndex, Base::CFLArray<int32_t>& flaResult, bool bClearResult = true) const;
956
980 virtual const CResult Contains(const Base::CFLArray<Base::TPoint3<double>>& flaVertices, const Base::CFLArray<int32_t>& flaTargetIndex, Base::CFLArray<int32_t>& flaResult, bool bClearResult = true) const;
981
1005 virtual const CResult Contains(const Base::CFLArray<Base::TPoint3<float>>* pFlaVertices, const Base::CFLArray<int32_t>& flaTargetIndex, Base::CFLArray<int32_t>& flaResult, bool bClearResult = true) const;
1006
1030 virtual const CResult Contains(const Base::CFLArray<Base::TPoint3<double>>* pFlaVertices, const Base::CFLArray<int32_t>& flaTargetIndex, Base::CFLArray<int32_t>& flaResult, bool bClearResult = true) const;
1031
1043 virtual bool IsCollision(const Base::TPoint3<float>& tp3Begin, const Base::TPoint3<float>& tp3End) const;
1044
1056 virtual bool IsCollision(const Base::TPoint3<double>& tp3Begin, const Base::TPoint3<double>& tp3End) const;
1057
1069 virtual bool IsCollision(const Base::TPoint3<float>* pTp3Begin, const Base::TPoint3<float>* pTp3End) const;
1070
1082 virtual bool IsCollision(const Base::TPoint3<double>* pTp3Begin, const Base::TPoint3<double>* pTp3End) const;
1083
1095 virtual bool IsCollision(const Foundation::CFLPoint3<float>& flp3Begin, const Foundation::CFLPoint3<float>& flp3End) const;
1096
1108 virtual bool IsCollision(const Foundation::CFLPoint3<double>& flp3Begin, const Foundation::CFLPoint3<double>& flp3End) const;
1109
1121 virtual bool IsCollision(const Foundation::CFLPoint3<float>* pFlp3Begin, const Foundation::CFLPoint3<float>* pFlp3End) const;
1122
1134 virtual bool IsCollision(const Foundation::CFLPoint3<double>* pFlp3Begin, const Foundation::CFLPoint3<double>* pFlp3End) const;
1135
1136 using CFLFigure::Offset;
1137 virtual const CResult Offset(double x, double y) override;
1138 virtual const CResult Offset(int32_t val) override;
1139 virtual const CResult Offset(int64_t val) override;
1140 virtual const CResult Offset(float val) override;
1141 virtual const CResult Offset(double val) override;
1142
1158 virtual const CResult Offset(double x, double y, double z);
1159
1175 virtual const CResult Offset(float x, float y, float z);
1176
1192 virtual const CResult Offset(int32_t x, int32_t y, int32_t z);
1193
1209 virtual const CResult Offset(int64_t x, int64_t y, int64_t z);
1210
1222 virtual const CResult Offset(const CFLPoint3<double>& flp3);
1223
1235 virtual const CResult Offset(const CFLPoint3<float>& flp3);
1236
1248 virtual const CResult Offset(const CFLPoint3<double>* pFlp3);
1249
1261 virtual const CResult Offset(const CFLPoint3<float>* pFlp3);
1262
1276 virtual const CResult Offset(const Base::TPoint3<float>& tpPoint);
1277
1291 virtual const CResult Offset(const Base::TPoint3<double>& tpPoint);
1292
1306 virtual const CResult Offset(const Base::TPoint3<float>* pTpPoint);
1307
1321 virtual const CResult Offset(const Base::TPoint3<double>* pTpPoint);
1322
1323 using CFLFigure::Multiply;
1324 virtual const CResult Multiply(double x, double y) override;
1325 virtual const CResult Multiply(int32_t val) override;
1326 virtual const CResult Multiply(int64_t val) override;
1327 virtual const CResult Multiply(float val) override;
1328 virtual const CResult Multiply(double val) override;
1329
1343 virtual const CResult Multiply(const CFLPoint3<float>& flpPoint);
1344
1358 virtual const CResult Multiply(const CFLPoint3<double>& flpPoint);
1359
1373 virtual const CResult Multiply(const CFLPoint3<float>* pFlpPoint);
1374
1388 virtual const CResult Multiply(const CFLPoint3<double>* pFlpPoint);
1389
1403 virtual const CResult Multiply(const Base::TPoint3<float>& tpPoint);
1404
1418 virtual const CResult Multiply(const Base::TPoint3<double>& tpPoint);
1419
1433 virtual const CResult Multiply(const Base::TPoint3<float>* pTpPoint);
1434
1448 virtual const CResult Multiply(const Base::TPoint3<double>* pTpPoint);
1449
1465 virtual const CResult Multiply(double x, double y, double z);
1466
1467
1468 virtual const CResult Set(const CFLFigure& flf) override;
1469 virtual const CResult Set(const CFLFigure* pFlf) override;
1470
1471 virtual void Clear() override;
1472
1473 virtual EFigureDeclType GetDeclType() const override;
1474 virtual EFigureTemplateType GetTemplateType() const override;
1475
1477 virtual bool IsSpecEqual(const CFLFigure* pFlfRhs, EFigureSpecCompareType eSpecType = EFigureSpecCompareType_Coordinates) const override;
1478
1479
1492
1505
1520
1535
1547 const CFLFrustum3<T>& operator+=(const double& value);
1548
1563
1578
1593
1608
1620 const CFLFrustum3<T>& operator-=(const double& value);
1621
1636
1651
1666
1681
1693 const CFLFrustum3<T>& operator*=(const double& value);
1694
1709
1724
1739
1754
1766 const CFLFrustum3<T>& operator/=(const double& value);
1767
1782
1797
1812
1827
1839 CFLFrustum3<T> operator+(const double& value) const;
1840
1855
1870
1885
1900
1912 CFLFrustum3<T> operator-(const double& value) const;
1913
1928
1943
1958
1973
1985 CFLFrustum3<T> operator*(const double& value) const;
1986
2001
2016
2031
2046
2058 CFLFrustum3<T> operator/(const double& value) const;
2059
2074
2089
2104
2119
2130
2144 friend CFLFrustum3<T> operator+(const double& value, const CFLFrustum3<T>& flfr)
2145 {
2146 CFLFrustum3<T> t(flfr);
2147 t += value;
2148 return t;
2149 }
2150
2164 friend CFLFrustum3<T> operator-(const double& value, const CFLFrustum3<T>& flfr)
2165 {
2166 CFLFrustum3<T> t(flfr);
2167 t *= -1.;
2168 t += value;
2169 return t;
2170 }
2171
2185 friend CFLFrustum3<T> operator*(const double& value, const CFLFrustum3<T>& flfr)
2186 {
2187 CFLFrustum3<T> t(flfr);
2188 t *= value;
2189 return t;
2190 }
2191
2205 friend CFLFrustum3<T> operator/(const double& value, const CFLFrustum3<T>& flfr)
2206 {
2208 t.flqQuads[0] = value / flfr.flqQuads[0];
2209 t.flqQuads[1] = value / flfr.flqQuads[1];
2210 return t;
2211 }
2212
2213
2214 SupportToDuplicateObject(CFLFrustum3<T>, *this);
2215 DeclareGetClassType();
2216 };
2217
2218 typedef CFLFrustum3<float> CFLFrustum3F;
2219 typedef CFLFrustum3<double> CFLFrustum3D;
2220 }
2221}
Template type 의 배열 클래스.
Definition FLArray.h:53
3차원 점을 표현하는 간략화된 클래스
Definition TPoint3.h:37
사각형 두 개의 각 대응 꼭지점을 연결한 비정형 육면체를 표현하는 간략화된 클래스
Definition TQuadrilateralSolid3.h:38
FLImaging 모듈의 수행 결과 객체
Definition ResultsDef.h:1676
virtual bool IsSpecEqual(const CFLFigure &flfRhs, EFigureSpecCompareType eSpecType=EFigureSpecCompareType_Coordinates) const
virtual const CResult Multiply(int32_t i32Mul)
virtual const CResult Offset(int32_t val)
절두체를 표현하는 클래스
Definition FLFrustum3.h:26
virtual void Clear() override
객체의 변수를 초기화 합니다.
virtual bool IsCollision(const Foundation::CFLPoint3< double > &flp3Begin, const Foundation::CFLPoint3< double > &flp3End) const
virtual const CResult Offset(int32_t x, int32_t y, int32_t z)
virtual const CResult Set(const CFLQuad3< float > *pFlqQuad0, const CFLQuad3< float > *pFlqQuad1)
파라미터 설정 함수
virtual bool Contains(const Foundation::CFLPoint3< float > *pFlp3) const
정점이 이 객체의 내부에 있는지 여부를 반환합니다.
virtual bool IsCollision(const Base::TPoint3< double > &tp3Begin, const Base::TPoint3< double > &tp3End) const
CFLFrustum3< T > operator+(const Base::TPoint3< float > &tpPoint) const
이동 연산자[offset]
CFLFrustum3< T > operator-() const
해당 객체의 x, y, z 값의 부호를 반전시킨 객체를 반환하는 연산자
virtual const CResult SetVertex(EVertex eVertexPos, const Foundation::CFLPoint3< double > *pFlp3) sealed
const CFLFrustum3< T > & operator=(const Base::TQuadrilateralSolid3< float > &rhs)
대입 연산자
virtual const CFLGeometry3DVector< T > GetEquationOfPlane(EPlane ePlane) const sealed
virtual const CResult Set(const Base::TQuadrilateralSolid3< float > *pTQuadrilateralSolid3)
파라미터 설정 함수
CFLFrustum3< T > operator-(const Base::TPoint3< float > &tpPoint) const
이동 연산자[offset]
virtual const CResult Offset(int64_t x, int64_t y, int64_t z)
virtual const CResult Set(const CFLFrustum3< float > *pFlfr)
파라미터 설정 함수
CFLFrustum3(const CFLFrustum3< double > &rhs)
복사 생성자
const CFLFrustum3< T > & operator-=(const Base::TPoint3< double > &tpPoint)
이동 연산자[offset]
CFLFrustum3(const Base::TQuadrilateralSolid3< float > *pTQuadrilateralSolid3)
초기화 생성자
CFLFrustum3(const CFLFrustum3< float > *pRhs)
복사 생성자
virtual const CResult Set(const CFLFrustum3< double > *pFlfr)
파라미터 설정 함수
CFLFrustum3< T > operator/(const double &value) const
각 정점의 x, y, z 값을 매개변수로 나누는 연산자
virtual const CResult Offset(float x, float y, float z)
virtual const CResult Set(const CFLQuad3< double > &flqQuad0, const CFLQuad3< double > &flqQuad1)
파라미터 설정 함수
friend CFLFrustum3< T > operator+(const double &value, const CFLFrustum3< T > &flfr)
이동 연산자[offset]
Definition FLFrustum3.h:2144
virtual const CResult Offset(float val) override
virtual const CResult Multiply(const Base::TPoint3< double > &tpPoint)
virtual const CResult Offset(int64_t val) override
const CFLFrustum3< T > & operator*=(const double &value)
각 정점의 x,y,z 값에 매개변수를 곱하는 연산자
virtual const CResult Contains(const Base::CFLArray< Base::TPoint3< double > > &flaVertices, const Base::CFLArray< int32_t > &flaTargetIndex, Base::CFLArray< int32_t > &flaResult, bool bClearResult=true) const
이 절두체의 내부에 위치하는 정점의 인덱스 배열을 반환합니다.
CFLFrustum3< T > operator+(const CFLPoint3< float > &flpPoint) const
이동 연산자[offset]
friend CFLFrustum3< T > operator-(const double &value, const CFLFrustum3< T > &flfr)
이동 연산자[offset]
Definition FLFrustum3.h:2164
virtual const CResult Offset(double x, double y, double z)
CFLFrustum3(const Base::TQuadrilateralSolid3< double > *pTQuadrilateralSolid3)
초기화 생성자
virtual bool IsSpecEqual(const CFLFigure *pFlfRhs, EFigureSpecCompareType eSpecType=EFigureSpecCompareType_Coordinates) const override
virtual const CResult Offset(const CFLPoint3< double > *pFlp3)
virtual bool IsCollision(const Foundation::CFLPoint3< double > *pFlp3Begin, const Foundation::CFLPoint3< double > *pFlp3End) const
virtual const CResult Offset(const Base::TPoint3< double > &tpPoint)
virtual const CResult Set(const Base::TQuadrilateralSolid3< float > &tQuadrilateralSolid3)
파라미터 설정 함수
virtual const CResult Set(const Base::TQuadrilateralSolid3< double > &tQuadrilateralSolid3)
파라미터 설정 함수
virtual const CResult Contains(const Base::CFLArray< Base::TPoint3< double > > *pFlaVertices, Base::CFLArray< int32_t > &flaResult, bool bClearResult=true) const
이 절두체의 내부에 위치하는 정점의 인덱스 배열을 반환합니다.
const CFLFrustum3< T > & operator+=(const CFLPoint3< double > &flpPoint)
이동 연산자[offset]
const CFLFrustum3< T > & operator*=(const Base::TPoint3< double > &tpPoint)
각 정점의 x,y,z 값에 매개변수를 곱하는 연산자
CFLFrustum3(const Base::TQuadrilateralSolid3< double > &tQuadrilateralSolid3)
초기화 생성자
virtual const CResult Multiply(const CFLPoint3< double > &flpPoint)
virtual const CResult Offset(const CFLPoint3< float > *pFlp3)
virtual const CResult Multiply(double val) override
virtual bool IsCollision(const Base::TPoint3< float > *pTp3Begin, const Base::TPoint3< float > *pTp3End) const
virtual const CResult SetVertex(EVertex eVertexPos, const Base::TPoint3< double > &tp3) sealed
virtual const CResult Set(const CFLQuad3< double > *pFlqQuad0, const CFLQuad3< double > *pFlqQuad1)
파라미터 설정 함수
CFLFrustum3(const CFLFigure *pFlf)
초기화 생성자
virtual bool IsCollision(const Base::TPoint3< double > *pTp3Begin, const Base::TPoint3< double > *pTp3End) const
virtual const CResult Multiply(const Base::TPoint3< float > &tpPoint)
virtual const CResult Set(const CFLQuad3< float > &flqQuad0, const CFLQuad3< float > &flqQuad1)
파라미터 설정 함수
EPlane
Definition FLFrustum3.h:102
@ EPlane_Top
Definition FLFrustum3.h:107
@ EPlane_Bottom
Definition FLFrustum3.h:113
@ EPlane_Far
Definition FLFrustum3.h:137
@ EPlane_Right
Definition FLFrustum3.h:125
@ EPlane_Left
Definition FLFrustum3.h:119
@ EPlane_Near
Definition FLFrustum3.h:131
CFLFrustum3(const CFLFrustum3< float > &rhs)
복사 생성자
virtual EFigureTemplateType GetTemplateType() const override
virtual const CResult Contains(const Base::CFLArray< Base::TPoint3< double > > *pFlaVertices, const Base::CFLArray< int32_t > &flaTargetIndex, Base::CFLArray< int32_t > &flaResult, bool bClearResult=true) const
이 절두체의 내부에 위치하는 정점의 인덱스 배열을 반환합니다.
CFLFrustum3< T > operator+(const CFLPoint3< double > &flpPoint) const
이동 연산자[offset]
CFLFrustum3(const CFLQuad3< double > *pFlqQuad0, const CFLQuad3< double > *pFlqQuad1)
초기화 생성자
virtual const CResult Multiply(int64_t val) override
virtual const CResult Offset(double val) override
const CFLFrustum3< T > & operator=(const CFLFrustum3< float > &rhs)
대입 연산자
CFLFrustum3< T > operator*(const Base::TPoint3< double > &tpPoint) const
각 정점의 x, y, z 값에 매개변수를 곱하는 연산자
friend CFLFrustum3< T > operator/(const double &value, const CFLFrustum3< T > &flfr)
각 정점의 x, y, z 값을 매개변수로 나누는 연산자
Definition FLFrustum3.h:2205
virtual const CResult SetVertex(EVertex eVertexPos, const Base::TPoint3< float > *pTp3) sealed
virtual const CResult Multiply(float val) override
virtual const CResult Contains(const Base::CFLArray< Base::TPoint3< float > > &flaVertices, Base::CFLArray< int32_t > &flaResult, bool bClearResult=true) const
이 절두체의 내부에 위치하는 정점의 인덱스 배열을 반환합니다.
const CFLFrustum3< T > & operator-=(const Base::TPoint3< float > &tpPoint)
이동 연산자[offset]
virtual bool Contains(const Foundation::CFLPoint3< float > &flp3) const
정점이 이 객체의 내부에 있는지 여부를 반환합니다.
virtual const CResult SetVertex(EVertex eVertexPos, const Foundation::CFLPoint3< float > &flp3) sealed
virtual const CResult Multiply(const CFLPoint3< double > *pFlpPoint)
const CFLFrustum3< T > & operator*=(const CFLPoint3< double > &flpPoint)
각 정점의 x,y,z 값에 매개변수를 곱하는 연산자
virtual const CResult SetVertex(EVertex eVertexPos, const Base::TPoint3< float > &tp3) sealed
CFLFrustum3< T > operator/(const Base::TPoint3< float > &tpPoint) const
각 정점의 x, y, z 값을 매개변수로 나누는 연산자
virtual const CResult Offset(int32_t val) override
CFLFrustum3< T > operator/(const CFLPoint3< float > &flpPoint) const
각 정점의 x, y, z 값을 매개변수로 나누는 연산자
CFLFrustum3< T > operator*(const CFLPoint3< float > &flpPoint) const
각 정점의 x, y, z 값에 매개변수를 곱하는 연산자
virtual const CResult Multiply(double x, double y, double z)
const CFLFrustum3< T > & operator-=(const CFLPoint3< float > &flpPoint)
이동 연산자[offset]
const CFLFrustum3< T > & operator/=(const CFLPoint3< float > &flpPoint)
각 정점의 x,y,z 값에 매개변수를 나누는 연산자
virtual const CResult Offset(const Base::TPoint3< float > *pTpPoint)
virtual const CResult Multiply(const Base::TPoint3< double > *pTpPoint)
virtual const CResult Offset(const Base::TPoint3< float > &tpPoint)
virtual const CResult Multiply(const CFLPoint3< float > &flpPoint)
CFLQuad3< float > flqQuads[2]
Definition FLFrustum3.h:32
virtual const CResult Set(const Base::TQuadrilateralSolid3< double > *pTQuadrilateralSolid3)
파라미터 설정 함수
virtual const CResult SetVertex(EVertex eVertexPos, const Foundation::CFLPoint3< double > &flp3) sealed
CFLFrustum3< T > operator-(const Base::TPoint3< double > &tpPoint) const
이동 연산자[offset]
CFLFrustum3< T > operator+(const Base::TPoint3< double > &tpPoint) const
이동 연산자[offset]
virtual const CResult Set(const CFLFrustum3< float > &flfr)
파라미터 설정 함수
virtual const CResult Offset(const CFLPoint3< float > &flp3)
virtual const CResult Contains(const Base::CFLArray< Base::TPoint3< double > > &flaVertices, Base::CFLArray< int32_t > &flaResult, bool bClearResult=true) const
이 절두체의 내부에 위치하는 정점의 인덱스 배열을 반환합니다.
const CFLFrustum3< T > & operator-=(const double &value)
이동 연산자[offset]
CFLFrustum3< T > operator-(const CFLPoint3< double > &flpPoint) const
이동 연산자[offset]
virtual bool Contains(const Base::TPoint3< float > &tp3) const
정점이 이 객체의 내부에 있는지 여부를 반환합니다.
virtual const CResult Multiply(const Base::TPoint3< float > *pTpPoint)
friend CFLFrustum3< T > operator*(const double &value, const CFLFrustum3< T > &flfr)
각 정점의 x, y, z 값에 매개변수를 곱하는 연산자
Definition FLFrustum3.h:2185
CFLFrustum3< T > operator-(const double &value) const
이동 연산자[offset]
virtual bool Contains(const Foundation::CFLPoint3< double > &flp3) const
정점이 이 객체의 내부에 있는지 여부를 반환합니다.
CFLFrustum3< T > operator*(const Base::TPoint3< float > &tpPoint) const
각 정점의 x, y, z 값에 매개변수를 곱하는 연산자
virtual const Foundation::CFLPoint3< T > * GetVertex(EVertex eVertexPos) const sealed
const CFLFrustum3< T > & operator+=(const CFLPoint3< float > &flpPoint)
이동 연산자[offset]
virtual const CResult Set(const CFLFigure &flf) override
virtual const CResult Offset(double x, double y) override
const CFLFrustum3< T > & operator/=(const CFLPoint3< double > &flpPoint)
각 정점의 x,y,z 값에 매개변수를 나누는 연산자
const CFLFrustum3< T > & operator-=(const CFLPoint3< double > &flpPoint)
이동 연산자[offset]
const CFLFrustum3< T > & operator+=(const double &value)
이동 연산자[offset]
const CFLFrustum3< T > & operator+=(const Base::TPoint3< float > &tpPoint)
이동 연산자[offset]
CFLFrustum3< T > operator*(const double &value) const
각 정점의 x, y, z 값에 매개변수를 곱하는 연산자
CFLFrustum3(const CFLQuad3< float > *pFlqQuad0, const CFLQuad3< float > *pFlqQuad1)
초기화 생성자
CFLFrustum3(const CFLQuad3< double > &flqQuad0, const CFLQuad3< double > &flqQuad1)
초기화 생성자
const CFLFrustum3< T > & operator=(const Base::TQuadrilateralSolid3< double > &rhs)
대입 연산자
virtual const CResult Multiply(int32_t val) override
virtual bool IsCollision(const Base::TPoint3< float > &tp3Begin, const Base::TPoint3< float > &tp3End) const
CFLFrustum3< T > operator+(const double &value) const
이동 연산자[offset]
EVertex
Definition FLFrustum3.h:40
@ EVertex_Count
Definition FLFrustum3.h:93
@ EVertex_RightTopFar
Definition FLFrustum3.h:75
@ EVertex_LeftTopNear
Definition FLFrustum3.h:45
@ EVertex_LeftBottomFar
Definition FLFrustum3.h:87
@ EVertex_LeftTopFar
Definition FLFrustum3.h:69
@ EVertex_RightBottomFar
Definition FLFrustum3.h:81
@ EVertex_RightBottomNear
Definition FLFrustum3.h:57
@ EVertex_LeftBottomNear
Definition FLFrustum3.h:63
@ EVertex_RightTopNear
Definition FLFrustum3.h:51
virtual const CResult Set(const CFLFrustum3< double > &flfr)
파라미터 설정 함수
CFLFrustum3< T > operator*(const CFLPoint3< double > &flpPoint) const
각 정점의 x, y, z 값에 매개변수를 곱하는 연산자
virtual const CResult Offset(const CFLPoint3< double > &flp3)
CFLFrustum3< T > operator-(const CFLPoint3< float > &flpPoint) const
이동 연산자[offset]
virtual EFigureDeclType GetDeclType() const override
virtual const CResult Set(const CFLFigure *pFlf) override
virtual bool IsCollision(const Foundation::CFLPoint3< float > *pFlp3Begin, const Foundation::CFLPoint3< float > *pFlp3End) const
CFLFrustum3(const CFLFigure &flf)
초기화 생성자
virtual const CResult Multiply(double x, double y) override
CFLFrustum3(const CFLFrustum3< double > *pRhs)
복사 생성자
virtual const CResult Offset(const Base::TPoint3< double > *pTpPoint)
virtual bool Contains(const Foundation::CFLPoint3< double > *pFlp3) const
정점이 이 객체의 내부에 있는지 여부를 반환합니다.
const CFLFrustum3< T > & operator/=(const double &value)
각 정점의 x,y,z 값에 매개변수를 나누는 연산자
virtual bool IsCollision(const Foundation::CFLPoint3< float > &flp3Begin, const Foundation::CFLPoint3< float > &flp3End) const
const CFLFrustum3< T > & operator*=(const CFLPoint3< float > &flpPoint)
각 정점의 x,y,z 값에 매개변수를 곱하는 연산자
CFLFrustum3< T > operator/(const Base::TPoint3< double > &tpPoint) const
각 정점의 x, y, z 값을 매개변수로 나누는 연산자
CFLFrustum3< T > operator/(const CFLPoint3< double > &flpPoint) const
각 정점의 x, y, z 값을 매개변수로 나누는 연산자
const CFLFrustum3< T > & operator/=(const Base::TPoint3< float > &tpPoint)
각 정점의 x,y,z 값에 매개변수를 나누는 연산자
virtual const CResult Contains(const Base::CFLArray< Base::TPoint3< float > > &flaVertices, const Base::CFLArray< int32_t > &flaTargetIndex, Base::CFLArray< int32_t > &flaResult, bool bClearResult=true) const
이 절두체의 내부에 위치하는 정점의 인덱스 배열을 반환합니다.
const CFLFrustum3< T > & operator/=(const Base::TPoint3< double > &tpPoint)
각 정점의 x,y,z 값에 매개변수를 나누는 연산자
virtual const CResult Contains(const Base::CFLArray< Base::TPoint3< float > > *pFlaVertices, const Base::CFLArray< int32_t > &flaTargetIndex, Base::CFLArray< int32_t > &flaResult, bool bClearResult=true) const
이 절두체의 내부에 위치하는 정점의 인덱스 배열을 반환합니다.
virtual const CResult SetVertex(EVertex eVertexPos, const Base::TPoint3< double > *pTp3) sealed
virtual bool Contains(const Base::TPoint3< double > &tp3) const
정점이 이 객체의 내부에 있는지 여부를 반환합니다.
CFLFrustum3(const Base::TQuadrilateralSolid3< float > &tQuadrilateralSolid3)
초기화 생성자
virtual const CResult Multiply(const CFLPoint3< float > *pFlpPoint)
virtual const CResult SetVertex(EVertex eVertexPos, const Foundation::CFLPoint3< float > *pFlp3) sealed
const CFLFrustum3< T > & operator*=(const Base::TPoint3< float > &tpPoint)
각 정점의 x,y,z 값에 매개변수를 곱하는 연산자
virtual const CResult Contains(const Base::CFLArray< Base::TPoint3< float > > *pFlaVertices, Base::CFLArray< int32_t > &flaResult, bool bClearResult=true) const
이 절두체의 내부에 위치하는 정점의 인덱스 배열을 반환합니다.
virtual bool Contains(const Base::TPoint3< float > *pTp3) const
정점이 이 객체의 내부에 있는지 여부를 반환합니다.
CFLFrustum3(const CFLQuad3< float > &flqQuad0, const CFLQuad3< float > &flqQuad1)
초기화 생성자
virtual bool Contains(const Base::TPoint3< double > *pTp3) const
정점이 이 객체의 내부에 있는지 여부를 반환합니다.
const CFLFrustum3< T > & operator=(const CFLFrustum3< double > &rhs)
대입 연산자
const CFLFrustum3< T > & operator+=(const Base::TPoint3< double > &tpPoint)
이동 연산자[offset]
3D 공간 상의 벡터를 표현하며, 방향과 크기를 내포하는 클래스
Definition FLGeometry3DVector.h:33
3차원 점을 표현하는 클래스
Definition FLPoint3.h:39
3차원 사변형을 표현하는 클래스
Definition FLQuad3.h:24
Definition AlgorithmBase.h:16
EFigureDeclType
도형의 타입
Definition DefinitionsFigure.h:33
EFigureTemplateType
도형의 변수 자료형
Definition DefinitionsFigure.h:390
EFigureSpecCompareType
Definition DefinitionsFigure.h:3546
@ EFigureSpecCompareType_Coordinates
Definition DefinitionsFigure.h:3551