hpp-manipulation
9.0.2
Classes for manipulation planning.
Toggle main menu visibility
Loading...
Searching...
No Matches
dot.hh
Go to the documentation of this file.
1
// Copyright (c) 2014, LAAS-CNRS
2
// Authors: Joseph Mirabel (joseph.mirabel@laas.fr)
3
//
4
5
// Redistribution and use in source and binary forms, with or without
6
// modification, are permitted provided that the following conditions are
7
// met:
8
//
9
// 1. Redistributions of source code must retain the above copyright
10
// notice, this list of conditions and the following disclaimer.
11
//
12
// 2. Redistributions in binary form must reproduce the above copyright
13
// notice, this list of conditions and the following disclaimer in the
14
// documentation and/or other materials provided with the distribution.
15
//
16
// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
17
// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
18
// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
19
// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
20
// HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
21
// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
22
// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
23
// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
24
// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
25
// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
26
// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH
27
// DAMAGE.
28
29
#ifndef HPP_MANIPULATION_GRAPH_DOT_HH
30
#define HPP_MANIPULATION_GRAPH_DOT_HH
31
32
#include <list>
33
#include <map>
34
#include <ostream>
35
#include <sstream>
36
37
namespace
hpp
{
38
namespace
manipulation
{
39
namespace
graph
{
40
namespace
dot
{
41
42
struct
DrawingAttributes
{
43
typedef
std::pair<std::string, std::string>
Pair
;
44
typedef
std::map<std::string, std::string>
Map
;
45
46
std::string
separator
,
openSection
,
closeSection
;
47
Map
attr
;
48
49
inline
void
insertWithQuote
(
const
std::string& K,
const
std::string& V) {
50
attr
.insert(
Pair
(K,
"\""
+ V +
"\""
));
51
}
52
inline
void
insert
(
const
std::string& K,
const
std::string& V) {
53
attr
.insert(
Pair
(K, V));
54
}
55
std::string&
operator[]
(
const
std::string& K) {
return
attr
[K]; }
56
DrawingAttributes
()
57
:
separator
(
", "
),
openSection
(
"["
),
closeSection
(
"]"
),
attr
() {};
58
};
59
60
struct
Tooltip
{
61
static
const
std::string
tooltipendl
;
62
typedef
std::list<std::string>
TooltipLineVector
;
63
TooltipLineVector
v
;
64
65
Tooltip
() :
v
() {};
66
inline
std::string
toStr
()
const
{
67
std::stringstream ss;
68
size_t
i =
v
.size();
69
for
(TooltipLineVector::const_iterator it =
v
.begin(); it !=
v
.end();
70
++it) {
71
ss << *it;
72
i--;
73
if
(i > 0) ss <<
tooltipendl
;
74
}
75
return
ss.str();
76
}
77
inline
void
addLine
(
const
std::string& l) {
v
.push_back(l); }
78
};
79
80
std::ostream&
insertComments
(std::ostream& os,
const
std::string& c);
81
82
std::ostream&
operator<<
(std::ostream& os,
const
DrawingAttributes
& da);
83
}
// namespace dot
84
}
// namespace graph
85
}
// namespace manipulation
86
}
// namespace hpp
87
88
#endif
// HPP_MANIPULATION_GRAPH_DOT_HH
hpp::manipulation::graph::dot
Definition
dot.hh:40
hpp::manipulation::graph::dot::insertComments
std::ostream & insertComments(std::ostream &os, const std::string &c)
hpp::manipulation::graph::dot::operator<<
std::ostream & operator<<(std::ostream &os, const DrawingAttributes &da)
hpp::manipulation::graph
Definition
dot.hh:39
hpp::manipulation
Definition
main.hh:2
hpp
hpp::manipulation::graph::dot::DrawingAttributes
Definition
dot.hh:42
hpp::manipulation::graph::dot::DrawingAttributes::openSection
std::string openSection
Definition
dot.hh:46
hpp::manipulation::graph::dot::DrawingAttributes::operator[]
std::string & operator[](const std::string &K)
Definition
dot.hh:55
hpp::manipulation::graph::dot::DrawingAttributes::DrawingAttributes
DrawingAttributes()
Definition
dot.hh:56
hpp::manipulation::graph::dot::DrawingAttributes::separator
std::string separator
Definition
dot.hh:46
hpp::manipulation::graph::dot::DrawingAttributes::Map
std::map< std::string, std::string > Map
Definition
dot.hh:44
hpp::manipulation::graph::dot::DrawingAttributes::insertWithQuote
void insertWithQuote(const std::string &K, const std::string &V)
Definition
dot.hh:49
hpp::manipulation::graph::dot::DrawingAttributes::Pair
std::pair< std::string, std::string > Pair
Definition
dot.hh:43
hpp::manipulation::graph::dot::DrawingAttributes::closeSection
std::string closeSection
Definition
dot.hh:46
hpp::manipulation::graph::dot::DrawingAttributes::attr
Map attr
Definition
dot.hh:47
hpp::manipulation::graph::dot::DrawingAttributes::insert
void insert(const std::string &K, const std::string &V)
Definition
dot.hh:52
hpp::manipulation::graph::dot::Tooltip::v
TooltipLineVector v
Definition
dot.hh:63
hpp::manipulation::graph::dot::Tooltip::addLine
void addLine(const std::string &l)
Definition
dot.hh:77
hpp::manipulation::graph::dot::Tooltip::Tooltip
Tooltip()
Definition
dot.hh:65
hpp::manipulation::graph::dot::Tooltip::tooltipendl
static const std::string tooltipendl
Definition
dot.hh:61
hpp::manipulation::graph::dot::Tooltip::TooltipLineVector
std::list< std::string > TooltipLineVector
Definition
dot.hh:62
hpp::manipulation::graph::dot::Tooltip::toStr
std::string toStr() const
Definition
dot.hh:66
include
hpp
manipulation
graph
dot.hh
Generated by
1.17.0