fixBound function

Fix the Boundary Points of a PolySet

Fix the Boundary Points of a PolySet

The ranges of a PolySet 's X and Y columns define its boundary. This function fixes a PolySet 's vertices by moving vertices near a boundary to the actual boundary.

fixBound (polys, tol)

Arguments

  • polys: PolySet to fix.
  • tol: vector (length 1 or 2) specifying a percentage of the ranges to use in defining near to a boundary. If tol has two elements, the first specifies the tolerance for the x-axis and the second the y-axis. If it has only one element, the function uses the same tolerance for both axes.

Details

When moving vertices to a boundary, the function moves them strictly horizontally or vertically, as appropriate.

Returns

PolySet identical to the input, except for possible changes in the X and Y columns.

Author(s)

Nicholas M. Boers, Staff Software Engineer

Jobber, Edmonton AB

Last modified Rd: 2013-04-10

See Also

closePolys, fixPOS, isConvex, isIntersecting, PolySet .

Examples

local(envir=.PBSmapEnv,expr={ oldpar = par(no.readonly=TRUE) #--- set up a long horizontal and long vertical line to extend the plot's #--- limits, and then try fixing the bounds of a line in the top-left #--- corner and a line in the bottom-right corner polys <- data.frame(PID=c(1, 1, 2, 2, 3, 3, 4, 4), POS=c(1, 2, 1, 2, 1, 2, 1, 2), X = c(0, 10, 5, 5, 0.1, 4.9, 5.1, 9.9), Y = c(5, 5, 0, 10, 5.1, 9.9, 0.1, 4.9)) polys <- fixBound(polys, tol=0.0100001) plotLines(polys) par(oldpar) })