FLImaging 6.6.27.1
FLPoint3.h
1#pragma once
2
3#include "FLPoint.h"
4
6namespace FLImaging
7{
9 namespace Foundation
10 {
11 template<typename Ty>
12 class FL_EXPORT CFLGeometry3DVector;
13
14 template<typename Ty>
15 class FL_EXPORT CFLGeometry3DDirection;
16
17 template<typename Ty>
18 class FL_EXPORT CMatrixFor3D;
19
20 template<typename Ty>
21 class FL_EXPORT CMatrixFor3DTransform;
22
23 template<typename Ty>
24 class FL_EXPORT CFLGeometry3DAxis;
25
26 template<typename Ty>
27 class FL_EXPORT CFLGeometry3DCoordinateSystemRH;
28
34 template<typename Ty>
35 class FL_EXPORT CFLPoint3 : public CFLPoint<Ty>
36 {
37 public:
42 Ty z;
43
49
54 virtual ~CFLPoint3();
55
67 virtual void Get(Ty& tX, Ty& tY, Ty& tZ) const;
68
76 virtual double GetMagnitude() const;
77
85 virtual double GetSquareMagnitude() const;
86
102 virtual const CResult Offset(double x, double y, double z);
103
119 virtual const CResult Offset(float x, float y, float z);
120
136 virtual const CResult Offset(int32_t x, int32_t y, int32_t z);
137
153 virtual const CResult Offset(int64_t x, int64_t y, int64_t z);
154
166 virtual const CResult Offset(const CFLPoint3<double>& flp3);
167
179 virtual const CResult Offset(const CFLPoint3<float>& flp3);
180
192 virtual const CResult Offset(const CFLPoint3<double>* pFlp3);
193
205 virtual const CResult Offset(const CFLPoint3<float>* pFlp3);
206
218 virtual const CResult Add(const CFLPoint3<Ty>& rhs);
219
235 virtual const CResult Add(Ty tX, Ty tY, Ty tZ);
236
248 virtual const CResult Subtract(const CFLPoint3<Ty>& rhs);
249
265 virtual const CResult Subtract(Ty tX, Ty tY, Ty tZ);
266
282 virtual const CResult Multiply(double f64MulX, double f64MulY, double f64MulZ);
283
299 virtual const CResult Multiply(float f32MulX, float f32MulY, float f32MulZ);
300
316 virtual const CResult Multiply(int32_t i32MulX, int32_t i32MulY, int32_t i32MulZ);
317
333 virtual const CResult Multiply(int64_t i64MulX, int64_t i64MulY, int64_t i64MulZ);
334
346 virtual const CResult Multiply(const CFLPoint3<double>& flp3);
347
359 virtual const CResult Multiply(const CFLPoint3<float>& flp3);
360
372 virtual const CResult Multiply(const CFLPoint3<double>* pFlp3);
373
385 virtual const CResult Multiply(const CFLPoint3<float>* pFlp3);
386
398 virtual const CResult Multiply(double f64Scalar);
399
411 virtual const CResult Multiply(float f32Scalar);
412
424 virtual const CResult Multiply(int32_t i32Scalar);
425
437 virtual const CResult Multiply(int64_t i64Scalar);
438
452 virtual const CResult MatMul(const CMatrixFor3D<float>& mat3D);
453
467 virtual const CResult MatMul(const CMatrixFor3D<double>& mat3D);
468
482 virtual const CResult MatMul(const CMatrixFor3D<float>* pMat3D);
483
497 virtual const CResult MatMul(const CMatrixFor3D<double>* pMat3D);
498
499 operator CFLPoint<float>()
500 {
501 return CFLPoint<float>(this);
502 }
503
504 operator CFLPoint<double>()
505 {
506 return CFLPoint<double>(this);
507 }
508
523
538
553
568
583
598
613
628
640 virtual const CResult Divide(double f64Scalar);
641
653 virtual const CResult Divide(float f32Scalar);
654
666 virtual const CResult Divide(int32_t i32Scalar);
667
679 virtual const CResult Divide(int64_t i64Scalar);
680
696 virtual const CResult Cross(float f32X, float f32Y, float f32Z);
697
713 virtual const CResult Cross(double f64X, double f64Y, double f64Z);
714
730 virtual const CResult Cross(int32_t i32X, int32_t i32Y, int32_t i32Z);
731
747 virtual const CResult Cross(int64_t i64X, int64_t i64Y, int64_t i64Z);
748
760 virtual const CResult Cross(const CFLPoint3<float>& rhs);
761
773 virtual const CResult Cross(const CFLPoint3<double>& rhs);
774
786 virtual const CResult Cross(const CFLPoint3<float>* pRhs);
787
799 virtual const CResult Cross(const CFLPoint3<double>* pRhs);
800
814 virtual double Dot(float f32X, float f32Y, float f32Z) const;
815
829 virtual double Dot(double f64X, double f64Y, double f64Z) const;
830
844 virtual double Dot(int32_t i32X, int32_t i32Y, int32_t i32Z) const;
845
859 virtual double Dot(int64_t i64X, int64_t i64Y, int64_t i64Z) const;
860
870 virtual double Dot(const CFLPoint3<float>& rhs) const;
871
881 virtual double Dot(const CFLPoint3<double>& rhs) const;
882
892 virtual double Dot(const CFLPoint3<float>* pRhs) const;
893
903 virtual double Dot(const CFLPoint3<double>* pRhs) const;
904
926 virtual const CResult Scale(double f64PivotX, double f64PivotY, double f64PivotZ, double f64RatioX, double f64RatioY, double f64RatioZ);
927
949 virtual const CResult Scale(float f32PivotX, float f32PivotY, float f32PivotZ, float f32RatioX, float f32RatioY, float f32RatioZ);
950
968 virtual const CResult Scale(const CFLPoint3<double>& flp3Pivot, double f64RatioX, double f64RatioY, double f64RatioZ);
969
987 virtual const CResult Scale(const CFLPoint3<float>& flp3Pivot, float f32RatioX, float f32RatioY, float f32RatioZ);
988
1006 virtual const CResult Scale(const CFLPoint3<double>* pFlp3Pivot, double f64RatioX, double f64RatioY, double f64RatioZ);
1007
1025 virtual const CResult Scale(const CFLPoint3<float>* pFlp3Pivot, float f32RatioX, float f32RatioY, float f32RatioZ);
1026
1040 virtual const CResult Scale(const CFLPoint3<double>& flp3Pivot, double f64Ratio);
1041
1055 virtual const CResult Scale(const CFLPoint3<float>& flp3Pivot, float f32Ratio);
1056
1070 virtual const CResult Scale(const CFLPoint3<double>* pFlp3Pivot, double f64Ratio);
1071
1085 virtual const CResult Scale(const CFLPoint3<float>* pFlp3Pivot, float f32Ratio);
1086
1102 virtual const CResult Mirror(double pivotX, double pivotY, double pivotZ);
1103
1119 virtual const CResult Mirror(float pivotX, float pivotY, float pivotZ);
1120
1136 virtual const CResult Mirror(int32_t pivotX, int32_t pivotY, int32_t pivotZ);
1137
1153 virtual const CResult Mirror(int64_t pivotX, int64_t pivotY, int64_t pivotZ);
1154
1166 virtual const CResult Mirror(const CFLPoint3<double>& flp3Pivot);
1167
1179 virtual const CResult Mirror(const CFLPoint3<float>& flp3Pivot);
1180
1192 virtual const CResult Mirror(const CFLPoint3<double>* pFlp3Pivot);
1193
1205 virtual const CResult Mirror(const CFLPoint3<float>* pFlp3Pivot);
1206
1220 virtual const CResult Mirror(const CFLGeometry3DAxis<double>& axis3Pivot);
1221
1235 virtual const CResult Mirror(const CFLGeometry3DAxis<float>& axis3Pivot);
1236
1250 virtual const CResult Mirror(const CFLGeometry3DAxis<double>* pAxis3Pivot);
1251
1265 virtual const CResult Mirror(const CFLGeometry3DAxis<float>* pAxis3Pivot);
1266
1280 virtual const CResult Mirror(const CFLGeometry3DCoordinateSystemRH<double>& coordSysRHPlane);
1281
1295 virtual const CResult Mirror(const CFLGeometry3DCoordinateSystemRH<float>& coordSysRHPlane);
1296
1310 virtual const CResult Mirror(const CFLGeometry3DCoordinateSystemRH<double>* pCoordSysRHPlane);
1311
1325 virtual const CResult Mirror(const CFLGeometry3DCoordinateSystemRH<float>* pCoordSysRHPlane);
1326
1342 virtual const CResult Rotate(const CFLGeometry3DAxis<double>& axis, double f64Angle);
1343
1359 virtual const CResult Rotate(const CFLGeometry3DAxis<float>& axis, double f64Angle);
1360
1376 virtual const CResult Rotate(const CFLGeometry3DAxis<double>* pAxis, double f64Angle);
1377
1393 virtual const CResult Rotate(const CFLGeometry3DAxis<float>* pAxis, double f64Angle);
1394
1408 virtual const CResult Transform(const CMatrixFor3DTransform<double>& transform);
1409
1423 virtual const CResult Transform(const CMatrixFor3DTransform<float>& transform);
1424
1438 virtual const CResult Transform(const CMatrixFor3DTransform<double>* pTransform);
1439
1453 virtual const CResult Transform(const CMatrixFor3DTransform<float>* pTransform);
1454
1466 virtual double GetDistance(const CFLPoint3<double>& flp3) const;
1467
1479 virtual double GetDistance(const CFLPoint3<float>& flp3) const;
1480
1492 virtual double GetDistance(const CFLPoint3<double>* pFlp3) const;
1493
1505 virtual double GetDistance(const CFLPoint3<float>* pFlp3) const;
1506
1518 virtual const CResult Normalize();
1519
1530
1543
1555 virtual CFLPoint3<double> GetUnitVector(const CFLPoint3<double>* pFlp3Target) const;
1556
1574 virtual const CResult SetLinearInterpolation(const CFLPoint3<Ty>& flp3Start, const CFLPoint3<Ty>& flp3End, double f64T);
1575
1576 virtual void Clear() override;
1577
1578 virtual EFigureDeclType GetDeclType() const override;
1579
1580 virtual bool IsValid() const override;
1581 virtual bool IsFigureValid() const override;
1582
1583 virtual const CResult MakeFigureInvalid() override;
1584
1586 virtual bool IsSpecEqual(const CFLFigure* pFlfRhs, EFigureSpecCompareType eSpecType = EFigureSpecCompareType_Coordinates) const override;
1587
1598
1609
1621 bool operator==(const CFLPoint3<double>& flp3) const;
1622
1634 bool operator!=(const CFLPoint3<double>& flp3) const;
1635
1647 const CFLPoint3<Ty>& operator+=(const double& value);
1648
1661
1673 const CFLPoint3<Ty>& operator-=(const double& value);
1674
1687
1699 const CFLPoint3<Ty>& operator*=(const double& value);
1700
1712 const CFLPoint3<Ty>& operator*=(const float& value);
1713
1725 const CFLPoint3<Ty>& operator*=(const int32_t& value);
1726
1738 const CFLPoint3<Ty>& operator*=(const int64_t& value);
1739
1752
1764 const CFLPoint3<Ty>& operator/=(const double& value);
1765
1778
1790 CFLPoint3<double> operator+(const double& value) const;
1791
1804
1816 CFLPoint3<double> operator-(const double& value) const;
1817
1830
1842 CFLPoint3<double> operator*(const double& value) const;
1843
1856
1868 CFLPoint3<double> operator/(const double& value) const;
1869
1882
1883
1895 virtual const CResult Assign(const CFLPoint3<Ty>& flp3);
1896
1910 virtual const CResult Assign(const Base::TPoint3<Ty>& tp3);
1911
1913 // Set
1914
1915 virtual const CResult Set(const CFLFigure& flf) override;
1916 virtual const CResult Set(const CFLFigure* pFlf) override;
1917
1933 virtual const CResult Set(double x, double y, double z);
1934
1950 virtual const CResult Set(float x, float y, float z);
1951
1967 virtual const CResult Set(int32_t x, int32_t y, int32_t z);
1968
1984 virtual const CResult Set(int64_t x, int64_t y, int64_t z);
1985
2001 virtual const CResult Set(const CFLPoint<double>& flp, double z = 0.);
2002
2018 virtual const CResult Set(const CFLPoint<float>& flp, float z = 0.);
2019
2035 virtual const CResult Set(const CFLPoint<int32_t>& flp, int32_t z = 0.);
2036
2052 virtual const CResult Set(const CFLPoint<int64_t>& flp, int64_t z = 0.);
2053
2069 virtual const CResult Set(const CFLPoint<double>* pFlp, double z = 0.);
2070
2086 virtual const CResult Set(const CFLPoint<float>* pFlp, float z = 0.);
2087
2103 virtual const CResult Set(const CFLPoint<int32_t>* pFlp, int32_t z = 0.);
2104
2120 virtual const CResult Set(const CFLPoint<int64_t>* pFlp, int64_t z = 0.);
2121
2133 virtual const CResult Set(const CFLPoint3<double>& flp3);
2134
2146 virtual const CResult Set(const CFLPoint3<float>& flp3);
2147
2159 virtual const CResult Set(const CFLPoint3<double>* pFlp3);
2160
2172 virtual const CResult Set(const CFLPoint3<float>* pFlp3);
2173
2187 virtual const CResult Set(const Base::TPoint3<double>& tp3);
2188
2202 virtual const CResult Set(const Base::TPoint3<float>& tp3);
2203
2217 virtual const CResult Set(const Base::TPoint3<double>* pTp3);
2218
2232 virtual const CResult Set(const Base::TPoint3<float>* pTp3);
2233
2243 virtual const CResult Set(const CFLGeometry3DVector<double>& vec3);
2244
2254 virtual const CResult Set(const CFLGeometry3DVector<float>& vec3);
2255
2256
2266 virtual const CResult Set(const CFLGeometry3DVector<double>* pVec3);
2267
2277 virtual const CResult Set(const CFLGeometry3DVector<float>* pVec3);
2278
2279
2289 virtual const CResult Set(const CFLGeometry3DDirection<double>& dir);
2290
2300 virtual const CResult Set(const CFLGeometry3DDirection<float>& dir);
2301
2302
2312 virtual const CResult Set(const CFLGeometry3DDirection<double>* pDir);
2313
2323 virtual const CResult Set(const CFLGeometry3DDirection<float>* pDir);
2324
2325
2326
2328 // Constructor
2329
2342
2354 CFLPoint3(const CFLFigure* pFlf);
2355
2367 CFLPoint3(double x, double y, double z);
2368
2380 CFLPoint3(float x, float y, float z);
2381
2393 CFLPoint3(int32_t x, int32_t y, int32_t z);
2394
2406 CFLPoint3(int64_t x, int64_t y, int64_t z);
2407
2419 CFLPoint3(const CFLPoint<double>& flp, double z = 0.);
2420
2432 CFLPoint3(const CFLPoint<float>& flp, float z = 0.);
2433
2445 CFLPoint3(const CFLPoint<int32_t>& flp, int32_t z = 0.);
2446
2458 CFLPoint3(const CFLPoint<int64_t>& flp, int64_t z = 0.);
2459
2471 CFLPoint3(const CFLPoint<double>* pFlp, double z = 0.);
2472
2484 CFLPoint3(const CFLPoint<float>* pFlp, float z = 0.);
2485
2497 CFLPoint3(const CFLPoint<int32_t>* pFlp, int32_t z = 0.);
2498
2510 CFLPoint3(const CFLPoint<int64_t>* pFlp, int64_t z = 0.);
2511
2520
2529
2538
2547
2558
2569
2580
2591
2602
2613
2624
2635
2636
2647
2658
2659
2670
2681
2682 SupportToDuplicateObject(CFLPoint3<Ty>, *this);
2683 DeclareGetClassType();
2684
2685
2686 private:
2687 using CFLPoint<Ty>::GetDistance;
2688 };
2689
2690 typedef CFLPoint3<float> CFLPoint3F;
2691 typedef CFLPoint3<double> CFLPoint3D;
2692 }
2693}
3차원 점을 표현하는 간략화된 클래스
Definition TPoint3.h:37
FLImaging 모듈의 수행 결과 객체
Definition ResultsDef.h:1596
도형을 표현하는 클래스의 기저 클래스
Definition FLFigure.h:27
virtual bool IsSpecEqual(const CFLFigure &flfRhs, EFigureSpecCompareType eSpecType=EFigureSpecCompareType_Coordinates) const
3D 공간에서 축을 나타내는 클래스.
Definition FLGeometry3DAxis.h:31
3D 공간에서 오른손 좌표계를 나타내는 클래스.
Definition FLGeometry3DCoordinateSystemRH.h:32
3D 공간 상의 방향 벡터를 표현하는 클래스
Definition FLGeometry3DDirection.h:32
3D 공간 상의 벡터를 표현하며, 방향과 크기를 내포하는 클래스
Definition FLGeometry3DVector.h:33
3차원 점을 표현하는 클래스
Definition FLPoint3.h:36
bool operator!=(const CFLPoint3< double > &flp3) const
비교 연산자
virtual bool IsSpecEqual(const CFLFigure *pFlfRhs, EFigureSpecCompareType eSpecType=EFigureSpecCompareType_Coordinates) const override
virtual const CResult Subtract(Ty tX, Ty tY, Ty tZ)
virtual const CResult Mirror(const CFLGeometry3DCoordinateSystemRH< float > *pCoordSysRHPlane)
virtual const CResult Set(const CFLFigure *pFlf) override
virtual const CResult Set(const CFLFigure &flf) override
virtual const CResult Set(int32_t x, int32_t y, int32_t z)
virtual const CResult Set(const CFLPoint3< float > *pFlp3)
CFLPoint3(float x, float y, float z)
virtual const CResult Offset(int32_t x, int32_t y, int32_t z)
virtual const CResult MatMul(const CMatrixFor3D< float > *pMat3D)
virtual double Dot(int64_t i64X, int64_t i64Y, int64_t i64Z) const
virtual const CResult Cross(const CFLPoint3< float > &rhs)
virtual const CResult Mirror(const CFLPoint3< float > *pFlp3Pivot)
CFLPoint3(const CFLGeometry3DDirection< float > &dir)
CFLPoint3(const CFLPoint3< double > &flp3)
virtual const CResult Set(const CFLGeometry3DVector< float > *pVec3)
CFLPoint3< double > operator-(const double &value) const
이동 연산자[offset]
CFLPoint3< double > operator*(const double &value) const
해당 객체의 x, y, z 값에 매개변수를 곱하는 연산자
virtual const CResult Mirror(float pivotX, float pivotY, float pivotZ)
const CFLPoint3< Ty > & operator*=(const CMatrixFor3D< float > &mat3D)
현재 객체에 3x3 행렬을 곱하는 함수. this = mat3D * this
CFLPoint3< Ty > operator*(const CMatrixFor3D< float > &mat3D) const
3x3 행렬을 곱하는 함수
float z
Definition FLPoint3.h:42
virtual const CResult Multiply(int32_t i32Scalar)
virtual const CResult Set(const CFLPoint< double > *pFlp, double z=0.)
CFLPoint3(const CFLGeometry3DDirection< double > *pDir)
virtual const CResult SetLinearInterpolation(const CFLPoint3< Ty > &flp3Start, const CFLPoint3< Ty > &flp3End, double f64T)
두 쿼터니언 사이를 선형 보간한 쿼터니언을 현재 객체에 저장합니다.
CFLPoint3(const Base::TPoint3< float > &tp3)
virtual const CResult Set(const CFLGeometry3DDirection< float > &dir)
virtual const CResult Set(const CFLPoint3< double > *pFlp3)
virtual const CResult Transform(const CMatrixFor3DTransform< float > *pTransform)
virtual const CResult Offset(float x, float y, float z)
CFLPoint3< Ty > operator*(const CMatrixFor3D< double > *pMat3D) const
3x3 행렬을 곱하는 함수
virtual const CResult Multiply(double f64MulX, double f64MulY, double f64MulZ)
virtual const CResult Divide(int32_t i32Scalar)
const CFLPoint3< Ty > & operator=(const Base::TPoint3< Ty > &tp3)
CFLPoint3(const CFLGeometry3DDirection< double > &dir)
virtual const CResult Mirror(const CFLPoint3< double > &flp3Pivot)
virtual const CResult Offset(int64_t x, int64_t y, int64_t z)
const CFLPoint3< Ty > & operator*=(const CFLPoint3< double > &flp3)
해당 객체의 x, y, z 값에 매개변수를 곱하는 연산자
virtual const CResult Add(Ty tX, Ty tY, Ty tZ)
virtual const CResult Subtract(const CFLPoint3< Ty > &rhs)
virtual const CResult Cross(float f32X, float f32Y, float f32Z)
virtual const CResult Mirror(const CFLGeometry3DAxis< float > &axis3Pivot)
virtual const CResult Set(const CFLPoint< int64_t > *pFlp, int64_t z=0.)
virtual const CResult Set(const CFLPoint< float > *pFlp, float z=0.)
CFLPoint3(const CFLPoint3< float > *pFlp3)
virtual const CResult Offset(const CFLPoint3< float > *pFlp3)
virtual const CResult Set(const Base::TPoint3< float > *pTp3)
const CFLPoint3< Ty > & operator/=(const CFLPoint3< double > &flp3)
해당 객체의 x, y, z 값을 매개변수로 나누는 연산자
virtual const CResult Assign(const CFLPoint3< Ty > &flp3)
virtual const CResult Set(const CFLPoint< float > &flp, float z=0.)
virtual double GetDistance(const CFLPoint3< float > &flp3) const
매개변수의 객체와의 최단 거리를 출력
const CFLPoint3< Ty > & operator=(const CFLPoint3< Ty > &flp3)
virtual const CResult Rotate(const CFLGeometry3DAxis< float > &axis, double f64Angle)
virtual const CResult Mirror(const CFLGeometry3DAxis< double > &axis3Pivot)
virtual const CResult Mirror(const CFLGeometry3DAxis< double > *pAxis3Pivot)
virtual const CResult Scale(const CFLPoint3< float > *pFlp3Pivot, float f32RatioX, float f32RatioY, float f32RatioZ)
virtual const CResult MatMul(const CMatrixFor3D< float > &mat3D)
CFLPoint3(const CFLPoint< int64_t > *pFlp, int64_t z=0.)
CFLPoint3(const CFLPoint3< double > *pFlp3)
const CFLPoint3< Ty > & operator-=(const CFLPoint3< double > &flp3)
이동 연산자[offset]
virtual void Clear() override
객체의 변수를 초기화 합니다.
virtual const CResult Mirror(const CFLGeometry3DCoordinateSystemRH< double > &coordSysRHPlane)
bool operator==(const CFLPoint3< double > &flp3) const
비교 연산자
virtual const CResult Multiply(const CFLPoint3< double > &flp3)
virtual const CResult Scale(const CFLPoint3< float > *pFlp3Pivot, float f32Ratio)
CFLPoint3(const CFLGeometry3DDirection< float > *pDir)
virtual const CResult Normalize()
원점으로부터 현재 객체로 향하는 단위 벡터로 현재 객체를 설정하는 함수
virtual const CResult Offset(const CFLPoint3< double > *pFlp3)
virtual const CResult Set(const CFLGeometry3DVector< double > *pVec3)
CFLPoint3(const CFLGeometry3DVector< float > &vec3)
virtual const CResult Divide(float f32Scalar)
virtual const CResult Set(const CFLGeometry3DDirection< double > *pDir)
CFLPoint3< double > operator+(const double &value) const
이동 연산자[offset]
CFLPoint3< double > operator-(const CFLPoint3< double > &flp3) const
이동 연산자[offset]
CFLPoint3(int64_t x, int64_t y, int64_t z)
virtual const CResult Multiply(float f32Scalar)
virtual const CResult Assign(const Base::TPoint3< Ty > &tp3)
virtual const CResult Set(const CFLPoint< int32_t > *pFlp, int32_t z=0.)
virtual bool IsValid() const override
CFLPoint3< Ty > operator*(const CMatrixFor3D< double > &mat3D) const
3x3 행렬을 곱하는 함수
virtual double GetDistance(const CFLPoint3< float > *pFlp3) const
매개변수의 객체와의 최단 거리를 출력
CFLPoint3(const CFLPoint< double > *pFlp, double z=0.)
virtual const CResult Set(const CFLPoint3< float > &flp3)
const CFLPoint3< Ty > & operator*=(const int64_t &value)
해당 객체의 x, y, z 값에 매개변수를 곱하는 연산자
virtual const CResult Cross(int32_t i32X, int32_t i32Y, int32_t i32Z)
CFLPoint3(const CFLPoint< int32_t > &flp, int32_t z=0.)
virtual double Dot(const CFLPoint3< double > *pRhs) const
virtual const CResult MatMul(const CMatrixFor3D< double > *pMat3D)
CFLPoint3(const CFLPoint< double > &flp, double z=0.)
virtual const CResult Scale(const CFLPoint3< double > &flp3Pivot, double f64Ratio)
virtual const CResult Set(const CFLPoint< int32_t > &flp, int32_t z=0.)
virtual void Get(Ty &tX, Ty &tY, Ty &tZ) const
virtual double Dot(int32_t i32X, int32_t i32Y, int32_t i32Z) const
virtual const CResult Mirror(const CFLGeometry3DCoordinateSystemRH< double > *pCoordSysRHPlane)
virtual double Dot(const CFLPoint3< float > *pRhs) const
virtual const CResult Set(const CFLGeometry3DVector< float > &vec3)
const CFLPoint3< Ty > & operator-=(const double &value)
이동 연산자[offset]
virtual const CResult Set(double x, double y, double z)
virtual const CResult Set(float x, float y, float z)
virtual double GetDistance(const CFLPoint3< double > *pFlp3) const
매개변수의 객체와의 최단 거리를 출력
virtual const CResult Cross(const CFLPoint3< float > *pRhs)
CFLPoint3< double > operator*(const CFLPoint3< double > &flp3) const
해당 객체의 x, y, z 값에 매개변수를 곱하는 연산자
virtual const CResult Multiply(const CFLPoint3< float > *pFlp3)
CFLPoint3(const CFLPoint3< float > &flp3)
CFLPoint3< double > operator/(const double &value) const
해당 객체의 x, y, z 값을 매개변수로 나누는 연산자
virtual const CResult MakeFigureInvalid() override
Figure를 유효하지 않은 Figure로 만듦. (예를 들어, 점의 좌표를 Invalid한 x, y로 설정)
virtual const CResult Scale(const CFLPoint3< double > &flp3Pivot, double f64RatioX, double f64RatioY, double f64RatioZ)
virtual const CResult Multiply(const CFLPoint3< float > &flp3)
virtual const CResult Rotate(const CFLGeometry3DAxis< float > *pAxis, double f64Angle)
virtual const CResult Multiply(double f64Scalar)
virtual const CResult Rotate(const CFLGeometry3DAxis< double > *pAxis, double f64Angle)
const CFLPoint3< Ty > & operator*=(const CMatrixFor3D< double > &mat3D)
현재 객체에 3x3 행렬을 곱하는 함수. this = mat3D * this
virtual const CResult Add(const CFLPoint3< Ty > &rhs)
virtual const CResult Mirror(const CFLGeometry3DCoordinateSystemRH< float > &coordSysRHPlane)
virtual const CResult Offset(double x, double y, double z)
virtual const CResult Scale(const CFLPoint3< double > *pFlp3Pivot, double f64Ratio)
virtual const CResult Set(const CFLPoint3< double > &flp3)
virtual double Dot(float f32X, float f32Y, float f32Z) const
virtual double Dot(double f64X, double f64Y, double f64Z) const
CFLPoint3(const CFLGeometry3DVector< float > *pVec3)
const CFLPoint3< Ty > & operator*=(const double &value)
해당 객체의 x, y, z 값에 매개변수를 곱하는 연산자
virtual CFLPoint3< double > GetUnitVector(const CFLPoint3< double > *pFlp3Target) const
해당 객체로부터 매개변수 객체로 향하는 단위 벡터를 구하는 함수
CFLPoint3(const CFLPoint< float > *pFlp, float z=0.)
CFLPoint3< double > GetUnitVector() const
원점으로부터 현재 객체로 향하는 단위 벡터를 얻는 함수
virtual const CResult Set(const CFLGeometry3DVector< double > &vec3)
CFLPoint3(const CFLPoint< int64_t > &flp, int64_t z=0.)
CFLPoint3< double > operator+(const CFLPoint3< double > &flp3) const
이동 연산자[offset]
virtual const CResult Divide(int64_t i64Scalar)
virtual const CResult Scale(double f64PivotX, double f64PivotY, double f64PivotZ, double f64RatioX, double f64RatioY, double f64RatioZ)
virtual const CResult Set(const Base::TPoint3< float > &tp3)
virtual double GetSquareMagnitude() const
virtual const CResult Transform(const CMatrixFor3DTransform< float > &transform)
virtual const CResult Cross(const CFLPoint3< double > &rhs)
virtual const CResult Mirror(const CFLGeometry3DAxis< float > *pAxis3Pivot)
virtual const CResult Divide(double f64Scalar)
virtual const CResult Transform(const CMatrixFor3DTransform< double > *pTransform)
CFLPoint3< Ty > operator*(const CMatrixFor3D< float > *pMat3D) const
3x3 행렬을 곱하는 함수
virtual const CResult Multiply(int64_t i64MulX, int64_t i64MulY, int64_t i64MulZ)
virtual const CResult Scale(const CFLPoint3< float > &flp3Pivot, float f32RatioX, float f32RatioY, float f32RatioZ)
virtual const CResult MatMul(const CMatrixFor3D< double > &mat3D)
virtual const CResult Set(const CFLGeometry3DDirection< double > &dir)
virtual bool IsFigureValid() const override
virtual const CResult Mirror(double pivotX, double pivotY, double pivotZ)
virtual const CResult Set(const Base::TPoint3< double > *pTp3)
virtual const CResult Multiply(const CFLPoint3< double > *pFlp3)
virtual const CResult Cross(double f64X, double f64Y, double f64Z)
virtual const CResult Set(const CFLGeometry3DDirection< float > *pDir)
CFLPoint3(const CFLPoint< int32_t > *pFlp, int32_t z=0.)
virtual const CResult Set(const CFLPoint< int64_t > &flp, int64_t z=0.)
virtual const CResult Set(const Base::TPoint3< double > &tp3)
virtual const CResult Mirror(int64_t pivotX, int64_t pivotY, int64_t pivotZ)
virtual double Dot(const CFLPoint3< double > &rhs) const
CFLPoint3(const CFLPoint< float > &flp, float z=0.)
virtual const CResult Transform(const CMatrixFor3DTransform< double > &transform)
CFLPoint3(const Base::TPoint3< double > *pTp3)
virtual const CResult Offset(const CFLPoint3< float > &flp3)
virtual const CResult Mirror(const CFLPoint3< float > &flp3Pivot)
const CFLPoint3< Ty > & operator*=(const int32_t &value)
해당 객체의 x, y, z 값에 매개변수를 곱하는 연산자
CFLPoint3(double x, double y, double z)
virtual const CResult Mirror(const CFLPoint3< double > *pFlp3Pivot)
CFLPoint3(const CFLFigure &flf)
초기화 생성자
const CFLPoint3< Ty > & operator*=(const CMatrixFor3D< double > *pMat3D)
현재 객체에 3x3 행렬을 곱하는 함수. this = pMat3D * this
const CFLPoint3< Ty > & operator/=(const double &value)
해당 객체의 x, y, z 값을 매개변수로 나누는 연산자
virtual EFigureDeclType GetDeclType() const override
const CFLPoint3< Ty > & operator*=(const CMatrixFor3D< float > *pMat3D)
현재 객체에 3x3 행렬을 곱하는 함수. this = pMat3D * this
CFLPoint3< double > GetUnitVector(const CFLPoint3< double > &flp3Target) const
해당 객체로부터 매개변수 객체로 향하는 단위 벡터를 구하는 함수
virtual double Dot(const CFLPoint3< float > &rhs) const
virtual const CResult Cross(int64_t i64X, int64_t i64Y, int64_t i64Z)
virtual const CResult Scale(const CFLPoint3< double > *pFlp3Pivot, double f64RatioX, double f64RatioY, double f64RatioZ)
CFLPoint3(const CFLGeometry3DVector< double > *pVec3)
CFLPoint3(const Base::TPoint3< float > *pTp3)
virtual const CResult Set(int64_t x, int64_t y, int64_t z)
CFLPoint3(int32_t x, int32_t y, int32_t z)
virtual const CResult Set(const CFLPoint< double > &flp, double z=0.)
virtual double GetMagnitude() const
CFLPoint3(const Base::TPoint3< double > &tp3)
virtual const CResult Mirror(int32_t pivotX, int32_t pivotY, int32_t pivotZ)
virtual const CResult Multiply(int64_t i64Scalar)
virtual const CResult Cross(const CFLPoint3< double > *pRhs)
const CFLPoint3< Ty > & operator+=(const CFLPoint3< double > &flp3)
이동 연산자[offset]
CFLPoint3< double > operator/(const CFLPoint3< double > &flp3) const
해당 객체의 x, y, z 값을 매개변수로 나누는 연산자
virtual const CResult Rotate(const CFLGeometry3DAxis< double > &axis, double f64Angle)
CFLPoint3(const CFLGeometry3DVector< double > &vec3)
virtual const CResult Multiply(float f32MulX, float f32MulY, float f32MulZ)
virtual const CResult Multiply(int32_t i32MulX, int32_t i32MulY, int32_t i32MulZ)
virtual const CResult Scale(float f32PivotX, float f32PivotY, float f32PivotZ, float f32RatioX, float f32RatioY, float f32RatioZ)
virtual const CResult Scale(const CFLPoint3< float > &flp3Pivot, float f32Ratio)
virtual double GetDistance(const CFLPoint3< double > &flp3) const
매개변수의 객체와의 최단 거리를 출력
CFLPoint3(const CFLFigure *pFlf)
초기화 생성자
const CFLPoint3< Ty > & operator*=(const float &value)
해당 객체의 x, y, z 값에 매개변수를 곱하는 연산자
virtual const CResult Offset(const CFLPoint3< double > &flp3)
const CFLPoint3< Ty > & operator+=(const double &value)
이동 연산자[offset]
점을 표현하는 클래스
Definition FLPoint.h:24
float y
Definition FLPoint.h:36
float x
Definition FLPoint.h:30
3x3 행렬을 표현하는 클래스
Definition MatrixFor3D.h:28
3D 공간 상에서의 변환을 용이하게 하기 위한 목적의 행렬 클래스
Definition MatrixFor3DTransform.h:35
Definition AlgorithmBase.h:16
EFigureDeclType
도형의 타입
Definition DefinitionsFigure.h:33
EFigureSpecCompareType
Definition DefinitionsFigure.h:3491
@ EFigureSpecCompareType_Coordinates
Definition DefinitionsFigure.h:3496