FLImaging 7.1.2.3
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}
Simplified class representing a 3-D point.
Definition TPoint3.h:37
FLImaging module execution result object.
Definition ResultsDef.h:1640
A base class of classes representing figures.
Definition FLFigure.h:27
virtual bool IsSpecEqual(const CFLFigure &flfRhs, EFigureSpecCompareType eSpecType=EFigureSpecCompareType_Coordinates) const
A class that represents axis in 3D space.
Definition FLGeometry3DAxis.h:31
A class that represents right-handed coordinate system in 3D space.
Definition FLGeometry3DCoordinateSystemRH.h:32
A class representing unit vector in 3D space.
Definition FLGeometry3DDirection.h:32
A class representing vector in 3D space which has direction and magnitude.
Definition FLGeometry3DVector.h:33
A class representing a 3D point.
Definition FLPoint3.h:39
bool operator!=(const CFLPoint3< double > &flp3) const
Comparison operator.
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 operator[offset].
CFLPoint3< double > operator*(const double &value) const
An operator that multiplies the x and y values of the object by a parameter.
virtual const CResult Mirror(float pivotX, float pivotY, float pivotZ)
const CFLPoint3< Ty > & operator*=(const CMatrixFor3D< float > &mat3D)
An operator that multiplies multiplies a 3x3 matrix to this. this = mat3D * this
CFLPoint3< Ty > operator*(const CMatrixFor3D< float > &mat3D) const
An operator that multiplies multiplies a 3x3 matrix.
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)
Set this to the CFLPoint3 that is linearly interpolated between two CFLPoint3 objects.
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
An operator that multiplies multiplies a 3x3 matrix.
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)
An operator that multiplies the x and y values of the object by a parameter.
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)
An operator that divides the x, y, z values of the object into parameters.
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
Get the shortest distance to the parameter's object.
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 operator[offset].
virtual void Clear() override
Clear an object's variable.
virtual const CResult Mirror(const CFLGeometry3DCoordinateSystemRH< double > &coordSysRHPlane)
bool operator==(const CFLPoint3< double > &flp3) const
Comparison operator.
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()
Function to set this the unit vector from the origin to this
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 operator[offset].
CFLPoint3< double > operator-(const CFLPoint3< double > &flp3) const
Offset operator[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
An operator that multiplies multiplies a 3x3 matrix.
virtual double GetDistance(const CFLPoint3< float > *pFlp3) const
Get the shortest distance to the parameter's object.
CFLPoint3(const CFLPoint< double > *pFlp, double z=0.)
virtual const CResult Set(const CFLPoint3< float > &flp3)
const CFLPoint3< Ty > & operator*=(const int64_t &value)
An operator that multiplies the x and y values of the object by a parameter.
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 operator[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
Get the shortest distance to the parameter's object.
virtual const CResult Cross(const CFLPoint3< float > *pRhs)
CFLPoint3< double > operator*(const CFLPoint3< double > &flp3) const
An operator that multiplies the x and y values of the object by a parameter.
virtual const CResult Multiply(const CFLPoint3< float > *pFlp3)
CFLPoint3(const CFLPoint3< float > &flp3)
CFLPoint3< double > operator/(const double &value) const
An operator that divides the x, y, z values of the object into parameters.
virtual const CResult MakeFigureInvalid() override
Make the figure invalid. (For example, set the coordinates of the point to invalid x,...
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)
An operator that multiplies multiplies a 3x3 matrix to this. 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)
An operator that multiplies the x and y values of the object by a parameter.
virtual CFLPoint3< double > GetUnitVector(const CFLPoint3< double > *pFlp3Target) const
A function that calculates the unit vector from that object to the parameter object.
CFLPoint3(const CFLPoint< float > *pFlp, float z=0.)
CFLPoint3< double > GetUnitVector() const
Function to get the unit vector from the origin to this
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 operator[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
An operator that multiplies multiplies a 3x3 matrix.
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)
An operator that multiplies the x and y values of the object by a parameter.
CFLPoint3(double x, double y, double z)
virtual const CResult Mirror(const CFLPoint3< double > *pFlp3Pivot)
CFLPoint3(const CFLFigure &flf)
initialization constructor
const CFLPoint3< Ty > & operator*=(const CMatrixFor3D< double > *pMat3D)
An operator that multiplies multiplies a 3x3 matrix to this. this = pMat3D * this
const CFLPoint3< Ty > & operator/=(const double &value)
An operator that divides the x, y, z values of the object into parameters.
virtual EFigureDeclType GetDeclType() const override
const CFLPoint3< Ty > & operator*=(const CMatrixFor3D< float > *pMat3D)
An operator that multiplies multiplies a 3x3 matrix to this. this = pMat3D * this
CFLPoint3< double > GetUnitVector(const CFLPoint3< double > &flp3Target) const
A function that calculates the unit vector from that object to the parameter object.
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 operator[offset].
CFLPoint3< double > operator/(const CFLPoint3< double > &flp3) const
An operator that divides the x, y, z values of the object into parameters.
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
Get the shortest distance to the parameter's object.
CFLPoint3(const CFLFigure *pFlf)
initialization constructor
const CFLPoint3< Ty > & operator*=(const float &value)
An operator that multiplies the x and y values of the object by a parameter.
virtual const CResult Offset(const CFLPoint3< double > &flp3)
const CFLPoint3< Ty > & operator+=(const double &value)
Offset operator[offset].
A class representing a point.
Definition FLPoint.h:24
float y
Definition FLPoint.h:36
float x
Definition FLPoint.h:30
A class representing 3x3 matrix.
Definition MatrixFor3D.h:28
A matrix class for 3D transform.
Definition MatrixFor3DTransform.h:35
A class representing matrix.
Definition Matrix.h:79
Definition AlgorithmBase.h:16
EFigureDeclType
Declare type of figure.
Definition DefinitionsFigure.h:33
EFigureSpecCompareType
Definition DefinitionsFigure.h:3513
@ EFigureSpecCompareType_Coordinates
Definition DefinitionsFigure.h:3518