Robotics Library
0.7.0
rl
math
spatial
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:151
rl::math::spatial::MotionVector::linear
LinearType linear()
Definition:
MotionVector.h:101
rl::math::spatial::ForceVector::force
ForceType force()
Definition:
ForceVector.h:81
rl::math::spatial::MotionVector::angular
AngularType angular()
Definition:
MotionVector.h:77
rl::math::spatial::ForceVector
Force vector.
Definition:
ForceVector.h:46
rl::math::spatial::MotionVector
Motion vector.
Definition:
MotionVector.h:45
rl::math::spatial::ForceVector::moment
MomentType moment()
Definition:
ForceVector.h:96
rl
Robotics Library.
Definition:
AnalogInput.cpp:30
Generated by
1.8.20