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/FITKOCCModelSolid.h

163 lines
4.5 KiB
C++

#ifndef FITKOCCMODELSOLID_H
#define FITKOCCMODELSOLID_H
#include "FITKAbstractOCCModel.h"
#include "FITK_Interface/FITKInterfaceGeometry/FITKAbsGeoModelOperSolid.h"
namespace OCC
{
/**
* @brief 封闭曲面形成的体.
* @author YanZhiHui (chanyuantiandao@126.com)
* @date 2024-08-16
*/
class FITKGeoCompOCCAPI FITKOCCModelClosedSurfaceSolid :
public Interface::FITKAbsGeoModelClosedSurfaceSolid, public OCCShapeAgent
{
public:
/**
* @brief 构造函数.
* @author YanZhiHui (chanyuantiandao@126.com)
* @date 2024-08-16
*/
FITKOCCModelClosedSurfaceSolid();
/**
* @brief 析构函数.
* @author YanZhiHui (chanyuantiandao@126.com)
* @date 2024-08-16
*/
virtual ~FITKOCCModelClosedSurfaceSolid() = default;
/**
* @brief 更新模型.
* @return 是否成功
* @author YanZhiHui (chanyuantiandao@126.com)
* @date 2024-08-13
*/
virtual bool update() override;
};
/**
* @brief 拉伸曲面OCC类.
* @author YanZhiHui (chanyuantiandao@126.com)
* @date 2024-08-16
*/
class FITKGeoCompOCCAPI FITKOCCModelExtrudeSolid :
public Interface::FITKAbsGeoModelExtrudeSolid, public OCCShapeAgent
{
public:
/**
* @brief 构造函数.
* @author YanZhiHui (chanyuantiandao@126.com)
* @date 2024-08-16
*/
FITKOCCModelExtrudeSolid();
/**
* @brief 析构函数.
* @author YanZhiHui (chanyuantiandao@126.com)
* @date 2024-08-16
*/
virtual ~FITKOCCModelExtrudeSolid() = default;
/**
* @brief 更新模型.
* @return 是否成功
* @author YanZhiHui (chanyuantiandao@126.com)
* @date 2024-08-13
*/
virtual bool update() override;
};
/**
* @brief 旋转曲面OCC类.
* @author YanZhiHui (chanyuantiandao@126.com)
* @date 2024-08-16
*/
class FITKGeoCompOCCAPI FITKOCCModelRevolSolid :
public Interface::FITKAbsGeoModelRevolSolid, public OCCShapeAgent
{
public:
/**
* @brief 构造函数.
* @author YanZhiHui (chanyuantiandao@126.com)
* @date 2024-08-16
*/
FITKOCCModelRevolSolid();
/**
* @brief 析构函数.
* @author YanZhiHui (chanyuantiandao@126.com)
* @date 2024-08-16
*/
virtual ~FITKOCCModelRevolSolid() = default;
/**
* @brief 更新模型.
* @return 是否成功
* @author YanZhiHui (chanyuantiandao@126.com)
* @date 2024-08-13
*/
virtual bool update() override;
};
/**
* @brief 扫略体OCC类.
* @author YanZhiHui (chanyuantiandao@126.com)
* @date 2024-08-16
*/
class FITKGeoCompOCCAPI FITKOCCModelSweepSolid :
public Interface::FITKAbsGeoModelSweepSolid, public OCCShapeAgent
{
public:
/**
* @brief 构造函数.
* @author YanZhiHui (chanyuantiandao@126.com)
* @date 2024-08-16
*/
FITKOCCModelSweepSolid();
/**
* @brief 析构函数.
* @author YanZhiHui (chanyuantiandao@126.com)
* @date 2024-08-16
*/
virtual ~FITKOCCModelSweepSolid() = default;
/**
* @brief 更新模型.
* @return 是否成功
* @author YanZhiHui (chanyuantiandao@126.com)
* @date 2024-08-13
*/
virtual bool update() override;
};
/**
* @brief 多截面扫略抽象类.
* @author YanZhiHui (chanyuantiandao@126.com)
* @date 2024-08-16
*/
class FITKGeoCompOCCAPI FITKOCCModelMultiSectionSolid :
public Interface::FITKAbsGeoModelMultiSectionSolid, public OCCShapeAgent
{
public:
/**
* @brief 构造函数.
* @author YanZhiHui (chanyuantiandao@126.com)
* @date 2024-08-16
*/
FITKOCCModelMultiSectionSolid();
/**
* @brief 析构函数.
* @author YanZhiHui (chanyuantiandao@126.com)
* @date 2024-08-16
*/
virtual ~FITKOCCModelMultiSectionSolid() = default;
/**
* @brief 更新模型.
* @return 是否成功
* @author YanZhiHui (chanyuantiandao@126.com)
* @date 2024-08-13
*/
virtual bool update() override;
};
}
#endif // !FITKOCCMODELSOLID_H