FLImaging 6.5.8.1
FL3DObjectUtilities.h
1#pragma once
2#include "DefinitionsMathematics.h"
3
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 CFL3DObjectUtilities : public Base::CFLBase
39 {
40 private:
42
43 public:
44 virtual ~CFL3DObjectUtilities();
45
67 static const CResult Rotate(const CFLPoint3<float>& flp3Pivot, const CFLGeometry3DQuaternion<float>& quat, CFL3DObject& objResult);
68
88 static const CResult Rotate(const CFLGeometry3DAxis<float>& axis, double f64Angle, CFL3DObject& objResult);
89
107 static const CResult Rotate(const CFLGeometry3DQuaternion<float>& quat, CFL3DObject& objResult);
108
128 static const CResult Rotate(const CFLGeometry3DVector<float>& vec3Start, const CFLGeometry3DVector<float>& vec3End, CFL3DObject& objResult);
129
155 static const CResult Rotate(const EEulerSequence eEulerSequence, const double f64Alpha, const double f64Beta, const double f64Gamma, CFL3DObject& objResult);
156
182 static const CResult Rotate(const EEulerSequence eEulerSequence, const float f32Alpha, const float f32Beta, const float f32Gamma, CFL3DObject& objResult);
183
201 static const CResult Translate(const CFLGeometry3DVector<float>& vec3Translation, CFL3DObject& objResult);
202
222 static const CResult Translate(const CFLPoint3<float>& flp3From, const CFLPoint3<float>& flp3To, CFL3DObject& objResult);
223
241 static const CResult Scale(const CFLPoint3<float>& flp3Pivot, const float f32Scale, CFL3DObject& objResult);
242
262 static const CResult Transform(const CMatrixFor3DTransform<float>& matTransform, CFL3DObject& objResult);
263
264 DeclareGetClassType();
265
266 private:
267
268 };
269 }
270}
271
Top-level base class of FLImaging.
Definition FLBase.h:36
FLImaging module execution result object.
Definition ResultsDef.h:1514
A class representing 3D object data.
Definition FL3DObject.h:37
An utility class CFL3DObject related utility class.
Definition FL3DObjectUtilities.h:39
static const CResult Translate(const CFLPoint3< float > &flp3From, const CFLPoint3< float > &flp3To, CFL3DObject &objResult)
static const CResult Scale(const CFLPoint3< float > &flp3Pivot, const float f32Scale, CFL3DObject &objResult)
static const CResult Rotate(const CFLGeometry3DQuaternion< float > &quat, CFL3DObject &objResult)
static const CResult Transform(const CMatrixFor3DTransform< float > &matTransform, CFL3DObject &objResult)
Transform the CFL3DObject object using a transformation matrix.
static const CResult Rotate(const CFLGeometry3DAxis< float > &axis, double f64Angle, CFL3DObject &objResult)
static const CResult Rotate(const EEulerSequence eEulerSequence, const float f32Alpha, const float f32Beta, const float f32Gamma, CFL3DObject &objResult)
Rotate the object using Euler sequences.
static const CResult Rotate(const EEulerSequence eEulerSequence, const double f64Alpha, const double f64Beta, const double f64Gamma, CFL3DObject &objResult)
Rotate the object using Euler sequences.
static const CResult Rotate(const CFLGeometry3DVector< float > &vec3Start, const CFLGeometry3DVector< float > &vec3End, CFL3DObject &objResult)
static const CResult Translate(const CFLGeometry3DVector< float > &vec3Translation, CFL3DObject &objResult)
static const CResult Rotate(const CFLPoint3< float > &flp3Pivot, const CFLGeometry3DQuaternion< float > &quat, CFL3DObject &objResult)
A class that represents axis in 3D space.
Definition FLGeometry3DAxis.h:31
A class representing quaternion.
Definition FLGeometry3DQuaternion.h:25
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:36
A matrix class for 3D transform.
Definition MatrixFor3DTransform.h:35
EEulerSequence
The order of rotations.
Definition DefinitionsMathematics.h:240