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.

15.6 Planar Subdivisions ( subdivision )<br />

1. Definition<br />

An instance S of the parameterized data type subdivision is a subdivision of the<br />

two-dimensional plane, i.e., an embedded planar graph with straight line edges (see also<br />

sections 11.6 and 11.7). With each node v of S is associated a point, called the position<br />

of v and with each face of S is associated an information from data type I, called the<br />

information type of S.<br />

#include < <strong>LEDA</strong>/geo/subdivision.h ><br />

2. Creation<br />

subdivision S(GRAPH & G);<br />

creates an instance S of type subdivision and initializes it to<br />

the subdivision represented by the parameterized directed graph<br />

G. <strong>The</strong> node entries of G (of type point) define the positions of<br />

the corresponding nodes of S. Every face f of S is assigned the<br />

information of one of its bounding edges in G.<br />

Precondition: G represents a planar subdivision, i.e., a straight line<br />

embedded planar map.<br />

3. Operations<br />

point S.position(node v) returns the position of node v.<br />

const I& S.inf(face f) returns the information of face f.<br />

face S.locate point(point p) returns the face containing point p.<br />

face S.outer face( ) returns the outer face of S.<br />

4. Implementation<br />

Planar subdivisions are implemented by parameterized planar maps and an additional<br />

data structure for point location based on partially persistent search trees[25]. Operations<br />

position and inf take constant time, a locate point operation takes (expected) time<br />

O(log n). Here n is the number of nodes. <strong>The</strong> space requirement is O(n + m) and the<br />

initialization time is O(n + m log m), where m is the number of edges in the map.

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

Saved successfully!

Ooh no, something went wrong!