83 virtual void Get(Ty& tX, Ty& tY, Ty& tZ)
const;
122 virtual const CResult Scale(
double f64ScaleX,
double f64ScaleY,
double f64ScaleZ,
double f64PivotX,
double f64PivotY,
double f64PivotZ)
override;
129 virtual const CResult GetBoundingBox(
double& f64MinX,
double& f64MinY,
double& f64MinZ,
double& f64MaxX,
double& f64MaxY,
double& f64MaxZ)
const override;
130 virtual const CResult GetBoundingBox(
float& f32MinX,
float& f32MinY,
float& f32MinZ,
float& f32MaxX,
float& f32MaxY,
float& f32MaxZ)
const override;
507 virtual double Dot(
float f32X,
float f32Y,
float f32Z)
const;
522 virtual double Dot(
double f64X,
double f64Y,
double f64Z)
const;
537 virtual double Dot(int32_t i32X, int32_t i32Y, int32_t i32Z)
const;
552 virtual double Dot(int64_t i64X, int64_t i64Y, int64_t i64Z)
const;
1760 CFLPoint3<double> t((
double)value / (
double)point.
x, (
double)value / (
double)point.
y, (
double)value / (
double)point.
z);
1779 CFLPoint3<double> t((
double)value / (
double)point.
x, (
double)value / (
double)point.
y, (
double)value / (
double)point.
z);
1798 CFLPoint3<double> t((
double)value / (
double)point.
x, (
double)value / (
double)point.
y, (
double)value / (
double)point.
z);
1817 CFLPoint3<double> t((
double)value / (
double)point.
x, (
double)value / (
double)point.
y, (
double)value / (
double)point.
z);
2619 DeclareGetClassType();
Simplified class representing a 3-D point.
Definition TPoint3.h:37
FLImaging module execution result object.
Definition ResultsDef.h:1704
Represents a 3D axis defined by an origin point and a direction.
Definition FLGeometry3DAxis.h:38
A class that represents right-handed coordinate system in 3D space.
Definition FLGeometry3DCoordinateSystemRH.h:38
A class representing unit vector in 3D space.
Definition FLGeometry3DDirection.h:38
A class representing quaternion.
Definition FLGeometry3DQuaternion.h:30
A class representing vector in 3D space which has direction and magnitude.
Definition FLGeometry3DVector.h:33
A class representing a 3D point.
Definition FLPoint3.h:40
bool operator!=(const CFLPoint3< double > &flp3) const
Comparison operator.
virtual bool IsSpecEqual(const CFLFigure *pFlfRhs, EFigureSpecCompareType eSpecType=EFigureSpecCompareType_Coordinates) const override
virtual const CResult Subtract(Ty tX, Ty tY, Ty tZ)
virtual const CResult Set(const CFLFigure *pFlf) override
virtual const CResult Set(const CFLFigure &flf) override
friend CFLPoint3< double > operator/(const int64_t &value, const CFLPoint3< Ty > &point)
Offset operator[offset].
Definition FLPoint3.h:1777
virtual const CResult Reflect(const CFLGeometry3DCoordinateSystemRH< double > &coordSysRHPlane)
virtual const CResult Reflect(const CFLGeometry3DAxis< float > *pAxis3Pivot)
virtual const CResult Set(int32_t x, int32_t y, int32_t z)
virtual const CResult Set(const CFLPoint3< float > *pFlp3)
CFLPoint3(float x, float y, float z)
virtual const CResult MatMul(const CMatrixFor3D< float > *pMat3D)
virtual double Dot(int64_t i64X, int64_t i64Y, int64_t i64Z) const
friend CFLPoint3< double > operator+(const double &value, const CFLPoint3< Ty > &point)
Offset operator[offset].
Definition FLPoint3.h:1574
virtual const CResult Cross(const CFLPoint3< float > &rhs)
CFLPoint3(const CFLGeometry3DDirection< float > &dir)
CFLPoint3(const CFLPoint3< double > &flp3)
virtual const CResult Set(const CFLGeometry3DVector< float > *pVec3)
CFLPoint3< double > operator-(const double &value) const
Offset operator[offset].
CFLPoint3< double > operator*(const double &value) const
An operator that multiplies the x and y values of the object by a parameter.
const CFLPoint3< Ty > & operator*=(const CMatrixFor3D< float > &mat3D)
An operator that multiplies multiplies a 3x3 matrix to this. this = mat3D * this.
CFLPoint3< Ty > operator*(const CMatrixFor3D< float > &mat3D) const
An operator that multiplies multiplies a 3x3 matrix.
float z
Definition FLPoint3.h:58
virtual const CResult Set(const CFLPoint< double > *pFlp, double z=0.)
CFLPoint3(const CFLGeometry3DDirection< double > *pDir)
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 SetLinearInterpolation(const CFLPoint3< Ty > &flp3Start, const CFLPoint3< Ty > &flp3End, double f64T)
Set this to the CFLPoint3 that is linearly interpolated between two CFLPoint3 objects.
virtual const CResult GetCenterOfVertices(double &x, double &y, double &z) const override
CFLPoint3(const Base::TPoint3< float > &tp3)
virtual const CResult Reflect(const CFLGeometry3DAxis< double > *pAxis3Pivot)
virtual const CResult Set(const CFLGeometry3DDirection< float > &dir)
virtual const CResult Set(const CFLPoint3< double > *pFlp3)
virtual const CResult Reflect(const CFLGeometry3DCoordinateSystemRH< double > *pCoordSysRHPlane)
friend CFLPoint3< double > operator+(const float &value, const CFLPoint3< Ty > &point)
Offset operator[offset].
Definition FLPoint3.h:1554
CFLPoint3< Ty > operator*(const CMatrixFor3D< double > *pMat3D) const
An operator that multiplies multiplies a 3x3 matrix.
virtual const CResult Divide(int32_t i32Scalar)
const CFLPoint3< Ty > & operator=(const Base::TPoint3< Ty > &tp3)
CFLPoint3(const CFLGeometry3DDirection< double > &dir)
virtual const CResult Reflect(float pivotX, float pivotY, float pivotZ)
const CFLPoint3< Ty > & operator*=(const CFLPoint3< double > &flp3)
An operator that multiplies the x and y values of the object by a parameter.
float x
Definition FLPoint3.h:46
virtual const CResult Add(Ty tX, Ty tY, Ty tZ)
virtual const CResult GetOrthogonalBasis(CFLPoint3< float > &flpU, CFLPoint3< float > &flpV) const
Calculates two orthogonal basis vectors (U, V) perpendicular to the current normal vector while avoid...
virtual const CResult MatMul(const CMatrix< double > &mat4x4)
virtual const CResult Subtract(const CFLPoint3< Ty > &rhs)
virtual const CResult Reflect(const CFLPoint3< double > *pFlp3Pivot)
virtual const CResult Cross(float f32X, float f32Y, float f32Z)
virtual const CResult Set(const CFLPoint< int64_t > *pFlp, int64_t z=0.)
CFLPoint3< Ty > operator-() const
An operator that returns a point with the signs of x, y and z values inverted.
virtual const CResult Set(const CFLPoint< float > *pFlp, float z=0.)
CFLPoint3(const CFLPoint3< float > *pFlp3)
virtual const CResult Set(const Base::TPoint3< float > *pTp3)
const CFLPoint3< Ty > & operator/=(const CFLPoint3< double > &flp3)
An operator that divides the x, y, z values of the object into parameters.
virtual const CResult Assign(const CFLPoint3< Ty > &flp3)
virtual const CResult Set(const CFLPoint< float > &flp, float z=0.)
virtual double GetDistance(const CFLPoint3< float > &flp3) const
Get the shortest distance to the parameter's object.
const CFLPoint3< Ty > & operator=(const CFLPoint3< Ty > &flp3)
friend CFLPoint3< double > operator*(const int32_t &value, const CFLPoint3< Ty > &point)
Offset operator[offset].
Definition FLPoint3.h:1678
virtual const CResult MatMul(const CMatrixFor3D< float > &mat3D)
CFLPoint3(const CFLPoint< int64_t > *pFlp, int64_t z=0.)
CFLPoint3(const CFLPoint3< double > *pFlp3)
const CFLPoint3< Ty > & operator-=(const CFLPoint3< double > &flp3)
Offset operator[offset].
friend CFLPoint3< double > operator-(const double &value, const CFLPoint3< Ty > &point)
Offset operator[offset].
Definition FLPoint3.h:1657
virtual void Clear() override
Clear an object's variable.
bool operator==(const CFLPoint3< double > &flp3) const
Comparison operator.
virtual const CResult Reflect(double pivotX, double pivotY, double pivotZ)
virtual const CResult GetOrthogonalBasis(CFLPoint3< double > &flpU, CFLPoint3< double > &flpV) const
Calculates two orthogonal basis vectors (U, V) perpendicular to the current normal vector while avoid...
CFLPoint3(const CFLGeometry3DDirection< float > *pDir)
virtual const CResult Normalize()
Function to set this the unit vector from the origin to this.
virtual const CResult Set(const CFLGeometry3DVector< double > *pVec3)
CFLPoint3(const CFLGeometry3DVector< float > &vec3)
virtual EFigureTemplateType GetTemplateType() const override
virtual const CResult Divide(float f32Scalar)
virtual const CResult Set(const CFLGeometry3DDirection< double > *pDir)
CFLPoint3< double > operator+(const double &value) const
Offset operator[offset].
CFLPoint3< double > operator-(const CFLPoint3< double > &flp3) const
Offset operator[offset].
CFLPoint3(int64_t x, int64_t y, int64_t z)
virtual const CResult Assign(const Base::TPoint3< Ty > &tp3)
virtual const CResult Set(const CFLPoint< int32_t > *pFlp, int32_t z=0.)
virtual bool IsValid() const override
CFLPoint3< Ty > operator*(const CMatrixFor3D< double > &mat3D) const
An operator that multiplies multiplies a 3x3 matrix.
virtual const CResult Scale(double f64ScaleX, double f64ScaleY, double f64ScaleZ, double f64PivotX, double f64PivotY, double f64PivotZ) override
virtual double GetDistance(const CFLPoint3< float > *pFlp3) const
Get the shortest distance to the parameter's object.
CFLPoint3(const CFLPoint< double > *pFlp, double z=0.)
virtual const CResult Set(const CFLPoint3< float > &flp3)
const CFLPoint3< Ty > & operator*=(const int64_t &value)
An operator that multiplies the x and y values of the object by a parameter.
virtual const CResult GetOrthogonalBasis(CFLPoint3< double > &flpU) const
Calculates the orthogonal basis vector (U) perpendicular to the current normal vector while avoiding ...
virtual const CResult Cross(int32_t i32X, int32_t i32Y, int32_t i32Z)
CFLPoint3(const CFLPoint< int32_t > &flp, int32_t z=0.)
virtual double Dot(const CFLPoint3< double > *pRhs) const
virtual const CResult MatMul(const CMatrixFor3D< double > *pMat3D)
CFLPoint3(const CFLPoint< double > &flp, double z=0.)
virtual const CResult Set(const CFLPoint< int32_t > &flp, int32_t z=0.)
virtual void Get(Ty &tX, Ty &tY, Ty &tZ) const
virtual double Dot(int32_t i32X, int32_t i32Y, int32_t i32Z) const
virtual CFLPoint< double > GetCenterOfGravity() const override
virtual double Dot(const CFLPoint3< float > *pRhs) const
virtual const CResult Set(const CFLGeometry3DVector< float > &vec3)
const CFLPoint3< Ty > & operator-=(const double &value)
Offset operator[offset].
virtual const CResult Set(double x, double y, double z)
virtual const CResult Reflect(const CFLGeometry3DCoordinateSystemRH< float > &coordSysRHPlane)
virtual const CResult Set(float x, float y, float z)
virtual double GetDistance(const CFLPoint3< double > *pFlp3) const
Get the shortest distance to the parameter's object.
virtual const CResult Cross(const CFLPoint3< float > *pRhs)
CFLPoint3< double > operator*(const CFLPoint3< double > &flp3) const
An operator that multiplies the x and y values of the object by a parameter.
virtual const CResult GetOrthogonalBasis(CFLPoint3< float > *pFlpU, CFLPoint3< float > *pFlpV=nullptr) const
Calculates two orthogonal basis vectors (U, V) perpendicular to the current normal vector while avoid...
CFLPoint3(const CFLPoint3< float > &flp3)
CFLPoint3< double > operator/(const double &value) const
An operator that divides the x, y, z values of the object into parameters.
virtual const CResult MakeFigureInvalid() override
Make the figure invalid. (For example, set the coordinates of the point to invalid x,...
const CFLPoint3< Ty > & operator*=(const CMatrixFor3D< double > &mat3D)
An operator that multiplies multiplies a 3x3 matrix to this. this = mat3D * this.
virtual const CResult Add(const CFLPoint3< Ty > &rhs)
virtual const CResult Reflect(int64_t pivotX, int64_t pivotY, int64_t pivotZ)
virtual const CResult Set(const CFLPoint3< double > &flp3)
virtual double Dot(float f32X, float f32Y, float f32Z) const
virtual double Dot(double f64X, double f64Y, double f64Z) const
virtual const CResult Transform(const CMatrix< float > *pMatTransform) override
Transforms the object.
CFLPoint3(const CFLGeometry3DVector< float > *pVec3)
virtual CFLPoint3< double > GetUnitVector(const CFLPoint3< double > &flp3Target) const
A function that calculates the unit vector from that object to the parameter object.
const CFLPoint3< Ty > & operator*=(const double &value)
An operator that multiplies the x and y values of the object by a parameter.
virtual const CResult Rotate(const CFLGeometry3DQuaternion< float > *pQuat, const CFLPoint3< float > *pFlp3Pivot=nullptr) override
virtual CFLPoint3< double > GetCenter3D() const override
virtual CFLPoint3< double > GetUnitVector(const CFLPoint3< double > *pFlp3Target) const
A function that calculates the unit vector from that object to the parameter object.
float y
Definition FLPoint3.h:52
CFLPoint3(const CFLPoint< float > *pFlp, float z=0.)
CFLPoint3< double > GetUnitVector() const
Function to get the unit vector from the origin to this.
virtual const CResult Set(const CFLGeometry3DVector< double > &vec3)
CFLPoint3(const CFLPoint< int64_t > &flp, int64_t z=0.)
CFLPoint3< double > operator+(const CFLPoint3< double > &flp3) const
Offset operator[offset].
virtual const CResult Divide(int64_t i64Scalar)
virtual const CResult Offset(double x, double y, double z) override
virtual const CResult Set(const Base::TPoint3< float > &tp3)
virtual double GetSquareMagnitude() const
virtual const CResult Reflect(const CFLPoint3< double > &flp3Pivot)
virtual const CResult Cross(const CFLPoint3< double > &rhs)
friend CFLPoint3< double > operator-(const int64_t &value, const CFLPoint3< Ty > &point)
Offset operator[offset].
Definition FLPoint3.h:1615
virtual const CResult Transform(const CMatrix< double > *pMatTransform) override
Transforms the object.
virtual const CResult Divide(double f64Scalar)
CFLPoint3< Ty > operator*(const CMatrixFor3D< float > *pMat3D) const
An operator that multiplies multiplies a 3x3 matrix.
virtual const CResult MatMul(const CMatrix< double > *pMat4x4)
virtual const CResult Reflect(int32_t pivotX, int32_t pivotY, int32_t pivotZ)
virtual const CResult MatMul(const CMatrixFor3D< double > &mat3D)
virtual const CResult Set(const CFLGeometry3DDirection< double > &dir)
virtual bool IsFigureValid() const override
friend CFLPoint3< double > operator*(const double &value, const CFLPoint3< Ty > &point)
Offset operator[offset].
Definition FLPoint3.h:1738
virtual const CResult Reflect(const CFLGeometry3DCoordinateSystemRH< float > *pCoordSysRHPlane)
virtual const CResult Set(const Base::TPoint3< double > *pTp3)
virtual const CResult Cross(double f64X, double f64Y, double f64Z)
friend CFLPoint3< double > operator/(const int32_t &value, const CFLPoint3< Ty > &point)
Offset operator[offset].
Definition FLPoint3.h:1758
virtual const CResult Reflect(const CFLPoint3< float > &flp3Pivot)
virtual const CResult Set(const CFLGeometry3DDirection< float > *pDir)
CFLPoint3(const CFLPoint< int32_t > *pFlp, int32_t z=0.)
virtual const CResult Set(const CFLPoint< int64_t > &flp, int64_t z=0.)
virtual const CResult Set(const Base::TPoint3< double > &tp3)
virtual double Dot(const CFLPoint3< double > &rhs) const
CFLPoint3(const CFLPoint< float > &flp, float z=0.)
CFLPoint3(const Base::TPoint3< double > *pTp3)
virtual const CResult MatMul(const CMatrix< float > *pMat4x4)
const CFLPoint3< Ty > & operator*=(const int32_t &value)
An operator that multiplies the x and y values of the object by a parameter.
CFLPoint3(double x, double y, double z)
CFLPoint3(const CFLFigure &flf)
initialization constructor
friend CFLPoint3< double > operator/(const double &value, const CFLPoint3< Ty > &point)
Offset operator[offset].
Definition FLPoint3.h:1815
const CFLPoint3< Ty > & operator*=(const CMatrixFor3D< double > *pMat3D)
An operator that multiplies multiplies a 3x3 matrix to this. this = pMat3D * this.
const CFLPoint3< Ty > & operator/=(const double &value)
An operator that divides the x, y, z values of the object into parameters.
virtual const CResult Reflect(const CFLPoint3< float > *pFlp3Pivot)
virtual EFigureDeclType GetDeclType() const override
const CFLPoint3< Ty > & operator*=(const CMatrixFor3D< float > *pMat3D)
An operator that multiplies multiplies a 3x3 matrix to this. this = pMat3D * this.
virtual const CResult Reflect(const CFLGeometry3DAxis< double > &axis3Pivot)
virtual double Dot(const CFLPoint3< float > &rhs) const
virtual const CResult GetOrthogonalBasis(CFLPoint3< double > *pFlpU, CFLPoint3< double > *pFlpV=nullptr) const
Calculates two orthogonal basis vectors (U, V) perpendicular to the current normal vector while avoid...
virtual const CResult MatMul(const CMatrix< float > &mat4x4)
virtual const CResult Cross(int64_t i64X, int64_t i64Y, int64_t i64Z)
virtual const CResult GetBoundingBox(double &f64MinX, double &f64MinY, double &f64MinZ, double &f64MaxX, double &f64MaxY, double &f64MaxZ) const override
Returns the bounding box (AABB).
friend CFLPoint3< double > operator/(const float &value, const CFLPoint3< Ty > &point)
Offset operator[offset].
Definition FLPoint3.h:1796
CFLPoint3(const CFLGeometry3DVector< double > *pVec3)
virtual const CResult GetCenterOfGravity(double &x, double &y, double &z) const override
Get the center of gravity (geometric center) of the 3D object.
CFLPoint3(const Base::TPoint3< float > *pTp3)
virtual const CResult GetOrthogonalBasis(CFLPoint3< float > &flpU) const
Calculates the orthogonal basis vector (U) perpendicular to the current normal vector while avoiding ...
virtual const CResult Set(int64_t x, int64_t y, int64_t z)
CFLPoint3(int32_t x, int32_t y, int32_t z)
friend CFLPoint3< double > operator+(const int64_t &value, const CFLPoint3< Ty > &point)
Offset operator[offset].
Definition FLPoint3.h:1534
virtual const CResult Set(const CFLPoint< double > &flp, double z=0.)
virtual double GetMagnitude() const
CFLPoint3(const Base::TPoint3< double > &tp3)
friend CFLPoint3< double > operator*(const float &value, const CFLPoint3< Ty > &point)
Offset operator[offset].
Definition FLPoint3.h:1718
virtual const CResult Multiply(double x, double y, double z) override
friend CFLPoint3< double > operator-(const float &value, const CFLPoint3< Ty > &point)
Offset operator[offset].
Definition FLPoint3.h:1636
virtual const CResult Cross(const CFLPoint3< double > *pRhs)
friend CFLPoint3< double > operator+(const int32_t &value, const CFLPoint3< Ty > &point)
Offset operator[offset].
Definition FLPoint3.h:1514
virtual const CResult Rotate(const CFLGeometry3DQuaternion< double > *pQuat, const CFLPoint3< double > *pFlp3Pivot=nullptr) override
const CFLPoint3< Ty > & operator+=(const CFLPoint3< double > &flp3)
Offset operator[offset].
CFLPoint3< double > operator/(const CFLPoint3< double > &flp3) const
An operator that divides the x, y, z values of the object into parameters.
friend CFLPoint3< double > operator-(const int32_t &value, const CFLPoint3< Ty > &point)
Offset operator[offset].
Definition FLPoint3.h:1594
CFLPoint3(const CFLGeometry3DVector< double > &vec3)
friend CFLPoint3< double > operator*(const int64_t &value, const CFLPoint3< Ty > &point)
Offset operator[offset].
Definition FLPoint3.h:1698
virtual double GetDistance(const CFLPoint3< double > &flp3) const
Get the shortest distance to the parameter's object.
CFLPoint3(const CFLFigure *pFlf)
initialization constructor
const CFLPoint3< Ty > & operator*=(const float &value)
An operator that multiplies the x and y values of the object by a parameter.
virtual const CResult Reflect(const CFLGeometry3DAxis< float > &axis3Pivot)
const CFLPoint3< Ty > & operator+=(const double &value)
Offset operator[offset].
A class representing a point.
Definition FLPoint.h:24
A class representing 3x3 matrix.
Definition MatrixFor3D.h:36
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