FLImaging 7.8.25.3
FLSphere3.h
1#pragma once
2
8
9#include "FLFigure3.h"
10#include "FLPoint3.h"
11
13namespace FLImaging
14{
16 namespace Foundation
17 {
23 template<typename T>
24 class FL_EXPORT CFLSphere3 : public CFLFigure3
25 {
26 public:
32
41
47
52 virtual ~CFLSphere3();
53
64
75
86
97
113 CFLSphere3(double x, double y, double z, double r);
114
130 CFLSphere3(float x, float y, float z, float r);
131
147 CFLSphere3(int64_t x, int64_t y, int64_t z, int64_t r);
148
164 CFLSphere3(int32_t x, int32_t y, int32_t z, int32_t r);
165
179 CFLSphere3(const CFLPoint3<float>& flpCenter, double f64Radius);
180
194 CFLSphere3(const CFLPoint3<double>& flpCenter, double f64Radius);
195
209 CFLSphere3(const CFLPoint3<float>* pFlpCenter, double f64Radius);
210
224 CFLSphere3(const CFLPoint3<double>* pFlpCenter, double f64Radius);
225
239 CFLSphere3(const Base::TPoint3<float>& tpCenter, double f64Radius);
240
254 CFLSphere3(const Base::TPoint3<double>& tpCenter, double f64Radius);
255
269 CFLSphere3(const Base::TPoint3<float>* pTpCenter, double f64Radius);
270
284 CFLSphere3(const Base::TPoint3<double>* pTpCenter, double f64Radius);
285
298
310 CFLSphere3(const CFLFigure* pFlf);
311
325 virtual const CResult Set(const CFLSphere3<float>& flsp);
326
340 virtual const CResult Set(const CFLSphere3<double>& flsp);
341
355 virtual const CResult Set(const CFLSphere3<float>* pFlsp);
356
370 virtual const CResult Set(const CFLSphere3<double>* pFlsp);
371
391 virtual const CResult Set(double x, double y, double z, double r);
392
412 virtual const CResult Set(float x, float y, float z, float r);
413
433 virtual const CResult Set(int64_t x, int64_t y, int64_t z, int64_t r);
434
454 virtual const CResult Set(int32_t x, int32_t y, int32_t z, int32_t r);
455
473 virtual const CResult Set(const CFLPoint3<float>& flpCenter, double f64Radius);
474
492 virtual const CResult Set(const CFLPoint3<double>& flpCenter, double f64Radius);
493
511 virtual const CResult Set(const CFLPoint3<float>* pFlpCenter, double f64Radius);
512
530 virtual const CResult Set(const CFLPoint3<double>* pFlpCenter, double f64Radius);
531
549 virtual const CResult Set(const Base::TPoint3<float>& tpCenter, double f64Radius);
550
568 virtual const CResult Set(const Base::TPoint3<double>& tpCenter, double f64Radius);
569
587 virtual const CResult Set(const Base::TPoint3<float>* pTpCenter, double f64Radius);
588
606 virtual const CResult Set(const Base::TPoint3<double>* pTpCenter, double f64Radius);
607
608 virtual const CResult Set(const CFLFigure& flf) override;
609 virtual const CResult Set(const CFLFigure* pFlf) override;
610
634 virtual const CResult Fit(const Base::CFLArray<Base::TPoint3<double>>& flaPoints, int64_t i64OutlierThresholdCount = 0, double f64OutlierThreshold = 3., Base::CFLArray<int64_t>* pFlaOutlierIndices = nullptr);
635
659 virtual const CResult Fit(const Base::CFLArray<Base::TPoint3<float>>& flaPoints, int64_t i64OutlierThresholdCount = 0, double f64OutlierThreshold = 3., Base::CFLArray<int64_t>* pFlaOutlierIndices = nullptr);
660
684 virtual const CResult Fit(const Base::CFLArray<Base::TPoint3<double>>* pFlaPoints, int64_t i64OutlierThresholdCount = 0, double f64OutlierThreshold = 3., Base::CFLArray<int64_t>* pFlaOutlierIndices = nullptr);
685
709 virtual const CResult Fit(const Base::CFLArray<Base::TPoint3<float>>* pFlaPoints, int64_t i64OutlierThresholdCount = 0, double f64OutlierThreshold = 3., Base::CFLArray<int64_t>* pFlaOutlierIndices = nullptr);
710
734 virtual const CResult Fit(const CFLPointArray3<double>& flpaPoints, int64_t i64OutlierThresholdCount = 0, double f64OutlierThreshold = 3., Base::CFLArray<int64_t>* pFlaOutlierIndices = nullptr);
735
759 virtual const CResult Fit(const CFLPointArray3<float>& flpaPoints, int64_t i64OutlierThresholdCount = 0, double f64OutlierThreshold = 3., Base::CFLArray<int64_t>* pFlaOutlierIndices = nullptr);
760
784 virtual const CResult Fit(const CFLPointArray3<double>* pFlpaPoints, int64_t i64OutlierThresholdCount = 0, double f64OutlierThreshold = 3., Base::CFLArray<int64_t>* pFlaOutlierIndices = nullptr);
785
809 virtual const CResult Fit(const CFLPointArray3<float>* pFlpaPoints, int64_t i64OutlierThresholdCount = 0, double f64OutlierThreshold = 3., Base::CFLArray<int64_t>* pFlaOutlierIndices = nullptr);
810
824 virtual const CResult SetRadius(T tRadius);
825
839 virtual const CResult GetRadius(T& tRadius) const;
840
850 virtual T GetRadius() const;
851
852 virtual void Clear() override;
853
854 virtual EFigureDeclType GetDeclType() const override;
855 virtual EFigureTemplateType GetTemplateType() const override;
856
858 virtual bool IsSpecEqual(const CFLFigure* pFlfRhs, EFigureSpecCompareType eSpecType = EFigureSpecCompareType_Coordinates) const override;
859
860 using CFLFigure::Swap;
861 virtual const CResult Swap(CFLFigure* pFlfRight) override;
862
863 virtual double GetArea() const override;
864 virtual double GetVolume() const override;
865
866 virtual CFLPoint3<double> GetCenter3D() const override;
867
869 virtual const CResult GetCenter(double& x, double& y, double& z) const override;
870
871 virtual CFLPoint3<double> GetCenterOfGravity3D() const override;
872
874 virtual const CResult GetCenterOfGravity(double& x, double& y, double& z) const override;
875
876 virtual CFLPoint3<double> GetCenterOfVertices3D() const override;
877
879 virtual const CResult GetCenterOfVertices(double& x, double& y, double& z) const override;
880
881 using CFLFigure3::Offset;
882 virtual const CResult Offset(double x, double y, double z) override;
883
885 virtual const CResult Multiply(double x, double y, double z) override;
886
887
899 bool operator==(const CFLSphere3<float>& flsp) const;
900
912 bool operator==(const CFLSphere3<double>& flsp) const;
913
925 bool operator!=(const CFLSphere3<float>& flsp) const;
926
938 bool operator!=(const CFLSphere3<double>& flsp) const;
939
952
965
977 const CFLSphere3<T>& operator+=(const double& value);
978
993
1008
1023
1038
1050 const CFLSphere3<T>& operator-=(const double& value);
1051
1066
1081
1096
1111
1123 const CFLSphere3<T>& operator*=(const double& value);
1124
1139
1154
1169
1184
1196 const CFLSphere3<T>& operator/=(const double& value);
1197
1212
1227
1242
1257
1269 CFLSphere3<T> operator+(const double& value) const;
1270
1285
1300
1315
1330
1342 CFLSphere3<T> operator-(const double& value) const;
1343
1358
1373
1388
1403
1415 CFLSphere3<T> operator*(const double& value) const;
1416
1431
1446
1461
1476
1488 CFLSphere3<T> operator/(const double& value) const;
1489
1504
1519
1534
1549
1560
1574 friend CFLSphere3<T> operator+(const double& value, const CFLSphere3<T>& flsp)
1575 {
1576 CFLSphere3<T> t(flsp);
1577 t += value;
1578 return t;
1579 }
1580
1594 friend CFLSphere3<T> operator-(const double& value, const CFLSphere3<T>& flsp)
1595 {
1596 CFLSphere3<T> t(flsp);
1597 t *= -1.;
1598 t += value;
1599 return t;
1600 }
1601
1615 friend CFLSphere3<T> operator*(const double& value, const CFLSphere3<T>& flsp)
1616 {
1617 CFLSphere3<T> t(flsp);
1618 t *= value;
1619 return t;
1620 }
1621
1635 friend CFLSphere3<T> operator/(const double& value, const CFLSphere3<T>& flsp)
1636 {
1637 CFLSphere3<T> t(flsp);
1638 t.flpCenter = value / flsp.flpCenter;
1639 return t;
1640 }
1641
1642
1656 virtual bool Contains(const Base::TPoint3<float>& tp3) const;
1657
1671 virtual bool Contains(const Base::TPoint3<double>& tp3) const;
1672
1686 virtual bool Contains(const Base::TPoint3<float>* pTp3) const;
1687
1701 virtual bool Contains(const Base::TPoint3<double>* pTp3) const;
1702
1716 virtual bool Contains(const CFLPoint3<float>& flp3) const;
1717
1731 virtual bool Contains(const CFLPoint3<double>& flp3) const;
1732
1746 virtual bool Contains(const CFLPoint3<float>* pFlp3) const;
1747
1761 virtual bool Contains(const CFLPoint3<double>* pFlp3) const;
1762
1784 virtual const CResult Contains(const Base::CFLArray<Base::TPoint3<float>>& flaVertices, Base::CFLArray<int32_t>& flaResult, bool bClearResult = true) const;
1785
1807 virtual const CResult Contains(const Base::CFLArray<Base::TPoint3<double>>& flaVertices, Base::CFLArray<int32_t>& flaResult, bool bClearResult = true) const;
1808
1830 virtual const CResult Contains(const Base::CFLArray<Base::TPoint3<float>>* pFlaVertices, Base::CFLArray<int32_t>& flaResult, bool bClearResult = true) const;
1831
1853 virtual const CResult Contains(const Base::CFLArray<Base::TPoint3<double>>* pFlaVertices, Base::CFLArray<int32_t>& flaResult, bool bClearResult = true) const;
1854
1878 virtual const CResult Contains(const Base::CFLArray<Base::TPoint3<float>>& flaVertices, const Base::CFLArray<int32_t>& flaTargetIndex, Base::CFLArray<int32_t>& flaResult, bool bClearResult = true) const;
1879
1903 virtual const CResult Contains(const Base::CFLArray<Base::TPoint3<double>>& flaVertices, const Base::CFLArray<int32_t>& flaTargetIndex, Base::CFLArray<int32_t>& flaResult, bool bClearResult = true) const;
1904
1928 virtual const CResult Contains(const Base::CFLArray<Base::TPoint3<float>>* pFlaVertices, const Base::CFLArray<int32_t>& flaTargetIndex, Base::CFLArray<int32_t>& flaResult, bool bClearResult = true) const;
1929
1953 virtual const CResult Contains(const Base::CFLArray<Base::TPoint3<double>>* pFlaVertices, const Base::CFLArray<int32_t>& flaTargetIndex, Base::CFLArray<int32_t>& flaResult, bool bClearResult = true) const;
1954
1955 using CFLFigure3::Rotate;
1956 virtual const CResult Rotate(const CFLGeometry3DQuaternion<float>* pQuat, const CFLPoint3<float>* pFlp3Pivot = nullptr) override;
1957 virtual const CResult Rotate(const CFLGeometry3DQuaternion<double>* pQuat, const CFLPoint3<double>* pFlp3Pivot = nullptr) override;
1958
1959 using CFLFigure3::Scale;
1960 virtual const CResult Scale(double f64PivotX, double f64PivotY, double f64PivotZ, double f64ScaleX, double f64ScaleY, double f64ScaleZ) override;
1961
1963 virtual const CResult Transform(const CMatrix<float>* pMatTransform) override;
1964 virtual const CResult Transform(const CMatrix<double>* pMatTransform) override;
1965
1967 virtual const CResult GetBoundingBox(double& f64MinX, double& f64MinY, double& f64MinZ, double& f64MaxX, double& f64MaxY, double& f64MaxZ) const override;
1968 virtual const CResult GetBoundingBox(float& f32MinX, float& f32MinY, float& f32MinZ, float& f32MaxX, float& f32MaxY, float& f32MaxZ) const override;
1969
1970
1971 protected:
1972 virtual CFLPoint<double> GetCenter() const override;
1973 virtual CFLPoint<double> GetCenterOfGravity() const override;
1974
1975
1976 SupportToDuplicateObject(CFLSphere3<T>, *this);
1977 DeclareGetClassType();
1978 };
1979
1980 typedef CFLSphere3<float> CFLSphere3F;
1981 typedef CFLSphere3<double> CFLSphere3D;
1982 }
1983}
Template type array class.
Definition FLArray.h:71
Simplified class representing a 3-D point.
Definition TPoint3.h:37
FLImaging module execution result object.
Definition ResultsDef.h:1704
virtual const CResult Offset(double x, double y) override
virtual const CResult Transform(const CMatrixFor3DTransform< float > &matTransform)
Transform the object using a transformation matrix.
virtual const CResult GetCenterOfVertices(double &x, double &y, double &z) const
virtual const CResult Multiply(double x, double y) override
virtual const CResult GetCenter(double &x, double &y) const override
virtual const CResult GetBoundingBox(Base::TPoint3< float > &tp3Min, Base::TPoint3< float > &tp3Max) const
Returns the bounding box (AABB).
virtual const CResult Scale(double f64Scale)
virtual const CResult GetCenterOfGravity(double &x, double &y) const override
virtual const CResult Rotate(const CFLGeometry3DQuaternion< float > &quat, const CFLPoint3< float > &flp3Pivot)
A base class of classes representing figures.
Definition FLFigure.h:27
virtual bool IsSpecEqual(const CFLFigure &flfRhs, EFigureSpecCompareType eSpecType=EFigureSpecCompareType_Coordinates) const
virtual const CResult Swap(CFLFigure &flfRight)
A class representing quaternion.
Definition FLGeometry3DQuaternion.h:30
A class representing a 3D point.
Definition FLPoint3.h:40
A base class representing array of 3d point.
Definition FLPointArray3.h:24
A class representing a point.
Definition FLPoint.h:24
A class representing sphere.
Definition FLSphere3.h:25
virtual const CResult Contains(const Base::CFLArray< Base::TPoint3< double > > &flaVertices, Base::CFLArray< int32_t > &flaResult, bool bClearResult=true) const
Returns an array of indices of vertices located inside this object.
CFLSphere3< T > operator*(const Base::TPoint3< double > &tpPoint) const
An operator that multiplies the x,y and z values of center by a parameter.
const CFLSphere3< T > & operator+=(const Base::TPoint3< float > &tpPoint)
Offset operator.
virtual const CResult GetCenter(double &x, double &y, double &z) const override
CFLSphere3< T > operator/(const Base::TPoint3< double > &tpPoint) const
An operator that divides the x,y and z values of center by a parameter.
virtual bool Contains(const Base::TPoint3< double > *pTp3) const
Returns whether the vertex is inside this object.
CFLSphere3< T > operator-(const Base::TPoint3< float > &tpPoint) const
Offset operator.
virtual CFLPoint< double > GetCenter() const override
CFLSphere3< T > operator*(const CFLPoint3< float > &flpPoint) const
An operator that multiplies the x,y and z values of center by a parameter.
CFLSphere3< T > operator/(const CFLPoint3< double > &flpPoint) const
An operator that divides the x,y and z values of center by a parameter.
virtual const CResult Scale(double f64PivotX, double f64PivotY, double f64PivotZ, double f64ScaleX, double f64ScaleY, double f64ScaleZ) override
friend CFLSphere3< T > operator-(const double &value, const CFLSphere3< T > &flsp)
Offset operator.
Definition FLSphere3.h:1594
virtual const CResult Fit(const CFLPointArray3< double > &flpaPoints, int64_t i64OutlierThresholdCount=0, double f64OutlierThreshold=3., Base::CFLArray< int64_t > *pFlaOutlierIndices=nullptr)
A function that fits the sphere with the shape most similar to the points.
bool operator==(const CFLSphere3< double > &flsp) const
Comparison operator.
CFLSphere3(const CFLPoint3< double > &flpCenter, double f64Radius)
Initializer.
virtual const CResult Transform(const CMatrix< float > *pMatTransform) override
Transforms the object.
virtual bool Contains(const CFLPoint3< float > *pFlp3) const
Returns whether the vertex is inside this object.
virtual const CResult Rotate(const CFLGeometry3DQuaternion< double > *pQuat, const CFLPoint3< double > *pFlp3Pivot=nullptr) override
const CFLSphere3< T > & operator+=(const CFLPoint3< double > &flpPoint)
Offset operator.
CFLSphere3< T > operator+(const Base::TPoint3< double > &tpPoint) const
Offset operator.
virtual CFLPoint3< double > GetCenterOfGravity3D() const override
virtual bool Contains(const Base::TPoint3< float > &tp3) const
Returns whether the vertex is inside this object.
virtual const CResult Set(int64_t x, int64_t y, int64_t z, int64_t r)
Parameter setting function.
CFLSphere3< T > operator+(const CFLPoint3< double > &flpPoint) const
Offset operator.
CFLSphere3(const CFLPoint3< double > *pFlpCenter, double f64Radius)
Initializer.
virtual const CResult Set(const CFLSphere3< double > *pFlsp)
Parameter setting function.
virtual const CResult GetBoundingBox(double &f64MinX, double &f64MinY, double &f64MinZ, double &f64MaxX, double &f64MaxY, double &f64MaxZ) const override
Returns the bounding box (AABB).
virtual const CResult Contains(const Base::CFLArray< Base::TPoint3< float > > *pFlaVertices, const Base::CFLArray< int32_t > &flaTargetIndex, Base::CFLArray< int32_t > &flaResult, bool bClearResult=true) const
Returns an array of indices of vertices located inside this object.
virtual const CResult Offset(double x, double y, double z) override
CFLSphere3(const CFLFigure *pFlf)
Initializer.
CFLSphere3(const Base::TPoint3< float > &tpCenter, double f64Radius)
Initializer.
virtual double GetArea() const override
CFLSphere3(double x, double y, double z, double r)
Initializer.
CFLSphere3(const CFLSphere3< double > *pRhs)
copy constructor
virtual CFLPoint< double > GetCenterOfGravity() const override
friend CFLSphere3< T > operator/(const double &value, const CFLSphere3< T > &flsp)
An operator that divides the x, y, z values of center into parameters.
Definition FLSphere3.h:1635
virtual const CResult Set(float x, float y, float z, float r)
Parameter setting function.
CFLSphere3(int32_t x, int32_t y, int32_t z, int32_t r)
Initializer.
virtual const CResult GetCenterOfGravity(double &x, double &y, double &z) const override
Get the center of gravity (geometric center) of the 3D object.
CFLSphere3(const CFLFigure &flf)
Initializer.
const CFLSphere3< T > & operator/=(const Base::TPoint3< float > &tpPoint)
An operator that divides the x,y,z values of center.
CFLSphere3< T > operator/(const double &value) const
An operator that divides the x,y and z values of center by a parameter.
CFLSphere3(const CFLSphere3< float > *pRhs)
copy constructor
virtual const CResult Contains(const Base::CFLArray< Base::TPoint3< float > > &flaVertices, Base::CFLArray< int32_t > &flaResult, bool bClearResult=true) const
Returns an array of indices of vertices located inside this object.
virtual const CResult Fit(const CFLPointArray3< float > &flpaPoints, int64_t i64OutlierThresholdCount=0, double f64OutlierThreshold=3., Base::CFLArray< int64_t > *pFlaOutlierIndices=nullptr)
A function that fits the sphere with the shape most similar to the points.
virtual bool Contains(const Base::TPoint3< float > *pTp3) const
Returns whether the vertex is inside this object.
CFLSphere3< T > operator-(const double &value) const
Offset operator.
virtual const CResult Fit(const Base::CFLArray< Base::TPoint3< float > > *pFlaPoints, int64_t i64OutlierThresholdCount=0, double f64OutlierThreshold=3., Base::CFLArray< int64_t > *pFlaOutlierIndices=nullptr)
A function that fits the sphere with the shape most similar to the points.
virtual const CResult Set(const Base::TPoint3< double > &tpCenter, double f64Radius)
Parameter setting function.
virtual const CResult GetBoundingBox(float &f32MinX, float &f32MinY, float &f32MinZ, float &f32MaxX, float &f32MaxY, float &f32MaxZ) const override
Returns the bounding box (AABB).
virtual bool Contains(const Base::TPoint3< double > &tp3) const
Returns whether the vertex is inside this object.
const CFLSphere3< T > & operator*=(const CFLPoint3< double > &flpPoint)
An operator that multiplies the x,y,z values of center.
float radius
Definition FLSphere3.h:40
CFLSphere3(const Base::TPoint3< double > &tpCenter, double f64Radius)
Initializer.
virtual const CResult Swap(CFLFigure *pFlfRight) override
CFLSphere3< T > operator+(const double &value) const
Offset operator.
virtual const CResult Fit(const Base::CFLArray< Base::TPoint3< double > > *pFlaPoints, int64_t i64OutlierThresholdCount=0, double f64OutlierThreshold=3., Base::CFLArray< int64_t > *pFlaOutlierIndices=nullptr)
A function that fits the sphere with the shape most similar to the points.
virtual EFigureDeclType GetDeclType() const override
virtual const CResult Contains(const Base::CFLArray< Base::TPoint3< float > > &flaVertices, const Base::CFLArray< int32_t > &flaTargetIndex, Base::CFLArray< int32_t > &flaResult, bool bClearResult=true) const
Returns an array of indices of vertices located inside this object.
friend CFLSphere3< T > operator+(const double &value, const CFLSphere3< T > &flsp)
Offset operator.
Definition FLSphere3.h:1574
virtual bool Contains(const CFLPoint3< double > &flp3) const
Returns whether the vertex is inside this object.
const CFLSphere3< T > & operator=(const CFLSphere3< double > &rhs)
Assignment operator.
CFLSphere3(const CFLSphere3< float > &rhs)
copy constructor
virtual const CResult Contains(const Base::CFLArray< Base::TPoint3< double > > &flaVertices, const Base::CFLArray< int32_t > &flaTargetIndex, Base::CFLArray< int32_t > &flaResult, bool bClearResult=true) const
Returns an array of indices of vertices located inside this object.
CFLSphere3(const Base::TPoint3< float > *pTpCenter, double f64Radius)
Initializer.
virtual const CResult Set(const CFLSphere3< float > &flsp)
Parameter setting function.
CFLSphere3(int64_t x, int64_t y, int64_t z, int64_t r)
Initializer.
virtual const CResult GetCenterOfVertices(double &x, double &y, double &z) const override
CFLSphere3< T > operator+(const Base::TPoint3< float > &tpPoint) const
Offset operator.
virtual const CResult Set(const Base::TPoint3< float > *pTpCenter, double f64Radius)
Parameter setting function.
const CFLSphere3< T > & operator+=(const double &value)
Offset operator.
virtual const CResult SetRadius(T tRadius)
Function to set radius of sphere.
virtual bool Contains(const CFLPoint3< float > &flp3) const
Returns whether the vertex is inside this object.
bool operator!=(const CFLSphere3< double > &flsp) const
Comparison operator.
virtual const CResult Set(const CFLPoint3< double > &flpCenter, double f64Radius)
Parameter setting function.
virtual const CResult Set(const CFLPoint3< double > *pFlpCenter, double f64Radius)
Parameter setting function.
virtual const CResult Fit(const CFLPointArray3< double > *pFlpaPoints, int64_t i64OutlierThresholdCount=0, double f64OutlierThreshold=3., Base::CFLArray< int64_t > *pFlaOutlierIndices=nullptr)
A function that fits the sphere with the shape most similar to the points.
CFLSphere3< T > operator/(const CFLPoint3< float > &flpPoint) const
An operator that divides the x,y and z values of center by a parameter.
virtual const CResult Contains(const Base::CFLArray< Base::TPoint3< double > > *pFlaVertices, Base::CFLArray< int32_t > &flaResult, bool bClearResult=true) const
Returns an array of indices of vertices located inside this object.
bool operator==(const CFLSphere3< float > &flsp) const
Comparison operator.
CFLSphere3< T > operator-(const CFLPoint3< float > &flpPoint) const
Offset operator.
virtual const CResult Transform(const CMatrix< double > *pMatTransform) override
Transforms the object.
virtual const CResult Set(int32_t x, int32_t y, int32_t z, int32_t r)
Parameter setting function.
virtual const CResult Multiply(double x, double y, double z) override
virtual const CResult Set(const CFLSphere3< double > &flsp)
Parameter setting function.
const CFLSphere3< T > & operator/=(const double &value)
An operator that divides the x,y,z values of center.
virtual const CResult Set(const CFLSphere3< float > *pFlsp)
Parameter setting function.
CFLSphere3< T > operator-(const Base::TPoint3< double > &tpPoint) const
Offset operator.
const CFLSphere3< T > & operator/=(const CFLPoint3< double > &flpPoint)
An operator that divides the x,y,z values of center.
const CFLSphere3< T > & operator-=(const Base::TPoint3< double > &tpPoint)
Offset operator.
virtual bool Contains(const CFLPoint3< double > *pFlp3) const
Returns whether the vertex is inside this object.
const CFLSphere3< T > & operator*=(const CFLPoint3< float > &flpPoint)
An operator that multiplies the x,y,z values of center.
virtual double GetVolume() const override
CFLSphere3(const CFLPoint3< float > &flpCenter, double f64Radius)
Initializer.
const CFLSphere3< T > & operator=(const CFLSphere3< float > &rhs)
Assignment operator.
virtual const CResult Set(const CFLPoint3< float > &flpCenter, double f64Radius)
Parameter setting function.
const CFLSphere3< T > & operator-=(const CFLPoint3< float > &flpPoint)
Offset operator.
virtual CFLPoint3< double > GetCenter3D() const override
const CFLSphere3< T > & operator+=(const CFLPoint3< float > &flpPoint)
Offset operator.
CFLSphere3< T > operator*(const Base::TPoint3< float > &tpPoint) const
An operator that multiplies the x,y and z values of center by a parameter.
virtual const CResult Contains(const Base::CFLArray< Base::TPoint3< double > > *pFlaVertices, const Base::CFLArray< int32_t > &flaTargetIndex, Base::CFLArray< int32_t > &flaResult, bool bClearResult=true) const
Returns an array of indices of vertices located inside this object.
const CFLSphere3< T > & operator-=(const CFLPoint3< double > &flpPoint)
Offset operator.
virtual T GetRadius() const
Function to get the radius.
virtual const CResult Set(const CFLPoint3< float > *pFlpCenter, double f64Radius)
Parameter setting function.
const CFLSphere3< T > & operator-=(const double &value)
Offset operator.
const CFLSphere3< T > & operator/=(const CFLPoint3< float > &flpPoint)
An operator that divides the x,y,z values of center.
const CFLSphere3< T > & operator+=(const Base::TPoint3< double > &tpPoint)
Offset operator.
virtual const CResult Fit(const Base::CFLArray< Base::TPoint3< float > > &flaPoints, int64_t i64OutlierThresholdCount=0, double f64OutlierThreshold=3., Base::CFLArray< int64_t > *pFlaOutlierIndices=nullptr)
A function that fits the sphere with the shape most similar to the points.
CFLSphere3< T > operator+(const CFLPoint3< float > &flpPoint) const
Offset operator.
CFLSphere3< T > operator/(const Base::TPoint3< float > &tpPoint) const
An operator that divides the x,y and z values of center by a parameter.
virtual const CResult Set(const Base::TPoint3< float > &tpCenter, double f64Radius)
Parameter setting function.
bool operator!=(const CFLSphere3< float > &flsp) const
Comparison operator.
CFLSphere3< T > operator-() const
An operator that returns a point with the signs of x, y and z values inverted.
virtual const CResult Set(double x, double y, double z, double r)
Parameter setting function.
virtual const CResult Set(const CFLFigure &flf) override
const CFLSphere3< T > & operator/=(const Base::TPoint3< double > &tpPoint)
An operator that divides the x,y,z values of center.
virtual const CResult Set(const CFLFigure *pFlf) override
const CFLSphere3< T > & operator*=(const double &value)
An operator that multiplies the x,y,z values of center.
CFLSphere3(const CFLPoint3< float > *pFlpCenter, double f64Radius)
Initializer.
CFLSphere3(float x, float y, float z, float r)
Initializer.
virtual EFigureTemplateType GetTemplateType() const override
const CFLSphere3< T > & operator-=(const Base::TPoint3< float > &tpPoint)
Offset operator.
virtual void Clear() override
Clear an object's variable.
CFLSphere3< T > operator-(const CFLPoint3< double > &flpPoint) const
Offset operator.
CFLPoint3< float > flpCenter
Definition FLSphere3.h:31
CFLSphere3< T > operator*(const double &value) const
An operator that multiplies the x,y and z values of center by a parameter.
virtual const CResult Set(const Base::TPoint3< double > *pTpCenter, double f64Radius)
Parameter setting function.
virtual const CResult Fit(const Base::CFLArray< Base::TPoint3< double > > &flaPoints, int64_t i64OutlierThresholdCount=0, double f64OutlierThreshold=3., Base::CFLArray< int64_t > *pFlaOutlierIndices=nullptr)
A function that fits the sphere with the shape most similar to the points.
CFLSphere3< T > operator*(const CFLPoint3< double > &flpPoint) const
An operator that multiplies the x,y and z values of center by a parameter.
virtual CFLPoint3< double > GetCenterOfVertices3D() const override
virtual const CResult Contains(const Base::CFLArray< Base::TPoint3< float > > *pFlaVertices, Base::CFLArray< int32_t > &flaResult, bool bClearResult=true) const
Returns an array of indices of vertices located inside this object.
virtual const CResult Rotate(const CFLGeometry3DQuaternion< float > *pQuat, const CFLPoint3< float > *pFlp3Pivot=nullptr) override
CFLSphere3(const CFLSphere3< double > &rhs)
copy constructor
friend CFLSphere3< T > operator*(const double &value, const CFLSphere3< T > &flsp)
An operator that multiplies the x, y, and z values of center.
Definition FLSphere3.h:1615
virtual bool IsSpecEqual(const CFLFigure *pFlfRhs, EFigureSpecCompareType eSpecType=EFigureSpecCompareType_Coordinates) const override
virtual const CResult Fit(const CFLPointArray3< float > *pFlpaPoints, int64_t i64OutlierThresholdCount=0, double f64OutlierThreshold=3., Base::CFLArray< int64_t > *pFlaOutlierIndices=nullptr)
A function that fits the sphere with the shape most similar to the points.
CFLSphere3(const Base::TPoint3< double > *pTpCenter, double f64Radius)
Initializer.
virtual const CResult GetRadius(T &tRadius) const
Get radius.
const CFLSphere3< T > & operator*=(const Base::TPoint3< float > &tpPoint)
An operator that multiplies the x,y,z values of center.
const CFLSphere3< T > & operator*=(const Base::TPoint3< double > &tpPoint)
An operator that multiplies the x,y,z values of center.
A class representing matrix.
Definition Matrix.h:79
Definition AlgorithmBase.h:16
EFigureDeclType
Declare type of figure.
Definition DefinitionsFigure.h:33
EFigureTemplateType
Template type of figure.
Definition DefinitionsFigure.h:423
EFigureSpecCompareType
Definition DefinitionsFigure.h:3579
@ EFigureSpecCompareType_Coordinates
Definition DefinitionsFigure.h:3584