没有合适的资源?快使用搜索试试~ 我知道了~
首页OpenMesh入门文档中文版
OpenMesh入门文档中文版
5星 · 超过95%的资源 需积分: 49 580 下载量 134 浏览量
更新于2023-03-16
评论 22
收藏 1.08MB PDF 举报
OpenMesh中文教程,由官方文档理解翻译,内有5个基础的代码示例,包括OpenMesh+OpenGL,网格光滑处理等。 重点介绍了OpenMesh中的动态属性和Traits类的定义和使用。
资源详情
资源评论
资源推荐
OpenMesh入门文档
Version 1.0
杨当福
2016年7月2日
目录
圱 坏坰坥坮坍坥坳坨介绍 圳
圱圮圱 概述 圮 圮 圮 圮 圮 圮 圮 圮 圮 圮 圮 圮 圮 圮 圮 圮 圮 圮 圮 圮 圮 圮 圮 圮 圮 圮 圮 圮 圮 圮 圮 圮 圮 圮 圮 圮 圮 圮 圮 圮 圮 圮 圳
圱圮圲 特点和功能 圮 圮 圮 圮 圮 圮 圮 圮 圮 圮 圮 圮 圮 圮 圮 圮 圮 圮 圮 圮 圮 圮 圮 圮 圮 圮 圮 圮 圮 圮 圮 圮 圮 圮 圮 圮 圮 圮 圳
圲 安装和配置 圴
圲圮圱 安装 圮 圮 圮 圮 圮 圮 圮 圮 圮 圮 圮 圮 圮 圮 圮 圮 圮 圮 圮 圮 圮 圮 圮 圮 圮 圮 圮 圮 圮 圮 圮 圮 圮 圮 圮 圮 圮 圮 圮 圮 圮 圮 圴
圲圮圲 配置 圮 圮 圮 圮 圮 圮 圮 圮 圮 圮 圮 圮 圮 圮 圮 圮 圮 圮 圮 圮 圮 圮 圮 圮 圮 圮 圮 圮 圮 圮 圮 圮 圮 圮 圮 圮 圮 圮 圮 圮 圮 圮 圴
圳 使用和理解坏坰坥坮坍坥坳坨 圷
圳圮圱 半边数据结构 圮 圮 圮 圮 圮 圮 圮 圮 圮 圮 圮 圮 圮 圮 圮 圮 圮 圮 圮 圮 圮 圮 圮 圮 圮 圮 圮 圮 圮 圮 圮 圮 圮 圮 圮 圮 圮 圷
圳圮圲 迭代器和循环器 圮 圮 圮 圮 圮 圮 圮 圮 圮 圮 圮 圮 圮 圮 圮 圮 圮 圮 圮 圮 圮 圮 圮 圮 圮 圮 圮 圮 圮 圮 圮 圮 圮 圮 圮 圮 圸
圳圮圲圮圱 迭代器 圮 圮 圮 圮 圮 圮 圮 圮 圮 圮 圮 圮 圮 圮 圮 圮 圮 圮 圮 圮 圮 圮 圮 圮 圮 圮 圮 圮 圮 圮 圮 圮 圮 圮 圮 圮 圮 圸
圳圮圲圮圲 循环器 圮 圮 圮 圮 圮 圮 圮 圮 圮 圮 圮 圮 圮 圮 圮 圮 圮 圮 圮 圮 圮 圮 圮 圮 圮 圮 圮 圮 圮 圮 圮 圮 圮 圮 圮 圮 圮 圹
圳圮圳 网格上的导航 圮 圮 圮 圮 圮 圮 圮 圮 圮 圮 圮 圮 圮 圮 圮 圮 圮 圮 圮 圮 圮 圮 圮 圮 圮 圮 圮 圮 圮 圮 圮 圮 圮 圮 圮 圮 圮 圱地
圳圮圳圮圱 半边导航 圮 圮 圮 圮 圮 圮 圮 圮 圮 圮 圮 圮 圮 圮 圮 圮 圮 圮 圮 圮 圮 圮 圮 圮 圮 圮 圮 圮 圮 圮 圮 圮 圮 圮 圮 圱地
圳圮圳圮圲 网格边界 圮 圮 圮 圮 圮 圮 圮 圮 圮 圮 圮 圮 圮 圮 圮 圮 圮 圮 圮 圮 圮 圮 圮 圮 圮 圮 圮 圮 圮 圮 圮 圮 圮 圮 圮 圱圲
圳圮圳圮圳 入射和出射半边 圮 圮 圮 圮 圮 圮 圮 圮 圮 圮 圮 圮 圮 圮 圮 圮 圮 圮 圮 圮 圮 圮 圮 圮 圮 圮 圮 圮 圮 圮 圮 圱圲
圳圮圳圮圴 反向半边、对立元素 圮 圮 圮 圮 圮 圮 圮 圮 圮 圮 圮 圮 圮 圮 圮 圮 圮 圮 圮 圮 圮 圮 圮 圮 圮 圮 圮 圮 圮 圱圳
圳圮圳圮圵 获得半边起点圯终点 圮 圮 圮 圮 圮 圮 圮 圮 圮 圮 圮 圮 圮 圮 圮 圮 圮 圮 圮 圮 圮 圮 圮 圮 圮 圮 圮 圮 圮 圮 圱圴
圳圮圴 文件读写 圮 圮 圮 圮 圮 圮 圮 圮 圮 圮 圮 圮 圮 圮 圮 圮 圮 圮 圮 圮 圮 圮 圮 圮 圮 圮 圮 圮 圮 圮 圮 圮 圮 圮 圮 圮 圮 圮 圮 圱圴
圳圮圵 两个基本操作 圮 圮 圮 圮 圮 圮 圮 圮 圮 圮 圮 圮 圮 圮 圮 圮 圮 圮 圮 圮 圮 圮 圮 圮 圮 圮 圮 圮 圮 圮 圮 圮 圮 圮 圮 圮 圮 圱圴
圳圮圵圮圱 边的翻转 圮 圮 圮 圮 圮 圮 圮 圮 圮 圮 圮 圮 圮 圮 圮 圮 圮 圮 圮 圮 圮 圮 圮 圮 圮 圮 圮 圮 圮 圮 圮 圮 圮 圮 圮 圱圴
圳圮圵圮圲 边的折叠 圮 圮 圮 圮 圮 圮 圮 圮 圮 圮 圮 圮 圮 圮 圮 圮 圮 圮 圮 圮 圮 圮 圮 圮 圮 圮 圮 圮 圮 圮 圮 圮 圮 圮 圮 圱圶
圴 坏坰坥坮坍坥坳坨使用教程 圱圷
圴圮圱 定义自己的坍坹坍坥坳坨 圮 圮 圮 圮 圮 圮 圮 圮 圮 圮 圮 圮 圮 圮 圮 圮 圮 圮 圮 圮 圮 圮 圮 圮 圮 圮 圮 圮 圮 圮 圮 圮 圮 圱圸
圴圮圱圮圱 三角形网格圬 多边形网格圿 圮 圮 圮 圮 圮 圮 圮 圮 圮 圮 圮 圮 圮 圮 圮 圮 圮 圮 圮 圮 圮 圮 圮 圮 圮 圮 圱圸
圴圮圱圮圲 选择内核在坋坥坲坮坥坬圩 圮 圮 圮 圮 圮 圮 圮 圮 圮 圮 圮 圮 圮 圮 圮 圮 圮 圮 圮 圮 圮 圮 圮 圮 圮 圮 圮 圮 圮 圮 圮 圱圸
圱
目录 圲
圴圮圱圮圳 网格特性在坍坥坳坨 坔坲坡坩坴坳圩 圮 圮 圮 圮 圮 圮 圮 圮 圮 圮 圮 圮 圮 圮 圮 圮 圮 圮 圮 圮 圮 圮 圮 圮 圮 圮 圮 圮 圱圸
圴圮圱圮圴 坍坹坍坥坳坨定义的具体形式 圮 圮 圮 圮 圮 圮 圮 圮 圮 圮 圮 圮 圮 圮 圮 圮 圮 圮 圮 圮 圮 圮 圮 圮 圮 圮 圮 圲圱
圴圮圱圮圵 动态属性 圮 圮 圮 圮 圮 圮 圮 圮 圮 圮 圮 圮 圮 圮 圮 圮 圮 圮 圮 圮 圮 圮 圮 圮 圮 圮 圮 圮 圮 圮 圮 圮 圮 圮 圮 圲圲
圴圮圲 网格光滑处理 圮 圮 圮 圮 圮 圮 圮 圮 圮 圮 圮 圮 圮 圮 圮 圮 圮 圮 圮 圮 圮 圮 圮 圮 圮 圮 圮 圮 圮 圮 圮 圮 圮 圮 圮 圮 圮 圲圲
圴圮圲圮圱 使用迭代器和循环器 圮 圮 圮 圮 圮 圮 圮 圮 圮 圮 圮 圮 圮 圮 圮 圮 圮 圮 圮 圮 圮 圮 圮 圮 圮 圮 圮 圮 圮 圲圲
圴圮圲圮圲 使用动态属性 圮 圮 圮 圮 圮 圮 圮 圮 圮 圮 圮 圮 圮 圮 圮 圮 圮 圮 圮 圮 圮 圮 圮 圮 圮 圮 圮 圮 圮 圮 圮 圮 圮 圲圴
圴圮圲圮圳 使用坍坹坔坲坡坩坴坳 圮 圮 圮 圮 圮 圮 圮 圮 圮 圮 圮 圮 圮 圮 圮 圮 圮 圮 圮 圮 圮 圮 圮 圮 圮 圮 圮 圮 圮 圮 圮 圮 圮 圲圵
圴圮圳 坏坰坥坮均坌圫坏坰坥坮坍坥坳坨 圮 圮 圮 圮 圮 圮 圮 圮 圮 圮 圮 圮 圮 圮 圮 圮 圮 圮 圮 圮 圮 圮 圮 圮 圮 圮 圮 圮 圮 圮 圮 圮 圮 圲圷
圴圮圳圮圱 通过坲坥坱坵坥坳坴方法添加法向属性 圮 圮 圮 圮 圮 圮 圮 圮 圮 圮 圮 圮 圮 圮 圮 圮 圮 圮 圮 圮 圮 圮 圮 圮 圲圷
圴圮圳圮圲 通过定义坔坲坡坩坴坳类方法添加法向属性 圮 圮 圮 圮 圮 圮 圮 圮 圮 圮 圮 圮 圮 圮 圮 圮 圮 圮 圮 圮 圳地
圴圮圴 其它细节 圮 圮 圮 圮 圮 圮 圮 圮 圮 圮 圮 圮 圮 圮 圮 圮 圮 圮 圮 圮 圮 圮 圮 圮 圮 圮 圮 圮 圮 圮 圮 圮 圮 圮 圮 圮 圮 圮 圮 圳圲
圴圮圴圮圱 关于坖坥坣坴坯坲坔模板类 圮 圮 圮 圮 圮 圮 圮 圮 圮 圮 圮 圮 圮 圮 圮 圮 圮 圮 圮 圮 圮 圮 圮 圮 圮 圮 圮 圮 圮 圳圲
圴圮圴圮圲 关于坏坰坥坮坍坥坳坨的实现 圮 圮 圮 圮 圮 圮 圮 圮 圮 圮 圮 圮 圮 圮 圮 圮 圮 圮 圮 圮 圮 圮 圮 圮 圮 圮 圮 圮 圳圳
圵 坔坏坄坏 坌坩坳坴 圳圳
圵圮圱 坔坏坄坏 坌坩坳坴 圮 圮 圮 圮 圮 圮 圮 圮 圮 圮 圮 圮 圮 圮 圮 圮 圮 圮 圮 圮 圮 圮 圮 圮 圮 圮 圮 圮 圮 圮 圮 圮 圮 圮 圮 圮 圮 圮 圳圳
丱 乏乐久乎乍久乓么介绍 圳
1 OpenMesh介绍
1.1 概述
坏坰坥坮坍坥坳坨是一个提供了用于表示和操作多边形网格数据结构的通用且高效的库,用户可
以根据应用需要自己定制网格类型,可以提供自定义的用于表示点、边和面的数据结构或者可
以方便地使用坏坰坥坮坍坥坳坨中预定义的结构,此外,坏坰坥坮坍坥坳坨还 提供了一种动态属性在坤坹坮坡坭坩坣
坰坲坯坰坥坲坴坩坥坳圩,允许用户在运行时动态的绑定和解绑数据在如可以动态的为顶点 提供一个曲率属
性圩。
1.2 特点和功能
坏坰坥坮坍坥坳坨使用半边数据结构在坔坨坥 坨坡坬坦坥坤坧坥 坤坡坴坡 坳坴坲坵坣坴坵坲坥圩存储和管理网格元素在点、边、
面圩和它们之间的连接关系。
坏坰坥坮坍坥坳坨的实现和内部结构,使得其具有以下特点和功能:
圱圮 可以处理一般的多边形网格,而不仅限于三角网格;
圲圮 顶点、半边、边和面的显示表示;
圳圮 顶点圱圭坲坩坮坧邻域的快速访问;
圴圮 处理非流形顶点。
圵圮 更改标量、坐标等的数据类型,默认为圍坯坡坴;
圶圮 可以为网格元素在点、边、面圩增加自定义的属性,或开关预定义标准属性;
圷圮 高效。
串 安装和配置 圴
2 安装和配置
2.1 安装
进入坏坰坥坮坍坥坳坨的官网http://www.openmesh.org/,根据自己所使用的坖坩坳坵坡坬 坓坴坵坤坩坯版本
选择下载对应版本的二进制文件。本教程使用坖坩坳坵坡坬 坓坴坵坤坩坯 圲地圱圵,简单起见,这里直接下载目
前最新发布版的二进制安装文件如下,
安装时记下安装目录,配置过程中需要使用。这里之所以使用静态链接文件,是省去了添
加系统环境变量的麻烦。
2.2 配置
接下来就介绍配置和入门程序。我们新建一个“空的基于控制台的块坩坮圳圲程序”,并添加
一个源文件坅坸地圱圮坣坰坰。在输入代码前先要配置坏坰坥坮坍坥坳坨。为了使配置可以很方便的移植到其
他使用坏坰坥坮坍坥坳坨的程序上,可以在新建了一个属性表,在坖坓圲地圱圵中,选择 坐坲坯坰坥坲坴坹 坍坡坮坡坧坥坲
视图,在项目名称上右键,选择坁坤坤 坎坥坷 坐坲坯坪坥坣坴 坐坲坯坰坥坲坴坹 坓坨坥坥坴圮圮圮,命名为坏坰坥坮坍坥坳坨,创建
后,展开坄坥坢坵坧|块坩坮圳圲,双击打开坏坰坥坮坍坥坳坨,分别添加包含目录:
坄场\坐坲坯坧坲坡坭 坆坩坬坥坳 在坸圸圶圩\坏坰坥坮坍坥坳坨 圶圮圱\坩坮坣坬坵坤坥
和库目录:
坄场\坐坲坯坧坲坡坭 坆坩坬坥坳 在坸圸圶圩\坏坰坥坮坍坥坳坨 圶圮圱\坬坩坢圮
具体情况视你的安装目录而定。然后在坌坩坮坫坥坲→坩坮坰坵坴中,加入附加依赖项 坏坰坥坮坍坥坳坨坃坯坲坥坤圮坬坩坢和
坏坰坥坮坍坥坳坨坔坯坯坬坳坤圮坬坩坢,最后在坃\坃圫圫的 坐坲坥坰坲坯坣坥坳坳坯坲 中添加坐坲坥坰坲坯坣坥坳坳坯坲 坄坥圌坮坩坴坩坯坮圬 内容为
坕坓坅 坍坁坔坈 坄坅坆坉坎坅坓
回车后,再输入
坏坍 坓坔坁坔坉坃 坂坕坉坌坄在只有用静态链接的方式编译安装时才需要圩。
至此,配置全部完成。项目目录下的坏坰坥坮坍坥坳坨圮坰坲坯坰坳文件,日后可以用于添加到使用 坏坰坥坮圭
坍坥坳坨的项目中,不需要再做重复配置。
下面是一个简单的测试程序代码,在坅坸地圱圮坣坰坰中输入以下代码:
1 #i n cl u d e <io stre am>
串 安装和配置 圵
2 // −−−−−−−−−−−−−−−−−−−− OpenMesh
3 #i n c l u d e <OpenMesh\/ Core /IO/MeshIO . hh>
4 #i n c l u d e <OpenMesh/ Core /Mes h/ PolyMesh ArrayKernelT . hh>
5 u s i n g namespace st d ;
6 t ype d e f OpenMesh : : PolyMesh ArrayKernelT<> MyMesh;
7 i n t main ( )
8 {
9 MyMesh mesh ;
10 MyMesh : : VertexHandle vhandle [ 8 ] ;
11 vhandle [ 0 ] = mesh . a d d v e r t e x (MyMesh : : Point (−1 , −1, 1) ) ;
12 vhandle [ 1 ] = mesh . a d d v e r t e x (MyMesh : : Point (1 , −1, 1) ) ;
13 vhandle [ 2 ] = mesh . a d d v e r t e x (MyMesh : : Point (1 , 1 , 1) ) ;
14 vhandle [ 3 ] = mesh . a d d v e r t e x (MyMesh : : Point (−1 , 1 , 1) ) ;
15 vhandle [ 4 ] = mesh . a d d v e r t e x (MyMesh : : Point (−1 , −1, −1) ) ;
16 vhandle [ 5 ] = mesh . a d d v e r t e x (MyMesh : : Point (1 , −1, −1 ) ) ;
17 vhandle [ 6 ] = mesh . a d d v e r t e x (MyMesh : : Point (1 , 1 , −1) ) ;
18 vhandle [ 7 ] = mesh . a d d v e r t e x (MyMesh : : Point (−1 , 1 , −1) ) ;
19 // ge n e r a t e ( q u a d r i l a t e r a l ) f a c e s
20 s t d : : ve c tor <MyMesh : : VertexHandle> f a c e v h a n d l e s ;
21 f a c e v h a n d l e s . c l e a r ( ) ;
22 f a c e v h a n d l e s . push back ( vhandle [ 0 ] ) ;
23 f a c e v h a n d l e s . push back ( vhandle [ 1 ] ) ;
24 f a c e v h a n d l e s . push back ( vhandle [ 2 ] ) ;
25 f a c e v h a n d l e s . push back ( vhandle [ 3 ] ) ;
26 mesh . a d d f a c e ( f a c e v h a n d l e s ) ;
27 f a c e v h a n d l e s . c l e a r ( ) ;
28 f a c e v h a n d l e s . push back ( vhandle [ 7 ] ) ;
29 f a c e v h a n d l e s . push back ( vhandle [ 6 ] ) ;
30 f a c e v h a n d l e s . push back ( vhandle [ 5 ] ) ;
31 f a c e v h a n d l e s . push back ( vhandle [ 4 ] ) ;
32 mesh . a d d f a c e ( f a c e v h a n d l e s ) ;
33 f a c e v h a n d l e s . c l e a r ( ) ;
34 f a c e v h a n d l e s . push back ( vhandle [ 1 ] ) ;
35 f a c e v h a n d l e s . push back ( vhandle [ 0 ] ) ;
36 f a c e v h a n d l e s . push back ( vhandle [ 4 ] ) ;
37 f a c e v h a n d l e s . push back ( vhandle [ 5 ] ) ;
38 mesh . a d d f a c e ( f a c e v h a n d l e s ) ;
39 f a c e v h a n d l e s . c l e a r ( ) ;
40 f a c e v h a n d l e s . push back ( vhandle [ 2 ] ) ;
41 f a c e v h a n d l e s . push back ( vhandle [ 1 ] ) ;
42 f a c e v h a n d l e s . push back ( vhandle [ 5 ] ) ;
43 f a c e v h a n d l e s . push back ( vhandle [ 6 ] ) ;
44 mesh . a d d f a c e ( f a c e v h a n d l e s ) ;
45 f a c e v h a n d l e s . c l e a r ( ) ;
46 f a c e v h a n d l e s . push back ( vhandle [ 3 ] ) ;
47 f a c e v h a n d l e s . push back ( vhandle [ 2 ] ) ;
剩余32页未读,继续阅读
懂deeee珍惜
- 粉丝: 297
- 资源: 13
上传资源 快速赚钱
- 我的内容管理 收起
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
会员权益专享
最新资源
- zigbee-cluster-library-specification
- JSBSim Reference Manual
- c++校园超市商品信息管理系统课程设计说明书(含源代码) (2).pdf
- 建筑供配电系统相关课件.pptx
- 企业管理规章制度及管理模式.doc
- vb打开摄像头.doc
- 云计算-可信计算中认证协议改进方案.pdf
- [详细完整版]单片机编程4.ppt
- c语言常用算法.pdf
- c++经典程序代码大全.pdf
- 单片机数字时钟资料.doc
- 11项目管理前沿1.0.pptx
- 基于ssm的“魅力”繁峙宣传网站的设计与实现论文.doc
- 智慧交通综合解决方案.pptx
- 建筑防潮设计-PowerPointPresentati.pptx
- SPC统计过程控制程序.pptx
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功
评论10