OCC的ModelingData模块中TKG3d toolkit定义了3d几何体。三维几何体的定义在Geom包中。在TKGeomBase tookit中GC包可快速创建几何对象。
一、Geom包定义三维空间几何体,主要包含三大类:
1. 基准
- Geom_Axis1Placement:定义3D空间的轴;
- Geom_Axis2Placement:定义一个右手坐标轴;
- Geom_AxisPlacement:抽象基类,用于定义轴或坐标系;
- Geom_Direction:定义三维矢量;
- Geom_Plane:定义三维平面;
- Geom_Point:点的抽象基类;
- Geom_CartesianPoint:定义笛卡尔坐标下三维点;
- Geom_Vector:Geom_Direction的抽象基类;
- Geom_Transformation:齐次坐标变换矩阵;
2. 曲线
- Geom_Geometry:继承自Standard_Transient,是三维几何体的基类;
- Geom_Curve:线的基类
- Geom_Ellipse:椭圆线
- Geom_Hyperbola:双曲线
- Geom_Line:无限长的线
- Geom_OffsetCurve:偏移形成的线
- Geom_Parabola:抛物线
- Geom_TrimmedCurve:被限制参数空间的线
- Geom_BSplineCurve:B样条曲线
- Geom_BezierSurface:贝塞尔曲线
- Geom_BoundedCurve
- Geom_Circle:圆
- Geom_Conic:圆锥曲线
3. 曲面
- Geom_Surface:三维曲线的基类,定义了曲面通用行为
- Geom_SurfaceOfLinearExtrusion:
- Geom_SurfaceOfRevolution:旋转形成的曲面
- Geom_SweptSurface:扫略曲面
- Geom_ToroidalSurface
- Geom_ElementarySurface
- Geom_OffsetSurface:拉伸形成的曲面
- Geom_OsculatingSurface
- Geom_RectangularTrimmedSurface
- Geom_SequenceOfBSplineSurface
- Geom_SphericalSurface:球面
- Geom_BSplineSurface:B样条曲面
- Geom_BoundedSurface
- Geom_ConicalSurface:圆锥曲面
- Geom_CylindricalSurface:圆柱面
- Geom_BezierSurface:贝塞尔曲面
下图是Geom包类的继承关系图:
二、TKG3d其他的包
- Adaptor3d:曲线适配接口,用于适配某些算法需要的入参;
- GeomLProp:计算曲面或曲线的属性,如面积,长度等;
- TColGeom:提供几何对象的几何类
- GeomEvaluator:
三、GC:创建几何对象的包
在TKGeomBase toolkit下有GC包,包含创建3D几何体的API类:
- GC_MakeArcOfCircle:创建圆弧
- GC_MakeArcOfEllipse:创建椭圆弧
- GC_MakeArcOfHyperbola:双曲线弧
- GC_MakeArcOfParabola:抛物线弧
- GC_MakeCircle:圆
- GC_MakeConicalSurface:圆锥曲面
- GC_MakeCylindricalSurface:圆柱曲面
- GC_MakeEllipse:椭圆
- GC_MakeHyperbola:双曲线
- GC_MakeLine:线
- GC_MakeMirror:对物体进行镜像
- GC_MakePlane:创建平面
- GC_MakeRotation:旋转操作
- GC_MakeScale:缩放
- GC_MakeSegment:创建线段
- GC_MakeTrimmedCone:修剪的圆锥体
- GC_MakeTrimmedCylinder:修剪的圆柱
借助这些API可以很方便创建3d曲线或曲面。