Open
Graph Drawing
Framework

 v.2010.10
 

Classes | Namespaces | Defines | Typedefs

CombinatorialEmbedding.h File Reference

Declaration of CombinatorialEmbedding and face. More...

#include <ogdf/basic/AdjEntryArray.h>

Go to the source code of this file.

Classes

class  ogdf::FaceElement
 Faces in a combinatorial embedding. More...
class  ogdf::ConstCombinatorialEmbedding
 Combinatorial embeddings of planar graphs. More...
class  ogdf::CombinatorialEmbedding
 Combinatorial embeddings of planar graphs with modification functionality. More...

Namespaces

namespace  ogdf
 

The namespace for all OGDF objects.


Defines

#define forall_faces(f, E)   for((f)=(E).firstFace(); (f); (f)=(f)->succ())
 Iteration over all faces f of the combinatorial embedding E.
#define forall_rev_faces(f, E)   for((f)=(E).lastFace(); (f); (f)=(f)->pred())
 Iteration over all faces f of the combinatorial embedding E (in reverse order).
#define forall_face_adj(adj, f)   for((adj)=(f)->firstAdj(); (adj); (adj)=(f)->nextFaceEdge(adj))
 Iteration over all adjacency entries adj of the face f.

Typedefs

typedef FaceElement * ogdf::face

Detailed Description

Declaration of CombinatorialEmbedding and face.

Enriches graph by the notion of faces

Author:
Carsten Gutwenger
License:
This file is part of the Open Graph Drawing Framework (OGDF).

Copyright (C). All rights reserved. See README.txt in the root directory of the OGDF installation for details.

This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License Version 2 or 3 as published by the Free Software Foundation and appearing in the files LICENSE_GPL_v2.txt and LICENSE_GPL_v3.txt included in the packaging of this file.
In addition, as a special exception, you have permission to link this software with the libraries of the COIN-OR Osi project (http://www.coin-or.org/projects/Osi.xml), all libraries required by Osi, and all LP-solver libraries directly supported by the COIN-OR Osi project, and distribute executables, as long as you follow the requirements of the GNU General Public License in regard to all of the software in the executable aside from these third-party libraries.
This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
See also:
http://www.gnu.org/copyleft/gpl.html

Definition in file CombinatorialEmbedding.h.


Define Documentation

#define forall_face_adj (   adj,
  f 
)    for((adj)=(f)->firstAdj(); (adj); (adj)=(f)->nextFaceEdge(adj))

Iteration over all adjacency entries adj of the face f.

A faster version for this iteration demonstrates the following code snippet:

   adjEntry adj1 = f->firstAdj(), adj = adj1;
   do {
       ...
       adj = adj->faceCycleSucc();
   } while (adj != adj1);

Definition at line 485 of file CombinatorialEmbedding.h.

#define forall_faces (   f,
  E 
)    for((f)=(E).firstFace(); (f); (f)=(f)->succ())

Iteration over all faces f of the combinatorial embedding E.

Definition at line 467 of file CombinatorialEmbedding.h.

#define forall_rev_faces (   f,
  E 
)    for((f)=(E).lastFace(); (f); (f)=(f)->pred())

Iteration over all faces f of the combinatorial embedding E (in reverse order).

Definition at line 471 of file CombinatorialEmbedding.h.