/*global define*/
define([
'./defined'
], function(
defined) {
'use strict';
/**
* An hierarchy of linear rings which define a polygon and its holes.
* The holes themselves may also have holes which nest inner polygons.
* @alias PolygonHierarchy
* @constructor
*
* @param {Cartesian3[]} [positions] A linear ring defining the outer boundary of the polygon or hole.
* @param {PolygonHierarchy[]} [holes] An array of polygon hierarchies defining holes in the polygon.
*/
function PolygonHierarchy(positions, holes) {
/**
* A linear ring defining the outer boundary of the polygon or hole.
* @type {Cartesian3[]}
*/
this.positions = defined(positions) ? positions : [];
/**
* An array of polygon hierarchies defining holes in the polygon.
* @type {PolygonHierarchy[]}
*/
this.holes = defined(holes) ? holes : [];
}
return PolygonHierarchy;
});