|
|
|
|
/**********************************************************************
|
|
|
|
|
* @file PostGraphObjectManager.h
|
|
|
|
|
* @brief 后处理渲染对象管理器
|
|
|
|
|
* @author BaGuijun (baguijun@163.com)
|
|
|
|
|
* @date 2024-09-06
|
|
|
|
|
*********************************************************************/
|
|
|
|
|
#ifndef __PostGraphObjectManager_H__
|
|
|
|
|
#define __PostGraphObjectManager_H__
|
|
|
|
|
|
|
|
|
|
#include "PostGraphObjectAgent.h"
|
|
|
|
|
#include "PostGraphObjectLight.h"
|
|
|
|
|
#include "FITK_Kernel/FITKCore/FITKAbstractDataManager.hpp"
|
|
|
|
|
#include "FITK_Kernel/FITKCore/FITKCoreMacros.h"
|
|
|
|
|
|
|
|
|
|
#include <QMutex>
|
|
|
|
|
#include <QMutexLocker>
|
|
|
|
|
#include <QList>
|
|
|
|
|
|
|
|
|
|
namespace Interface
|
|
|
|
|
{
|
|
|
|
|
class FITKAbstractCFDPostData;
|
|
|
|
|
class PostGraphObjectBase;
|
|
|
|
|
class PostGraphObjectLight;
|
|
|
|
|
/**
|
|
|
|
|
* @brief 灯光管理器
|
|
|
|
|
* @author BaGuijun (baguijun@163.com)
|
|
|
|
|
* @date 2024-10-16
|
|
|
|
|
*/
|
|
|
|
|
class PostGraphAdaptorAPI PostGraphLightManager : public Core::FITKAbstractDataManager<PostGraphObjectLight>
|
|
|
|
|
{
|
|
|
|
|
public:
|
|
|
|
|
PostGraphLightManager() = default;
|
|
|
|
|
~PostGraphLightManager() = default;
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* @brief 后处理渲染对象管理器
|
|
|
|
|
* @author BaGuijun (baguijun@163.com)
|
|
|
|
|
* @date 2024-09-06
|
|
|
|
|
*/
|
|
|
|
|
class PostGraphAdaptorAPI PostGraphObjectManager : public Core::FITKAbstractDataManager<PostGraphObjectAgent>
|
|
|
|
|
{
|
|
|
|
|
/**
|
|
|
|
|
* @brief 单例声明
|
|
|
|
|
* @author BaGuijun (baguijun@163.com)
|
|
|
|
|
* @date 2024-09-10
|
|
|
|
|
*/
|
|
|
|
|
DeclSingleton(PostGraphObjectManager);
|
|
|
|
|
public:
|
|
|
|
|
/**
|
|
|
|
|
* @brief 获取后处理数据对应的渲染对象数据
|
|
|
|
|
* @param[i] postData 后处理数据
|
|
|
|
|
* @return PostGraphObjectBase* 渲染对象数据
|
|
|
|
|
* @author BaGuijun (baguijun@163.com)
|
|
|
|
|
* @date 2024-09-12
|
|
|
|
|
*/
|
|
|
|
|
PostGraphObjectBase* getGraphObjectBase(FITKAbstractCFDPostData* postData);
|
|
|
|
|
/**
|
|
|
|
|
* @brief 获取后处理数据对应的渲染对象数据
|
|
|
|
|
* @param[i] PostDataID 后处理数据ID
|
|
|
|
|
* @return PostGraphObjectBase* 渲染对象数据
|
|
|
|
|
* @author BaGuijun (baguijun@163.com)
|
|
|
|
|
* @date 2024-09-13
|
|
|
|
|
*/
|
|
|
|
|
PostGraphObjectBase* getGraphObjectBase(int PostDataID);
|
|
|
|
|
/**
|
|
|
|
|
* @brief 获取灯光管理器
|
|
|
|
|
* @return PostGraphLightManager* 灯光管理器
|
|
|
|
|
* @author BaGuijun (baguijun@163.com)
|
|
|
|
|
* @date 2024-10-16
|
|
|
|
|
*/
|
|
|
|
|
PostGraphLightManager* getGraphLightManager();
|
|
|
|
|
private:
|
|
|
|
|
/**
|
|
|
|
|
* @brief 初始化
|
|
|
|
|
* @author BaGuijun (baguijun@163.com)
|
|
|
|
|
* @date 2024-09-06
|
|
|
|
|
*/
|
|
|
|
|
void initialize();
|
|
|
|
|
/**
|
|
|
|
|
* @brief 结束,析构函数调用
|
|
|
|
|
* @author BaGuijun (baguijun@163.com)
|
|
|
|
|
* @date 2024-09-06
|
|
|
|
|
*/
|
|
|
|
|
void finalize();
|
|
|
|
|
private:
|
|
|
|
|
PostGraphLightManager* _postLightManager = nullptr;
|
|
|
|
|
};
|
|
|
|
|
}
|
|
|
|
|
#endif
|