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.
AppFlow/OperatorsGUI/OperGraphPreprocess.h

155 lines
5.3 KiB
C

/*****************************************************************//**
* @file OperGraphPreprocess.h
* @brief
*
* @author ChengHaotian (yeguangbaozi@foxmail.com)
* @date 2024-06-12
*********************************************************************/
#ifndef _OPERGRAPHPREPROCESS_H__
#define _OPERGRAPHPREPROCESS_H__
#include "OperGraphEvent3D.h"
#include "FITK_Kernel/FITKCore/FITKOperatorRepo.h"
namespace GUIOper
{
/**
* @brief
* @author ChengHaotian (yeguangbaozi@foxmail.com)
* @date 2024-06-12
*/
class OperGraphPreprocess : public OperGraphEvent3D
{
Q_OBJECT
public:
/**
* @brief
* @author ChengHaotian (yeguangbaozi@foxmail.com)
* @date 2024-06-12
*/
explicit OperGraphPreprocess() = default;
/**
* @brief
* @author ChengHaotian (yeguangbaozi@foxmail.com)
* @date 2024-06-12
*/
~OperGraphPreprocess() = default;
// 前处理渲染与窗口功能。
//@{
/**
* @brief ID[]
* @param dataObjIdID
* @param forceUpdate[]
* @author ChengHaotian (yeguangbaozi@foxmail.com)
* @date 2024-06-12
*/
void updateGraph(int dataObjId, bool forceUpdate = false) override;
/**
* @brief []
*
* @param type
* @param param[]
* @author ChengHaotian (yeguangbaozi@foxmail.com)
* @date 2024-07-26
*/
void updateGraphByType(int type, GraphOperParam param = GraphOperParam()) override;
/**
* @brief ID[]
* @param dataObjIdID
* @return
* @author ChengHaotian (yeguangbaozi@foxmail.com)
* @date 2024-07-23
*/
Exchange::FITKFluidVTKGraphObject3D* getModelGraphObjectByDataId(int dataObjId) override;
/**
* @brief []
* @param flag
* @author ChengHaotian (yeguangbaozi@foxmail.com)
* @date 2024-07-30
*/
void setEnableModelTransparent(bool flag) override;
/**
* @brief []
* @param flag
* @author ChengHaotian (yeguangbaozi@foxmail.com)
* @date 2024-08-02
*/
void setEnableMeshTransparent(bool flag) override;
/**
* @brief []
* @param dataObjIdID
* @param visibility
* @author ChengHaotian (yeguangbaozi@foxmail.com)
* @date 2024-08-02
*/
void setModelVisible(int dataObjId, bool visibility) override;
/**
* @brief []
* @param dataObjIdID
* @param visibility
* @author ChengHaotian (yeguangbaozi@foxmail.com)
* @date 2024-08-02
*/
void setMeshVisible(int dataObjId, bool visibility) override;
//@}
// 高亮功能接口。
//@{
/**
* @brief []
* @param dataObjIdID
* @param info[]
* @param color[]
* @author ChengHaotian (yeguangbaozi@foxmail.com)
* @date 2024-07-30
*/
void highlight(int dataObjId, QVariant info = QVariant(), QColor color = QColor()) override;
/**
* @brief []
* @param dataObjIdID
* @param indiceID[]
* @param color[]
* @author ChengHaotian (yeguangbaozi@foxmail.com)
* @date 2024-07-30
*/
void advHighlight(int dataObjId, QVector<int> & indice, QColor color = QColor()) override;
/**
* @brief []
* @author ChengHaotian (yeguangbaozi@foxmail.com)
* @date 2024-07-30
*/
void clearHighlight() override;
//@}
// 渲染专用接口。
//@{
/**
* @brief []
* @param fitView
* @author ChengHaotian (yeguangbaozi@foxmail.com)
* @date 2024-07-24
*/
void reRender(bool fitView = false) override;
//@}
};
Register2FITKOPeratorRepo(GraphPreprocess, OperGraphPreprocess);
} // namespace GUIOper
#endif