CAD应用程序开发详解——Visual C++与OpenGL综合应用
2020-04-17 10:22:36 1 举报
AI智能生成
CAD应用程序开发详解——Visual C++与OpenGL综合应用
作者其他创作
大纲/内容
6 设计几何内核模块
6.1 CAD实体模型的常用表示方法
6.1.1 边界表示法与体素构造法简介
6.1.2 多边形网格实体建模的概念
6.1.3 立体光造型(STL)文件格式
6.2 几何对象类的设计
6.2.1 类的层次设计
6.2.2 几何对象基本类CEntity
6.2.3 三角形面片对象类CTriChip
6.2.4 STL几何模型类CSTLModel
6.2.5 高级几何模型类CPart
6.3 串行化(Serialize)实现文档存取功能
6.3.1 为什么要使用串行化
6.3.2 CArchive类
6.3.3 串行化类的设计步骤
6.3.4 CObArray的Serialize()函数
6.3.5 应用程序的文档串行化实例剖析
6.4 利用多态性实现CAD模型的绘制
6.4.1 虚拟函数与多态性
6.4.2 利用多态性统一CAD元素的绘制接口
6.4.3 纯虚拟函数
6.4.4 实现CPart模型的OpenGL显示
6.5 建立几何内核库 Geom Kernel.dll
6.6 程序清单
6.6.1 文件Entity.h
6.6.2 文件Entity.cpp
附:本章相关程序使用说明
7 CAD应用程序的模块化实现
7.1 网格模型可视化程序STLViewer的解决方案
7.1.1 网格模型可视化程序STLViewer的模块结构
7.1.2 创建应用程序的解决方案
7.1.3 为解决方案配置目录与路径
7.2 设计应用程序框架
7.2.1 增加界面资源
7.2.2 修改框架类CMainFrame
7.2.3 修改文档类 CSTL Viewer Doc
7.2.4 修改视图类 CSTL Viewer View
7.3 运行STLViewer.exe
7.3.1 输入STL模型
7.3.2 存储STLViewer自己的文档(*.mdl)
7.3.3 模型显示缩放
7.3.4 使用键盘平移场景
7.3.5 模型视图切换
7.3.6 模型着色模式切换
7.4 源程序清单
7.4.1 文件MainFrm.h
7.4.2 文件MainFrm.cpp
7.4.3 文件STLViewerDoc.h
7.4.4 文件STLViewerDoc.cpp
7.4.5 文件STLViewerView.h
7.4.6 文件STLViewerView.cpp
附:本章相关程序使用说明
8 曲线和曲面的OpenGL绘制及类设计
8.1 关于曲面造型技术
8.2 曲线和曲面的参数表示
8.2.1 曲线的非参数表示
8.2.2 曲线的参数表示
8.2.3 插值与逼近
8.3 曲线的样条描述
8.3.1 参数样条曲线的基本概念
8.3.2 Bezier曲线、曲面的数学表示
8.3.3 使用OpenGL绘制Bezier曲线
8.3.4 使用OpenGL绘制Bezier曲面
8.3.5 NURBS曲线的数学表示
8.3.6 使用OpenGL绘制NURBS曲线
8.3.7 使用OpenGL绘制NURBS曲面
8.4 在应用程序中集成曲线和曲面功能
8.4.1 添加Bezier曲线功能
8.4.2 添加Bezier曲面功能
8.4.3 添加NURBS曲线功能
8.4.4 添加NURBS曲面功能
8.5 程序清单
8.5.1 类CBezierCurve的源代码
8.5.2 类CBezierSurface的源代码
8.5.3 类CNurbsCurve的源代码
8.5.4 类CNurbsSurface的源代码
8.5.5 COpenGLDC中新增的曲线和曲面绘制函数代码
附:本章相关程序使用说明
9 CAD应用程序的界面设计
9.1 STLViewer的界面增强
9.2 工具栏的排列
9.3 使用快捷菜单
9.4 创建类似 Visual Studio风格的浮动窗口
9.4.1 控制条与停靠栏
9.4.2 开发具有Visual Studio风格的浮动窗口
9.4.3 CTabCtrl控件的功能增强
9.4.4 建立界面工具库DockTool.dll
9.5 使用树型视图CTree View显示和管理文档数据
9.5.1 树型视图与树型控件概述
9.5.2 在 STLViewer中创建CPart Tree View
9.5.3 树视图CPartTreeView与文档的关联/文档多视图
9.5.4 在树型控件中使用图标
9.5.5 使用树视图控件显示文档中几何模型的结构和属性
9.5.6 通过树视图控件对文档数据进行操作
附:本章相关程序使用说明
10 三维CAD图形交互功能的实现
10.1 使用OpenGL选择模式
10.1.1 OpenGL的三种操作模式
10.1.2 使用选择模式
10.2 一个OpenGL选择模式的应用程序
10.3 OpenGL的选择功能与CAD应用程序的集成
10.3.1 定义选择视景体/修改类CCamera
10.3.2 对选择过程的操作/修改类COpenGLDC
10.3.3 自动给对象命名/对类CSTLModel的修改
10.3.4 在STLViewer中调用拾取功能
10.3.5 运行程序
10.4 三维空间的视景交互
10.4.1 鼠标移动跟踪
10.4.2 Open GL空间与 Windows 窗口的坐标转换
附:本章相关程序使用说明
1 三维CAD软件的系统框架分析
1.1 关于微软基础类MFC
1.2 MFC应用程序的文档/视图结构
1.2.1 文档/视图结构概述
1.2.2 文档与多个视图的关联
1.2.3 文档模板及主要组成类
1.3 实例分析:三维CAD模型浏览软件STLViewer
1.4 STLViewer的程序框架
1.5 STLViewer中类的层次设计及软件模块结构划分
1.6 建立和使用动态链接库
1.6.1 动态链接库的基本概念
1.6.2 基于MFC的动态链接库
1.6.3 查看执行程序EXE与DLL库的层次关系
附:本章相关程序使用说明
2 矢量计算工具与几何计算类库设计
2.1 矢量运算概述
2.1.1 点
2.1.2 矢量
2.1.3 齐次坐标与齐次变换矩阵
2.2 设计点、矢量和齐次变换矩阵类
2.2.1 点类CPoint3D
2.2.2 矢量类CVector3D
2.2.3 变换矩阵类CMatrix3D
2.3 三维图形的几何变换
2.3.1 三维齐次变换矩阵
2.3.2 平移变换
2.3.3 旋转变换/绕空间任意轴的旋转变换函数的实现
2.3.4 几何缩放
2.3.5 对称变换/沿空间任意平面的对称变换函数的实现
2.4 矢量计算及其工具函数集设计
2.4.1 判断两个空间矢量是否平行
2.4.2 计算两个矢量的夹角
2.4.3 计算三角面片的面积
2.4.4 正交投影及点到直线之间的距离计算
2.4.5 直线求交
2.4.6 创建过平面三个点的圆
2.5 设计几何基本工具库GeomCalc.dll
2.5.1 GeomCalc.dll中的输出类与输出函数
2.5.2 创建几何基本工具库GeomCalc.dll的步骤
2.5.3 使用GeomCalc.dll
2.6 有关源程序代码
2.6.1 文件CadBase.h
2.6.2 文件CadBase.cpp
2.6.3 文件CadBase1.cpp
附:本章相关程序使用说明
3 创建基于MFC的 Open G L Windows程序
3.1 OpenGL概述
3.2 在Windows环境下使用OpenGL
3.2.1 OpenGL的函数库
3.2.2 获取与安装OpenGL
3.2.3 OpenGL与GDI
3.2.4 渲染场境
3.2.5 像素格式
3.3 OpenGL MFC应用程序创建实例
3.3.1 创建一个应用程序框架
3.3.2 修改视类CGLView
3.3.3 使用OpenGL的双缓存技术为应用程序增加动画效果
3.对象的旋转
3.4 程序清单
3.4.1 文件GLView.h
3.4.2 文件GLView.cpp
附:本章相关程序使用说明
4 设计封装OpenGL功能的C++类
4.1 封装OpenGL的C++类的设计
4.2 照相机类GCamera的设计
4.2.1 视点坐标系和视图变换
4.2.2 投影变换与视景体
4.2.3 视口变换
4.2.4 设计照相机类GCamera
4.3 类COpenGLDC
4.4 修改类CGLView
4.5 运行应用程序
4.6 源程序清单
4.6.1 类GCamera的声明代码
4.6.2 类GCamera的实现代码
4.6.3 类COpenGLDC的声明代码
4.6.4 类COpenGLDC的实现代码
4.6.5 类CGLView的声明代码
4.6.6 类CGLView的实现代码
附:本章相关程序使用说明
5 设计基于OpenGL的CAD图形工具库
5.1 创建动态链接库glContext.dll
5.2 照相机类GCamera的功能增强
5.2.1 选择典型的观察视图
5.2.2 景物平移
5.2.3 景物缩放
5.2.4 使用OpenGL的选择模式
5.3 模型真实感渲染与OpenGL光照设置
5.3.1 光照的组成
5.3.2 定义OpenGL的光源
5.3.3 物体材质
5.3.4 单面光照与双面光照
5.4 类COpenGLDC功能的增强
5.4.1 实现和Windows窗口的关联
5.4.2 有关光源的操作
5.4.3 有关颜色的操作
5.4.4 图形绘制函数
5.4.5 选择模式
5.5 增加类CGLView中的功能
5.6 glContext类的输出和调用
5.7 源程序清单
5.7.1 文件 Camera.h(类G Camera )
5.7.2 文件Camera.cpp(类GCamera)
5.7.3 文件OpenGLDC.h(类COpenGLDC、CGLView)
5.7.4 文件OpenGLDC.cpp(类OpenGLDC)
5.7.5 文件 GLView.cpp(类CGLView)
附:本章相关程序使用说明
0 条评论
下一页