コード例 #1
0
 public static HeightMeasurements Null()
 {
     return(new HeightMeasurements()
     {
         AngleBottom = Angle.Null(),
         AngleTop = Angle.Null(),
         DistanceBottom = Distance.Null(),
         DistanceTop = Distance.Null(),
         VerticalOffset = DirectedDistance.Null()
     });
 }
コード例 #2
0
 public static HeightMeasurements Create(Distance distanceTop, Angle angleTop, Distance distanceBottom, Angle angleBottom, DirectedDistance verticalOffset)
 {
     return(new HeightMeasurements()
     {
         AngleBottom = angleBottom,
         AngleTop = angleTop,
         DistanceBottom = distanceBottom,
         DistanceTop = distanceTop,
         VerticalOffset = verticalOffset
     });
 }
コード例 #3
0
        private static Distance calculateOffset(Distance distanceTop, Angle angleTop, Distance distanceBottom, Angle angleBottom, DirectedDistance verticalOffset)
        {
            float offset = (float)(Math.Cos(angleBottom.Radians) * (double)distanceBottom.Feet
                                   - Math.Cos(angleTop.Radians) * (double)distanceBottom.Feet);

            if (offset == 0f)
            {
                return(Distance.Null());
            }
            return(Distance.Create(Math.Abs(offset)));
        }
コード例 #4
0
        private static Distance calculateHeight(Distance distanceTop, Angle angleTop, Distance distanceBottom, Angle angleBottom, DirectedDistance verticalOffset)
        {
            float height = (float)(Math.Sin(angleTop.Radians) * (double)distanceTop.Feet
                                   + Math.Sin(angleBottom.Radians) * (double)distanceBottom.Feet
                                   + (double)verticalOffset.Feet);

            if (height == 0f)
            {
                return(Distance.Null());
            }
            return(Distance.Create(height));
        }