Example #1
0
        public RayLine3 Reflect(RayLine3 line)
        {
            if (!this.valid)
            {
                return(line);
            }

            return(new RayLine3(Reflect(line.StartPoint), RelativelyReflect(line.Direction)));
        }
Example #2
0
        public Angle MaximalAngleWith(RayLine3 line)
        {
            if (!this.valid || !line.IsValid)
            {
                return(Angle.ZERO);
            }

            return(Angle.PId2 + this.normal.AngleWith(line.Direction));
        }
Example #3
0
 public bool IsOrthogonalTo(RayLine3 line)
 {
     return(line.IsValid && this.IsOrthogonalTo(line.Direction));
 }
Example #4
0
 public bool IsParallelTo(RayLine3 line)
 {
     return(line.IsValid && this.IsParallelTo(line.Direction));
 }
Example #5
0
 public RayLine3 Reflect(RayLine3 line)
 {
     return(new RayLine3(Reflect(line.StartPoint), -line.Direction));
 }
Example #6
0
 public bool IsOrthogonalTo(RayLine3 line)
 {
     return(this.valid && line.IsValid && this.normal.IsParallelTo(line.Direction));
 }