You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
52 lines
2.0 KiB
C
52 lines
2.0 KiB
C
#ifndef NMPEBIRESULTDISPLAYSETTINGS_H
|
|
#define NMPEBIRESULTDISPLAYSETTINGS_H
|
|
|
|
#include "nmSubWxs_global.h"
|
|
|
|
#include <QColor>
|
|
#include <QString>
|
|
|
|
/** @brief PEBI 结果颜色比例模式。 */
|
|
enum NM_PEBI_COLOR_SCALE_MODE
|
|
{
|
|
NM_PebiColorScale_Linear = 0, ///< 线性颜色映射。
|
|
NM_PebiColorScale_Logarithmic ///< 以 10 为底的对数颜色映射。
|
|
};
|
|
|
|
/**
|
|
* @brief 一项结果属性的窗口级显示偏好纯值类型。
|
|
*
|
|
* 本类型不持有 VTK 或界面对象。业务范围和 Log 可用性依赖当前快照,统一由
|
|
* SceneController 校验;这里仅校验枚举、有限数和颜色对象的结构合法性。
|
|
*/
|
|
struct NM_SUB_WXS_EXPORT nmPebiResultDisplaySettings
|
|
{
|
|
/** @brief 初始化为 Rainbow、Linear、自动范围和关闭越界专用颜色。 */
|
|
nmPebiResultDisplaySettings();
|
|
|
|
/** @brief 返回枚举、数值和颜色是否具备可提交的基本结构。 */
|
|
bool isStructurallyValid() const;
|
|
/**
|
|
* @brief 返回规范化副本。
|
|
* @note 自动范围固定把手工值归零;越界颜色固定转换为不透明颜色。
|
|
*/
|
|
nmPebiResultDisplaySettings normalized() const;
|
|
|
|
bool operator==(const nmPebiResultDisplaySettings& oOther) const;
|
|
bool operator!=(const nmPebiResultDisplaySettings& oOther) const;
|
|
|
|
QString m_sColorMapId; ///< 通用色带目录中的稳定英文 ID。
|
|
NM_PEBI_COLOR_SCALE_MODE m_eScaleMode; ///< 线性或 Log10 映射。
|
|
|
|
bool m_bHasManualRange; ///< 为 true 时使用下方两个手工上下限。
|
|
double m_dManualMinimum; ///< 手工显示最小值;自动范围时规范为 0。
|
|
double m_dManualMaximum; ///< 手工显示最大值;自动范围时规范为 0。
|
|
|
|
bool m_bUseBelowRangeColor; ///< 是否显示低于范围值的专用颜色。
|
|
bool m_bUseAboveRangeColor; ///< 是否显示高于范围值的专用颜色。
|
|
QColor m_oBelowRangeColor; ///< 低于范围颜色,提交时强制 Alpha=255。
|
|
QColor m_oAboveRangeColor; ///< 高于范围颜色,提交时强制 Alpha=255。
|
|
};
|
|
|
|
#endif // NMPEBIRESULTDISPLAYSETTINGS_H
|