Open
Graph Drawing
Framework

 v.2012.05
 

IncNodeInserter.h
Go to the documentation of this file.
00001 /*
00002  * $Revision: 2299 $
00003  * 
00004  * last checkin:
00005  *   $Author: gutwenger $ 
00006  *   $Date: 2012-05-07 15:57:08 +0200 (Mon, 07 May 2012) $ 
00007  ***************************************************************/
00008  
00048 #ifdef _MSC_VER
00049 #pragma once
00050 #endif
00051 
00052 
00053 #ifndef OGDF_INCNODEINSERTER_H
00054 #define OGDF_INCNODEINSERTER_H
00055 
00056 
00057 #include <ogdf/planarity/PlanRepInc.h>
00058 #include <ogdf/basic/UMLGraph.h>
00059 #include <ogdf/basic/GraphAttributes.h>
00060 #include <ogdf/basic/GraphObserver.h>
00061 
00062 namespace ogdf {
00063 
00064 
00065 //===============================================
00066 //main function(s):
00067 //
00068 // insertcopyNode insert a node into a face
00069 //
00070 //===============================================
00071 
00072 
00073 class OGDF_EXPORT IncNodeInserter
00074 {
00075 public:
00076     //creates inserter on PG
00077     IncNodeInserter(PlanRepInc &PG) : m_planRep(&PG ){};
00078 
00079     //insert copy in m_planRep for original node v
00080     virtual void insertCopyNode(node v, CombinatorialEmbedding &E,
00081         Graph::NodeType vTyp) = 0;
00082 
00083 protected:
00084     //returns a face to insert a copy of v and a list of 
00085     //adjacency entries corresponding to the insertion adjEntries
00086     //for the adjacent edges 
00087     virtual face getInsertionFace(node v, CombinatorialEmbedding &E) = 0;
00088 
00089     PlanRepInc* m_planRep; //the PlanRep that is changed
00090 }; //incnodeinserter
00091 
00092 } //end namespace ogdf
00093 
00094 #endif