当前位置: 首页 > news >正文

【OCC学习18】三维几何对象工具包:TKG3d

【OCC学习18】三维几何对象工具包:TKG3d

loveoobaby

已于 2022-08-26 10:10:32 修改

阅读量1.2k
 收藏 10

点赞数 1
分类专栏: OpenCascade学习笔记 文章标签: 学习
版权

OpenCascade学习笔记
专栏收录该内容
24 篇文章60 订阅
订阅专栏
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曲线或曲面。


loveoobaby
关注

————————————————

                            版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
                        
原文链接:https://blog.csdn.net/loveoobaby/article/details/126525454

http://www.lryc.cn/news/396272.html

相关文章:

  • 【Unix】SunOS/Oracle Solaris系统介绍
  • 氛围感视频素材高级感的去哪里找啊?带氛围感的素材网站库分享
  • 基于Java的学生选课系统
  • 802.11漫游流程简单解析与笔记_Part2_05_wpa_supplicant如何通过nl80211控制内核开始关联
  • STM32的 DMA(直接存储器访问) 详解
  • 14-65 剑和诗人39 - 打造你自己的 Devin
  • JavaScript 把CSDN博客内容存成PDF
  • uniapp——银行卡号脱敏
  • 基于Spring Boot框架的EAM系统设计与实现
  • 不同编程范式中作用域和闭包概念概述
  • ISO/OSI七层模型
  • Golang | Leetcode Golang题解之第226题翻转二叉树
  • 传感器标定(一)摄像头内参标定
  • 基于门控循环单元 GRU 实现股票单变量时间序列预测(PyTorch版)
  • Apache tika 实现各种文档内容解析
  • Vue3 监听属性
  • Transformer模型论文解读、源码分析和项目实践
  • 前端部署自动上传资源文件到cdn/oss 解决路由和访问慢的问题
  • Diffusion 公式推导 2
  • layui-表单(输入框)
  • 中职网络安全B模块渗透测试server2380
  • 微信小程序毕业设计-教育培训系统项目开发实战(附源码+论文)
  • 【面试题】正向代理和反向代理的区别?
  • Python面试宝典第8题:二叉树遍历
  • FastReport 指定sql 和修改 数据库连接地址的 工具类 :FastReportHelper
  • C++11中重要的新特性 Part one
  • VB 关键字
  • Linux——多线程(四)
  • InetAddress.getLocalHost().getHostAddress()阻塞导致整个微服务崩溃
  • 在 Qt6 中,QList 和 QVector 统一 成qlist了吗?