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/FITK_Component/FITKGeoCompOCC/FITKOCCModelOperLine.h

94 lines
2.6 KiB
C++

This file contains ambiguous Unicode characters!

This file contains ambiguous Unicode characters that may be confused with others in your current locale. If your use case is intentional and legitimate, you can safely ignore this warning. Use the Escape button to highlight these characters.

/*****************************************************************//**
* @file FITKAbsGeoModelOperLine.h
* @brief 抽象线操作类
*
* @author fulipeng (fulipengqd@yeah.net)
* @date 2024-08-19
*********************************************************************/
#ifndef FITKOCCMODELOPERLINE_H
#define FITKOCCMODELOPERLINE_H
#include "FITKAbstractOCCModel.h"
#include "FITK_Interface/FITKInterfaceGeometry/FITKAbsGeoModelOperLine.h"
namespace OCC
{
class FITKGeoCompOCCAPI FITKOCCModelOperLine : public Interface::FITKAbsGeoModelOperLine, public OCCShapeAgent
{
public:
FITKOCCModelOperLine();
virtual ~FITKOCCModelOperLine() override = default;
/**
* @brief 更新模型
* @return true
* @return false
* @author fulipeng (fulipengqd@yeah.net)
* @date 2024-08-19
*/
virtual bool update() override;
private:
/**
* @brief 合并
* @param shapes操作形状列表
* @return true
* @return false
* @author fulipeng (fulipengqd@yeah.net)
* @date 2024-08-19
*/
bool updateMerge(QList<TopoDS_Shape> shapes);
/**
* @brief 按中点分割
* @param shapes操作形状列表
* @return true
* @return false
* @author fulipeng (fulipengqd@yeah.net)
* @date 2024-08-19
*/
bool updateSplitByMiddlePosition(QList<TopoDS_Shape> shapes);
/**
* @brief 按角度分割
* @param shapes操作形状列表
* @return true
* @return false
* @author fulipeng (fulipengqd@yeah.net)
* @date 2024-08-19
*/
bool updateSplitByAngle(QList<TopoDS_Shape> shapes);
};
class FITKGeoCompOCCAPI FITKOCCModelMiddleOperLine : public Interface::FITKAbsGeoModelMiddleOperLine, public OCCShapeAgent
{
public:
FITKOCCModelMiddleOperLine();
virtual ~FITKOCCModelMiddleOperLine() override = default;
/**
* @brief 更新模型
* @return true
* @return false
* @author fulipeng (fulipengqd@yeah.net)
* @date 2024-08-19
*/
virtual bool update() override;
private:
/**
* @brief 按中点分割
* @param shapes操作形状列表
* @return true
* @return false
* @author fulipeng (fulipengqd@yeah.net)
* @date 2024-08-19
*/
bool updateSplitByMiddlePosition(QList<TopoDS_Shape> shapes);
};
}
#endif // !FITKABSGEOMODELOPERLINE_H