public StraightLine2 Reflect(StraightLine2 line) { if (!this.valid) { return(line); } return(new StraightLine2(Reflect(line.BasicPoint), RelativelyReflect(line.Direction))); }
public Angle MinimalAngleWith(StraightLine2 line) { if (!this.valid) { return(Angle.ZERO); } return(line.MinimalAngleWith(this.direction)); }
public Angle MaximalAngleWith(StraightLine2 line) { if (!this.valid || !line.valid) { return(Angle.ZERO); } return(this.direction.MaximalAngleWithAxis(line.direction)); }
public static StraightLine2 Reflect(StraightLine2 line) { return(new StraightLine2(Reflect(line.BasicPoint), Reflect(line.Direction))); }
public StraightLine2(StraightLine2 line) { this.BasicPoint = line.BasicPoint; this.direction = line.direction; this.valid = line.valid; }
// ======================================================== public bool IsEqualTo(StraightLine2 line) { return(this.IsParallelTo(line) && this.direction.IsParallelTo(line.BasicPoint - this.BasicPoint)); }
public bool IsOrthogonalTo(StraightLine2 line) { return(this.valid && line.valid && this.direction.IsOrthogonalTo(line.direction)); }
public bool IsParallelTo(StraightLine2 line) { return(this.valid && line.valid && this.direction.IsParallelTo(line.direction)); }
public bool IsParallelTo(StraightLine2 line) { return(line.IsValid && line.Direction.IsParallelTo(B - A)); }
public Angle MaximalAngleWith(StraightLine2 line) { return(line.MaximalAngleWith(this.VectorAB)); }
public bool IsOrthogonalTo(StraightLine2 line) { return(line.IsValid && line.Direction.IsOrthogonalTo(B - A)); }