/********************************************************************** * @file PostGraphWidgetCylinder.h * @brief VTK圆柱界面 * @author BaGuijun (baguijun@163.com) * @date 2024-10-09 *********************************************************************/ #ifndef _PostGraphWidgetCylinder_H_ #define _PostGraphWidgetCylinder_H_ #include #include "PostGraphAdaptorAPI.h" class vtkImplicitCylinderWidget; class vtkImplicitCylinderRepresentation; namespace Interface { class PostGraphWidgetCylinderCallBack; /** * @brief VTK线界面 * @author BaGuijun (baguijun@163.com) * @date 2024-10-09 */ class PostGraphAdaptorAPI PostGraphWidgetCylinder : public QObject { Q_OBJECT; public: /** * @brief 构造函数 * @param[i] widget 父界面 * @author BaGuijun (baguijun@163.com) * @date 2024-10-09 */ PostGraphWidgetCylinder(QWidget* widget); /** * @brief 析构函数 * @author BaGuijun (baguijun@163.com) * @date 2024-10-09 */ ~PostGraphWidgetCylinder(); /** * @brief 设置边界 * @param[i] bounds 边界[6] * @author BaGuijun (baguijun@163.com) * @date 2024-09-18 */ void setBounds(double* bounds); /** * @brief 设置圆柱位置 * @param[i] center 中心点[3] * @param[i] axis 方向[3] * @param[i] radius 半径 * @author BaGuijun (baguijun@163.com) * @date 2024-10-11 */ void setValue(double* center, double* axis, double radius); /** * @brief 设置是否显示 * @param[i] isShow 是否显示 * @author BaGuijun (baguijun@163.com) * @date 2024-09-18 */ void setIsShow(bool isShow); signals: ; /** * @brief 数据更改 * @param[i] center 中心点[3] * @param[i] axis 方向[3] * @param[i] radius 半径 * @author BaGuijun (baguijun@163.com) * @date 2024-10-11 */ void sigValueChange(double* center, double* axis, double radius); private: /** * @brief VTK圆柱界面 * @author BaGuijun (baguijun@163.com) * @date 2024-09-18 */ vtkImplicitCylinderWidget* _widget = nullptr; /** * @brief 代理 * @author BaGuijun (baguijun@163.com) * @date 2024-10-11 */ vtkImplicitCylinderRepresentation* _representation = nullptr; /** * @brief 回调 * @author BaGuijun (baguijun@163.com) * @date 2024-09-18 */ PostGraphWidgetCylinderCallBack* _callBack = nullptr; }; } #endif