public TopoEndPoint(XYZ2 xyz)
        {
            if (!xyz.IsValid)
            {
                throw new ArgumentException("Invalid End Point");
            }

            base.index        = -1;
            base.point        = xyz;
            base.controlPoint = true;
        }
        public TopoPoint2(XYZ2 xyz)
        {
            point = xyz;

            point.PropertyChanged += PointPropertyChanged;
        }