FLImaging 7.8.25.3
FL3DMathUtilities.h
1#pragma once
2#include "DefinitionsMathematics.h"
3
9
11namespace FLImaging
12{
14 namespace Foundation
15 {
16 class CFL3DObject;
17
18 template <typename Ty>
19 class FL_EXPORT CMatrixFor3DTransform;
20
21 template <typename Ty>
22 class FL_EXPORT CFLGeometry3DAxis;
23
24 template <typename Ty>
25 class FL_EXPORT CFLGeometry3DQuaternion;
26
27 template <typename Ty>
28 class FL_EXPORT CFLGeometry3DVector;
29
30 template <typename Ty>
31 class FL_EXPORT CFLPoint3;
32
38 class FL_EXPORT CFL3DMathUtilities : public Base::CFLBase
39 {
40 private:
41 CFL3DMathUtilities();
42
43 public:
49
68
86 static double Dot(const CFLPoint3<float>& a, const CFLPoint3<float>& b);
87
106
125
143 static CFLPoint3<float> Multiply(const CFLPoint3<float>& a, double f64Scale);
144
165
191
192 DeclareGetClassType();
193
194 private:
195
196 };
197 }
198}
199
Top-level base class of FLImaging.
Definition FLBase.h:36
static CFLPoint3< float > GetMiddlePoint(const CFLPoint3< float > &a, const CFLPoint3< float > &b)
Return the midpoint of two 3D points. Computes the component-wise average ; the result is invariant t...
static CFLPoint3< float > Add(const CFLPoint3< float > &a, const CFLPoint3< float > &b)
Add two 3D vectors (points). Computes component-wise.
static CFLPoint3< float > Sub(const CFLPoint3< float > &a, const CFLPoint3< float > &b)
Subtract two 3D vectors (points). Computes component-wise.
static double Dot(const CFLPoint3< float > &a, const CFLPoint3< float > &b)
Compute the 3D dot product of two vectors. Represents the projection magnitude and cosine similarity ...
static CFLPoint3< float > Multiply(const CFLPoint3< float > &a, double f64Scale)
Multiply a 3D vector by a scalar. Scales each component of a by f64Scale.
static CFLPoint3< float > GetCentroid(const CFLPoint3< float > &a, const CFLPoint3< float > &b, const CFLPoint3< float > &c)
Return the geometric centroid of a triangle defined by three 3D points. Assumes uniform density; comp...
static CFLPoint3< float > Cross(const CFLPoint3< float > &a, const CFLPoint3< float > &b)
Compute the 3D cross product of two vectors. Returns the vector perpendicular to both a and b (right-...
A class representing 3D object data.
Definition FL3DObject.h:42
Represents a 3D axis defined by an origin point and a direction.
Definition FLGeometry3DAxis.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
A matrix class for 3D transform.
Definition MatrixFor3DTransform.h:40
Definition AlgorithmBase.h:16