public void Flatten(int maxDepth)
{
var rangeZ = new Range(this.points.Select(p => p.Z));
float maxZValue = rangeZ.Min + maxDepth;
if (rangeZ.Interval > maxDepth)
{
this.points = this.points.Where(p => p.Z < maxZValue).ToList();
this.CalculateCenter();
}
}