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

/*****************************************************************//**
* @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