void UpdateThis()
        {
            IPointBase3D RefPoint        = (this.Orientation == true) ? this.RefPoint1 : this.RefPoint2;
            IPointBase3D TranslatedPoint = this.TranslatePointAlongVector(RefPoint, this._RefVector, this._RefVector.Magnitude * this._Ratio);

            this.SetCoordinates(TranslatedPoint.GetCoordinates());
        }
        public PointBetween(IPointBase3D iPoint1, IPointBase3D iPoint2)
        {
            this.RefPoint1 = iPoint1;
            this.RefPoint2 = iPoint2;

            IPointBase3D TranslatedPoint = this.TranslatePointAlongVector(this.RefPoint1, this._RefVector, this._RefVector.Magnitude * this._Ratio);

            this.SetCoordinates(TranslatedPoint.GetCoordinates());
        }