35 I_REGISTER_SUBELEMENT(InterpolationModes);
36 I_REGISTER_SUBELEMENT_INTERFACE(InterpolationModes,
iprm::IOptionsList, ExtractInterpolationModes);
37 I_REGISTER_SUBELEMENT_INTERFACE(InterpolationModes,
istd::IChangeable, ExtractInterpolationModes);
38 I_REGISTER_SUBELEMENT(OrientationModes);
39 I_REGISTER_SUBELEMENT_INTERFACE(OrientationModes,
iprm::IOptionsList, ExtractOrientationModes);
40 I_REGISTER_SUBELEMENT_INTERFACE(OrientationModes,
istd::IChangeable, ExtractOrientationModes);
41 I_ASSIGN(m_aoiParamIdAttrPtr,
"AoiParamId",
"ID of area of interest in parameter set (i2d::CRectangle)",
false,
"AoiParams");
42 I_ASSIGN(m_defaultAoiCompPtr,
"DefaultAoi",
"Area of interest used if not specified in parameters",
false,
"DefaultAoi");
43 I_ASSIGN(m_interpolationModeParamIdAttrPtr,
"InterpolationModeParamId",
"ID of interpolation mode selection in parameter set (iprm::ISelectionParam)",
false,
"InterpolationMode");
44 I_ASSIGN(m_defaultInterpolationModeCompPtr,
"DefaultInterpolationMode",
"Interpolation mode selection used if not specified in parameters",
false,
"DefaultInterpolationMode");
45 I_ASSIGN(m_orientationModeParamIdAttrPtr,
"OrientationModeParamId",
"ID of orientation mode selection in parameter set (iprm::ISelectionParam)",
false,
"OrientationMode");
46 I_ASSIGN(m_defaultOrientationModeCompPtr,
"DefaultOrientationMode",
"Orientation mode selection used if not specified in parameters",
false,
"DefaultOrientationMode");
47 I_ASSIGN(m_cellSizeAttrPtr,
"CellSize",
"Size of single cell (inside of cell linear interpolation will be used)",
true, 8);
84 const istd::IPolymorphic* inputPtr,
86 bool allowAsync =
false,
95 template <
class InterfaceType>
98 return &component.m_interpolationModes;
101 template <
class InterfaceType>
104 return &component.m_orientationModes;
107 I_ATTR(QByteArray, m_aoiParamIdAttrPtr);
109 I_ATTR(QByteArray, m_interpolationModeParamIdAttrPtr);
111 I_ATTR(QByteArray, m_orientationModeParamIdAttrPtr);
113 I_ATTR(
int, m_cellSizeAttrPtr);
virtual iproc::CTaskState DoProcessing(const iprm::IParamsSet *paramsPtr, const istd::IPolymorphic *inputPtr, istd::IChangeable *outputPtr, bool allowAsync=false, iproc::IProgressManager *progressManagerPtr=nullptr) override
static bool CropImage(const i2d::CRectangle &sourceAoi, int cellSize, const iimg::IBitmap &inputBitmap, iimg::IBitmap &outputBitmap, istd::CIndex2d *outputImageSizePtr=nullptr, int interpolationMode=IM_LINEAR, int orientationMode=OM_SIMPLE, ilog::IMessageConsumer *resultConsumerPtr=nullptr)