6 * $Date: 2012-07-02 20:59:27 +0200 (Mon, 02 Jul 2012) $
7 ***************************************************************/
10 * \brief Declaration of the class EmbedIndicator.
12 * Implements the direction Indicator. Used by class EmbedPQTree.
14 * \author Sebastian Leipert
17 * This file is part of the Open Graph Drawing Framework (OGDF).
21 * See README.txt in the root directory of the OGDF installation for details.
24 * This program is free software; you can redistribute it and/or
25 * modify it under the terms of the GNU General Public License
26 * Version 2 or 3 as published by the Free Software Foundation;
27 * see the file LICENSE.txt included in the packaging of this file
31 * This program is distributed in the hope that it will be useful,
32 * but WITHOUT ANY WARRANTY; without even the implied warranty of
33 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
34 * GNU General Public License for more details.
37 * You should have received a copy of the GNU General Public
38 * License along with this program; if not, write to the Free
39 * Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
40 * Boston, MA 02110-1301, USA.
42 * \see http://www.gnu.org/copyleft/gpl.html
43 ***************************************************************/
51 #ifndef OGDF_EMBED_INDICATOR_H
52 #define OGDF_EMBED_INDICATOR_H
56 #include <ogdf/internal/planarity/PQNode.h>
57 #include <ogdf/internal/planarity/PQNodeKey.h>
58 #include <ogdf/internal/planarity/PQInternalKey.h>
59 #include <ogdf/internal/planarity/IndInfo.h>
64 class EmbedIndicator
: public PQNode
<edge
,IndInfo
*,bool>
68 EmbedIndicator(int count
, PQNodeKey
<edge
,IndInfo
*,bool>* infoPtr
)
69 : PQNode
<edge
,IndInfo
*,bool>(count
,infoPtr
) { }
71 virtual ~EmbedIndicator() {
72 delete getNodeInfo()->userStructInfo();
76 PQNodeType
type() const { return leaf
; }
78 void type(PQNodeType
) { }
80 PQNodeStatus
status() const { return PQNodeRoot::INDICATOR
; }
82 void status(PQNodeStatus
) { }
84 PQNodeMark
mark() const { return UNMARKED
; }
86 void mark(PQNodeMark
) { }
88 PQLeafKey
<edge
,IndInfo
*,bool>* getKey() const { return 0; }
90 bool setKey(PQLeafKey
<edge
,IndInfo
*,bool>* pointerToKey
) {
91 return (pointerToKey
== 0);
94 PQInternalKey
<edge
,IndInfo
*,bool>* getInternal() const { return 0; }
96 bool setInternal(PQInternalKey
<edge
,IndInfo
*,bool>* pointerToInternal
) {
97 return (pointerToInternal
== 0);