Layout.h
Go to the documentation of this file.
1
/*
2
* This file is part of ArmarX.
3
*
4
* Copyright (C) 2011-2016, High Performance Humanoid Technologies (H2T), Karlsruhe Institute of Technology (KIT), all rights reserved.
5
*
6
* ArmarX is free software; you can redistribute it and/or modify
7
* it under the terms of the GNU General Public License version 2 as
8
* published by the Free Software Foundation.
9
*
10
* ArmarX is distributed in the hope that it will be useful, but
11
* WITHOUT ANY WARRANTY; without even the implied warranty of
12
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13
* GNU General Public License for more details.
14
*
15
* You should have received a copy of the GNU General Public License
16
* along with this program. If not, see <http://www.gnu.org/licenses/>.
17
*
18
* @package
19
* @author
20
* @date
21
* @copyright http://www.gnu.org/licenses/gpl-2.0.txt
22
* GNU General Public License
23
*/
24
#pragma once
25
26
#include "graphviz/gvc.h"
27
#ifdef WITH_CGRAPH
28
# include <graphviz/cgraph.h>
29
#else
30
# include <graphviz/graph.h>
31
#endif
32
33
#include <memory>
34
#include <mutex>
35
36
namespace
armarx
37
{
38
39
using
GvcPtr
= GVC_t*;
40
41
using
GraphPtr
= Agraph_t*;
42
using
NodePtr
= Agnode_t*;
43
using
EdgePtr
= Agedge_t*;
44
45
/**
46
* @brief The LockableGraph struct allows for easy locking of a graphviz graph and its components.
47
*/
48
struct
LockableGraph
49
{
50
LockableGraph
(
GraphPtr
g = NULL)
51
:
graph
(g),
52
mutex
()
53
{}
54
55
/**
56
* @brief graph Graph that can be locked with mutex.
57
*/
58
GraphPtr
graph
;
59
/**
60
* @brief mutex Mutex to lock graph
61
*/
62
std::recursive_mutex
mutex
;
63
};
64
using
LockableGraphPtr
= std::shared_ptr<LockableGraph>;
65
66
}
67
armarx::LockableGraph::mutex
std::recursive_mutex mutex
mutex Mutex to lock graph
Definition:
Layout.h:62
armarx::GvcPtr
GVC_t * GvcPtr
Definition:
Layout.h:39
armarx::LockableGraphPtr
std::shared_ptr< LockableGraph > LockableGraphPtr
Definition:
Layout.h:64
armarx::GraphPtr
Agraph_t * GraphPtr
Definition:
Layout.h:41
armarx::LockableGraph
The LockableGraph struct allows for easy locking of a graphviz graph and its components.
Definition:
Layout.h:48
armarx::NodePtr
Agnode_t * NodePtr
Definition:
Layout.h:42
armarx::LockableGraph::graph
GraphPtr graph
graph Graph that can be locked with mutex.
Definition:
Layout.h:58
armarx::EdgePtr
Agedge_t * EdgePtr
Definition:
Layout.h:43
armarx::LockableGraph::LockableGraph
LockableGraph(GraphPtr g=NULL)
Definition:
Layout.h:50
armarx
This file offers overloads of toIce() and fromIce() functions for STL container types.
Definition:
ArmarXTimeserver.cpp:28
ArmarXGui
gui-plugins
StatechartViewerPlugin
layout
Layout.h
Generated on Sat Oct 12 2024 09:14:03 for armarx_documentation by
1.8.17