FLImaging 7.10.21.1
FLImagingFoundation/FLTriangle3.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 CFLTriangle3 : public CFLFigure3
25 {
26 public:
32
38
43 virtual ~CFLTriangle3();
44
70 CFLTriangle3(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);
71
97 CFLTriangle3(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);
98
124 CFLTriangle3(float x0, float y0, float z0, float x1, float y1, float z1, float x2, float y2, float z2);
125
151 CFLTriangle3(double x0, double y0, double z0, double x1, double y1, double z1, double x2, double y2, double z2);
152
168 CFLTriangle3(const Base::TPoint3<float>& tpPoint0, const Base::TPoint3<float>& tpPoint1, const Base::TPoint3<float>& tpPoint2);
169
185 CFLTriangle3(const Base::TPoint3<double>& tpPoint0, const Base::TPoint3<double>& tpPoint1, const Base::TPoint3<double>& tpPoint2);
186
202 CFLTriangle3(const Base::TPoint3<float>* pTpPoint0, const Base::TPoint3<float>* pTpPoint1, const Base::TPoint3<float>* pTpPoint2);
203
219 CFLTriangle3(const Base::TPoint3<double>* pTpPoint0, const Base::TPoint3<double>* pTpPoint1, const Base::TPoint3<double>* pTpPoint2);
220
236 CFLTriangle3(const CFLPoint3<float>& flpPoint0, const CFLPoint3<float>& flpPoint1, const CFLPoint3<float>& flpPoint2);
237
253 CFLTriangle3(const CFLPoint3<double>& flpPoint0, const CFLPoint3<double>& flpPoint1, const CFLPoint3<double>& flpPoint2);
254
270 CFLTriangle3(const CFLPoint3<float>* pFlpPoint0, const CFLPoint3<float>* pFlpPoint1, const CFLPoint3<float>* pFlpPoint2);
271
287 CFLTriangle3(const CFLPoint3<double>* pFlpPoint0, const CFLPoint3<double>* pFlpPoint1, const CFLPoint3<double>* pFlpPoint2);
288
299
310
321
332
345
358
371
384
397
410
423
436
451
466
478 const CFLTriangle3<T>& operator+=(const double& value);
479
494
509
524
539
551 const CFLTriangle3<T>& operator-=(const double& value);
552
567
582
597
612
624 const CFLTriangle3<T>& operator*=(const double& value);
625
640
655
670
685
697 const CFLTriangle3<T>& operator/=(const double& value);
698
713
728
743
758
770 CFLTriangle3<T> operator+(const double& value) const;
771
786
801
816
831
843 CFLTriangle3<T> operator-(const double& value) const;
844
859
874
889
904
916 CFLTriangle3<T> operator*(const double& value) const;
917
932
947
962
977
989 CFLTriangle3<T> operator/(const double& value) const;
990
1005
1020
1035
1050
1061
1075 friend CFLTriangle3<T> operator+(const double& value, const CFLTriangle3<T>& fltTri)
1076 {
1077 CFLTriangle3<T> t(fltTri);
1078 t += value;
1079 return t;
1080 }
1081
1095 friend CFLTriangle3<T> operator-(const double& value, const CFLTriangle3<T>& fltTri)
1096 {
1097 CFLTriangle3<T> t(fltTri);
1098 t *= -1.;
1099 t += value;
1100 return t;
1101 }
1102
1116 friend CFLTriangle3<T> operator*(const double& value, const CFLTriangle3<T>& fltTri)
1117 {
1118 CFLTriangle3<T> t(fltTri);
1119 t *= value;
1120 return t;
1121 }
1122
1136 friend CFLTriangle3<T> operator/(const double& value, const CFLTriangle3<T>& fltTri)
1137 {
1139
1140 t.flpPoints[0].x = (T)(value / fltTri.flpPoints[0].x);
1141 t.flpPoints[0].y = (T)(value / fltTri.flpPoints[0].y);
1142 t.flpPoints[0].z = (T)(value / fltTri.flpPoints[0].z);
1143 t.flpPoints[1].x = (T)(value / fltTri.flpPoints[1].x);
1144 t.flpPoints[1].y = (T)(value / fltTri.flpPoints[1].y);
1145 t.flpPoints[1].z = (T)(value / fltTri.flpPoints[1].z);
1146 t.flpPoints[2].x = (T)(value / fltTri.flpPoints[2].x);
1147 t.flpPoints[2].y = (T)(value / fltTri.flpPoints[2].y);
1148 t.flpPoints[2].z = (T)(value / fltTri.flpPoints[2].z);
1149
1150 return t;
1151 }
1152
1182 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);
1183
1213 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);
1214
1244 virtual const CResult Set(float x0, float y0, float z0, float x1, float y1, float z1, float x2, float y2, float z2);
1245
1275 virtual const CResult Set(double x0, double y0, double z0, double x1, double y1, double z1, double x2, double y2, double z2);
1276
1296 virtual const CResult Set(const Base::TPoint3<float>& tpPoint0, const Base::TPoint3<float>& tpPoint1, const Base::TPoint3<float>& tpPoint2);
1297
1317 virtual const CResult Set(const Base::TPoint3<double>& tpPoint0, const Base::TPoint3<double>& tpPoint1, const Base::TPoint3<double>& tpPoint2);
1318
1338 virtual const CResult Set(const Base::TPoint3<float>* pTpPoint0, const Base::TPoint3<float>* pTpPoint1, const Base::TPoint3<float>* pTpPoint2);
1339
1359 virtual const CResult Set(const Base::TPoint3<double>* pTpPoint0, const Base::TPoint3<double>* pTpPoint1, const Base::TPoint3<double>* pTpPoint2);
1360
1380 virtual const CResult Set(const CFLPoint3<float>& flpPoint0, const CFLPoint3<float>& flpPoint1, const CFLPoint3<float>& flpPoint2);
1381
1401 virtual const CResult Set(const CFLPoint3<double>& flpPoint0, const CFLPoint3<double>& flpPoint1, const CFLPoint3<double>& flpPoint2);
1402
1422 virtual const CResult Set(const CFLPoint3<float>* pFlpPoint0, const CFLPoint3<float>* pFlpPoint1, const CFLPoint3<float>* pFlpPoint2);
1423
1443 virtual const CResult Set(const CFLPoint3<double>* pFlpPoint0, const CFLPoint3<double>* pFlpPoint1, const CFLPoint3<double>* pFlpPoint2);
1444
1458 virtual const CResult Set(const CFLTriangle3<float>& fltTri);
1459
1473 virtual const CResult Set(const CFLTriangle3<double>& fltTri);
1474
1488 virtual const CResult Set(const CFLTriangle3<float>* pFltTri);
1489
1503 virtual const CResult Set(const CFLTriangle3<double>* pFltTri);
1504
1520 virtual const CResult Set(const Base::TTriangle3<float>& tt);
1521
1537 virtual const CResult Set(const Base::TTriangle3<double>& tt);
1538
1554 virtual const CResult Set(const Base::TTriangle3<float>* pTt);
1555
1571 virtual const CResult Set(const Base::TTriangle3<double>* pTt);
1572
1573 virtual const CResult Set(const CFLFigure& flf) override;
1574 virtual const CResult Set(const CFLFigure* pFlf) override;
1575
1576 virtual void Clear() override;
1577
1578 virtual EFigureDeclType GetDeclType() const override;
1579 virtual EFigureTemplateType GetTemplateType() const override;
1580
1581 virtual bool IsValid() const override;
1582 virtual bool IsFigureValid() const override;
1583
1584 virtual const CResult MakeFigureInvalid() override;
1585
1587 virtual bool IsSpecEqual(const CFLFigure* pFlfRhs, EFigureSpecCompareType eSpecType = EFigureSpecCompareType_Coordinates) const override;
1588
1589 using CFLFigure::Swap;
1590 virtual const CResult Swap(CFLFigure* pFlfRight) override;
1591
1593 virtual const CResult GetCenterOfGravity(double& x, double& y, double& z) const override;
1594
1596 virtual const CResult GetCenterOfVertices(double& x, double& y, double& z) const override;
1597
1598 using CFLFigure3::Offset;
1599 virtual const CResult Offset(double x, double y, double z) override;
1600
1602 virtual const CResult Multiply(double x, double y, double z) override;
1603
1604 using CFLFigure3::Rotate;
1605 virtual const CResult Rotate(const CFLGeometry3DQuaternion<float>* pQuat, const CFLPoint3<float>* pFlp3Pivot = nullptr) override;
1606 virtual const CResult Rotate(const CFLGeometry3DQuaternion<double>* pQuat, const CFLPoint3<double>* pFlp3Pivot = nullptr) override;
1607
1608 using CFLFigure3::Scale;
1609 virtual const CResult Scale(double f64PivotX, double f64PivotY, double f64PivotZ, double f64ScaleX, double f64ScaleY, double f64ScaleZ) override;
1610
1612 virtual const CResult Transform(const CMatrix<float>* pMatTransform) override;
1613 virtual const CResult Transform(const CMatrix<double>* pMatTransform) override;
1614
1616 virtual const CResult GetBoundingBox(double& f64MinX, double& f64MinY, double& f64MinZ, double& f64MaxX, double& f64MaxY, double& f64MaxZ) const override;
1617 virtual const CResult GetBoundingBox(float& f32MinX, float& f32MinY, float& f32MinZ, float& f32MaxX, float& f32MaxY, float& f32MaxZ) const override;
1618
1619 virtual const CResult ReverseSequence() override;
1620
1634 virtual const CResult ChangeOriginIndex(int64_t i64IndexToBeOrigin);
1635
1636
1637 protected:
1638 virtual CFLPoint<double> GetCenterOfGravity() const override;
1639
1640 SupportToDuplicateObject(CFLTriangle3<T>, *this);
1641 DeclareGetClassType();
1642 };
1643
1644 typedef CFLTriangle3<float> CFLTriangle3F;
1645 typedef CFLTriangle3<double> CFLTriangle3D;
1646 }
1647}
Simplified class representing a 3-D point.
Definition FLImagingBase/TPoint3.h:37
Simplified class representing a triangle.
Definition FLImagingBase/TTriangle3.h:38
FLImaging module execution result object.
Definition FLImagingBase/ResultsDef.h:1712
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)
Apply a scale transformation to the object based on its AABB (Axis-Aligned Bounding Box) center.
virtual const CResult GetCenterOfGravity(double &x, double &y) const override
virtual const CResult Rotate(const CFLGeometry3DQuaternion< float > &quat, const CFLPoint3< float > &flp3Pivot)
Rotate the object using quaternions with a specified pivot point.
A base class of classes representing figures.
Definition FLImagingFoundation/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 FLImagingFoundation/FLGeometry3DQuaternion.h:30
A class representing a 3D point.
Definition FLImagingFoundation/FLPoint3.h:40
Ty z
Definition FLImagingFoundation/FLPoint3.h:58
Ty x
Definition FLImagingFoundation/FLPoint3.h:46
Ty y
Definition FLImagingFoundation/FLPoint3.h:52
A class representing a point.
Definition FLImagingFoundation/FLPoint.h:24
A class representing a 3D triangle.
Definition FLImagingFoundation/FLTriangle3.h:25
const CFLTriangle3< T > & operator/=(const CFLPoint3< float > &flpPoint)
An operator that divides the x,y,z values of each vertex of a triangle by a parameter.
virtual const CResult GetBoundingBox(double &f64MinX, double &f64MinY, double &f64MinZ, double &f64MaxX, double &f64MaxY, double &f64MaxZ) const override
Returns the bounding box (AABB).
CFLTriangle3< T > operator-(const CFLPoint3< double > &flpPoint) const
Offset operator.
const CFLTriangle3< T > & operator-=(const CFLPoint3< double > &flpPoint)
Offset operator.
virtual const CResult Set(const CFLTriangle3< float > &fltTri)
Parameter setting function.
virtual const CResult Set(const Base::TTriangle3< float > *pTt)
Parameter setting function.
virtual const CResult MakeFigureInvalid() override
Make the figure invalid. (For example, set the coordinates of the point to invalid x,...
virtual const CResult Scale(double f64PivotX, double f64PivotY, double f64PivotZ, double f64ScaleX, double f64ScaleY, double f64ScaleZ) override
Scale the object with a specified pivot point.
const CFLTriangle3< T > & operator*=(const CFLPoint3< float > &flpPoint)
An operator that multiplies the x,y,z values of each vertex of a triangle by a parameter.
CFLTriangle3(const Base::TTriangle3< float > *pTt)
initialization constructor
const CFLTriangle3< T > & operator-=(const double &value)
Offset operator.
CFLTriangle3< T > operator/(const double &value) const
An operator that divides the x,y and z values of each vertex of the triangle by a parameter.
virtual const CResult Set(const CFLPoint3< float > &flpPoint0, const CFLPoint3< float > &flpPoint1, const CFLPoint3< float > &flpPoint2)
Parameter setting function.
CFLTriangle3(const CFLTriangle3< double > &fltTri)
copy constructor
CFLTriangle3(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)
initialization constructor
virtual const CResult Transform(const CMatrix< double > *pMatTransform) override
Transforms the object using a transformation matrix (4x4 or 3x3).
CFLTriangle3< T > operator*(const CFLPoint3< double > &flpPoint) const
An operator that multiplies the x,y and z values of each vertex of the triangle by a parameter.
CFLTriangle3(const CFLPoint3< float > &flpPoint0, const CFLPoint3< float > &flpPoint1, const CFLPoint3< float > &flpPoint2)
initialization constructor
virtual const CResult Set(double x0, double y0, double z0, double x1, double y1, double z1, double x2, double y2, double z2)
Parameter setting function.
const CFLTriangle3< T > & operator+=(const Base::TPoint3< double > &tpPoint)
Offset operator.
virtual const CResult Set(const Base::TPoint3< double > *pTpPoint0, const Base::TPoint3< double > *pTpPoint1, const Base::TPoint3< double > *pTpPoint2)
Parameter setting function.
const CFLTriangle3< T > & operator/=(const double &value)
An operator that divides the x,y,z values of each vertex of a triangle by a parameter.
virtual const CResult Set(const Base::TPoint3< double > &tpPoint0, const Base::TPoint3< double > &tpPoint1, const Base::TPoint3< double > &tpPoint2)
Parameter setting function.
CFLTriangle3(const Base::TTriangle3< double > *pTt)
initialization constructor
CFLTriangle3(const CFLPoint3< double > *pFlpPoint0, const CFLPoint3< double > *pFlpPoint1, const CFLPoint3< double > *pFlpPoint2)
initialization constructor
virtual EFigureTemplateType GetTemplateType() const override
CFLTriangle3< T > operator-(const Base::TPoint3< double > &tpPoint) const
Offset 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)
Parameter setting function.
virtual const CResult ReverseSequence() override
Function to reverse the sequence.
virtual const CResult Set(const CFLPoint3< double > &flpPoint0, const CFLPoint3< double > &flpPoint1, const CFLPoint3< double > &flpPoint2)
Parameter setting function.
CFLTriangle3< T > operator+(const CFLPoint3< float > &flpPoint) const
Offset operator.
virtual const CResult Set(float x0, float y0, float z0, float x1, float y1, float z1, float x2, float y2, float z2)
Parameter setting function.
CFLTriangle3(const Base::TPoint3< float > *pTpPoint0, const Base::TPoint3< float > *pTpPoint1, const Base::TPoint3< float > *pTpPoint2)
initialization constructor
virtual const CResult GetCenterOfVertices(double &x, double &y, double &z) const override
virtual EFigureDeclType GetDeclType() const override
CFLTriangle3(const Base::TTriangle3< double > &tt)
initialization constructor
CFLTriangle3< T > operator*(const CFLPoint3< float > &flpPoint) const
An operator that multiplies the x,y and z values of each vertex of the triangle by a parameter.
virtual void Clear() override
Clears all internal variables and resets all 3D vertex coordinates to 0.
virtual const CResult Set(const CFLTriangle3< double > *pFltTri)
Parameter setting function.
CFLTriangle3(const Base::TPoint3< double > *pTpPoint0, const Base::TPoint3< double > *pTpPoint1, const Base::TPoint3< double > *pTpPoint2)
initialization constructor
friend CFLTriangle3< T > operator+(const double &value, const CFLTriangle3< T > &fltTri)
Offset operator.
Definition FLImagingFoundation/FLTriangle3.h:1075
CFLTriangle3< T > operator/(const CFLPoint3< float > &flpPoint) const
An operator that divides the x,y and z values of each vertex of the triangle by a parameter.
const CFLTriangle3< T > & operator-=(const Base::TPoint3< double > &tpPoint)
Offset operator.
CFLTriangle3< T > operator*(const Base::TPoint3< double > &tpPoint) const
An operator that multiplies the x,y and z values of each vertex of the triangle by a parameter.
const CFLTriangle3< T > & operator=(const Base::TTriangle3< double > &ttTri)
assignment operator
CFLTriangle3< T > operator+(const CFLPoint3< double > &flpPoint) const
Offset operator.
CFLTriangle3< T > operator/(const Base::TPoint3< float > &tpPoint) const
An operator that divides the x,y and z values of each vertex of the triangle by a parameter.
virtual const CResult Set(const Base::TPoint3< float > &tpPoint0, const Base::TPoint3< float > &tpPoint1, const Base::TPoint3< float > &tpPoint2)
Parameter setting function.
const CFLTriangle3< T > & operator=(const Base::TTriangle3< float > &ttTri)
assignment operator
CFLTriangle3(const CFLTriangle3< float > *pFltTri)
copy constructor
virtual const CResult Multiply(double x, double y, double z) override
const CFLTriangle3< T > & operator+=(const CFLPoint3< float > &flpPoint)
Offset operator.
virtual const CResult Set(const CFLPoint3< double > *pFlpPoint0, const CFLPoint3< double > *pFlpPoint1, const CFLPoint3< double > *pFlpPoint2)
Parameter setting function.
virtual const CResult Set(const CFLTriangle3< double > &fltTri)
Parameter setting function.
virtual CFLPoint< double > GetCenterOfGravity() const override
CFLTriangle3(const Base::TPoint3< double > &tpPoint0, const Base::TPoint3< double > &tpPoint1, const Base::TPoint3< double > &tpPoint2)
initialization constructor
virtual const CResult Offset(double x, double y, double z) override
const CFLTriangle3< 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.
const CFLTriangle3< 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.
const CFLTriangle3< T > & operator+=(const CFLPoint3< double > &flpPoint)
Offset operator.
CFLTriangle3< T > operator-() const
An operator that returns a point with the signs of x, y and z values inverted.
CFLTriangle3(const CFLPoint3< double > &flpPoint0, const CFLPoint3< double > &flpPoint1, const CFLPoint3< double > &flpPoint2)
initialization constructor
const CFLTriangle3< T > & operator+=(const Base::TPoint3< float > &tpPoint)
Offset operator.
virtual const CResult Rotate(const CFLGeometry3DQuaternion< double > *pQuat, const CFLPoint3< double > *pFlp3Pivot=nullptr) override
Rotate the object using quaternions. If the pivot point is nullptr, the object's AABB (Axis-Aligned B...
CFLTriangle3< T > operator+(const Base::TPoint3< float > &tpPoint) const
Offset operator.
virtual const CResult Rotate(const CFLGeometry3DQuaternion< float > *pQuat, const CFLPoint3< float > *pFlp3Pivot=nullptr) override
Rotate the object using quaternions. If the pivot point is nullptr, the object's AABB (Axis-Aligned B...
CFLTriangle3< T > operator-(const CFLPoint3< float > &flpPoint) const
Offset operator.
virtual const CResult Set(const CFLTriangle3< float > *pFltTri)
Parameter setting function.
const CFLTriangle3< T > & operator=(const CFLTriangle3< float > &fltTri)
assignment operator
CFLTriangle3< T > operator/(const Base::TPoint3< double > &tpPoint) const
An operator that divides the x,y and z values of each vertex of the triangle by a parameter.
const CFLTriangle3< T > & operator=(const CFLTriangle3< double > &fltTri)
assignment operator
CFLTriangle3(const CFLTriangle3< float > &fltTri)
copy constructor
friend CFLTriangle3< T > operator/(const double &value, const CFLTriangle3< T > &fltTri)
An operator that divides the x, y, z values of each vertex of the triangle into parameters.
Definition FLImagingFoundation/FLTriangle3.h:1136
virtual const CResult Set(const CFLFigure &flf) override
const CFLTriangle3< T > & operator*=(const double &value)
An operator that multiplies the x,y,z values of each vertex of a triangle by a parameter.
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)
Parameter setting function.
CFLTriangle3(const CFLPoint3< float > *pFlpPoint0, const CFLPoint3< float > *pFlpPoint1, const CFLPoint3< float > *pFlpPoint2)
initialization constructor
CFLPoint3< float > flpPoints[3]
Definition FLImagingFoundation/FLTriangle3.h:31
CFLTriangle3(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)
initialization constructor
virtual bool IsValid() const override
CFLTriangle3< T > operator+(const Base::TPoint3< double > &tpPoint) const
Offset operator.
virtual const CResult Transform(const CMatrix< float > *pMatTransform) override
Transforms the object using a transformation matrix (4x4 or 3x3).
const CFLTriangle3< 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.
CFLTriangle3< T > operator/(const CFLPoint3< double > &flpPoint) const
An operator that divides the x,y and z values of each vertex of the triangle by a parameter.
CFLTriangle3(const CFLTriangle3< double > *pFltTri)
copy constructor
const CFLTriangle3< T > & operator-=(const Base::TPoint3< float > &tpPoint)
Offset operator.
CFLTriangle3< T > operator-(const double &value) const
Offset operator.
virtual const CResult Set(const CFLFigure *pFlf) override
CFLTriangle3< T > operator-(const Base::TPoint3< float > &tpPoint) const
Offset operator.
virtual const CResult ChangeOriginIndex(int64_t i64IndexToBeOrigin)
Changes the starting vertex while preserving the shape.
virtual const CResult Set(const Base::TPoint3< float > *pTpPoint0, const Base::TPoint3< float > *pTpPoint1, const Base::TPoint3< float > *pTpPoint2)
Parameter setting function.
CFLTriangle3< T > operator*(const double &value) const
An operator that multiplies the x,y and z values of each vertex of the triangle by a parameter.
CFLTriangle3< T > operator*(const Base::TPoint3< float > &tpPoint) const
An operator that multiplies the x,y and z values of each vertex of the triangle by a parameter.
CFLTriangle3(float x0, float y0, float z0, float x1, float y1, float z1, float x2, float y2, float z2)
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 bool IsFigureValid() const override
CFLTriangle3(const Base::TPoint3< float > &tpPoint0, const Base::TPoint3< float > &tpPoint1, const Base::TPoint3< float > &tpPoint2)
initialization constructor
virtual bool IsSpecEqual(const CFLFigure *pFlfRhs, EFigureSpecCompareType eSpecType=EFigureSpecCompareType_Coordinates) const override
CFLTriangle3(const CFLFigure &flf)
As an initialization constructor, call the Set() function for the DeclType of CFLFigure& flf .
virtual const CResult Set(const Base::TTriangle3< double > &tt)
Parameter setting function.
CFLTriangle3(const CFLFigure *pFlf)
As an initialization constructor, call the Set() function for the DeclType of CFLFigure& flf .
virtual const CResult Set(const Base::TTriangle3< double > *pTt)
Parameter setting function.
virtual const CResult Set(const CFLPoint3< float > *pFlpPoint0, const CFLPoint3< float > *pFlpPoint1, const CFLPoint3< float > *pFlpPoint2)
Parameter setting function.
virtual const CResult GetCenterOfGravity(double &x, double &y, double &z) const override
Get the center of gravity of the 3D object.
CFLTriangle3(const Base::TTriangle3< float > &tt)
initialization constructor
CFLTriangle3< T > operator+(const double &value) const
Offset operator.
virtual const CResult Swap(CFLFigure *pFlfRight) override
friend CFLTriangle3< T > operator*(const double &value, const CFLTriangle3< T > &fltTri)
An operator that multiplies the x, y, and z values of each vertex of a triangle by a parameter.
Definition FLImagingFoundation/FLTriangle3.h:1116
CFLTriangle3(double x0, double y0, double z0, double x1, double y1, double z1, double x2, double y2, double z2)
initialization constructor
const CFLTriangle3< 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.
const CFLTriangle3< T > & operator+=(const double &value)
Offset operator.
const CFLTriangle3< T > & operator*=(const CFLPoint3< double > &flpPoint)
An operator that multiplies the x,y,z values of each vertex of a triangle by a parameter.
const CFLTriangle3< T > & operator-=(const CFLPoint3< float > &flpPoint)
Offset operator.
friend CFLTriangle3< T > operator-(const double &value, const CFLTriangle3< T > &fltTri)
Offset operator.
Definition FLImagingFoundation/FLTriangle3.h:1095
virtual const CResult Set(const Base::TTriangle3< float > &tt)
Parameter setting function.
const CFLTriangle3< T > & operator/=(const CFLPoint3< double > &flpPoint)
An operator that divides the x,y,z values of each vertex of a triangle by a parameter.
A class representing matrix.
Definition FLImagingFoundation/Matrix.h:79
Definition FLImagingFoundation/AlgorithmBase.h:16
EFigureDeclType
Declare type of figure.
Definition FLImagingFoundation/DefinitionsFigure.h:33
EFigureTemplateType
Template type of figure.
Definition FLImagingFoundation/DefinitionsFigure.h:434
EFigureSpecCompareType
Definition FLImagingFoundation/DefinitionsFigure.h:3590
@ EFigureSpecCompareType_Coordinates
Definition FLImagingFoundation/DefinitionsFigure.h:3595