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