include
teb_local_planner
equivalence_relations.h
Go to the documentation of this file.
1
/*********************************************************************
2
*
3
* Software License Agreement (BSD License)
4
*
5
* Copyright (c) 2016,
6
* TU Dortmund - Institute of Control Theory and Systems Engineering.
7
* All rights reserved.
8
*
9
* Redistribution and use in source and binary forms, with or without
10
* modification, are permitted provided that the following conditions
11
* are met:
12
*
13
* * Redistributions of source code must retain the above copyright
14
* notice, this list of conditions and the following disclaimer.
15
* * Redistributions in binary form must reproduce the above
16
* copyright notice, this list of conditions and the following
17
* disclaimer in the documentation and/or other materials provided
18
* with the distribution.
19
* * Neither the name of the institute nor the names of its
20
* contributors may be used to endorse or promote products derived
21
* from this software without specific prior written permission.
22
*
23
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
24
* "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
25
* LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
26
* FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
27
* COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
28
* INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
29
* BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
30
* LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
31
* CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
32
* LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
33
* ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
34
* POSSIBILITY OF SUCH DAMAGE.
35
*
36
* Author: Christoph Rösmann
37
*********************************************************************/
38
39
#ifndef EQUIVALENCE_RELATIONS_H_
40
#define EQUIVALENCE_RELATIONS_H_
41
42
#include <boost/shared_ptr.hpp>
43
44
namespace
teb_local_planner
45
{
46
63
class
EquivalenceClass
64
{
65
public
:
66
70
EquivalenceClass
() {}
71
75
virtual
~EquivalenceClass
() {}
76
81
virtual
bool
isEqual
(
const
EquivalenceClass
& other)
const
= 0;
82
87
virtual
bool
isValid
()
const
= 0;
88
93
virtual
bool
isReasonable
()
const
= 0;
94
95
};
96
97
using
EquivalenceClassPtr
=
boost::shared_ptr<EquivalenceClass>
;
98
99
100
}
// namespace teb_local_planner
101
102
103
#endif
/* EQUIVALENCE_RELATIONS_H_ */
boost::shared_ptr< EquivalenceClass >
teb_local_planner::EquivalenceClass::EquivalenceClass
EquivalenceClass()
Default constructor.
Definition:
equivalence_relations.h:106
teb_local_planner::EquivalenceClass::isReasonable
virtual bool isReasonable() const =0
Check if the trajectory is non-looping around an obstacle.
teb_local_planner::EquivalenceClass::isEqual
virtual bool isEqual(const EquivalenceClass &other) const =0
Check if two candidate classes are equivalent.
teb_local_planner::EquivalenceClassPtr
boost::shared_ptr< EquivalenceClass > EquivalenceClassPtr
Definition:
equivalence_relations.h:133
teb_local_planner::EquivalenceClass::isValid
virtual bool isValid() const =0
Check if the equivalence value is detected correctly.
teb_local_planner
Definition:
distance_calculations.h:46
teb_local_planner::EquivalenceClass::~EquivalenceClass
virtual ~EquivalenceClass()
virtual destructor
Definition:
equivalence_relations.h:111
teb_local_planner
Author(s): Christoph Rösmann
autogenerated on Sun Jan 7 2024 03:45:15