FLImaging 6.5.8.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
1595
1606
1618 bool operator==(const CFLPoint3<double>& flp3) const;
1619
1631 bool operator!=(const CFLPoint3<double>& flp3) const;
1632
1644 const CFLPoint3<Ty>& operator+=(const double& value);
1645
1658
1670 const CFLPoint3<Ty>& operator-=(const double& value);
1671
1684
1696 const CFLPoint3<Ty>& operator*=(const double& value);
1697
1709 const CFLPoint3<Ty>& operator*=(const float& value);
1710
1722 const CFLPoint3<Ty>& operator*=(const int32_t& value);
1723
1735 const CFLPoint3<Ty>& operator*=(const int64_t& value);
1736
1749
1761 const CFLPoint3<Ty>& operator/=(const double& value);
1762
1775
1787 CFLPoint3<double> operator+(const double& value) const;
1788
1801
1813 CFLPoint3<double> operator-(const double& value) const;
1814
1827
1839 CFLPoint3<double> operator*(const double& value) const;
1840
1853
1865 CFLPoint3<double> operator/(const double& value) const;
1866
1879
1880
1892 virtual const CResult Assign(const CFLPoint3<Ty>& flp3);
1893
1907 virtual const CResult Assign(const Base::TPoint3<Ty>& tp3);
1908
1910 // Set
1911
1912 virtual const CResult Set(const CFLFigure& flf) override;
1913 virtual const CResult Set(const CFLFigure* pFlf) override;
1914
1930 virtual const CResult Set(double x, double y, double z);
1931
1947 virtual const CResult Set(float x, float y, float z);
1948
1964 virtual const CResult Set(int32_t x, int32_t y, int32_t z);
1965
1981 virtual const CResult Set(int64_t x, int64_t y, int64_t z);
1982
1998 virtual const CResult Set(const CFLPoint<double>& flp, double z = 0.);
1999
2015 virtual const CResult Set(const CFLPoint<float>& flp, float z = 0.);
2016
2032 virtual const CResult Set(const CFLPoint<int32_t>& flp, int32_t z = 0.);
2033
2049 virtual const CResult Set(const CFLPoint<int64_t>& flp, int64_t z = 0.);
2050
2066 virtual const CResult Set(const CFLPoint<double>* pFlp, double z = 0.);
2067
2083 virtual const CResult Set(const CFLPoint<float>* pFlp, float z = 0.);
2084
2100 virtual const CResult Set(const CFLPoint<int32_t>* pFlp, int32_t z = 0.);
2101
2117 virtual const CResult Set(const CFLPoint<int64_t>* pFlp, int64_t z = 0.);
2118
2130 virtual const CResult Set(const CFLPoint3<double>& flp3);
2131
2143 virtual const CResult Set(const CFLPoint3<float>& flp3);
2144
2156 virtual const CResult Set(const CFLPoint3<double>* pFlp3);
2157
2169 virtual const CResult Set(const CFLPoint3<float>* pFlp3);
2170
2184 virtual const CResult Set(const Base::TPoint3<double>& tp3);
2185
2199 virtual const CResult Set(const Base::TPoint3<float>& tp3);
2200
2214 virtual const CResult Set(const Base::TPoint3<double>* pTp3);
2215
2229 virtual const CResult Set(const Base::TPoint3<float>* pTp3);
2230
2240 virtual const CResult Set(const CFLGeometry3DVector<double>& vec3);
2241
2251 virtual const CResult Set(const CFLGeometry3DVector<float>& vec3);
2252
2253
2263 virtual const CResult Set(const CFLGeometry3DVector<double>* pVec3);
2264
2274 virtual const CResult Set(const CFLGeometry3DVector<float>* pVec3);
2275
2276
2286 virtual const CResult Set(const CFLGeometry3DDirection<double>& dir);
2287
2297 virtual const CResult Set(const CFLGeometry3DDirection<float>& dir);
2298
2299
2309 virtual const CResult Set(const CFLGeometry3DDirection<double>* pDir);
2310
2320 virtual const CResult Set(const CFLGeometry3DDirection<float>* pDir);
2321
2322
2323
2325 // Constructor
2326
2339
2351 CFLPoint3(const CFLFigure* pFlf);
2352
2364 CFLPoint3(double x, double y, double z);
2365
2377 CFLPoint3(float x, float y, float z);
2378
2390 CFLPoint3(int32_t x, int32_t y, int32_t z);
2391
2403 CFLPoint3(int64_t x, int64_t y, int64_t z);
2404
2416 CFLPoint3(const CFLPoint<double>& flp, double z = 0.);
2417
2429 CFLPoint3(const CFLPoint<float>& flp, float z = 0.);
2430
2442 CFLPoint3(const CFLPoint<int32_t>& flp, int32_t z = 0.);
2443
2455 CFLPoint3(const CFLPoint<int64_t>& flp, int64_t z = 0.);
2456
2468 CFLPoint3(const CFLPoint<double>* pFlp, double z = 0.);
2469
2481 CFLPoint3(const CFLPoint<float>* pFlp, float z = 0.);
2482
2494 CFLPoint3(const CFLPoint<int32_t>* pFlp, int32_t z = 0.);
2495
2507 CFLPoint3(const CFLPoint<int64_t>* pFlp, int64_t z = 0.);
2508
2517
2526
2535
2544
2555
2566
2577
2588
2599
2610
2621
2632
2633
2644
2655
2656
2667
2678
2679 SupportToDuplicateObject(CFLPoint3<Ty>, *this);
2680 DeclareGetClassType();
2681
2682
2683 private:
2684 using CFLPoint<Ty>::GetDistance;
2685 };
2686
2689 }
2690}
3차원 점을 표현하는 간략화된 클래스
Definition TPoint3.h:37
FLImaging 모듈의 수행 결과 객체
Definition ResultsDef.h:1514
도형을 표현하는 클래스의 기저 클래스
Definition FLFigure.h:27
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 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 행렬을 곱하는 함수
Ty 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
3x3 행렬을 표현하는 클래스
Definition MatrixFor3D.h:28
3D 공간 상에서의 변환을 용이하게 하기 위한 목적의 행렬 클래스
Definition MatrixFor3DTransform.h:35
EFigureDeclType
도형의 타입
Definition DefinitionsFigure.h:33