FLImaging 7.1.24.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 CMatrix;
19
20 template<typename Ty>
21 class FL_EXPORT CMatrixFor3D;
22
23 template<typename Ty>
24 class FL_EXPORT CMatrixFor3DTransform;
25
26 template<typename Ty>
27 class FL_EXPORT CFLGeometry3DAxis;
28
29 template<typename Ty>
30 class FL_EXPORT CFLGeometry3DCoordinateSystemRH;
31
37 template<typename Ty>
38 class FL_EXPORT CFLPoint3 : public CFLPoint<Ty>
39 {
40 public:
45 Ty z;
46
52
57 virtual ~CFLPoint3();
58
70 virtual void Get(Ty& tX, Ty& tY, Ty& tZ) const;
71
79 virtual double GetMagnitude() const;
80
88 virtual double GetSquareMagnitude() const;
89
105 virtual const CResult Offset(double x, double y, double z);
106
122 virtual const CResult Offset(float x, float y, float z);
123
139 virtual const CResult Offset(int32_t x, int32_t y, int32_t z);
140
156 virtual const CResult Offset(int64_t x, int64_t y, int64_t z);
157
169 virtual const CResult Offset(const CFLPoint3<double>& flp3);
170
182 virtual const CResult Offset(const CFLPoint3<float>& flp3);
183
195 virtual const CResult Offset(const CFLPoint3<double>* pFlp3);
196
208 virtual const CResult Offset(const CFLPoint3<float>* pFlp3);
209
221 virtual const CResult Add(const CFLPoint3<Ty>& rhs);
222
238 virtual const CResult Add(Ty tX, Ty tY, Ty tZ);
239
251 virtual const CResult Subtract(const CFLPoint3<Ty>& rhs);
252
268 virtual const CResult Subtract(Ty tX, Ty tY, Ty tZ);
269
285 virtual const CResult Multiply(double f64MulX, double f64MulY, double f64MulZ);
286
302 virtual const CResult Multiply(float f32MulX, float f32MulY, float f32MulZ);
303
319 virtual const CResult Multiply(int32_t i32MulX, int32_t i32MulY, int32_t i32MulZ);
320
336 virtual const CResult Multiply(int64_t i64MulX, int64_t i64MulY, int64_t i64MulZ);
337
349 virtual const CResult Multiply(const CFLPoint3<double>& flp3);
350
362 virtual const CResult Multiply(const CFLPoint3<float>& flp3);
363
375 virtual const CResult Multiply(const CFLPoint3<double>* pFlp3);
376
388 virtual const CResult Multiply(const CFLPoint3<float>* pFlp3);
389
401 virtual const CResult Multiply(double f64Scalar);
402
414 virtual const CResult Multiply(float f32Scalar);
415
427 virtual const CResult Multiply(int32_t i32Scalar);
428
440 virtual const CResult Multiply(int64_t i64Scalar);
441
442 operator CFLPoint<float>()
443 {
444 return CFLPoint<float>(this);
445 }
446
447 operator CFLPoint<double>()
448 {
449 return CFLPoint<double>(this);
450 }
451
466
481
496
511
526
541
556
571
583 virtual const CResult Divide(double f64Scalar);
584
596 virtual const CResult Divide(float f32Scalar);
597
609 virtual const CResult Divide(int32_t i32Scalar);
610
622 virtual const CResult Divide(int64_t i64Scalar);
623
639 virtual const CResult Cross(float f32X, float f32Y, float f32Z);
640
656 virtual const CResult Cross(double f64X, double f64Y, double f64Z);
657
673 virtual const CResult Cross(int32_t i32X, int32_t i32Y, int32_t i32Z);
674
690 virtual const CResult Cross(int64_t i64X, int64_t i64Y, int64_t i64Z);
691
703 virtual const CResult Cross(const CFLPoint3<float>& rhs);
704
716 virtual const CResult Cross(const CFLPoint3<double>& rhs);
717
729 virtual const CResult Cross(const CFLPoint3<float>* pRhs);
730
742 virtual const CResult Cross(const CFLPoint3<double>* pRhs);
743
757 virtual double Dot(float f32X, float f32Y, float f32Z) const;
758
772 virtual double Dot(double f64X, double f64Y, double f64Z) const;
773
787 virtual double Dot(int32_t i32X, int32_t i32Y, int32_t i32Z) const;
788
802 virtual double Dot(int64_t i64X, int64_t i64Y, int64_t i64Z) const;
803
813 virtual double Dot(const CFLPoint3<float>& rhs) const;
814
824 virtual double Dot(const CFLPoint3<double>& rhs) const;
825
835 virtual double Dot(const CFLPoint3<float>* pRhs) const;
836
846 virtual double Dot(const CFLPoint3<double>* pRhs) const;
847
869 virtual const CResult Scale(double f64PivotX, double f64PivotY, double f64PivotZ, double f64RatioX, double f64RatioY, double f64RatioZ);
870
892 virtual const CResult Scale(float f32PivotX, float f32PivotY, float f32PivotZ, float f32RatioX, float f32RatioY, float f32RatioZ);
893
911 virtual const CResult Scale(const CFLPoint3<double>& flp3Pivot, double f64RatioX, double f64RatioY, double f64RatioZ);
912
930 virtual const CResult Scale(const CFLPoint3<float>& flp3Pivot, float f32RatioX, float f32RatioY, float f32RatioZ);
931
949 virtual const CResult Scale(const CFLPoint3<double>* pFlp3Pivot, double f64RatioX, double f64RatioY, double f64RatioZ);
950
968 virtual const CResult Scale(const CFLPoint3<float>* pFlp3Pivot, float f32RatioX, float f32RatioY, float f32RatioZ);
969
983 virtual const CResult Scale(const CFLPoint3<double>& flp3Pivot, double f64Ratio);
984
998 virtual const CResult Scale(const CFLPoint3<float>& flp3Pivot, float f32Ratio);
999
1013 virtual const CResult Scale(const CFLPoint3<double>* pFlp3Pivot, double f64Ratio);
1014
1028 virtual const CResult Scale(const CFLPoint3<float>* pFlp3Pivot, float f32Ratio);
1029
1045 virtual const CResult Mirror(double pivotX, double pivotY, double pivotZ);
1046
1062 virtual const CResult Mirror(float pivotX, float pivotY, float pivotZ);
1063
1079 virtual const CResult Mirror(int32_t pivotX, int32_t pivotY, int32_t pivotZ);
1080
1096 virtual const CResult Mirror(int64_t pivotX, int64_t pivotY, int64_t pivotZ);
1097
1109 virtual const CResult Mirror(const CFLPoint3<double>& flp3Pivot);
1110
1122 virtual const CResult Mirror(const CFLPoint3<float>& flp3Pivot);
1123
1135 virtual const CResult Mirror(const CFLPoint3<double>* pFlp3Pivot);
1136
1148 virtual const CResult Mirror(const CFLPoint3<float>* pFlp3Pivot);
1149
1163 virtual const CResult Mirror(const CFLGeometry3DAxis<double>& axis3Pivot);
1164
1178 virtual const CResult Mirror(const CFLGeometry3DAxis<float>& axis3Pivot);
1179
1193 virtual const CResult Mirror(const CFLGeometry3DAxis<double>* pAxis3Pivot);
1194
1208 virtual const CResult Mirror(const CFLGeometry3DAxis<float>* pAxis3Pivot);
1209
1223 virtual const CResult Mirror(const CFLGeometry3DCoordinateSystemRH<double>& coordSysRHPlane);
1224
1238 virtual const CResult Mirror(const CFLGeometry3DCoordinateSystemRH<float>& coordSysRHPlane);
1239
1253 virtual const CResult Mirror(const CFLGeometry3DCoordinateSystemRH<double>* pCoordSysRHPlane);
1254
1268 virtual const CResult Mirror(const CFLGeometry3DCoordinateSystemRH<float>* pCoordSysRHPlane);
1269
1285 virtual const CResult Rotate(const CFLGeometry3DAxis<double>& axis, double f64Angle);
1286
1302 virtual const CResult Rotate(const CFLGeometry3DAxis<float>& axis, double f64Angle);
1303
1319 virtual const CResult Rotate(const CFLGeometry3DAxis<double>* pAxis, double f64Angle);
1320
1336 virtual const CResult Rotate(const CFLGeometry3DAxis<float>* pAxis, double f64Angle);
1337
1351 virtual const CResult Transform(const CMatrixFor3DTransform<double>& transform);
1352
1366 virtual const CResult Transform(const CMatrixFor3DTransform<float>& transform);
1367
1381 virtual const CResult Transform(const CMatrixFor3DTransform<double>* pTransform);
1382
1396 virtual const CResult Transform(const CMatrixFor3DTransform<float>* pTransform);
1397
1411 virtual const CResult MatMul(const CMatrixFor3D<float>& mat3D);
1412
1426 virtual const CResult MatMul(const CMatrixFor3D<double>& mat3D);
1427
1441 virtual const CResult MatMul(const CMatrixFor3D<float>* pMat3D);
1442
1456 virtual const CResult MatMul(const CMatrixFor3D<double>* pMat3D);
1457
1471 virtual const CResult MatMul(const CMatrix<float>& mat4x4);
1472
1486 virtual const CResult MatMul(const CMatrix<double>& mat4x4);
1487
1501 virtual const CResult MatMul(const CMatrix<float>* pMat4x4);
1502
1516 virtual const CResult MatMul(const CMatrix<double>* pMat4x4);
1517
1529 virtual double GetDistance(const CFLPoint3<double>& flp3) const;
1530
1542 virtual double GetDistance(const CFLPoint3<float>& flp3) const;
1543
1555 virtual double GetDistance(const CFLPoint3<double>* pFlp3) const;
1556
1568 virtual double GetDistance(const CFLPoint3<float>* pFlp3) const;
1569
1581 virtual const CResult Normalize();
1582
1593
1606
1618 virtual CFLPoint3<double> GetUnitVector(const CFLPoint3<double>* pFlp3Target) const;
1619
1637 virtual const CResult SetLinearInterpolation(const CFLPoint3<Ty>& flp3Start, const CFLPoint3<Ty>& flp3End, double f64T);
1638
1639 virtual void Clear() override;
1640
1641 virtual EFigureDeclType GetDeclType() const override;
1642
1643 virtual bool IsValid() const override;
1644 virtual bool IsFigureValid() const override;
1645
1646 virtual const CResult MakeFigureInvalid() override;
1647
1649 virtual bool IsSpecEqual(const CFLFigure* pFlfRhs, EFigureSpecCompareType eSpecType = EFigureSpecCompareType_Coordinates) const override;
1650
1661
1672
1684 bool operator==(const CFLPoint3<double>& flp3) const;
1685
1697 bool operator!=(const CFLPoint3<double>& flp3) const;
1698
1710 const CFLPoint3<Ty>& operator+=(const double& value);
1711
1724
1736 const CFLPoint3<Ty>& operator-=(const double& value);
1737
1750
1762 const CFLPoint3<Ty>& operator*=(const double& value);
1763
1775 const CFLPoint3<Ty>& operator*=(const float& value);
1776
1788 const CFLPoint3<Ty>& operator*=(const int32_t& value);
1789
1801 const CFLPoint3<Ty>& operator*=(const int64_t& value);
1802
1815
1827 const CFLPoint3<Ty>& operator/=(const double& value);
1828
1841
1853 CFLPoint3<double> operator+(const double& value) const;
1854
1867
1879 CFLPoint3<double> operator-(const double& value) const;
1880
1893
1905 CFLPoint3<double> operator*(const double& value) const;
1906
1919
1931 CFLPoint3<double> operator/(const double& value) const;
1932
1945
1946
1958 virtual const CResult Assign(const CFLPoint3<Ty>& flp3);
1959
1973 virtual const CResult Assign(const Base::TPoint3<Ty>& tp3);
1974
1976 // Set
1977
1978 virtual const CResult Set(const CFLFigure& flf) override;
1979 virtual const CResult Set(const CFLFigure* pFlf) override;
1980
1996 virtual const CResult Set(double x, double y, double z);
1997
2013 virtual const CResult Set(float x, float y, float z);
2014
2030 virtual const CResult Set(int32_t x, int32_t y, int32_t z);
2031
2047 virtual const CResult Set(int64_t x, int64_t y, int64_t z);
2048
2064 virtual const CResult Set(const CFLPoint<double>& flp, double z = 0.);
2065
2081 virtual const CResult Set(const CFLPoint<float>& flp, float z = 0.);
2082
2098 virtual const CResult Set(const CFLPoint<int32_t>& flp, int32_t z = 0.);
2099
2115 virtual const CResult Set(const CFLPoint<int64_t>& flp, int64_t z = 0.);
2116
2132 virtual const CResult Set(const CFLPoint<double>* pFlp, double z = 0.);
2133
2149 virtual const CResult Set(const CFLPoint<float>* pFlp, float z = 0.);
2150
2166 virtual const CResult Set(const CFLPoint<int32_t>* pFlp, int32_t z = 0.);
2167
2183 virtual const CResult Set(const CFLPoint<int64_t>* pFlp, int64_t z = 0.);
2184
2196 virtual const CResult Set(const CFLPoint3<double>& flp3);
2197
2209 virtual const CResult Set(const CFLPoint3<float>& flp3);
2210
2222 virtual const CResult Set(const CFLPoint3<double>* pFlp3);
2223
2235 virtual const CResult Set(const CFLPoint3<float>* pFlp3);
2236
2250 virtual const CResult Set(const Base::TPoint3<double>& tp3);
2251
2265 virtual const CResult Set(const Base::TPoint3<float>& tp3);
2266
2280 virtual const CResult Set(const Base::TPoint3<double>* pTp3);
2281
2295 virtual const CResult Set(const Base::TPoint3<float>* pTp3);
2296
2306 virtual const CResult Set(const CFLGeometry3DVector<double>& vec3);
2307
2317 virtual const CResult Set(const CFLGeometry3DVector<float>& vec3);
2318
2319
2329 virtual const CResult Set(const CFLGeometry3DVector<double>* pVec3);
2330
2340 virtual const CResult Set(const CFLGeometry3DVector<float>* pVec3);
2341
2342
2352 virtual const CResult Set(const CFLGeometry3DDirection<double>& dir);
2353
2363 virtual const CResult Set(const CFLGeometry3DDirection<float>& dir);
2364
2365
2375 virtual const CResult Set(const CFLGeometry3DDirection<double>* pDir);
2376
2386 virtual const CResult Set(const CFLGeometry3DDirection<float>* pDir);
2387
2388
2389
2391 // Constructor
2392
2405
2417 CFLPoint3(const CFLFigure* pFlf);
2418
2430 CFLPoint3(double x, double y, double z);
2431
2443 CFLPoint3(float x, float y, float z);
2444
2456 CFLPoint3(int32_t x, int32_t y, int32_t z);
2457
2469 CFLPoint3(int64_t x, int64_t y, int64_t z);
2470
2482 CFLPoint3(const CFLPoint<double>& flp, double z = 0.);
2483
2495 CFLPoint3(const CFLPoint<float>& flp, float z = 0.);
2496
2508 CFLPoint3(const CFLPoint<int32_t>& flp, int32_t z = 0.);
2509
2521 CFLPoint3(const CFLPoint<int64_t>& flp, int64_t z = 0.);
2522
2534 CFLPoint3(const CFLPoint<double>* pFlp, double z = 0.);
2535
2547 CFLPoint3(const CFLPoint<float>* pFlp, float z = 0.);
2548
2560 CFLPoint3(const CFLPoint<int32_t>* pFlp, int32_t z = 0.);
2561
2573 CFLPoint3(const CFLPoint<int64_t>* pFlp, int64_t z = 0.);
2574
2583
2592
2601
2610
2621
2632
2643
2654
2665
2676
2687
2698
2699
2710
2721
2722
2733
2744
2745 SupportToDuplicateObject(CFLPoint3<Ty>, *this);
2746 DeclareGetClassType();
2747
2748
2749 private:
2750 using CFLPoint<Ty>::GetDistance;
2751 };
2752
2753 typedef CFLPoint3<float> CFLPoint3F;
2754 typedef CFLPoint3<double> CFLPoint3D;
2755 }
2756}
3차원 점을 표현하는 간략화된 클래스
Definition TPoint3.h:37
FLImaging 모듈의 수행 결과 객체
Definition ResultsDef.h:1676
도형을 표현하는 클래스의 기저 클래스
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:39
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:45
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 MatMul(const CMatrix< double > &mat4x4)
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 MatMul(const CMatrix< double > *pMat4x4)
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 MatMul(const CMatrix< float > *pMat4x4)
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 MatMul(const CMatrix< float > &mat4x4)
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:31
3D 공간 상에서의 변환을 용이하게 하기 위한 목적의 행렬 클래스
Definition MatrixFor3DTransform.h:35
행렬을 표현하는 클래스
Definition Matrix.h:79
Definition AlgorithmBase.h:16
EFigureDeclType
도형의 타입
Definition DefinitionsFigure.h:33
EFigureSpecCompareType
Definition DefinitionsFigure.h:3513
@ EFigureSpecCompareType_Coordinates
Definition DefinitionsFigure.h:3518