2023-05-08 06:32:41 +00:00
|
|
|
|
/**
|
|
|
|
|
* @file STEPdataExchange.h
|
|
|
|
|
* @brief step文件操作类头文件
|
2024-03-20 07:33:49 +00:00
|
|
|
|
* @author LAMPCAE研发小组(LAMPCAE@diso.cn)
|
2023-05-08 06:32:41 +00:00
|
|
|
|
* @version 2.5.0
|
|
|
|
|
* @date 2022-03-18 15:42
|
|
|
|
|
* @copyright Copyright (c) Since 2020 青岛数智船海科技有限公司 All rights reserved.
|
|
|
|
|
*
|
|
|
|
|
* ============================================================================
|
2024-03-20 07:33:49 +00:00
|
|
|
|
* Program: LAMPCAE
|
2023-05-08 06:32:41 +00:00
|
|
|
|
*
|
|
|
|
|
* Copyright (c) Since 2020 青岛数智船海科技有限公司 All rights reserved.
|
2024-03-20 07:33:49 +00:00
|
|
|
|
* See License or http://www.LAMPCAE.com/ for details.
|
2023-05-08 06:32:41 +00:00
|
|
|
|
*
|
|
|
|
|
* BSD 3-Clause License
|
|
|
|
|
*
|
|
|
|
|
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
|
|
|
|
|
* AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
|
|
|
|
|
* IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
|
|
|
|
|
* DISCLAIMED.
|
|
|
|
|
* ==================================================================================
|
|
|
|
|
*/
|
|
|
|
|
#ifndef _STEPDATAEXCHANGE_H_
|
|
|
|
|
#define _STEPDATAEXCHANGE_H_
|
|
|
|
|
|
|
|
|
|
#include "GeometryThreadBase.h"
|
|
|
|
|
|
|
|
|
|
namespace Geometry
|
|
|
|
|
{
|
|
|
|
|
/**
|
|
|
|
|
* @brief step格式几何文件操作(导入导出)类
|
|
|
|
|
* @since 2.5.0
|
|
|
|
|
*/
|
|
|
|
|
class GEOMETRYDATAEXCHANGEAPI STEPdataExchange : public GeometryThreadBase
|
|
|
|
|
{
|
|
|
|
|
public:
|
|
|
|
|
/**
|
|
|
|
|
* @brief 构造函数
|
|
|
|
|
* @param _fileName 要操作的文件
|
|
|
|
|
* @param operation 要进行的操作
|
|
|
|
|
* @param mw 主窗口对象
|
|
|
|
|
* @param res 几何形状列表
|
|
|
|
|
* @param KernalId
|
|
|
|
|
* @since 2.5.0
|
|
|
|
|
*/
|
|
|
|
|
STEPdataExchange(const QString& _fileName, GeometryOperation operation, GUI::MainWindow *mw, QList<GeometrySet*>& res, int KernalId = -1);
|
|
|
|
|
/**
|
|
|
|
|
* @brief 析构函数
|
|
|
|
|
* @since 2.5.0
|
|
|
|
|
*/
|
|
|
|
|
~STEPdataExchange();
|
|
|
|
|
void run() override;
|
|
|
|
|
|
|
|
|
|
private:
|
|
|
|
|
/**
|
|
|
|
|
* @brief 读取step文件
|
|
|
|
|
* @return bool 返回读取结果
|
|
|
|
|
* @since 2.5.0
|
|
|
|
|
*/
|
|
|
|
|
bool readStep();
|
|
|
|
|
/**
|
|
|
|
|
* @brief 写入step文件
|
|
|
|
|
* @return bool 返回写入结果
|
|
|
|
|
* @since 2.5.0
|
|
|
|
|
*/
|
|
|
|
|
bool writeStep();
|
|
|
|
|
void deriveGeometryTaskFinished();
|
|
|
|
|
|
|
|
|
|
private:
|
|
|
|
|
/**
|
|
|
|
|
* @brief 要操作的文件名
|
|
|
|
|
* @since 2.5.0
|
|
|
|
|
*/
|
|
|
|
|
const QString _fileName;
|
|
|
|
|
/**
|
|
|
|
|
* @brief 要执行的操作
|
|
|
|
|
* @since 2.5.0
|
|
|
|
|
*/
|
|
|
|
|
GeometryOperation _operation;
|
|
|
|
|
/**
|
|
|
|
|
* @brief 是否为读取操作
|
|
|
|
|
* @since 2.5.0
|
|
|
|
|
*/
|
|
|
|
|
bool _isRead{ false };
|
|
|
|
|
/**
|
|
|
|
|
* @brief 是否为写入操作
|
|
|
|
|
* @since 2.5.0
|
|
|
|
|
*/
|
|
|
|
|
bool _isWrite{ false };
|
|
|
|
|
};
|
|
|
|
|
}
|
|
|
|
|
#endif
|