
10. Shape-Preserving Terrain Decimation and Associated Tools 137
void CreateTerrain (int hxSize , int hySize , int ** heights ,
int dx, int dy , int vertexBudget ,
const vector <vector < Edge2 > >& roads ,
vector <Vertex2 >& terrVertices , vector <int >& terrIndices ,
vector <int >& terrAdjacencies)
{
set< Vertex2 > vertices ;
vector <vector <Vertex2 >> tiles ;
InsertRoads(roads , vertices );
InitialHeightVertices(hxSize ,hySize ,dx,dy ,vertices );
AdaptiveQuadtreeDecomposition(hxSize ,hySize , heights ,dx,dy ,
vertexBudget , vertices );
PartitionVertices(vertices , hxSize, hySize ,tiles );
ProcessTiles(vertices , tiles , terrVertices , terrIndices ,
terrAdjacencies) ...