#ifndef NMPEBIRESULTANIMATIONEXPORTSETTINGS_H #define NMPEBIRESULTANIMATIONEXPORTSETTINGS_H #include "nmSubWxs_global.h" #include /** @brief PEBI结果动画导出的已规范化纯值参数。 */ class NM_SUB_WXS_EXPORT nmPebiResultAnimationExportSettings { public: /** @brief 创建默认15 FPS、单帧范围、采样间隔1和2x2输出参数。 */ nmPebiResultAnimationExportSettings(); /** * @brief 校验帧范围、采样间隔、帧率及输出尺寸是否可用于导出。 * @param nAvailableFrameCount 当前动态属性可用的总帧数。 * @return 全部参数有效时返回true。 */ bool isValid(int nAvailableFrameCount) const; /** * @brief 按闭区间和采样间隔生成零基帧下标,并保证包含结束帧。 * @return 有效的有序帧下标;基础范围无效时返回空数组。 */ QVector buildFrameIndices() const; /** @brief 返回buildFrameIndices()生成的实际输出帧数。 */ int getOutputFrameCount() const; /** @brief 视频帧率,正式有效范围为1~5000 FPS。 */ int m_nFramesPerSecond; /** @brief 导出闭区间的零基起始帧下标。 */ int m_nStartFrameIndex; /** @brief 导出闭区间的零基结束帧下标,允许与起始帧相同。 */ int m_nEndFrameIndex; /** @brief 原始结果帧的正整数采样间隔。 */ int m_nSamplingInterval; /** @brief 输出宽度,单位为像素,必须是2~8192之间的偶数。 */ int m_nOutputWidth; /** @brief 输出高度,单位为像素,必须是2~8192之间的偶数。 */ int m_nOutputHeight; }; #endif // NMPEBIRESULTANIMATIONEXPORTSETTINGS_H