osgTerrain.TerrainNeighbours
类用于存储高度图(terrain)中每个块的邻居信息。该类包含块的四个邻居、角落和中心八个位置的邻居信息。
TerrainNeighbours()
默认构造函数,创建一个未初始化的 TerrainNeighbours
对象。
TerrainNeighbours(const TerrainNeighbours& tn)
复制构造函数,根据给定的 TerrainNeighbours
对象进行复制构造。
TerrainNeighbours& operator=(const TerrainNeighbours& tn)
赋值运算符,将一个 TerrainNeighbours
对象赋值给另一个对象。
osgTerrain::TerrainTile* getTile(int index) const
获取指定位置(索引)的邻居块。
参数:
index
:邻居位置的索引,取值为 0 ~ 9。返回值:指定位置的邻居块。
TerrainNeighbours
类中的位置索引如下所示:
0 1 2
3 4
5 6 7
其中,中心位置为索引 4
,四周位置分别为索引 0
、1
、2
、3
、5
、6
、7
。
osg::ref_ptr<osgTerrain::TerrainTile> centerTile = ...; // 中心块
osg::ref_ptr<osgTerrain::TerrainTile> tile0 = ...; // 索引 0 的邻居块
// ...
osgTerrain::TerrainNeighbours neighbours;
neighbours.setTile(0, tile0); // 设置索引为 0 的邻居块
// ...
centerTile->setNeighbours(neighbours); // 设置中心块的邻居信息
以上示例代码展示了如何通过 TerrainNeighbours
类的 setTile()
函数设置邻居块,并将邻居信息应用于中心块。