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.

3. Operations<br />

void fc.init(const leda :: graph& G)<br />

associates fc with G.<br />

void fc.init(const leda :: graph& G, const leda :: edge& e)<br />

void fc.update(leda :: edge e)<br />

associates fc with G and marks it with e.<br />

Precondition: e is an edge of G.<br />

fc marks e afterwards.<br />

void fc.make invalid( ) makes fc invalid, i.e. fc.valid( ) will be false afterwards<br />

and fc marks no edge.<br />

FaceCirc&<br />

bool<br />

fc = const FaceCirc& fc2<br />

fc == const FaceCirc& fc2<br />

assigns fc2 to fc. This method returns a reference to<br />

fc.<br />

returns true if and only if fc and fc2 are equal, i.e. if<br />

the marked edges are equal.<br />

bool fc.has edge( ) returns true if and only if fc marks an edge.<br />

bool fc.eol( ) returns !fc.valid( ).<br />

bool fc.valid( ) returns true if and only if the circulator is marked<br />

with an edge.<br />

leda :: edge fc.get edge( ) returns the marked edge or nil if fc.valid( ) returns<br />

false.<br />

const leda :: graph& fc.get graph( ) returns the associated graph.<br />

FaceCirc& ++fc redirects the circulator to the cyclic adjacency predecessor<br />

of reversal(e), where e is the marked edge. This<br />

method returns a reference to fc.<br />

Precondition: fc.valid( ) returns true.<br />

FaceCirc& −−fc redirects the circulator to the cyclic adjacency successor<br />

of e, where e is the marked edge. This method<br />

returns a reference to fc.<br />

Precondition: fc.valid( ) returns true.<br />

4. Implementation<br />

Creation of a circulator and all methods take constant time.

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

Saved successfully!

Ooh no, something went wrong!