hpp-manipulation
9.0.2
Classes for manipulation planning.
Toggle main menu visibility
Loading...
Searching...
No Matches
connected-component.hh
Go to the documentation of this file.
1
//
2
// Copyright (c) 2015 CNRS
3
// Authors: Anna Seppala (seppala@laas.fr)
4
//
5
6
// Redistribution and use in source and binary forms, with or without
7
// modification, are permitted provided that the following conditions are
8
// met:
9
//
10
// 1. Redistributions of source code must retain the above copyright
11
// notice, this list of conditions and the following disclaimer.
12
//
13
// 2. Redistributions in binary form must reproduce the above copyright
14
// notice, this list of conditions and the following disclaimer in the
15
// documentation and/or other materials provided with the distribution.
16
//
17
// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
18
// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
19
// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
20
// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
21
// HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
22
// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
23
// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
24
// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
25
// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
26
// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
27
// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH
28
// DAMAGE.
29
30
#ifndef HPP_MANIPULATION_CONNECTED_COMPONENT_HH
31
#define HPP_MANIPULATION_CONNECTED_COMPONENT_HH
32
33
#include <
hpp/core/connected-component.hh
>
34
#include <
hpp/manipulation/config.hh
>
35
#include <
hpp/manipulation/fwd.hh
>
36
#include <
hpp/manipulation/graph/fwd.hh
>
37
38
namespace
hpp
{
39
namespace
manipulation
{
43
class
HPP_MANIPULATION_DLLAPI
ConnectedComponent
44
:
public
core::ConnectedComponent
{
45
public
:
47
typedef
std::map<graph::StatePtr_t, RoadmapNodes_t>
GraphStates_t
;
48
49
ConnectedComponent
() {}
50
53
static
ConnectedComponentPtr_t
create
(
const
RoadmapWkPtr_t& roadmap);
54
59
void
merge
(
const
core::ConnectedComponentPtr_t
& otherCC);
60
63
void
addNode
(
const
core::NodePtr_t
& node);
64
65
const
RoadmapNodes_t
&
getRoadmapNodes
(
66
const
graph::StatePtr_t
graphState)
const
;
67
68
protected
:
69
private
:
70
bool
check()
const
;
71
GraphStates_t
graphStateMap_;
72
// a RoadmapWkPtr_t so that memory can be released ?
73
RoadmapWkPtr_t roadmap_;
74
static
RoadmapNodes_t
empty_;
75
76
HPP_SERIALIZABLE();
77
};
// class ConnectedComponent
78
}
// namespace manipulation
79
}
// namespace hpp
80
#endif
// HPP_MANIPULATION_CONNECTED_COMPONENT_HH
hpp::core::ConnectedComponent
hpp::manipulation::ConnectedComponent::merge
void merge(const core::ConnectedComponentPtr_t &otherCC)
hpp::manipulation::ConnectedComponent::ConnectedComponent
ConnectedComponent()
Definition
connected-component.hh:49
hpp::manipulation::ConnectedComponent::create
static ConnectedComponentPtr_t create(const RoadmapWkPtr_t &roadmap)
hpp::manipulation::ConnectedComponent::addNode
void addNode(const core::NodePtr_t &node)
hpp::manipulation::ConnectedComponent::getRoadmapNodes
const RoadmapNodes_t & getRoadmapNodes(const graph::StatePtr_t graphState) const
hpp::manipulation::ConnectedComponent::GraphStates_t
std::map< graph::StatePtr_t, RoadmapNodes_t > GraphStates_t
Map of graph states within the connected component.
Definition
connected-component.hh:47
config.hh
HPP_MANIPULATION_DLLAPI
#define HPP_MANIPULATION_DLLAPI
Definition
config.hh:88
connected-component.hh
fwd.hh
fwd.hh
hpp::core::NodePtr_t
Node * NodePtr_t
hpp::core::ConnectedComponentPtr_t
shared_ptr< ConnectedComponent > ConnectedComponentPtr_t
hpp::manipulation::graph::StatePtr_t
shared_ptr< State > StatePtr_t
Definition
fwd.hh:48
hpp::manipulation
Definition
main.hh:2
hpp::manipulation::ConnectedComponentPtr_t
shared_ptr< ConnectedComponent > ConnectedComponentPtr_t
Definition
fwd.hh:73
hpp::manipulation::RoadmapNodes_t
std::vector< RoadmapNodePtr_t > RoadmapNodes_t
Definition
fwd.hh:71
hpp
include
hpp
manipulation
connected-component.hh
Generated by
1.17.0