Engine发教程 - 图文 下载本文

图9

2.4.7.2Trangle Fan几何对象

一个Trangle Fan对象由一系列点定义的曲面片组成,所不同的是所有的三角形共享一个顶

点。如下图所示,所以这个曲面可以定义为:(0,1,2) ,(0,2, 3), (0, 3, 4), (0, 4, 5)。

图10

2.4.7.3Triangle几何对象

Triangle由三个点所确定如下图,一个Triangle可定义为(0,1,2)等。

图11

2.4.7.4Ring几何对象

Ring和前边介绍的组成Polygon的Ring一样,例如下边一个房屋组成它的墙是个OutRing

对象,而窗户和门是InnerRing对象。

图12

2.4.8Multipatch几何对象

Multipatch几何对象用于描述3D图形,可以由TriangleStrip, TriangleFan, Triangle和ring对象组合构成组成。Multipatch可以通过多种方式创建,一种是通过导入外部3D格式数据文件(3D Studio Max .3ds files, OpenFlight .flt files, COLLADA .dae files, Sketchup .skp files, VRML .wrl files),另外ArcGIS Engine提供了多种创建Multipatch

几何对象的方法:

如果创建没有贴图纹理,没有法向,没有组成部分信息的Multipatch时,只需创建好组成的Multipatch的各个部分即可,然后通过MultiPatch的IGeometryCollection接口添加各

个组成部分即可。

如果要为Multipatch每个组成部分添加纹理信息,法向信息,属性信息就必须使用GeneralMultiPatchCreator对象来创建,通过其IGeneralMultiPatchInfo接口来为MultiPatch各个组成部分定义法向,材质,属性信息。通过IGeneralMultiPatchInfo接口

可以获取这些MultiPatch的各个组成部分的信息。

通过IConstructMultiPatch接口和IExtrude接口操作GeometryEnvironment对象可以通过拉伸Polyline对象(拉伸为墙)和Polygon对象(拉伸为多面体)来创建MultiPatch.