public virtual void Add(IList pts)
{
for (int i = 0; i < pts.Count - 1; i++)
{
double segmentLen = pts[i].Distance(pts[i + 1]);
_totalLength += segmentLen;
double midx = (pts[i].X + pts[i + 1].X) / 2;
_centSum.X += segmentLen * midx;
double midy = (pts[i].Y + pts[i + 1].Y) / 2;
_centSum.Y += segmentLen * midy;
}
}