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
Top-level base class of FLImaging.
Definition FLBase.h:36
Simplified class representing a point.
Definition TPoint.h:37
FLImaging module execution result object.
Definition ResultsDef.h:1514
Coordinate mapping vertex information.
Definition BicubicSplineMapping.h:91
Base::TPoint< int32_t > tpGridIndex
grid index
Definition BicubicSplineMapping.h:103
bool bCompleted
Whether the object is computed.
Definition BicubicSplineMapping.h:152
Base::TPoint< double > tpDestination
Corresponding coordinates of original coordinates to corresponding grid indices.
Definition BicubicSplineMapping.h:125
Base::TPoint< double > tpSource
Source coordinates for corresponding grid indices.
Definition BicubicSplineMapping.h:114
A class that transforms a set of corresponding vertices input from the user based on the model functi...
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
A base class representing array of figure.
Definition FLPointArray.h:26
A class representing a point.
Definition FLPoint.h:24
ESourceInterpolationMethod
Source interpolation method.
Definition BicubicSplineMapping.h:25
@ ESourceInterpolationMethod_LinearSpline
Linear spline interpolation.
Definition BicubicSplineMapping.h:33
@ ESourceInterpolationMethod_CubicSpline
Cubic spline interpolation.
Definition BicubicSplineMapping.h:42
EDestinationInterpolationMethod
Destination interpolation method.
Definition BicubicSplineMapping.h:53
@ EDestinationInterpolationMethod_CubicSpline
Cubic spline interpolation.
Definition BicubicSplineMapping.h:70
@ EDestinationInterpolationMethod_LinearSpline
Linear spline interpolation.
Definition BicubicSplineMapping.h:61