FLImaging 7.8.25.3
FLQuad3.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 CFLQuad3 : public CFLFigure3
25 {
26 public:
32
38
43 virtual ~CFLQuad3();
44
76 CFLQuad3(int32_t x0, int32_t y0, int32_t z0, int32_t x1, int32_t y1, int32_t z1, int32_t x2, int32_t y2, int32_t z2, int32_t x3, int32_t y3, int32_t z3);
77
109 CFLQuad3(int64_t x0, int64_t y0, int64_t z0, int64_t x1, int64_t y1, int64_t z1, int64_t x2, int64_t y2, int64_t z2, int64_t x3, int64_t y3, int64_t z3);
110
142 CFLQuad3(float x0, float y0, float z0, float x1, float y1, float z1, float x2, float y2, float z2, float x3, float y3, float z3);
143
175 CFLQuad3(double x0, double y0, double z0, double x1, double y1, double z1, double x2, double y2, double z2, double x3, double y3, double z3);
176
194 CFLQuad3(const Base::TPoint3<float>& tpPoint0, const Base::TPoint3<float>& tpPoint1, const Base::TPoint3<float>& tpPoint2, const Base::TPoint3<float>& tpPoint3);
195
213 CFLQuad3(const Base::TPoint3<double>& tpPoint0, const Base::TPoint3<double>& tpPoint1, const Base::TPoint3<double>& tpPoint2, const Base::TPoint3<double>& tpPoint3);
214
232 CFLQuad3(const Base::TPoint3<float>* pTpPoint0, const Base::TPoint3<float>* pTpPoint1, const Base::TPoint3<float>* pTpPoint2, const Base::TPoint3<float>* pTpPoint3);
233
251 CFLQuad3(const Base::TPoint3<double>* pTpPoint0, const Base::TPoint3<double>* pTpPoint1, const Base::TPoint3<double>* pTpPoint2, const Base::TPoint3<double>* pTpPoint3);
252
270 CFLQuad3(const CFLPoint3<float>& flpPoint0, const CFLPoint3<float>& flpPoint1, const CFLPoint3<float>& flpPoint2, const CFLPoint3<float>& flpPoint3);
271
289 CFLQuad3(const CFLPoint3<double>& flpPoint0, const CFLPoint3<double>& flpPoint1, const CFLPoint3<double>& flpPoint2, const CFLPoint3<double>& flpPoint3);
290
308 CFLQuad3(const CFLPoint3<float>* pFlpPoint0, const CFLPoint3<float>* pFlpPoint1, const CFLPoint3<float>* pFlpPoint2, const CFLPoint3<float>* pFlpPoint3);
309
327 CFLQuad3(const CFLPoint3<double>* pFlpPoint0, const CFLPoint3<double>* pFlpPoint1, const CFLPoint3<double>* pFlpPoint2, const CFLPoint3<double>* pFlpPoint3);
328
341
354
367
380
390 CFLQuad3(const CFLQuad3<float>& flqQuad);
391
401 CFLQuad3(const CFLQuad3<double>& flqQuad);
402
412 CFLQuad3(const CFLQuad3<float>* pFlqQuad);
413
423 CFLQuad3(const CFLQuad3<double>* pFlqQuad);
424
437
450
463
476
488 CFLQuad3(const CFLQuad<float>& flqQuad);
489
501 CFLQuad3(const CFLQuad<double>& flqQuad);
502
514 CFLQuad3(const CFLQuad<float>* pFlqQuad);
515
527 CFLQuad3(const CFLQuad<double>* pFlqQuad);
528
540 CFLQuad3(const CFLFigure& flf);
541
553 CFLQuad3(const CFLFigure* pFlf);
554
569
584
596 const CFLQuad3<T>& operator=(const CFLQuad3<float>& flqQuad);
597
609 const CFLQuad3<T>& operator=(const CFLQuad3<double>& flqQuad);
610
625
640
654 const CFLQuad3<T>& operator=(const CFLQuad<float>& flqQuad);
655
669 const CFLQuad3<T>& operator=(const CFLQuad<double>& flqQuad);
670
682 const CFLQuad3<T>& operator+=(const double& value);
683
697 const CFLQuad3<T>& operator+=(const CFLPoint3<float>& flpPoint);
698
712 const CFLQuad3<T>& operator+=(const CFLPoint3<double>& flpPoint);
713
728
743
755 const CFLQuad3<T>& operator-=(const double& value);
756
770 const CFLQuad3<T>& operator-=(const CFLPoint3<float>& flpPoint);
771
785 const CFLQuad3<T>& operator-=(const CFLPoint3<double>& flpPoint);
786
801
816
828 const CFLQuad3<T>& operator*=(const double& value);
829
843 const CFLQuad3<T>& operator*=(const CFLPoint3<float>& flpPoint);
844
858 const CFLQuad3<T>& operator*=(const CFLPoint3<double>& flpPoint);
859
874
889
901 const CFLQuad3<T>& operator/=(const double& value);
902
916 const CFLQuad3<T>& operator/=(const CFLPoint3<float>& flpPoint);
917
931 const CFLQuad3<T>& operator/=(const CFLPoint3<double>& flpPoint);
932
947
962
974 CFLQuad3<T> operator+(const double& value) const;
975
990
1005
1020
1035
1047 CFLQuad3<T> operator-(const double& value) const;
1048
1063
1078
1093
1108
1120 CFLQuad3<T> operator*(const double& value) const;
1121
1136
1151
1166
1181
1193 CFLQuad3<T> operator/(const double& value) const;
1194
1209
1224
1239
1254
1265
1279 friend CFLQuad3<T> operator+(const double& value, const CFLQuad3<T>& quad)
1280 {
1281 CFLQuad3<T> t(quad);
1282 t += value;
1283 return t;
1284 }
1285
1299 friend CFLQuad3<T> operator-(const double& value, const CFLQuad3<T>& quad)
1300 {
1301 CFLQuad3<T> t(quad);
1302 t *= -1.;
1303 t += value;
1304 return t;
1305 }
1306
1320 friend CFLQuad3<T> operator*(const double& value, const CFLQuad3<T>& quad)
1321 {
1322 CFLQuad3<T> t(quad);
1323 t *= value;
1324 return t;
1325 }
1326
1340 friend CFLQuad3<T> operator/(const double& value, const CFLQuad3<T>& quad)
1341 {
1342 CFLQuad3<T> t;
1343
1344 t.flpPoints[0].x = (T)(value / quad.flpPoints[0].x);
1345 t.flpPoints[0].y = (T)(value / quad.flpPoints[0].y);
1346 t.flpPoints[0].z = (T)(value / quad.flpPoints[0].z);
1347 t.flpPoints[1].x = (T)(value / quad.flpPoints[1].x);
1348 t.flpPoints[1].y = (T)(value / quad.flpPoints[1].y);
1349 t.flpPoints[1].z = (T)(value / quad.flpPoints[1].z);
1350 t.flpPoints[2].x = (T)(value / quad.flpPoints[2].x);
1351 t.flpPoints[2].y = (T)(value / quad.flpPoints[2].y);
1352 t.flpPoints[2].z = (T)(value / quad.flpPoints[2].z);
1353 t.flpPoints[3].x = (T)(value / quad.flpPoints[3].x);
1354 t.flpPoints[3].y = (T)(value / quad.flpPoints[3].y);
1355 t.flpPoints[3].z = (T)(value / quad.flpPoints[3].z);
1356
1357 return t;
1358 }
1359
1395 virtual const CResult Set(int32_t x0, int32_t y0, int32_t z0, int32_t x1, int32_t y1, int32_t z1, int32_t x2, int32_t y2, int32_t z2, int32_t x3, int32_t y3, int32_t z3);
1396
1432 virtual const CResult Set(int64_t x0, int64_t y0, int64_t z0, int64_t x1, int64_t y1, int64_t z1, int64_t x2, int64_t y2, int64_t z2, int64_t x3, int64_t y3, int64_t z3);
1433
1469 virtual const CResult Set(float x0, float y0, float z0, float x1, float y1, float z1, float x2, float y2, float z2, float x3, float y3, float z3);
1470
1506 virtual const CResult Set(double x0, double y0, double z0, double x1, double y1, double z1, double x2, double y2, double z2, double x3, double y3, double z3);
1507
1529 virtual const CResult Set(const Base::TPoint3<float>& tpPoint0, const Base::TPoint3<float>& tpPoint1, const Base::TPoint3<float>& tpPoint2, const Base::TPoint3<float>& tpPoint3);
1530
1552 virtual const CResult Set(const Base::TPoint3<double>& tpPoint0, const Base::TPoint3<double>& tpPoint1, const Base::TPoint3<double>& tpPoint2, const Base::TPoint3<double>& tpPoint3);
1553
1575 virtual const CResult Set(const Base::TPoint3<float>* pTpPoint0, const Base::TPoint3<float>* pTpPoint1, const Base::TPoint3<float>* pTpPoint2, const Base::TPoint3<float>* pTpPoint3);
1576
1598 virtual const CResult Set(const Base::TPoint3<double>* pTpPoint0, const Base::TPoint3<double>* pTpPoint1, const Base::TPoint3<double>* pTpPoint2, const Base::TPoint3<double>* pTpPoint3);
1599
1621 virtual const CResult Set(const CFLPoint3<float>& flpPoint0, const CFLPoint3<float>& flpPoint1, const CFLPoint3<float>& flpPoint2, const CFLPoint3<float>& flpPoint3);
1622
1644 virtual const CResult Set(const CFLPoint3<double>& flpPoint0, const CFLPoint3<double>& flpPoint1, const CFLPoint3<double>& flpPoint2, const CFLPoint3<double>& flpPoint3);
1645
1667 virtual const CResult Set(const CFLPoint3<float>* pFlpPoint0, const CFLPoint3<float>* pFlpPoint1, const CFLPoint3<float>* pFlpPoint2, const CFLPoint3<float>* pFlpPoint3);
1668
1690 virtual const CResult Set(const CFLPoint3<double>* pFlpPoint0, const CFLPoint3<double>* pFlpPoint1, const CFLPoint3<double>* pFlpPoint2, const CFLPoint3<double>* pFlpPoint3);
1691
1707 virtual const CResult Set(const Base::TQuad3<float>& tqQuad);
1708
1724 virtual const CResult Set(const Base::TQuad3<double>& tqQuad);
1725
1741 virtual const CResult Set(const Base::TQuad3<float>* pTqQuad);
1742
1758 virtual const CResult Set(const Base::TQuad3<double>* pTqQuad);
1759
1773 virtual const CResult Set(const CFLQuad3<float>& flqQuad);
1774
1788 virtual const CResult Set(const CFLQuad3<double>& flqQuad);
1789
1803 virtual const CResult Set(const CFLQuad3<float>* pFlqQuad);
1804
1818 virtual const CResult Set(const CFLQuad3<double>* pFlqQuad);
1819
1835 virtual const CResult Set(const Base::TQuad<float>& tqQuad);
1836
1852 virtual const CResult Set(const Base::TQuad<double>& tqQuad);
1853
1869 virtual const CResult Set(const Base::TQuad<float>* pTqQuad);
1870
1886 virtual const CResult Set(const Base::TQuad<double>* pTqQuad);
1887
1903 virtual const CResult Set(const CFLQuad<float>& flqQuad);
1904
1920 virtual const CResult Set(const CFLQuad<double>& flqQuad);
1921
1937 virtual const CResult Set(const CFLQuad<float>* pFlqQuad);
1938
1954 virtual const CResult Set(const CFLQuad<double>* pFlqQuad);
1955
1956 virtual const CResult Set(const CFLFigure& flf) override;
1957 virtual const CResult Set(const CFLFigure* pFlf) override;
1958
1959 virtual void Clear() override;
1960
1961 virtual EFigureDeclType GetDeclType() const override;
1962 virtual EFigureTemplateType GetTemplateType() const override;
1963
1965 virtual bool IsSpecEqual(const CFLFigure* pFlfRhs, EFigureSpecCompareType eSpecType = EFigureSpecCompareType_Coordinates) const override;
1966
1967 using CFLFigure::Swap;
1968 virtual const CResult Swap(CFLFigure* pFlfRight) override;
1969
1971 virtual const CResult GetCenterOfGravity(double& x, double& y, double& z) const override;
1972
1974 virtual const CResult GetCenterOfVertices(double& x, double& y, double& z) const override;
1975
1976 using CFLFigure3::Offset;
1977 virtual const CResult Offset(double x, double y, double z) override;
1978
1980 virtual const CResult Multiply(double x, double y, double z) override;
1981
1982 using CFLFigure3::Rotate;
1983 virtual const CResult Rotate(const CFLGeometry3DQuaternion<float>* pQuat, const CFLPoint3<float>* pFlp3Pivot = nullptr) override;
1984 virtual const CResult Rotate(const CFLGeometry3DQuaternion<double>* pQuat, const CFLPoint3<double>* pFlp3Pivot = nullptr) override;
1985
1986 using CFLFigure3::Scale;
1987 virtual const CResult Scale(double f64PivotX, double f64PivotY, double f64PivotZ, double f64ScaleX, double f64ScaleY, double f64ScaleZ) override;
1988
1990 virtual const CResult Transform(const CMatrix<float>* pMatTransform) override;
1991 virtual const CResult Transform(const CMatrix<double>* pMatTransform) override;
1992
1994 virtual const CResult GetBoundingBox(double& f64MinX, double& f64MinY, double& f64MinZ, double& f64MaxX, double& f64MaxY, double& f64MaxZ) const override;
1995 virtual const CResult GetBoundingBox(float& f32MinX, float& f32MinY, float& f32MinZ, float& f32MaxX, float& f32MaxY, float& f32MaxZ) const override;
1996
1997 virtual const CResult ReverseSequence() override;
1998
2012 virtual const CResult ChangeOriginIndex(int64_t i64IndexToBeOrigin);
2013
2014
2015 protected:
2016 virtual CFLPoint<double> GetCenterOfGravity() const override;
2017
2018 SupportToDuplicateObject(CFLQuad3<T>, *this);
2019 DeclareGetClassType();
2020 };
2021
2022 typedef CFLQuad3<float> CFLQuad3F;
2023 typedef CFLQuad3<double> CFLQuad3D;
2024 }
2025}
Simplified class representing a 3-D point.
Definition TPoint3.h:37
Simplified class representing a quadrangle.
Definition TQuad3.h:38
Simplified class representing a quadrangle.
Definition TQuad.h:34
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 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
Ty z
Definition FLPoint3.h:58
Ty x
Definition FLPoint3.h:46
Ty y
Definition FLPoint3.h:52
A class representing a point.
Definition FLPoint.h:24
A class representing a 3D quadrangle.
Definition FLQuad3.h:25
friend CFLQuad3< T > operator*(const double &value, const CFLQuad3< T > &quad)
An operator that multiplies the x, y, and z values of each vertex of a quadrilateral by a parameter.
Definition FLQuad3.h:1320
CFLQuad3< T > operator+(const CFLPoint3< double > &flpPoint) const
Offset operator.
CFLQuad3(const CFLPoint3< double > &flpPoint0, const CFLPoint3< double > &flpPoint1, const CFLPoint3< double > &flpPoint2, const CFLPoint3< double > &flpPoint3)
initialization constructor
CFLQuad3< T > operator-(const Base::TPoint3< float > &tpPoint) const
Offset operator.
CFLQuad3(const CFLQuad3< float > *pFlqQuad)
copy constructor
const CFLQuad3< T > & operator/=(const Base::TPoint3< double > &tpPoint)
An operator that divides the x,y,z values of each vertex of a quadrilateral by a parameter.
const CFLQuad3< T > & operator-=(const double &value)
Offset operator.
CFLQuad3(const Base::TQuad3< float > *pTqQuad)
With initialization constructor, initialize CFLQuad3 with each vertex of TQuad3.
const CFLQuad3< T > & operator=(const Base::TQuad3< float > &tqQuad)
assignment operator
virtual const CResult Set(int64_t x0, int64_t y0, int64_t z0, int64_t x1, int64_t y1, int64_t z1, int64_t x2, int64_t y2, int64_t z2, int64_t x3, int64_t y3, int64_t z3)
Parameter setting function.
CFLQuad3< T > operator-(const CFLPoint3< double > &flpPoint) const
Offset operator.
CFLQuad3< T > operator+(const Base::TPoint3< double > &tpPoint) const
Offset operator.
virtual const CResult Set(const Base::TQuad< double > &tqQuad)
As a parameter setting function, set CFLQuad3 with each vertex (z = 0) of TQuad.
const CFLQuad3< T > & operator=(const Base::TQuad3< double > &tqQuad)
assignment operator
virtual EFigureDeclType GetDeclType() const override
CFLQuad3< T > operator+(const CFLPoint3< float > &flpPoint) const
Offset operator.
CFLPoint3< float > flpPoints[4]
Definition FLQuad3.h:31
virtual const CResult Set(const Base::TQuad3< float > &tqQuad)
As a parameter setting function, set CFLQuad3 to each vertex of TQuad3.
const CFLQuad3< T > & operator=(const Base::TQuad< float > &tqQuad)
assignment operator
virtual const CResult Set(const Base::TQuad< float > *pTqQuad)
As a parameter setting function, set CFLQuad3 with each vertex (z = 0) of TQuad.
CFLQuad3< T > operator-(const CFLPoint3< float > &flpPoint) const
Offset operator.
const CFLQuad3< T > & operator/=(const double &value)
An operator that divides the x,y,z values of each vertex of a quadrilateral by a parameter.
const CFLQuad3< T > & operator=(const CFLQuad< double > &flqQuad)
assignment operator
virtual const CResult Set(const CFLQuad< float > &flqQuad)
As a parameter setting function, set CFLQuad3 with each vertex (z = 0) of CFLQuad.
CFLQuad3< T > operator+(const double &value) const
Offset operator.
CFLQuad3(const Base::TQuad3< float > &tqQuad)
With initialization constructor, initialize CFLQuad3 with each vertex of TQuad3.
virtual const CResult ReverseSequence() override
Function to reverse the sequence.
virtual const CResult Offset(double x, double y, double z) override
virtual const CResult Rotate(const CFLGeometry3DQuaternion< double > *pQuat, const CFLPoint3< double > *pFlp3Pivot=nullptr) override
virtual const CResult Set(const Base::TQuad3< double > *pTqQuad)
As a parameter setting function, set CFLQuad3 to each vertex of TQuad3.
CFLQuad3(const Base::TQuad3< double > *pTqQuad)
With initialization constructor, initialize CFLQuad3 with each vertex of TQuad3.
virtual const CResult ChangeOriginIndex(int64_t i64IndexToBeOrigin)
Changes the starting vertex while preserving the shape.
friend CFLQuad3< T > operator-(const double &value, const CFLQuad3< T > &quad)
Offset operator.
Definition FLQuad3.h:1299
CFLQuad3(const Base::TQuad< float > &tqQuad)
Initialization constructor, initializing CFLQuad3 with each vertex of TQuad (z = 0).
CFLQuad3(const CFLQuad< float > *pFlqQuad)
Initialization constructor, initializing CFLQuad3 with each vertex of CFLQuad (z = 0).
CFLQuad3(const Base::TQuad< double > &tqQuad)
Initialization constructor, initializing CFLQuad3 with each vertex of TQuad (z = 0).
virtual void Clear() override
Clear an object's variable.
virtual const CResult Scale(double f64PivotX, double f64PivotY, double f64PivotZ, double f64ScaleX, double f64ScaleY, double f64ScaleZ) override
CFLQuad3(const CFLQuad3< double > &flqQuad)
copy constructor
CFLQuad3< T > operator+(const Base::TPoint3< float > &tpPoint) const
Offset operator.
CFLQuad3(const CFLPoint3< float > &flpPoint0, const CFLPoint3< float > &flpPoint1, const CFLPoint3< float > &flpPoint2, const CFLPoint3< float > &flpPoint3)
initialization constructor
CFLQuad3< T > operator*(const double &value) const
An operator that multiplies the x,y and z values of each vertex of the quadrilateral by a parameter.
virtual const CResult Set(const Base::TQuad< float > &tqQuad)
As a parameter setting function, set CFLQuad3 with each vertex (z = 0) of TQuad.
virtual const CResult Set(const Base::TQuad3< double > &tqQuad)
As a parameter setting function, set CFLQuad3 to each vertex of TQuad3.
CFLQuad3< T > operator*(const CFLPoint3< float > &flpPoint) const
An operator that multiplies the x,y and z values of each vertex of the quadrilateral by a parameter.
const CFLQuad3< T > & operator*=(const CFLPoint3< double > &flpPoint)
An operator that multiplies the x,y,z values of each vertex of a quadrilateral by a parameter.
virtual const CResult Set(const CFLPoint3< double > *pFlpPoint0, const CFLPoint3< double > *pFlpPoint1, const CFLPoint3< double > *pFlpPoint2, const CFLPoint3< double > *pFlpPoint3)
Parameter setting function.
const CFLQuad3< T > & operator-=(const CFLPoint3< double > &flpPoint)
Offset operator.
virtual const CResult Set(const CFLQuad3< double > &flqQuad)
Parameter setting function.
virtual const CResult Set(const CFLQuad3< float > &flqQuad)
Parameter setting function.
const CFLQuad3< T > & operator/=(const Base::TPoint3< float > &tpPoint)
An operator that divides the x,y,z values of each vertex of a quadrilateral by a parameter.
CFLQuad3(const CFLPoint3< float > *pFlpPoint0, const CFLPoint3< float > *pFlpPoint1, const CFLPoint3< float > *pFlpPoint2, const CFLPoint3< float > *pFlpPoint3)
initialization constructor
const CFLQuad3< T > & operator+=(const double &value)
Offset operator.
const CFLQuad3< T > & operator=(const Base::TQuad< double > &tqQuad)
assignment operator
virtual const CResult Set(const CFLPoint3< double > &flpPoint0, const CFLPoint3< double > &flpPoint1, const CFLPoint3< double > &flpPoint2, const CFLPoint3< double > &flpPoint3)
Parameter setting function.
CFLQuad3(const Base::TPoint3< double > &tpPoint0, const Base::TPoint3< double > &tpPoint1, const Base::TPoint3< double > &tpPoint2, const Base::TPoint3< double > &tpPoint3)
initialization constructor
virtual const CResult Set(const Base::TPoint3< double > &tpPoint0, const Base::TPoint3< double > &tpPoint1, const Base::TPoint3< double > &tpPoint2, const Base::TPoint3< double > &tpPoint3)
Parameter setting function.
virtual const CResult Set(const Base::TPoint3< double > *pTpPoint0, const Base::TPoint3< double > *pTpPoint1, const Base::TPoint3< double > *pTpPoint2, const Base::TPoint3< double > *pTpPoint3)
Parameter setting function.
virtual const CResult Set(const CFLFigure &flf) override
CFLQuad3(float x0, float y0, float z0, float x1, float y1, float z1, float x2, float y2, float z2, float x3, float y3, float z3)
initialization constructor
const CFLQuad3< T > & operator=(const CFLQuad3< float > &flqQuad)
assignment operator
CFLQuad3< T > operator-(const Base::TPoint3< double > &tpPoint) const
Offset operator.
virtual const CResult Set(const Base::TQuad3< float > *pTqQuad)
As a parameter setting function, set CFLQuad3 to each vertex of TQuad3.
const CFLQuad3< T > & operator-=(const CFLPoint3< float > &flpPoint)
Offset operator.
const CFLQuad3< T > & operator-=(const Base::TPoint3< float > &tpPoint)
Offset operator.
CFLQuad3< T > operator*(const Base::TPoint3< float > &tpPoint) const
An operator that multiplies the x,y and z values of each vertex of the quadrilateral by a parameter.
const CFLQuad3< T > & operator*=(const double &value)
An operator that multiplies the x,y,z values of each vertex of a quadrilateral by a parameter.
const CFLQuad3< T > & operator*=(const Base::TPoint3< double > &tpPoint)
An operator that multiplies the x,y,z values of each vertex of a quadrilateral by a parameter.
const CFLQuad3< T > & operator/=(const CFLPoint3< float > &flpPoint)
An operator that divides the x,y,z values of each vertex of a quadrilateral by a parameter.
const CFLQuad3< T > & operator/=(const CFLPoint3< double > &flpPoint)
An operator that divides the x,y,z values of each vertex of a quadrilateral by a parameter.
CFLQuad3< T > operator*(const Base::TPoint3< double > &tpPoint) const
An operator that multiplies the x,y and z values of each vertex of the quadrilateral by a parameter.
virtual const CResult GetCenterOfVertices(double &x, double &y, double &z) const override
virtual const CResult Set(const CFLPoint3< float > &flpPoint0, const CFLPoint3< float > &flpPoint1, const CFLPoint3< float > &flpPoint2, const CFLPoint3< float > &flpPoint3)
Parameter setting function.
virtual const CResult Transform(const CMatrix< float > *pMatTransform) override
Transforms the object.
CFLQuad3(int64_t x0, int64_t y0, int64_t z0, int64_t x1, int64_t y1, int64_t z1, int64_t x2, int64_t y2, int64_t z2, int64_t x3, int64_t y3, int64_t z3)
initialization constructor
const CFLQuad3< T > & operator+=(const Base::TPoint3< float > &tpPoint)
Offset operator.
virtual const CResult Swap(CFLFigure *pFlfRight) override
CFLQuad3< T > operator/(const Base::TPoint3< double > &tpPoint) const
An operator that divides the x,y and z values of each vertex of the quadrilateral by a parameter.
const CFLQuad3< T > & operator+=(const CFLPoint3< double > &flpPoint)
Offset operator.
CFLQuad3(const CFLFigure *pFlf)
As an initialization constructor, call the Set() function for the DeclType of CFLFigure& flf .
CFLQuad3< T > operator*(const CFLPoint3< double > &flpPoint) const
An operator that multiplies the x,y and z values of each vertex of the quadrilateral by a parameter.
virtual const CResult Set(const CFLQuad< float > *pFlqQuad)
As a parameter setting function, set CFLQuad3 with each vertex (z = 0) of CFLQuad.
CFLQuad3(const CFLQuad< double > *pFlqQuad)
Initialization constructor, initializing CFLQuad3 with each vertex of CFLQuad (z = 0).
CFLQuad3(const CFLFigure &flf)
As an initialization constructor, call the Set() function for the DeclType of CFLFigure& flf .
const CFLQuad3< T > & operator+=(const Base::TPoint3< double > &tpPoint)
Offset operator.
virtual const CResult Set(int32_t x0, int32_t y0, int32_t z0, int32_t x1, int32_t y1, int32_t z1, int32_t x2, int32_t y2, int32_t z2, int32_t x3, int32_t y3, int32_t z3)
Parameter setting function.
CFLQuad3< T > operator/(const CFLPoint3< double > &flpPoint) const
An operator that divides the x,y and z values of each vertex of the quadrilateral by a parameter.
virtual const CResult Set(const Base::TPoint3< float > *pTpPoint0, const Base::TPoint3< float > *pTpPoint1, const Base::TPoint3< float > *pTpPoint2, const Base::TPoint3< float > *pTpPoint3)
Parameter setting function.
const CFLQuad3< T > & operator*=(const CFLPoint3< float > &flpPoint)
An operator that multiplies the x,y,z values of each vertex of a quadrilateral by a parameter.
virtual const CResult Set(const CFLQuad3< double > *pFlqQuad)
Parameter setting function.
CFLQuad3(const Base::TPoint3< double > *pTpPoint0, const Base::TPoint3< double > *pTpPoint1, const Base::TPoint3< double > *pTpPoint2, const Base::TPoint3< double > *pTpPoint3)
initialization constructor
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 Base::TQuad< double > *pTqQuad)
As a parameter setting function, set CFLQuad3 with each vertex (z = 0) of TQuad.
CFLQuad3(const CFLQuad3< float > &flqQuad)
copy constructor
CFLQuad3< T > operator/(const Base::TPoint3< float > &tpPoint) const
An operator that divides the x,y and z values of each vertex of the quadrilateral by a parameter.
CFLQuad3(const Base::TPoint3< float > &tpPoint0, const Base::TPoint3< float > &tpPoint1, const Base::TPoint3< float > &tpPoint2, const Base::TPoint3< float > &tpPoint3)
initialization constructor
CFLQuad3(const Base::TQuad3< double > &tqQuad)
With initialization constructor, initialize CFLQuad3 with each vertex of TQuad3.
CFLQuad3(const CFLQuad3< double > *pFlqQuad)
copy constructor
const CFLQuad3< T > & operator=(const CFLQuad< float > &flqQuad)
assignment operator
const CFLQuad3< T > & operator=(const CFLQuad3< double > &flqQuad)
assignment operator
virtual const CResult Set(const CFLPoint3< float > *pFlpPoint0, const CFLPoint3< float > *pFlpPoint1, const CFLPoint3< float > *pFlpPoint2, const CFLPoint3< float > *pFlpPoint3)
Parameter setting function.
CFLQuad3(const CFLQuad< double > &flqQuad)
Initialization constructor, initializing CFLQuad3 with each vertex of CFLQuad (z = 0).
CFLQuad3< T > operator-() const
An operator that returns a point with the signs of x, y and z values inverted.
CFLQuad3< T > operator/(const CFLPoint3< float > &flpPoint) const
An operator that divides the x,y and z values of each vertex of the quadrilateral by a parameter.
virtual const CResult Set(const CFLQuad< double > *pFlqQuad)
As a parameter setting function, set CFLQuad3 with each vertex (z = 0) of CFLQuad.
CFLQuad3< T > operator-(const double &value) const
Offset operator.
virtual const CResult Set(const CFLQuad3< float > *pFlqQuad)
Parameter setting function.
CFLQuad3(const Base::TQuad< double > *pTqQuad)
Initialization constructor, initializing CFLQuad3 with each vertex of TQuad (z = 0).
CFLQuad3(const CFLQuad< float > &flqQuad)
Initialization constructor, initializing CFLQuad3 with each vertex of CFLQuad (z = 0).
virtual const CResult Rotate(const CFLGeometry3DQuaternion< float > *pQuat, const CFLPoint3< float > *pFlp3Pivot=nullptr) override
const CFLQuad3< T > & operator+=(const CFLPoint3< float > &flpPoint)
Offset operator.
virtual EFigureTemplateType GetTemplateType() const override
virtual const CResult Multiply(double x, double y, double z) override
virtual bool IsSpecEqual(const CFLFigure *pFlfRhs, EFigureSpecCompareType eSpecType=EFigureSpecCompareType_Coordinates) const override
CFLQuad3(const Base::TQuad< float > *pTqQuad)
Initialization constructor, initializing CFLQuad3 with each vertex of TQuad (z = 0).
CFLQuad3(const Base::TPoint3< float > *pTpPoint0, const Base::TPoint3< float > *pTpPoint1, const Base::TPoint3< float > *pTpPoint2, const Base::TPoint3< float > *pTpPoint3)
initialization constructor
const CFLQuad3< T > & operator-=(const Base::TPoint3< double > &tpPoint)
Offset operator.
CFLQuad3(const CFLPoint3< double > *pFlpPoint0, const CFLPoint3< double > *pFlpPoint1, const CFLPoint3< double > *pFlpPoint2, const CFLPoint3< double > *pFlpPoint3)
initialization constructor
virtual const CResult GetBoundingBox(float &f32MinX, float &f32MinY, float &f32MinZ, float &f32MaxX, float &f32MaxY, float &f32MaxZ) const override
Returns the bounding box (AABB).
virtual const CResult Set(const CFLFigure *pFlf) override
friend CFLQuad3< T > operator+(const double &value, const CFLQuad3< T > &quad)
Offset operator.
Definition FLQuad3.h:1279
virtual const CResult Set(float x0, float y0, float z0, float x1, float y1, float z1, float x2, float y2, float z2, float x3, float y3, float z3)
Parameter setting function.
virtual const CResult Set(const Base::TPoint3< float > &tpPoint0, const Base::TPoint3< float > &tpPoint1, const Base::TPoint3< float > &tpPoint2, const Base::TPoint3< float > &tpPoint3)
Parameter setting function.
virtual const CResult Transform(const CMatrix< double > *pMatTransform) override
Transforms the object.
virtual CFLPoint< double > GetCenterOfGravity() const override
virtual const CResult Set(const CFLQuad< double > &flqQuad)
As a parameter setting function, set CFLQuad3 with each vertex (z = 0) of CFLQuad.
virtual const CResult Set(double x0, double y0, double z0, double x1, double y1, double z1, double x2, double y2, double z2, double x3, double y3, double z3)
Parameter setting function.
friend CFLQuad3< T > operator/(const double &value, const CFLQuad3< T > &quad)
An operator that divides the x, y, z values of each vertex of the quadrilateral into parameters.
Definition FLQuad3.h:1340
virtual const CResult GetBoundingBox(double &f64MinX, double &f64MinY, double &f64MinZ, double &f64MaxX, double &f64MaxY, double &f64MaxZ) const override
Returns the bounding box (AABB).
const CFLQuad3< T > & operator*=(const Base::TPoint3< float > &tpPoint)
An operator that multiplies the x,y,z values of each vertex of a quadrilateral by a parameter.
CFLQuad3< T > operator/(const double &value) const
An operator that divides the x,y and z values of each vertex of the quadrilateral by a parameter.
CFLQuad3(double x0, double y0, double z0, double x1, double y1, double z1, double x2, double y2, double z2, double x3, double y3, double z3)
initialization constructor
CFLQuad3(int32_t x0, int32_t y0, int32_t z0, int32_t x1, int32_t y1, int32_t z1, int32_t x2, int32_t y2, int32_t z2, int32_t x3, int32_t y3, int32_t z3)
initialization constructor
A class representing a quadrangle.
Definition FLQuad.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