FLImaging 6.5.8.1
BicubicSplineMapping.h
1#pragma once
9#include "FLFigureForwardDeclaration.h"
10
12namespace FLImaging
13{
15 namespace Foundation
16 {
25 {
34
43 };
44
53 {
62
71 };
72
73 class CInternalBicubicSplineMapping;
74
80 class FL_EXPORT CBicubicSplineMapping : public Base::CFLBase
81 {
82 public:
83
84 #pragma pack(push, 1)
91 {
92 public:
93
104
115
126
134 double arrF64Source3rdRankCoefficients[2][2][4];
135
143 double arrF64Destination3rdRankCoefficients[2][2][4];
144
153 };
154 #pragma pack(pop)
155
156
162
171
180
192 CBicubicSplineMapping(const CFLPoint<int32_t>& flpGridSize, int32_t i32Extension = 2);
193
205 CBicubicSplineMapping(const CFLPoint<int32_t>* pFlpGridSize, int32_t i32Extension = 2);
206
212
223
228 void Clear();
229
245 const CResult Initialize(const CFLPoint<int32_t>& flpGridSize, int32_t i32Extension = 2);
246
262 const CResult Initialize(const CFLPoint<int32_t>* pFlpGridSize, int32_t i32Extension = 2);
263
275 const CResult Load(const wchar_t* pWcsPath);
276
288 const CResult Save(const wchar_t* pWcsPath) const;
289
302
315
323 bool IsInitialized() const;
324
339
350
365
376
384 int32_t GetColumn() const;
385
393 int32_t GetColumnExtension() const;
394
402 int32_t GetRow() const;
403
411 int32_t GetRowExtension() const;
412
430 const CResult SetControlPoint(const CFLPoint<int32_t>& flpGridIndex, const CFLPoint<double>& flpSource, const CFLPoint<double>& flpDestination);
431
449 const CResult SetControlPoint(const CFLPoint<int32_t>* pFlpGridIndex, const CFLPoint<double>* pFlpSource, const CFLPoint<double>* pFlpDestination);
450
463
476
487
495 bool IsAvailable() const;
496
512 const CResult ConvertSourceToDestination(const CFLPoint<double>& flpSource, CFLPoint<double>& flpDestination) const;
513
529 const CResult ConvertSourceToDestination(const CFLPoint<double>* pFlpSource, CFLPoint<double>* pFlpDestination) const;
530
546 const CResult ConvertDestinationToSource(const CFLPoint<double>& flpDestination, CFLPoint<double>& flpSource) const;
547
563 const CResult ConvertDestinationToSource(const CFLPoint<double>* pFlpDestination, CFLPoint<double>* pFlpSource) const;
564
580 const CResult ConvertSourceToDestination(const CFLPointArray& flpaSource, CFLPointArray& flpaDestination) const;
581
597 const CResult ConvertSourceToDestination(const CFLPointArray* pFlpaSource, CFLPointArray* pFlpaDestination) const;
598
614 const CResult ConvertDestinationToSource(const CFLPointArray& flpaDestination, CFLPointArray& flpaSource) const;
615
631 const CResult ConvertDestinationToSource(const CFLPointArray* pFlpaDestination, CFLPointArray* pFlpaSource) const;
632
633
634 SupportToDuplicateObject(CBicubicSplineMapping, *this);
635 DeclareGetClassType();
636
637 protected:
638 CInternalBicubicSplineMapping* m_pInternal;
639 };
640 }
641}
642
FLImaging의 최상위 기저 클래스
Definition FLBase.h:36
점을 표현하는 간략화된 클래스
Definition TPoint.h:37
FLImaging 모듈의 수행 결과 객체
Definition ResultsDef.h:1514
Coordinate mapping 정점에 대한 정보
Definition BicubicSplineMapping.h:91
Base::TPoint< int32_t > tpGridIndex
그리드 인덱스
Definition BicubicSplineMapping.h:103
bool bCompleted
계산이 완료된 객체인지 여부
Definition BicubicSplineMapping.h:152
Base::TPoint< double > tpDestination
대응되는 그리드 인덱스에 대한 원본 좌표의 대응 좌표
Definition BicubicSplineMapping.h:125
Base::TPoint< double > tpSource
대응되는 그리드 인덱스에 대한 원본 좌표
Definition BicubicSplineMapping.h:114
사용자로부터 입력된 각각 대응되는 정점들의 집합을 사용자가 설정한 모델 함수를 바탕으로 변환하는 클래스
Definition BicubicSplineMapping.h:81
const CResult ConvertSourceToDestination(const CFLPointArray *pFlpaSource, CFLPointArray *pFlpaDestination) const
const CResult ConvertDestinationToSource(const CFLPoint< double > &flpDestination, CFLPoint< double > &flpSource) const
const CResult ConvertSourceToDestination(const CFLPoint< double > *pFlpSource, CFLPoint< double > *pFlpDestination) const
const CResult Load(const wchar_t *pWcsPath)
const CBicubicSplineMapping & operator=(const CBicubicSplineMapping &cm)
CBicubicSplineMapping(const CFLPoint< int32_t > &flpGridSize, int32_t i32Extension=2)
CBicubicSplineMapping(const CBicubicSplineMapping &cm)
const CResult Initialize(const CFLPoint< int32_t > *pFlpGridSize, int32_t i32Extension=2)
const CResult ConvertSourceToDestination(const CFLPoint< double > &flpSource, CFLPoint< double > &flpDestination) const
const CResult SetDestinationInterpolationMethod(EDestinationInterpolationMethod eDestinationInterpolationMethod)
const CResult SetSourceInterpolationMethod(ESourceInterpolationMethod eSourceInterpolationMethod)
ESourceInterpolationMethod GetSourceInterpolationMethod() const
CBicubicSplineMapping(const CBicubicSplineMapping *pCm)
const CResult SetControlPoint(const CFLPoint< int32_t > &flpGridIndex, const CFLPoint< double > &flpSource, const CFLPoint< double > &flpDestination)
const CResult SetControlPoint(const CFLPoint< int32_t > *pFlpGridIndex, const CFLPoint< double > *pFlpSource, const CFLPoint< double > *pFlpDestination)
const CResult Initialize(const CFLPoint< int32_t > &flpGridSize, int32_t i32Extension=2)
const CResult Save(const wchar_t *pWcsPath) const
CBicubicSplineMapping(const CFLPoint< int32_t > *pFlpGridSize, int32_t i32Extension=2)
const CBicubicSplineMappingVertexInfo * GetControlPoint(const CFLPoint< int32_t > *pFlpGridIndex) const
const CResult ConvertSourceToDestination(const CFLPointArray &flpaSource, CFLPointArray &flpaDestination) const
const CResult ConvertDestinationToSource(const CFLPointArray &flpaDestination, CFLPointArray &flpaSource) const
const CResult Assign(const CBicubicSplineMapping &cm)
const CBicubicSplineMappingVertexInfo * GetControlPoint(const CFLPoint< int32_t > &flpGridIndex) const
EDestinationInterpolationMethod GetDestinationInterpolationMethod() const
const CResult ConvertDestinationToSource(const CFLPointArray *pFlpaDestination, CFLPointArray *pFlpaSource) const
const CResult Assign(const CBicubicSplineMapping *pCm)
const CResult ConvertDestinationToSource(const CFLPoint< double > *pFlpDestination, CFLPoint< double > *pFlpSource) const
점 배열을 표현하는 클래스
Definition FLPointArray.h:26
점을 표현하는 클래스
Definition FLPoint.h:24
ESourceInterpolationMethod
Source 보간 방법
Definition BicubicSplineMapping.h:25
@ ESourceInterpolationMethod_LinearSpline
선형 스플라인 보간
Definition BicubicSplineMapping.h:33
@ ESourceInterpolationMethod_CubicSpline
3차 스플라인 보간
Definition BicubicSplineMapping.h:42
EDestinationInterpolationMethod
Destination 보간 방법
Definition BicubicSplineMapping.h:53
@ EDestinationInterpolationMethod_CubicSpline
3차 스플라인 보간
Definition BicubicSplineMapping.h:70
@ EDestinationInterpolationMethod_LinearSpline
선형 스플라인 보간
Definition BicubicSplineMapping.h:61