include
fcl
math
motion
tbv_motion_bound_visitor.h
Go to the documentation of this file.
1
/*
2
* Software License Agreement (BSD License)
3
*
4
* Copyright (c) 2011-2014, Willow Garage, Inc.
5
* Copyright (c) 2014-2016, Open Source Robotics Foundation
6
* All rights reserved.
7
*
8
* Redistribution and use in source and binary forms, with or without
9
* modification, are permitted provided that the following conditions
10
* are met:
11
*
12
* * Redistributions of source code must retain the above copyright
13
* notice, this list of conditions and the following disclaimer.
14
* * Redistributions in binary form must reproduce the above
15
* copyright notice, this list of conditions and the following
16
* disclaimer in the documentation and/or other materials provided
17
* with the distribution.
18
* * Neither the name of Open Source Robotics Foundation nor the names of its
19
* contributors may be used to endorse or promote products derived
20
* from this software without specific prior written permission.
21
*
22
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
23
* "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
24
* LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
25
* FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
26
* COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
27
* INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
28
* BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
29
* LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
30
* CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
31
* LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
32
* ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
33
* POSSIBILITY OF SUCH DAMAGE.
34
*/
35
38
#ifndef FCL_CCD_TBVMOTIONBOUNDVISITOR_H
39
#define FCL_CCD_TBVMOTIONBOUNDVISITOR_H
40
41
#include "
fcl/math/motion/taylor_model/taylor_matrix.h
"
42
#include "
fcl/math/motion/taylor_model/taylor_vector.h
"
43
#include "
fcl/math/bv/RSS.h
"
44
#include "
fcl/math/motion/bv_motion_bound_visitor.h
"
45
46
namespace
fcl
47
{
48
49
template
<
typename
S>
50
class
MotionBase;
51
52
template
<
typename
S>
53
class
SplineMotion;
54
55
template
<
typename
S>
56
class
ScrewMotion;
57
58
template
<
typename
S>
59
class
InterpMotion;
60
61
template
<
typename
S>
62
class
TranslationMotion;
63
64
template
<
typename
BV>
65
class
FCL_EXPORT
TBVMotionBoundVisitor
:
public
BVMotionBoundVisitor
<typename BV::S>
66
{
67
public
:
68
using
S
=
typename
BV::S;
69
70
TBVMotionBoundVisitor
(
const
BV& bv_,
const
Vector3<S>
& n_);
71
72
virtual
S
visit(
const
MotionBase<S>
& motion)
const
;
73
virtual
S
visit(
const
SplineMotion<S>
& motion)
const
;
74
virtual
S
visit(
const
ScrewMotion<S>
& motion)
const
;
75
virtual
S
visit(
const
InterpMotion<S>
& motion)
const
;
76
virtual
S
visit(
const
TranslationMotion<S>
& motion)
const
;
77
78
protected
:
79
template
<
typename
,
typename
,
typename
>
80
friend
struct
TBVMotionBoundVisitorVisitImpl
;
81
82
BV
bv
;
83
Vector3<S>
n
;
84
};
85
86
}
// namespace fcl
87
88
#include "
fcl/math/motion/tbv_motion_bound_visitor-inl.h
"
89
90
#endif
fcl::SplineMotion
Definition:
bv_motion_bound_visitor.h:48
taylor_vector.h
fcl::TBVMotionBoundVisitor::S
typename BV::S S
Definition:
tbv_motion_bound_visitor.h:68
fcl::TBVMotionBoundVisitorVisitImpl
Definition:
tbv_motion_bound_visitor-inl.h:59
fcl::TBVMotionBoundVisitor::n
Vector3< S > n
Definition:
tbv_motion_bound_visitor.h:83
tbv_motion_bound_visitor-inl.h
fcl::ScrewMotion
Definition:
bv_motion_bound_visitor.h:51
fcl::TranslationMotion
Definition:
bv_motion_bound_visitor.h:57
fcl::Vector3
Eigen::Matrix< S, 3, 1 > Vector3
Definition:
types.h:70
fcl::MotionBase
Definition:
bv_motion_bound_visitor.h:45
fcl::TBVMotionBoundVisitor
Definition:
tbv_motion_bound_visitor.h:65
fcl::BVMotionBoundVisitor
Compute the motion bound for a bounding volume, given the closest direction n between two query objec...
Definition:
bv_motion_bound_visitor.h:62
fcl::InterpMotion
Linear interpolation motion Each Motion is assumed to have constant linear velocity and angular veloc...
Definition:
bv_motion_bound_visitor.h:54
RSS.h
bv_motion_bound_visitor.h
taylor_matrix.h
fcl::TBVMotionBoundVisitor::bv
BV bv
Definition:
tbv_motion_bound_visitor.h:82
fcl
Main namespace.
Definition:
broadphase_bruteforce-inl.h:45
fcl
Author(s):
autogenerated on Tue Dec 5 2023 03:40:49