我是靠谱客的博主 顺利宝贝,最近开发中收集的这篇文章主要介绍[G+smo]边界和角点,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

1. 确定多片模型中各个片的顺序

借助Paraview.打开Pipeline brower下方的information选项卡,可以看到Data Hierarchy中的multi-block dataset. 选定其中一个block, 可以查看其几何区域和边界的范围。由这个信息可以确定片的顺序。

打开gsview.pvd -> Properties Apply -> filters Alphabetical Extract block, create ExtractBlock1 并选中它 -> Properties apply -> properties, block indices

通过该信息可以准确确定block的编号;


2. 确定每个片的边界

每个片的边界编号按逆时针编号为 1 3 2 4 ,分别为西南东北。

利用./gsMakeMultipatch 输出的makeMultiPatchOutput.xml, 文件的最后一部分代表其边界拓扑信息。

利用这些信息可以确定边界的编号


例如

 <MultiPatch parDim="2" id="0">
  <patches type="id_range">0 1</patches>
  <interfaces>1 2 0 1 0 1 1 1
</interfaces>
  <boundary>1 4
1 3
0 4
0 3
0 2
1 1
</boundary>
 </MultiPatch>

表示:
[15:17:49] Angelos Mantzaflaris: patch 1 side 2 matches with patch 0 side 1
[15:18:25] Angelos Mantzaflaris: patch 1 side 4(north) is a boundary
[15:20:07] Angelos Mantzaflaris: opposite to the inteface: patch 1 --> side 1(west), 0 -->side 2(east)





 
These definitions are used by, e.g., boxSide, boxCorner, etc.


The sides are numbered as follows:


2D CASE
|
3D CASE

-------------------------------------|----------------------------------------

Edge 1, {(u,v) : u = 0} :
c west
|
Face 1, {(u,v,w) : u = 0}:
c west

Edge 2, {(u,v) : u = 1} :
c east
|
Face 2, {(u,v,w) : u = 1}:
c east

Edge 3, {(u,v) : v = 0} :
c south
|
Face 3, {(u,v,w) : v = 0}:
c south

Edge 4, {(u,v) : v = 1} :
c north
|
Face 4, {(u,v,w) : v = 1}:
c north

&nbsp;
|
Face 5, {(u,v,w) : w = 0}:
c front

&nbsp;
|
Face 6, {(u,v,w) : w = 1}:
c back


c none is a special compatibility value used to denote that this is not a boundary.


The corners are numbered as follows:


2D CASE
|
3D CASE

---------------------------------------------------|----------------------------------------

Corner 1, {(u,v) : u = 0, v = 0} :
c southwest
|
Corner 1, {(u,v,w) : u = 0, v = 0, w = 0}:
c southwestfront

Corner 2, {(u,v) : u = 1, v = 0} :
c southeast
|
Corner 2, {(u,v,w) : u = 1, v = 0, w = 0}:
c southeastfront

Corner 3, {(u,v) : u = 0, v = 1} :
c northwest
|
Corner 3, {(u,v,w) : u = 0, v = 1, w = 0}:
c northwestfront

Corner 4, {(u,v) : u = 1, v = 1} :
c northeast
|
Corner 4, {(u,v,w) : u = 1, v = 1, w = 0}:
c northeastfront

&nbsp;
|
Corner 5, {(u,v,w) : u = 0, v = 0, w = 1}:
c southwestback

&nbsp;
|
Corner 6, {(u,v,w) : u = 1, v = 0, w = 1}:
c southeastback

&nbsp;
|
Corner 7, {(u,v,w) : u = 0, v = 1, w = 1}:
c northwestback

&nbsp;
|
Corner 8, {(u,v,w) : u = 1, v = 1, w = 1}:
c northeastback

最后

以上就是顺利宝贝为你收集整理的[G+smo]边界和角点的全部内容,希望文章能够帮你解决[G+smo]边界和角点所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(50)

评论列表共有 0 条评论

立即
投稿
返回
顶部