// Use the internal static xxxInstance properties to get an instance.
 private ScanDirection(Directions directionAlongScanLine)
 {
     System.Diagnostics.Debug.Assert(StaticGraphUtility.IsAscending(directionAlongScanLine),
                                     "directionAlongScanLine must be ascending");
     Direction            = directionAlongScanLine;
     DirectionAsPoint     = CompassVector.ToPoint(Direction);
     PerpDirection        = (Directions.North == directionAlongScanLine) ? Directions.East : Directions.North;
     PerpDirectionAsPoint = CompassVector.ToPoint(PerpDirection);
     OppositeDirection    = CompassVector.OppositeDir(directionAlongScanLine);
 }
 internal Point GetInteriorVertexPoint(Point outerVertex)
 {
     return(ApproximateComparer.Round(outerVertex + (CompassVector.ToPoint(DirectionToInside) * BoundaryWidth)));
 }