Description Usage Arguments Details Value Author(s) Examples

Given a matrix of rectangular areas, this function determines a subset of those rectangles that do not overlap. Rectangles are preserved on a first come, first served basis, with user control over the order in which the rectangles are processed.

1 | ```
rectUnique(m, order = seq(length = nrow(m)), xdiff = 0, ydiff = 0)
``` |

`m` |
four column matrix defining rectangular areas |

`order` |
order in which matrix columns should be scanned |

`xdiff` |
maximum space between overlapping rectangles in x dimension |

`ydiff` |
maximum space between overlapping rectangles in y dimension |

The `m`

matrix must contain four colums defining the position of
rectangle sides in the folloing order: left, right, bottom, top. This
function is currently implemented in `C`

using a an algorithm
with quadratic running time.

A logical vector indicating which rows should be kept.

Colin A. Smith, [email protected]

1 2 3 4 5 6 7 8 9 10 11 12 | ```
m <- rbind(c(0,4,0,3), c(1,3,2,6), c(3,6,4,6))
plot(0, 0, type = "n", xlim=range(m[,1:2]), ylim=range(m[,3:4]))
rect(m[,1], m[,3], m[,2], m[,4])
xcms:::rectUnique(m)
# Changing order of processing
xcms:::rectUnique(m, c(2,1,3))
# Requiring border spacing
xcms:::rectUnique(m, ydiff = 1)
# Allowing adjacent boxes
xcms:::rectUnique(m, c(2,1,3), xdiff = -0.00001)
# Allowing interpenetration
xcms:::rectUnique(m, xdiff = -1.00001, ydiff = -1.00001)
``` |

Embedding an R snippet on your website

Add the following code to your website.

For more information on customizing the embed code, read Embedding Snippets.