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
FLImaging의 최상위 기저 클래스
Definition FLBase.h:36
FLImaging 모듈의 수행 결과 객체
Definition ResultsDef.h:1514
3D 객체의 데이터를 표현하는 클래스
Definition FL3DObject.h:37
3D 객체와 관련된 유틸리티 클래스
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)
변환 행렬을 사용하여 CFL3DObject 객체를 변환합니다.
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)
오일러 시퀀스를 이용해 객체를 회전합니다.
static const CResult Rotate(const EEulerSequence eEulerSequence, const double f64Alpha, const double f64Beta, const double f64Gamma, CFL3DObject &objResult)
오일러 시퀀스를 이용해 객체를 회전합니다.
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)
3D 공간에서 축을 나타내는 클래스.
Definition FLGeometry3DAxis.h:31
사원수를 표현하는 클래스
Definition FLGeometry3DQuaternion.h:25
3D 공간 상의 벡터를 표현하며, 방향과 크기를 내포하는 클래스
Definition FLGeometry3DVector.h:33
3차원 점을 표현하는 클래스
Definition FLPoint3.h:36
3D 공간 상에서의 변환을 용이하게 하기 위한 목적의 행렬 클래스
Definition MatrixFor3DTransform.h:35
EEulerSequence
회전 순서
Definition DefinitionsMathematics.h:240