/** * @file FITKOCCModelPoint.h * @brief OCC表示的点. * @author YanZhiHui (chanyuantiandao@126.com) * @date 2024-08-27 */ #ifndef FITKOCCMODELPOINT_H #define FITKOCCMODELPOINT_H #include "FITKAbstractOCCModel.h" #include "FITK_Interface/FITKInterfaceGeometry/FITKAbsGeoModelPoint.h" namespace OCC { /** * @brief 坐标点. * @author YanZhiHui (chanyuantiandao@126.com) * @date 2024-08-27 */ class FITKGeoCompOCCAPI FITKOCCModelPoint :public Interface::FITKAbsGeoModelPoint, public OCCShapeAgent { public: /** * @brief 构造函数. * @author YanZhiHui (chanyuantiandao@126.com) * @date 2024-08-27 */ FITKOCCModelPoint(); /** * @brief 析构函数. * @author YanZhiHui (chanyuantiandao@126.com) * @date 2024-08-27 */ ~FITKOCCModelPoint() override = default; /** * @brief 更新模型. * @author YanZhiHui (chanyuantiandao@126.com) * @date 2024-08-27 */ virtual bool update() override; }; /** * @brief 曲线的端点. * @author YanZhiHui (chanyuantiandao@126.com) * @date 2024-08-27 */ class FITKGeoCompOCCAPI FITKOCCModelCurveEnd : public Interface::FITKAbsGeoModelCurveEnd, public OCCShapeAgent { public: /** * @brief 构造函数. * @author YanZhiHui (chanyuantiandao@126.com) * @date 2024-08-27 */ FITKOCCModelCurveEnd(); /** * @brief 析构函数. * @author YanZhiHui (chanyuantiandao@126.com) * @date 2024-08-27 */ ~FITKOCCModelCurveEnd() override = default; /** * @brief 更新模型. * @author YanZhiHui (chanyuantiandao@126.com) * @date 2024-08-27 */ virtual bool update() override; }; /** * @brief 距离曲线的端点指定距离. * @author YanZhiHui (chanyuantiandao@126.com) * @date 2024-08-27 */ class FITKGeoCompOCCAPI FITKOCCModelCurveEndDistance : public Interface::FITKAbsGeoModelCurveEndDistance, public OCCShapeAgent { public: /** * @brief 构造函数. * @author YanZhiHui (chanyuantiandao@126.com) * @date 2024-08-27 */ FITKOCCModelCurveEndDistance(); /** * @brief 析构函数. * @author YanZhiHui (chanyuantiandao@126.com) * @date 2024-08-27 */ ~FITKOCCModelCurveEndDistance() override = default; /** * @brief 更新模型. * @author YanZhiHui (chanyuantiandao@126.com) * @date 2024-08-27 */ virtual bool update() override; }; /** * @brief 指定曲线比例创建点. * @author YanZhiHui (chanyuantiandao@126.com) * @date 2024-08-27 */ class FITKGeoCompOCCAPI FITKOCCModelCurveRadio : public Interface::FITKAbsGeoModelCurveRadio, public OCCShapeAgent { public: /** * @brief 构造函数. * @author YanZhiHui (chanyuantiandao@126.com) * @date 2024-08-27 */ FITKOCCModelCurveRadio(); /** * @brief 析构函数. * @author YanZhiHui (chanyuantiandao@126.com) * @date 2024-08-27 */ ~FITKOCCModelCurveRadio() override = default; /** * @brief 更新模型. * @author YanZhiHui (chanyuantiandao@126.com) * @date 2024-08-27 */ virtual bool update() override; }; class FITKGeoCompOCCAPI FITKOCCModelPointProjectionOnCurve :public Interface::FITKAbsGeoModelPointProjectionOnCurve, public OCCShapeAgent { public: /** * @brief 构造函数. * @author YanZhiHui (chanyuantiandao@126.com) * @date 2024-08-27 */ FITKOCCModelPointProjectionOnCurve(); /** * @brief 析构函数. * @author YanZhiHui (chanyuantiandao@126.com) * @date 2024-08-27 */ ~FITKOCCModelPointProjectionOnCurve() override = default; /** * @brief 更新模型. * @author YanZhiHui (chanyuantiandao@126.com) * @date 2024-08-27 */ virtual bool update() override; }; class FITKGeoCompOCCAPI FITKOCCModelTwoCurveIntersection : public Interface::FITKAbsGeoModelTwoCurveIntersection, public OCCShapeAgent { public: /** * @brief 构造函数. * @author YanZhiHui (chanyuantiandao@126.com) * @date 2024-08-27 */ FITKOCCModelTwoCurveIntersection(); /** * @brief 析构函数. * @author YanZhiHui (chanyuantiandao@126.com) * @date 2024-08-27 */ ~FITKOCCModelTwoCurveIntersection() override = default; /** * @brief 更新模型. * @author YanZhiHui (chanyuantiandao@126.com) * @date 2024-08-27 */ virtual bool update() override; }; /** * @brief 点在面上的投影. * @author YanZhiHui (chanyuantiandao@126.com) * @date 2024-08-27 */ class FITKGeoCompOCCAPI FITKOCCModelPointProjectionOnSurface : public Interface::FITKAbsGeoModelPointProjectionOnSurface, public OCCShapeAgent { public: /** * @brief 构造函数. * @author YanZhiHui (chanyuantiandao@126.com) * @date 2024-08-27 */ FITKOCCModelPointProjectionOnSurface(); /** * @brief 析构函数. * @author YanZhiHui (chanyuantiandao@126.com) * @date 2024-08-27 */ ~FITKOCCModelPointProjectionOnSurface() override = default; /** * @brief 更新模型. * @author YanZhiHui (chanyuantiandao@126.com) * @date 2024-08-27 */ virtual bool update() override; }; /** * @brief 线和面的交点. * @author YanZhiHui (chanyuantiandao@126.com) * @date 2024-08-27 */ class FITKGeoCompOCCAPI FITKOCCModelCurveIntersectionSurface : public Interface::FITKAbsGeoModelCurveIntersectionSurface, public OCCShapeAgent { public: /** * @brief 构造函数. * @author YanZhiHui (chanyuantiandao@126.com) * @date 2024-08-27 */ FITKOCCModelCurveIntersectionSurface(); /** * @brief 析构函数. * @author YanZhiHui (chanyuantiandao@126.com) * @date 2024-08-27 */ ~FITKOCCModelCurveIntersectionSurface() override = default; /** * @brief 更新模型. * @author YanZhiHui (chanyuantiandao@126.com) * @date 2024-08-27 */ virtual bool update() override; }; } #endif // !FITKOCCMODELPOINT_H