hpp-manipulation
9.0.2
Classes for manipulation planning.
Toggle main menu visibility
Loading...
Searching...
No Matches
guided-state-selector.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_GUIDED_STATE_SELECTOR_HH
30
#define HPP_MANIPULATION_GRAPH_GUIDED_STATE_SELECTOR_HH
31
32
#include "
hpp/manipulation/fwd.hh
"
33
#include "
hpp/manipulation/graph/fwd.hh
"
34
#include "
hpp/manipulation/graph/state-selector.hh
"
35
36
namespace
hpp
{
37
namespace
manipulation
{
38
namespace
graph
{
39
class
HPP_MANIPULATION_DLLAPI
GuidedStateSelector
:
public
StateSelector
{
40
public
:
42
static
GuidedStateSelectorPtr_t
create
(
const
std::string&
name
,
43
const
core::RoadmapPtr_t
& roadmap);
44
46
void
setStateList
(
const
States_t
& stateList);
47
49
virtual
EdgePtr_t
chooseEdge
(
RoadmapNodePtr_t
from)
const
;
50
52
std::ostream&
dotPrint
(std::ostream& os,
dot::DrawingAttributes
da =
53
dot::DrawingAttributes
())
const
;
54
55
protected
:
57
void
init
(
const
GuidedStateSelectorPtr_t
& weak);
58
60
GuidedStateSelector
(
const
std::string&
name
,
const
core::RoadmapPtr_t
roadmap)
61
:
StateSelector
(
name
), roadmap_(roadmap) {}
62
64
std::ostream&
print
(std::ostream& os)
const
;
65
66
private
:
68
States_t
stateList_;
69
71
core::RoadmapPtr_t
roadmap_;
72
74
GuidedStateSelectorWkPtr_t wkPtr_;
75
};
// Class StateSelector
76
}
// namespace graph
77
}
// namespace manipulation
78
}
// namespace hpp
79
80
#endif
// HPP_MANIPULATION_GRAPH_GUIDED_STATE_SELECTOR_HH
hpp::manipulation::graph::GuidedStateSelector::chooseEdge
virtual EdgePtr_t chooseEdge(RoadmapNodePtr_t from) const
Select randomly an outgoing edge of the given node.
hpp::manipulation::graph::GuidedStateSelector::init
void init(const GuidedStateSelectorPtr_t &weak)
Initialization of the object.
hpp::manipulation::graph::GuidedStateSelector::setStateList
void setStateList(const States_t &stateList)
Set the target.
hpp::manipulation::graph::GuidedStateSelector::GuidedStateSelector
GuidedStateSelector(const std::string &name, const core::RoadmapPtr_t roadmap)
Constructor.
Definition
guided-state-selector.hh:60
hpp::manipulation::graph::GuidedStateSelector::create
static GuidedStateSelectorPtr_t create(const std::string &name, const core::RoadmapPtr_t &roadmap)
Create a new GuidedStateSelector.
hpp::manipulation::graph::GuidedStateSelector::print
std::ostream & print(std::ostream &os) const
Print the object in a stream.
hpp::manipulation::graph::GuidedStateSelector::dotPrint
std::ostream & dotPrint(std::ostream &os, dot::DrawingAttributes da=dot::DrawingAttributes()) const
Print the object in a stream.
hpp::manipulation::graph::StateSelector::StateSelector
StateSelector(const std::string &name)
Constructor.
Definition
state-selector.hh:86
hpp::manipulation::graph::StateSelector::name
const std::string & name() const
Definition
state-selector.hh:49
HPP_MANIPULATION_DLLAPI
#define HPP_MANIPULATION_DLLAPI
Definition
config.hh:88
fwd.hh
fwd.hh
hpp::core::RoadmapPtr_t
shared_ptr< Roadmap > RoadmapPtr_t
hpp::manipulation::graph
Definition
dot.hh:39
hpp::manipulation::graph::EdgePtr_t
shared_ptr< Edge > EdgePtr_t
Definition
fwd.hh:49
hpp::manipulation::graph::GuidedStateSelectorPtr_t
shared_ptr< GuidedStateSelector > GuidedStateSelectorPtr_t
Definition
fwd.hh:53
hpp::manipulation::graph::States_t
std::vector< StatePtr_t > States_t
Definition
fwd.hh:56
hpp::manipulation
Definition
main.hh:2
hpp::manipulation::RoadmapNodePtr_t
RoadmapNode * RoadmapNodePtr_t
Definition
fwd.hh:70
hpp
state-selector.hh
hpp::manipulation::graph::dot::DrawingAttributes
Definition
dot.hh:42
include
hpp
manipulation
graph
guided-state-selector.hh
Generated by
1.17.0