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}
Simplified class representing a 3-D point.
Definition TPoint3.h:37
FLImaging module execution result object.
Definition ResultsDef.h:1514
A base class of classes representing figures.
Definition FLFigure.h:27
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:36
bool operator!=(const CFLPoint3< double > &flp3) const
Comparison operator.
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.
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)
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 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 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)
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 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
A class representing 3x3 matrix.
Definition MatrixFor3D.h:28
A matrix class for 3D transform.
Definition MatrixFor3DTransform.h:35
EFigureDeclType
Declare type of figure.
Definition DefinitionsFigure.h:33