BIMHome v1.0.0
BIMHome接口文档说明
Geometry2D.h
浏览该文件的文档.
1/************************************************************************
2* @file Geometry2D.h
3*
4* @brief 二维基础集合图形定义
5*
6* @details 二维基础集合图形定义
7*
8* @author lirf
9*
10* @version 1.0
11*
12* @date 2025-6-7
13*
14* @license 北京华科软科技有限公司
15*
16*************************************************************************/
17
18#ifndef BIMHOMEBASE_GEOMETRY2D_H
19#define BIMHOMEBASE_GEOMETRY2D_H
20
21#include <Base/Tools2D.h>#include "BHGlobal.h"
22#include <string>
23#include <vector>
24#include <memory>
25namespace Base
26{
27 enum class Geometry2DType
28 {
29 None, // 空
30 Point, // 点
31
32 Curve, // 曲线
33 Line, // 直线
34 LineSegment, // 线段
35 PolyLine, // 多段线
36 Circle, // 圆
37 Ellipse, // 椭圆
38 Arc, // 圆弧
39 EllipseArc, // 椭圆弧
40
41 BSplineCurve, // B样条曲线
42 Hyperbola, // 双曲线
43 BezierCurve, // 贝塞尔曲线
44 Parabola, // 抛物线
45 NURBS, // NURBS曲线
46
47 Surface, // 曲面
48 Plane, // 平面
49 BezierSurface, // 贝塞尔曲面
50 BSplineSurface, // B样条曲面
51 ConicalSurface, // 圆锥曲面
52 CylindricalSurface, // 圆柱曲面
53 SphericalSurface, // 球面
54 LinearExtrusionSurface, // 线性拉伸曲面
55 RevolutionSurface, // 旋转曲面
56 SweepSurface, // 扫掠曲面
57 OffsetSurface, // 偏移曲面
58 OsculatingSurface, // 接触曲面
59 BoundedSurface, // 有界曲面
60
61 //几何体
62 Cone, //圆锥
63 Cylinder, //圆柱
64 //
65
66 Hatch, //填充
67 Block, //块
68 //扩展
69 };
70
71 class BaseExport Geometry2D
72 {
73 public:
75 virtual ~Geometry2D();
76
78 Geometry2D* clone(void) const;
79 virtual Geometry2D* copy(void) const = 0;
80 protected:
82 };
83
84}
85
86#endif // BIMHOMEBASE_AXIS_H
Definition BSplineCurve.h:27
Definition BezierCurve.h:27
Definition Block.h:26
Definition Circle.h:27
Definition Curve.h:27
Definition Ellipse.h:28
virtual Geometry2D * copy(void) const =0
Geometry2D * clone(void) const
Geometry2DType getType() const
virtual ~Geometry2D()
Geometry2DType mType
Definition Geometry2D.h:81
Definition Geometry2D.h:72
Definition Hatch.h:26
Definition Hyperbola.h:29
Definition Line.h:28
Definition LineSegment.h:28
Definition Parabola.h:30
Definition Point.h:27
Definition PolyLine.h:27
Geometry2DType
Definition Geometry2D.h:28
Definition BaseFigureFactory.h:24