///<summary> /// Constructs a TerrainShape. ///</summary> ///<param name="heights">Heights array used for the shape.</param> ///<param name="triangleOrganization">Triangle organization of each quad.</param> ///<exception cref="ArgumentException">Thrown if the heights array has less than 2x2 vertices.</exception> public TerrainShape(float[,] heights, QuadTriangleOrganization triangleOrganization) { if (heights.GetLength(0) <= 1 || heights.GetLength(1) <= 1) { throw new ArgumentException("Terrains must have a least 2x2 vertices (one quad)."); } this.heights = heights; quadTriangleOrganization = triangleOrganization; }