|
|
|
|
#ifndef _FITK_GEO_ENUM_H___
|
|
|
|
|
#define _FITK_GEO_ENUM_H___
|
|
|
|
|
|
|
|
|
|
#include <QObject>
|
|
|
|
|
#include "FITKInterfaceGeometryAPI.h"
|
|
|
|
|
|
|
|
|
|
namespace Interface
|
|
|
|
|
{
|
|
|
|
|
/**
|
|
|
|
|
* @brief 几何命令相关枚举
|
|
|
|
|
* @author LiBaojun (libaojunqd@foxmail.com)
|
|
|
|
|
* @date 2024-07-12
|
|
|
|
|
*/
|
|
|
|
|
class FITKInterfaceGeometryAPI FITKGeoEnum : public QObject
|
|
|
|
|
{
|
|
|
|
|
Q_OBJECT
|
|
|
|
|
public:
|
|
|
|
|
/*
|
|
|
|
|
* @brief 几何引擎枚举
|
|
|
|
|
*/
|
|
|
|
|
enum FITKGeoEngine
|
|
|
|
|
{
|
|
|
|
|
FGENone, ///< None
|
|
|
|
|
FGEOCC, ///< OpenCASCADE
|
|
|
|
|
FGEOGG, ///< OpenGeometry
|
|
|
|
|
FGEPS, ///< Parasolid
|
|
|
|
|
FGEACIS, ///< ACIS
|
|
|
|
|
};
|
|
|
|
|
Q_ENUM(FITKGeoEngine);
|
|
|
|
|
/**
|
|
|
|
|
* @brief 虚拟拓扑类型
|
|
|
|
|
* @author libaojun (libaojunqd@foxmail.com)
|
|
|
|
|
* @date 2024-08-09
|
|
|
|
|
*/
|
|
|
|
|
enum VTopoShapeType
|
|
|
|
|
{
|
|
|
|
|
VSNone, ///< 无
|
|
|
|
|
VSPoint, ///< 点
|
|
|
|
|
VSEdge, ///< 线
|
|
|
|
|
VSWire, ///< 线环 多条线
|
|
|
|
|
VSFace, ///< 面
|
|
|
|
|
VSShell, ///< 壳 多个面组成
|
|
|
|
|
VSSolid, ///< 体
|
|
|
|
|
VSAssembly, ///< 组合
|
|
|
|
|
};
|
|
|
|
|
Q_ENUM(VTopoShapeType);
|
|
|
|
|
|
|
|
|
|
/*
|
|
|
|
|
* @brief 基准元素类型枚举。
|
|
|
|
|
*/
|
|
|
|
|
enum FITKDatumType
|
|
|
|
|
{
|
|
|
|
|
FDTNone = -1,
|
|
|
|
|
FDTPoint = 0,
|
|
|
|
|
FDTCurveRadio = 1,
|
|
|
|
|
FDTLine = 1000,
|
|
|
|
|
FDTPlane = 2000,
|
|
|
|
|
FDTOffsetPlane = 2001,
|
|
|
|
|
FDTThreePointsPlane = 2002,
|
|
|
|
|
FDTEquationPlane = 2003
|
|
|
|
|
};
|
|
|
|
|
Q_ENUM(FITKDatumType);
|
|
|
|
|
|
|
|
|
|
/*
|
|
|
|
|
* @brief 几何命令状态。
|
|
|
|
|
*/
|
|
|
|
|
enum FITKGeoStatus
|
|
|
|
|
{
|
|
|
|
|
FGSNone, ///< None
|
|
|
|
|
FGSNormal, ///< 常规
|
|
|
|
|
FGSModified, ///< 被修改
|
|
|
|
|
FGSDeleted, ///< 被移除
|
|
|
|
|
};
|
|
|
|
|
Q_ENUM(FITKGeoStatus);
|
|
|
|
|
|
|
|
|
|
/*
|
|
|
|
|
* @brief 几何命令枚举
|
|
|
|
|
*/
|
|
|
|
|
enum FITKGeometryComType
|
|
|
|
|
{
|
|
|
|
|
FGTNone = -1, ///< None
|
|
|
|
|
FGTDelete, ///< 模型删除
|
|
|
|
|
FGTSketch2D, ///< 2D草图
|
|
|
|
|
FGTImport, ///< 导入文件
|
|
|
|
|
FGTExport, ///< 导出文件
|
|
|
|
|
FGTBox, ///< 创建长方体
|
|
|
|
|
FGTCylinder, ///< 创建圆柱体
|
|
|
|
|
FGTSphere, ///< 创建球体
|
|
|
|
|
FGTBool, ///< bool操作
|
|
|
|
|
FGTPoint, ///< 点
|
|
|
|
|
FGTCurveEnd,///< 曲线的端点
|
|
|
|
|
FGTCurveEndDistance,///< 距曲线的端点指定距离
|
|
|
|
|
FGTCurveRadio,///< 曲线指定比例
|
|
|
|
|
FGTPointProjectionOnCurve,///< 点在线上的投影
|
|
|
|
|
FGTTwoCurveIntersectPoint,///< 两条曲线交点
|
|
|
|
|
FGTPointProjectionOnSurface,///< 点在面上的投影
|
|
|
|
|
FGTCurveIntersectSurface,///< 曲线和面的交点
|
|
|
|
|
FGTLine, ///< 无限直线
|
|
|
|
|
FGTSegment, ///< 有限线段
|
|
|
|
|
FGTWire, ///< 多段线
|
|
|
|
|
FGTCircle, ///< 圆
|
|
|
|
|
FGTCircleArc, ///< 圆弧
|
|
|
|
|
FGTThreePointsCircle, ///< 三点构建圆
|
|
|
|
|
FGTThreePointsEllipse, ///< 三点构建椭圆
|
|
|
|
|
FGTThreePointsHyperbola, ///< 三点构建双曲线
|
|
|
|
|
FGTThreePointsParabola, ///< 三点构建抛物线
|
|
|
|
|
FGTCurveProjectionOnSurface,///< 线在面上的投影
|
|
|
|
|
FGTSurfaceIntersectSurface,///< 面和面的交点
|
|
|
|
|
FGTEllipse, ///< 椭圆
|
|
|
|
|
FGTEllipseArc, ///< 椭圆弧
|
|
|
|
|
FGTHyperbola, ///< 双曲线
|
|
|
|
|
FGTHyperbolaArc, ///< 双曲线弧
|
|
|
|
|
FGTParabola, ///< 抛物线
|
|
|
|
|
FGTParabolaArc, ///< 抛物线弧
|
|
|
|
|
FGTOffsetCurve, ///< 偏移线
|
|
|
|
|
FGTBezierByControlPoints, ///< 通过控制点创建贝塞尔曲线
|
|
|
|
|
FGTBezierByThroughPoints, ///< 通过曲线上的点点创建贝塞尔曲线
|
|
|
|
|
FGTBSplineByControlPoints, ///< 通过控制点创建B样条曲线
|
|
|
|
|
FGTBSplineByThroughPoints, ///< 通过曲线上的点创建B样条曲线
|
|
|
|
|
FGTTrimmed, ///< 裁剪曲线
|
|
|
|
|
FGTBridgeCurve, ///< 桥接曲线
|
|
|
|
|
FGTCurveFromSurface, ///< 曲面的边线
|
|
|
|
|
FGTClosedWireSurface, ///< 封闭曲线形成的面
|
|
|
|
|
FGTOffsetSurface, ///< 偏移面
|
|
|
|
|
FGTExtrudeSurface, ///< 拉伸面
|
|
|
|
|
FGTRevolSurface, ///< 旋转面
|
|
|
|
|
FGTRectangularTrimmedSurface, ///< 矩形裁剪面
|
|
|
|
|
FGTSweepSurface,///< 扫略曲面
|
|
|
|
|
FGTClosedSurfaceSolid, ///< 封闭曲面形成的体
|
|
|
|
|
FGTBridgeSurface, ///< 桥接曲面
|
|
|
|
|
FGTSurfaceFromSolid, ///< 从体上提取面
|
|
|
|
|
FGTMultiSectionSurface, ///< 多截面扫略面
|
|
|
|
|
FGTExtrudeSolid, ///< 拉伸体
|
|
|
|
|
FGTRevolSolid, ///< 旋转体
|
|
|
|
|
FGTSweepSolid,///< 扫略体
|
|
|
|
|
FGTMultiSectionSolid, ///< 多截面扫略体
|
|
|
|
|
FGTChamferSolid,///< 倒角(体)
|
|
|
|
|
FGTFilletSolid,///< 倒圆(体)
|
|
|
|
|
FGTDefeature, ///< 移除特征(体)
|
|
|
|
|
FGTRemoveChamfer,///< 移除倒角(体)
|
|
|
|
|
FGTRemoveFillet,///< 移除倒圆(体)
|
|
|
|
|
FGTFillHole,///< 填补孔洞(体)
|
|
|
|
|
FGTMergeLine, ///合并线
|
|
|
|
|
FGTSplitByMiddlePositionLine, ///线分割 基于中点分割
|
|
|
|
|
FGTSplitByAngleLine, ///线分割 基于角度分割
|
|
|
|
|
FGTDeleteFloatingEdge, ///删除悬浮边
|
|
|
|
|
FGTFillHolesFace, ///填补孔洞(面)
|
|
|
|
|
FGTFillGapsFace, ///填补缝隙(面)
|
|
|
|
|
FGTImprintMapPointToFace, ///点映射到面
|
|
|
|
|
FGTImprintMapLineToFace, ///线映射到面
|
|
|
|
|
FGTImprintSolid, ///压印体
|
|
|
|
|
FGTCompoundAppendShape, ///复合对象添加对象
|
|
|
|
|
FGTCompoundRemoveShape, ///复合对象移除对象
|
|
|
|
|
FGTTransform, ///通过向量平移
|
|
|
|
|
FGTTransformByTwoPoints, /// 通过两点平移
|
|
|
|
|
FGTTransformByDirAndDis, /// 通过方向和距离平移
|
|
|
|
|
FGTRotate, ///旋转
|
|
|
|
|
FGTScale, ///缩放
|
|
|
|
|
FGTCurveSplitter, /// 曲线分割
|
|
|
|
|
FGTSurfaceSplitter, /// 曲面分割
|
|
|
|
|
FGTSolidSplitter, /// 体分割
|
|
|
|
|
|
|
|
|
|
};
|
|
|
|
|
Q_ENUM(FITKGeometryComType);
|
|
|
|
|
|
|
|
|
|
private:
|
|
|
|
|
/**
|
|
|
|
|
* @brief 私有构造函数
|
|
|
|
|
*/
|
|
|
|
|
FITKGeoEnum() = default;
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
#endif
|