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

239 lines
6.8 KiB
C++

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