/** * @file ComponentFactory.cpp * @brief 组件工厂 * @author YanZhiHui (chanyuantiandao@126.com) * @date 2024-04-19 */ #include "ComponentFactory.h" #include "FITK_Kernel/FITKAppFramework/FITKAppFramework.h" #include "FITK_Kernel/FITKAppFramework/FITKGlobalData.h" #include "FITK_Component/FITKCompMessageWidget/FITKConsoleComponent.h" #include "FITK_Component/FITKRenderWindowVTK/FITKGraph3DWindowInterface.h" #include "FITK_Component/FITKGeoCompOCC/FITKGeoCompOCCInterface.h" #include "FITK_Component/FITKMeshGenOF/FITKMeshGenOFInterface.h" #include "FITK_Interface/FITKInterfaceFlowOF/FITKFlowPhysicsHandlerFactory.h" #include "FITK_Component/FITKFlowOFIOHDF5/FITKFlowOFIOHDF5Interface.h" #include "FITK_Component/FITKOFDictWriter/FITKOFDictWriterIO.h" #include "FITK_Component/FITKOFMeshIO/FITKOFMeshReader.h" #include "OperatorsModel/OpersModelInterface.h" #include "OperatorsGUI/OpersGUIInterface.h" #include "PreWindowInitializer.h" QList ComponentFactory::createComponents() { // 自定义组件列表 QList componentList; // 消息窗口组件 componentList << new Comp::ConsoleComponent(FITKAPP->getGlobalData()->getMainWindow()); // 3D图形窗口组件 auto compVTKrender = new Comp::FITKGraph3DWindowInterface; componentList << compVTKrender; //occ 建模 componentList << new OCC::FITKGeoCompOCCInterface; //OF网格划分 componentList << new OF::FITKMeshGenOFInterface; // 模型数据控制器组件 componentList << new OperModel::OpersModelInterface; // 界面控制器组件 componentList << new GUIOper::OperatorsGUIInterface; // 字典文件写出组件 componentList << new IO::FITKOFDictWriterIO; // OpenFOAM网格读取组件 componentList << new IO::FITKOFMeshReader; // 物理场数据工厂组件 componentList << new Interface::FITKFlowPhysicsHandlerFactory; // hdf5接口组件 componentList << new IO::FITKFlowOFIOHDF5Interface; // VTK窗口初始化器 compVTKrender->addInitializer(1, new PreWindowInitializer); return componentList; }