예제 #1
0
        public override TraceBase Reverse()
        {
            TraceLine reverse = this.Clone() as TraceLine;

            reverse.Start = this.End.Clone() as PointD;
            reverse.End   = this.Start.Clone() as PointD;
            return(reverse);
        }
예제 #2
0
        public override object Clone()
        {
            TraceLine traceLine = this.MemberwiseClone() as TraceLine;

            traceLine.Start = this.Start.Clone() as PointD;
            traceLine.End   = this.End.Clone() as PointD;
            return(traceLine);
        }
예제 #3
0
        public override TraceBase NewTraceFromStart(double length)
        {
            VectorD   v        = this.End - this.Start;
            PointD    newEnd   = this.Start + v * length / this.Length;
            TraceLine newTrace = this.Clone() as TraceLine;

            newTrace.End = newEnd;
            return(newTrace);
        }