mbsimcontrol
4.0.0
MBSim Control Module
rigid_body_sensors.h
1
/* Copyright (C) 2004-2020 MBSim Development Team
2
*
3
* This library is free software; you can redistribute it and/or
4
* modify it under the terms of the GNU Lesser General Public
5
* License as published by the Free Software Foundation; either
6
* version 2.1 of the License, or (at your option) any later version.
7
*
8
* This library is distributed in the hope that it will be useful,
9
* but WITHOUT ANY WARRANTY; without even the implied warranty of
10
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
11
* Lesser General Public License for more details.
12
*
13
* You should have received a copy of the GNU Lesser General Public
14
* License along with this library; if not, write to the Free Software
15
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
16
*
17
* Contact: martin.o.foerg@gmail.com
18
*/
19
20
#ifndef _RIGID_BODY_SENSORS_H_
21
#define _RIGID_BODY_SENSORS_H_
22
23
#include "mbsimControl/object_sensors.h"
24
#include "mbsim/utils/index.h"
25
26
namespace
MBSimControl {
27
32
class
RigidBodySensor
:
public
ObjectSensor
{
33
public
:
34
RigidBodySensor
(
const
std::string &
name
) :
ObjectSensor
(
name
) { }
35
void
init(
InitStage
stage,
const
MBSim::InitConfigSet &config)
override
;
36
};
37
42
class
RigidBodyJointForceSensor
:
public
RigidBodySensor
{
43
public
:
44
RigidBodyJointForceSensor
(
const
std::string &
name
=
""
) :
RigidBodySensor
(
name
) { }
45
void
setJointForceNumber(
int
i_) { i = i_; }
46
int
getSignalSize()
const override
{
return
3; }
47
void
updateSignal()
override
;
48
void
init(
InitStage
stage,
const
MBSim::InitConfigSet &config)
override
;
49
void
initializeUsingXML(xercesc::DOMElement *element)
override
;
50
protected
:
51
MBSim::Index i{0};
52
};
53
58
class
RigidBodyJointMomentSensor
:
public
RigidBodySensor
{
59
public
:
60
RigidBodyJointMomentSensor
(
const
std::string &
name
=
""
) :
RigidBodySensor
(
name
) { }
61
void
setJointMomentNumber(
int
i_) { i = i_; }
62
int
getSignalSize()
const override
{
return
3; }
63
void
updateSignal()
override
;
64
void
init(
InitStage
stage,
const
MBSim::InitConfigSet &config)
override
;
65
void
initializeUsingXML(xercesc::DOMElement *element)
override
;
66
protected
:
67
MBSim::Index i{0};
68
};
69
70
}
71
72
#endif
MBSimControl::ObjectSensor
GeneralizedCoordinateSensor.
Definition:
object_sensors.h:35
MBSimControl::RigidBodyJointForceSensor
RigidBodyJointForceSensor.
Definition:
rigid_body_sensors.h:42
MBSimControl::RigidBodyJointMomentSensor
RigidBodyJointMomentSensor.
Definition:
rigid_body_sensors.h:58
MBSimControl::RigidBodySensor
RigidBodySensor.
Definition:
rigid_body_sensors.h:32
MBSim::Element::InitStage
InitStage
MBSim::Element::name
std::string name
mbsim
modules
mbsimControl
mbsimControl
rigid_body_sensors.h
Generated with
Doxygen
using
Doxygen Awesome
on Mon Mar 30 2026