Robotics Library
0.6.2
rl
math
RigidBodyInertia.hxx
Go to the documentation of this file.
1
//
2
// Copyright (c) 2009, Markus Rickert
3
// All rights reserved.
4
//
5
// Redistribution and use in source and binary forms, with or without
6
// modification, are permitted provided that the following conditions are met:
7
//
8
// * Redistributions of source code must retain the above copyright notice,
9
// this list of conditions and the following disclaimer.
10
// * Redistributions in binary form must reproduce the above copyright notice,
11
// this list of conditions and the following disclaimer in the documentation
12
// and/or other materials provided with the distribution.
13
//
14
// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
15
// AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
16
// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
17
// ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE
18
// LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
19
// CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
20
// SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
21
// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
22
// CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
23
// ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
24
// POSSIBILITY OF SUCH DAMAGE.
25
//
26
27
#ifndef _RL_MATH_RIGIDBODYINERTIA_HXX_
28
#define _RL_MATH_RIGIDBODYINERTIA_HXX_
29
30
namespace
rl
31
{
32
namespace
math
33
{
34
namespace
spatial
35
{
36
template
<
typename
Scalar >
37
template
<
typename
OtherScalar >
38
inline
39
ForceVector< Scalar >
40
RigidBodyInertia< Scalar >::operator*
(
const
MotionVector< OtherScalar >
& other)
const
41
{
42
ForceVector< Scalar >
res;
43
res.
moment
() = inertia() * other.
angular
() + cog().cross(other.
linear
());
44
res.
force
() = mass() * other.
linear
() - cog().cross(other.
angular
());
45
return
res;
46
}
47
}
48
}
49
}
50
51
#endif // _RL_MATH_RIGIDBODYINERTIA_HXX_
rl::math::spatial::RigidBodyInertia::operator*
RigidBodyInertia operator*(const OtherScalar &other) const
Definition:
RigidBodyInertia.h:148
rl::math::spatial::MotionVector::linear
LinearType linear()
Definition:
MotionVector.h:98
rl::math::spatial::ForceVector::force
ForceType force()
Definition:
ForceVector.h:78
rl::math::spatial::MotionVector::angular
AngularType angular()
Definition:
MotionVector.h:74
rl::math::spatial::ForceVector
Definition:
ForceVector.h:43
rl::math::spatial::MotionVector
Definition:
MotionVector.h:42
rl::math::spatial::ForceVector::moment
MomentType moment()
Definition:
ForceVector.h:93
rl
Definition:
Ati.cpp:35
Generated by
1.8.20