31.01.2014 Views

Version 5.0 The LEDA User Manual

Version 5.0 The LEDA User Manual

Version 5.0 The LEDA User Manual

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

14.30 Generalized polygons with circular edges (<br />

r circle gen polygon )<br />

1. Definition<br />

<strong>The</strong> data type r circle polygon is not closed under boolean operations, e.g., the set difference<br />

of a polygon P and a polygon Q nested in P is a region that contains a “hole”.<br />

<strong>The</strong>refore we provide a generalization called r circle gen polygon which is closed under<br />

(regularized) boolean operations (see below).<br />

A formal definition follows: An instance P of the data type r circle gen polygon is a<br />

regular polygonal region in the plane. A regular region is an open set that is equal to the<br />

interior of its closure. A region is polygonal if its boundary consists of a finite number of<br />

r circle segments.<br />

<strong>The</strong> boundary of an r circle gen polygon consists of zero or more weakly simple closed<br />

polygonal chains. Each such chain is represented by an object of type r circle ploygon.<br />

<strong>The</strong>re are two regions whose boundary is empty, namely the empty region and the full<br />

region. <strong>The</strong> full region encompasses the entire plane. We call a region trivial if its<br />

boundary is empty. <strong>The</strong> boundary cycles P 1 , P 2 , . . . , P k of an r circle gen polygon are<br />

ordered such that no P i is nested in a P j with i < j.<br />

#include < <strong>LEDA</strong>/geo/r circle gen polygon.h ><br />

2. Types<br />

r circle gen polygon :: KIND { EMPTY, FULL, NON TRIVIAL }<br />

describes the kind of the polygon: the empty set, the full plane or<br />

a non-trivial polygon.<br />

r circle gen polygon ::CHECK TYPE { NO CHECK, SIMPLE, WEAKLY SIMPLE, NOT<br />

WEAKLY SIMPLE }<br />

used to specify which checks should be applied and also describes<br />

the outcome of a simplicity check.<br />

r circle gen polygon :: RESPECT TYPE { DISREGARD ORIENTATION, RESPECT<br />

ORIENTATION }<br />

used in contructors to specify whether to force a positive orientation<br />

for the constructed object (DISREGARD ORIENTATION ) or to<br />

keep the orientation of the input (RESPECT ORIENTATION ).<br />

3. Creation<br />

r circle gen polygon P ;<br />

creates an empty polygon P .

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!