FLImaging 7.8.25.3
FLCone3.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 CFLCone3 : public CFLFigure3
25 {
26 public:
32
38
44
50
56
61 virtual ~CFLCone3();
62
73
84
95
106
118 CFLCone3(const CFLFigure& flf);
119
131 CFLCone3(const CFLFigure* pFlf);
132
150 CFLCone3(const CFLPoint3<T>& flpTopCenter, double f64TopRadius, const CFLPoint3<T>& flpBottomCenter, double f64BottomRadius);
151
169 CFLCone3(const CFLPoint3<T>* pFlpTopCenter, double f64TopRadius, const CFLPoint3<T>* pFlpBottomCenter, double f64BottomRadius);
170
184 virtual const CResult Set(const CFLCone3<float>& flCone3);
185
199 virtual const CResult Set(const CFLCone3<double>& flCone3);
200
214 virtual const CResult Set(const CFLCone3<float>* pFlCone3);
215
229 virtual const CResult Set(const CFLCone3<double>* pFlCone3);
230
244 virtual const CResult Set(const CFLCircle3<float>& flCircle3);
245
259 virtual const CResult Set(const CFLCircle3<double>& flCircle3);
260
274 virtual const CResult Set(const CFLCircle3<float>* pFlCircle3);
275
289 virtual const CResult Set(const CFLCircle3<double>* pFlCircle3);
290
291 virtual const CResult Set(const CFLFigure& flf) override;
292 virtual const CResult Set(const CFLFigure* pFlf) override;
293
315 virtual const CResult Set(const CFLPoint3<T>& flpTopCenter, double f64TopRadius, const CFLPoint3<T>& flpBottomCenter, double f64BottomRadius);
316
338 virtual const CResult Set(const CFLPoint3<T>* pFlpTopCenter, double f64TopRadius, const CFLPoint3<T>* pFlpBottomCenter, double f64BottomRadius);
339
353 virtual bool Contains(const Base::TPoint3<float>& tp3) const;
354
368 virtual bool Contains(const Base::TPoint3<double>& tp3) const;
369
383 virtual bool Contains(const Base::TPoint3<float>* pTp3) const;
384
398 virtual bool Contains(const Base::TPoint3<double>* pTp3) const;
399
413 virtual bool Contains(const Foundation::CFLPoint3<float>& flp3) const;
414
428 virtual bool Contains(const Foundation::CFLPoint3<double>& flp3) const;
429
443 virtual bool Contains(const Foundation::CFLPoint3<float>* pFlp3) const;
444
458 virtual bool Contains(const Foundation::CFLPoint3<double>* pFlp3) const;
459
481 virtual const CResult Contains(const Base::CFLArray<Base::TPoint3<float>>& flaVertices, Base::CFLArray<int32_t>& flaResult, bool bClearResult = true) const;
482
504 virtual const CResult Contains(const Base::CFLArray<Base::TPoint3<double>>& flaVertices, Base::CFLArray<int32_t>& flaResult, bool bClearResult = true) const;
505
527 virtual const CResult Contains(const Base::CFLArray<Base::TPoint3<float>>* pFlaVertices, Base::CFLArray<int32_t>& flaResult, bool bClearResult = true) const;
528
550 virtual const CResult Contains(const Base::CFLArray<Base::TPoint3<double>>* pFlaVertices, Base::CFLArray<int32_t>& flaResult, bool bClearResult = true) const;
551
575 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;
576
600 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;
601
625 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;
626
650 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;
651
663 virtual bool IsCollision(const Base::TPoint3<float>& tp3Begin, const Base::TPoint3<float>& tp3End) const;
664
676 virtual bool IsCollision(const Base::TPoint3<double>& tp3Begin, const Base::TPoint3<double>& tp3End) const;
677
689 virtual bool IsCollision(const Base::TPoint3<float>* pTp3Begin, const Base::TPoint3<float>* pTp3End) const;
690
702 virtual bool IsCollision(const Base::TPoint3<double>* pTp3Begin, const Base::TPoint3<double>* pTp3End) const;
703
715 virtual bool IsCollision(const Foundation::CFLPoint3<float>& flp3Begin, const Foundation::CFLPoint3<float>& flp3End) const;
716
728 virtual bool IsCollision(const Foundation::CFLPoint3<double>& flp3Begin, const Foundation::CFLPoint3<double>& flp3End) const;
729
741 virtual bool IsCollision(const Foundation::CFLPoint3<float>* pFlp3Begin, const Foundation::CFLPoint3<float>* pFlp3End) const;
742
754 virtual bool IsCollision(const Foundation::CFLPoint3<double>* pFlp3Begin, const Foundation::CFLPoint3<double>* pFlp3End) const;
755
756 virtual void Clear() override;
757
758 virtual EFigureDeclType GetDeclType() const override;
759 virtual EFigureTemplateType GetTemplateType() const override;
760
762 virtual bool IsSpecEqual(const CFLFigure* pFlfRhs, EFigureSpecCompareType eSpecType = EFigureSpecCompareType_Coordinates) const override;
763
764 using CFLFigure::Swap;
765 virtual const CResult Swap(CFLFigure* pFlfRight) override;
766
767 virtual double GetArea() const override;
768 virtual double GetVolume() const override;
769
779 virtual double GetHeight() const override;
780
781 using CFLFigure3::Offset;
782 virtual const CResult Offset(double x, double y, double z) override;
783
785 virtual const CResult Multiply(double x, double y, double z) override;
786
788 virtual const CResult GetCenterOfGravity(double& x, double& y, double& z) const override;
789
791 virtual const CResult GetCenterOfVertices(double& x, double& y, double& z) const override;
792
805
818
830 const CFLCone3<T>& operator+=(const double& value);
831
845 const CFLCone3<T>& operator+=(const CFLPoint3<float>& flpPoint);
846
860 const CFLCone3<T>& operator+=(const CFLPoint3<double>& flpPoint);
861
876
891
903 const CFLCone3<T>& operator-=(const double& value);
904
918 const CFLCone3<T>& operator-=(const CFLPoint3<float>& flpPoint);
919
933 const CFLCone3<T>& operator-=(const CFLPoint3<double>& flpPoint);
934
949
964
976 const CFLCone3<T>& operator*=(const double& value);
977
991 const CFLCone3<T>& operator*=(const CFLPoint3<float>& flpPoint);
992
1007
1022
1037
1049 const CFLCone3<T>& operator/=(const double& value);
1050
1064 const CFLCone3<T>& operator/=(const CFLPoint3<float>& flpPoint);
1065
1080
1095
1110
1122 CFLCone3<T> operator+(const double& value) const;
1123
1138
1153
1168
1183
1195 CFLCone3<T> operator-(const double& value) const;
1196
1211
1226
1241
1256
1268 CFLCone3<T> operator*(const double& value) const;
1269
1284
1299
1314
1329
1341 CFLCone3<T> operator/(const double& value) const;
1342
1357
1372
1387
1402
1413
1427 friend CFLCone3<T> operator+(const double& value, const CFLCone3<T>& flCone3)
1428 {
1429 CFLCone3<T> t(flCone3);
1430 t += value;
1431 return t;
1432 }
1433
1447 friend CFLCone3<T> operator-(const double& value, const CFLCone3<T>& flCone3)
1448 {
1449 CFLCone3<T> t(flCone3);
1450 t *= -1.;
1451 t += value;
1452 return t;
1453 }
1454
1468 friend CFLCone3<T> operator*(const double& value, const CFLCone3<T>& flCone3)
1469 {
1470 CFLCone3<T> t(flCone3);
1471 t *= value;
1472 return t;
1473 }
1474
1488 friend CFLCone3<T> operator/(const double& value, const CFLCone3<T>& flCone3)
1489 {
1490 CFLCone3<T> t;
1491 t.flpTopCenter = value / flCone3.flpTopCenter;
1492 t.flpBottomCenter = value / flCone3.flpBottomCenter;
1493 return t;
1494 }
1495
1496 using CFLFigure3::Rotate;
1497 virtual const CResult Rotate(const CFLGeometry3DQuaternion<float>* pQuat, const CFLPoint3<float>* pFlp3Pivot = nullptr) override;
1498 virtual const CResult Rotate(const CFLGeometry3DQuaternion<double>* pQuat, const CFLPoint3<double>* pFlp3Pivot = nullptr) override;
1499
1500 using CFLFigure3::Scale;
1501 virtual const CResult Scale(double f64PivotX, double f64PivotY, double f64PivotZ, double f64ScaleX, double f64ScaleY, double f64ScaleZ) override;
1502
1504 virtual const CResult Transform(const CMatrix<float>* pMatTransform) override;
1505 virtual const CResult Transform(const CMatrix<double>* pMatTransform) override;
1506
1508 virtual const CResult GetBoundingBox(double& f64MinX, double& f64MinY, double& f64MinZ, double& f64MaxX, double& f64MaxY, double& f64MaxZ) const override;
1509 virtual const CResult GetBoundingBox(float& f32MinX, float& f32MinY, float& f32MinZ, float& f32MaxX, float& f32MaxY, float& f32MaxZ) const override;
1510
1511 protected:
1512 virtual CFLPoint<double> GetCenterOfGravity() const override;
1513
1514 SupportToDuplicateObject(CFLCone3<T>, *this);
1515 DeclareGetClassType();
1516 };
1517
1518 typedef CFLCone3<float> CFLCone3F;
1519 typedef CFLCone3<double> CFLCone3D;
1520 }
1521}
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
Represents a circle in 3D space.
Definition FLCircle3.h:26
A class representing a cone or a conical frustum with circular cross-sections.
Definition FLCone3.h:25
virtual EFigureTemplateType GetTemplateType() const override
CFLCone3(const CFLPoint3< T > &flpTopCenter, double f64TopRadius, const CFLPoint3< T > &flpBottomCenter, double f64BottomRadius)
Initializer.
friend CFLCone3< T > operator-(const double &value, const CFLCone3< T > &flCone3)
Offset operator.
Definition FLCone3.h:1447
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 frustum.
virtual const CResult Set(const CFLCircle3< float > &flCircle3)
Parameter setting function.
CFLCone3< T > operator/(const CFLPoint3< double > &flpPoint) const
An operator that divides the x,y and z values of each vertex by a parameter.
const CFLCone3< T > & operator/=(const Base::TPoint3< double > &tpPoint)
An operator that divides the x,y,z values of each vertex of a triangle by a parameter.
CFLCone3< T > operator*(const CFLPoint3< double > &flpPoint) const
An operator that multiplies the x,y and z values of each vertex by a parameter.
CFLCone3(const CFLCone3< float > *pRhs)
copy constructor
CFLCone3< T > operator*(const Base::TPoint3< float > &tpPoint) const
An operator that multiplies the x,y and z values of each vertex by a parameter.
float tTopRadius
Definition FLCone3.h:31
virtual bool Contains(const Foundation::CFLPoint3< double > &flp3) const
Returns whether the vertex is inside this object.
virtual const CResult Set(const CFLCone3< float > *pFlCone3)
Parameter setting function.
virtual bool IsCollision(const Base::TPoint3< double > *pTp3Begin, const Base::TPoint3< double > *pTp3End) const
const CFLCone3< T > & operator/=(const CFLPoint3< float > &flpPoint)
An operator that divides the x,y,z values of each vertex of a triangle by a parameter.
CFLCone3< T > operator-(const Base::TPoint3< double > &tpPoint) const
Offset operator.
virtual const CResult Scale(double f64PivotX, double f64PivotY, double f64PivotZ, double f64ScaleX, double f64ScaleY, double f64ScaleZ) override
virtual bool IsCollision(const Base::TPoint3< double > &tp3Begin, const Base::TPoint3< double > &tp3End) const
virtual const CResult Rotate(const CFLGeometry3DQuaternion< float > *pQuat, const CFLPoint3< float > *pFlp3Pivot=nullptr) override
CFLPoint3< float > flpBottomCenter
Definition FLCone3.h:49
virtual bool IsSpecEqual(const CFLFigure *pFlfRhs, EFigureSpecCompareType eSpecType=EFigureSpecCompareType_Coordinates) const override
const CFLCone3< T > & operator*=(const Base::TPoint3< double > &tpPoint)
An operator that multiplies the x,y,z values of each vertex of a triangle 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 frustum.
CFLCone3(const CFLCone3< float > &rhs)
copy constructor
float tBottomRadius
Definition FLCone3.h:37
virtual const CResult Multiply(double x, double y, double z) override
virtual const CResult Set(const CFLCircle3< double > *pFlCircle3)
Parameter setting function.
friend CFLCone3< T > operator+(const double &value, const CFLCone3< T > &flCone3)
Offset operator.
Definition FLCone3.h:1427
CFLCone3< T > operator*(const double &value) const
An operator that multiplies the x,y and z values of each vertex by a parameter.
CFLCone3< T > operator*(const CFLPoint3< float > &flpPoint) const
An operator that multiplies the x,y and z values of each vertex by a parameter.
virtual EFigureDeclType GetDeclType() const override
virtual bool IsCollision(const Base::TPoint3< float > &tp3Begin, const Base::TPoint3< float > &tp3End) const
CFLPoint3< float > flpTopCenter
Definition FLCone3.h:43
virtual double GetVolume() const override
virtual const CResult Transform(const CMatrix< double > *pMatTransform) override
Transforms the object.
virtual void Clear() override
Clear an object's variable.
CFLCone3< T > operator-(const double &value) const
Offset operator.
CFLCone3< T > operator/(const Base::TPoint3< float > &tpPoint) const
An operator that divides the x,y and z values of each vertex by a parameter.
virtual const CResult Set(const CFLPoint3< T > &flpTopCenter, double f64TopRadius, const CFLPoint3< T > &flpBottomCenter, double f64BottomRadius)
Parameter setting function.
friend CFLCone3< T > operator*(const double &value, const CFLCone3< T > &flCone3)
An operator that multiplies the x, y, and z values of each vertex of a triangle by a parameter.
Definition FLCone3.h:1468
CFLCone3< T > operator/(const double &value) const
An operator that divides the x,y and z values of each vertex by a parameter.
CFLCone3(const CFLCone3< double > *pRhs)
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 frustum.
virtual double GetArea() 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 frustum.
friend CFLCone3< T > operator/(const double &value, const CFLCone3< T > &flCone3)
An operator that divides the x, y, z values of each vertex into parameters.
Definition FLCone3.h:1488
virtual const CResult Set(const CFLCone3< double > *pFlCone3)
Parameter setting function.
CFLCone3< T > operator-(const CFLPoint3< float > &flpPoint) const
Offset operator.
CFLCone3< T > operator+(const Base::TPoint3< double > &tpPoint) const
Offset operator.
const CFLCone3< T > & operator=(const CFLCone3< float > &rhs)
Assignment operator.
CFLCone3< T > operator+(const double &value) const
Offset operator.
virtual bool Contains(const Base::TPoint3< double > &tp3) const
Returns whether the vertex is inside this object.
virtual bool IsCollision(const Foundation::CFLPoint3< float > *pFlp3Begin, const Foundation::CFLPoint3< float > *pFlp3End) const
const CFLCone3< T > & operator-=(const CFLPoint3< float > &flpPoint)
Offset operator.
CFLCone3< T > operator-() const
An operator that returns a point with the signs of x, y and z values inverted.
virtual bool IsCollision(const Foundation::CFLPoint3< double > *pFlp3Begin, const Foundation::CFLPoint3< double > *pFlp3End) const
CFLCone3(const CFLFigure &flf)
Initializer.
const CFLCone3< T > & operator-=(const CFLPoint3< double > &flpPoint)
Offset operator.
const CFLCone3< T > & operator-=(const Base::TPoint3< float > &tpPoint)
Offset operator.
const CFLCone3< T > & operator+=(const Base::TPoint3< float > &tpPoint)
Offset operator.
virtual const CResult Swap(CFLFigure *pFlfRight) override
const CFLCone3< T > & operator-=(const Base::TPoint3< double > &tpPoint)
Offset operator.
const CFLCone3< T > & operator/=(const CFLPoint3< double > &flpPoint)
An operator that divides the x,y,z values of each vertex of a triangle by a parameter.
CFLCone3(const CFLFigure *pFlf)
Initializer.
CFLCone3< T > operator+(const Base::TPoint3< float > &tpPoint) const
Offset operator.
virtual bool IsCollision(const Foundation::CFLPoint3< float > &flp3Begin, const Foundation::CFLPoint3< float > &flp3End) const
CFLCone3< T > operator-(const CFLPoint3< double > &flpPoint) const
Offset operator.
virtual bool Contains(const Foundation::CFLPoint3< float > *pFlp3) const
Returns whether the vertex is inside this object.
const CFLCone3< T > & operator+=(const Base::TPoint3< double > &tpPoint)
Offset operator.
CFLCone3(const CFLCone3< double > &rhs)
copy constructor
virtual const CResult Set(const CFLPoint3< T > *pFlpTopCenter, double f64TopRadius, const CFLPoint3< T > *pFlpBottomCenter, double f64BottomRadius)
Parameter setting function.
const CFLCone3< T > & operator+=(const double &value)
Offset operator.
virtual const CResult Set(const CFLFigure &flf) override
virtual const CResult Set(const CFLCone3< float > &flCone3)
Parameter setting function.
virtual bool Contains(const Base::TPoint3< float > *pTp3) const
Returns whether the vertex is inside this object.
virtual bool Contains(const Foundation::CFLPoint3< float > &flp3) const
Returns whether the vertex is inside this object.
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 Rotate(const CFLGeometry3DQuaternion< double > *pQuat, const CFLPoint3< double > *pFlp3Pivot=nullptr) override
CFLCone3< T > operator/(const CFLPoint3< float > &flpPoint) const
An operator that divides the x,y and z values of each vertex by a parameter.
const CFLCone3< T > & operator*=(const double &value)
An operator that multiplies the x,y,z values of each vertex of a triangle by a parameter.
CFLCone3(const CFLPoint3< T > *pFlpTopCenter, double f64TopRadius, const CFLPoint3< T > *pFlpBottomCenter, double f64BottomRadius)
Initializer.
const CFLCone3< T > & operator*=(const CFLPoint3< double > &flpPoint)
An operator that multiplies the x,y,z values of each vertex of a triangle 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 frustum.
virtual bool Contains(const Foundation::CFLPoint3< double > *pFlp3) const
Returns whether the vertex is inside this object.
const CFLCone3< T > & operator-=(const double &value)
Offset operator.
virtual const CResult Offset(double x, double y, double z) override
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 frustum.
virtual const CResult Set(const CFLFigure *pFlf) override
virtual double GetHeight() const override
Returns the length of the height vector of the cone or conical frustum.
CFLCone3< T > operator+(const CFLPoint3< float > &flpPoint) const
Offset operator.
CFLCone3< T > operator*(const Base::TPoint3< double > &tpPoint) const
An operator that multiplies the x,y and z values of each vertex by a parameter.
virtual const CResult Set(const CFLCone3< double > &flCone3)
Parameter setting function.
const CFLCone3< T > & operator=(const CFLCone3< double > &rhs)
Assignment operator.
virtual const CResult GetCenterOfGravity(double &x, double &y, double &z) const override
Get the center of gravity (geometric center) of the 3D object.
virtual const CResult Set(const CFLCircle3< double > &flCircle3)
Parameter setting function.
CFLCone3< T > operator-(const Base::TPoint3< float > &tpPoint) const
Offset operator.
const CFLCone3< T > & operator/=(const double &value)
An operator that divides the x,y,z values of each vertex of a triangle by a parameter.
CFLCone3< T > operator/(const Base::TPoint3< double > &tpPoint) const
An operator that divides the x,y and z values of each vertex by a parameter.
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 frustum.
const CFLCone3< T > & operator+=(const CFLPoint3< float > &flpPoint)
Offset operator.
virtual bool IsCollision(const Foundation::CFLPoint3< double > &flp3Begin, const Foundation::CFLPoint3< double > &flp3End) const
CFLCone3< T > operator+(const CFLPoint3< double > &flpPoint) const
Offset operator.
virtual CFLPoint< double > GetCenterOfGravity() const override
virtual const CResult Set(const CFLCircle3< float > *pFlCircle3)
Parameter setting function.
virtual const CResult Transform(const CMatrix< float > *pMatTransform) override
Transforms the object.
virtual bool IsCollision(const Base::TPoint3< float > *pTp3Begin, const Base::TPoint3< float > *pTp3End) const
const CFLCone3< T > & operator+=(const CFLPoint3< double > &flpPoint)
Offset operator.
virtual bool Contains(const Base::TPoint3< float > &tp3) const
Returns whether the vertex is inside this object.
const CFLCone3< T > & operator*=(const Base::TPoint3< float > &tpPoint)
An operator that multiplies the x,y,z values of each vertex of a triangle by a parameter.
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 frustum.
virtual const CResult GetBoundingBox(float &f32MinX, float &f32MinY, float &f32MinZ, float &f32MaxX, float &f32MaxY, float &f32MaxZ) const override
Returns the bounding box (AABB).
const CFLCone3< T > & operator*=(const CFLPoint3< float > &flpPoint)
An operator that multiplies the x,y,z values of each vertex of a triangle by a parameter.
const CFLCone3< T > & operator/=(const Base::TPoint3< float > &tpPoint)
An operator that divides the x,y,z values of each vertex of a triangle by a parameter.
virtual bool Contains(const Base::TPoint3< double > *pTp3) const
Returns whether the vertex is inside this object.
virtual const CResult GetCenterOfVertices(double &x, double &y, double &z) const override
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 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 class representing a point.
Definition FLPoint.h:24
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