mbsim
4.0.0
MBSim Kernel
generalized_gear_constraint.h
1
/* Copyright (C) 2004-2009 MBSim Development Team
2
* This library is free software; you can redistribute it and/or
3
* modify it under the terms of the GNU Lesser General Public
4
* License as published by the Free Software Foundation; either
5
* version 2.1 of the License, or (at your option) any later version.
6
*
7
* This library is distributed in the hope that it will be useful,
8
* but WITHOUT ANY WARRANTY; without even the implied warranty of
9
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
10
* Lesser General Public License for more details.
11
*
12
* You should have received a copy of the GNU Lesser General Public
13
* License along with this library; if not, write to the Free Software
14
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
15
*
16
* Contact: martin.o.foerg@googlemail.com
17
*/
18
19
#ifndef _GENERALIZED_GEAR_CONSTRAINT_H
20
#define _GENERALIZED_GEAR_CONSTRAINT_H
21
22
#include "mbsim/constraints/generalized_constraint.h"
23
24
namespace
MBSim
{
25
26
class
RigidBody;
27
28
class
GeneralizedGearConstraint
:
public
GeneralizedConstraint
{
29
30
public
:
31
GeneralizedGearConstraint
(
const
std::string &
name
=
""
) :
GeneralizedConstraint
(
name
) { }
32
33
void
init
(
InitStage
stage,
const
InitConfigSet &config)
override
;
34
35
void
setDependentRigidBody(
RigidBody
* body_) { bd=body_; }
36
void
addIndependentRigidBody(
RigidBody
*body,
double
ratio_);
37
38
void
updateGeneralizedCoordinates()
override
;
39
void
updateGeneralizedJacobians(
int
j=0)
override
;
40
void
setUpInverseKinetics()
override
;
41
42
void
initializeUsingXML(xercesc::DOMElement * element)
override
;
43
44
private
:
45
std::vector<RigidBody*> bi;
46
RigidBody
*bd{
nullptr
};
47
std::vector<double> ratio;
48
49
std::string saved_DependentBody;
50
std::vector<std::string> saved_IndependentBody;
51
};
52
53
}
54
55
#endif
MBSim::Element::InitStage
InitStage
The stages of the initialization.
Definition:
element.h:62
MBSim::Element::name
std::string name
name of element
Definition:
element.h:260
MBSim::GeneralizedConstraint
Class for generalized constraints.
Definition:
generalized_constraint.h:30
MBSim::GeneralizedGearConstraint
Definition:
generalized_gear_constraint.h:28
MBSim::GeneralizedGearConstraint::init
void init(InitStage stage, const InitConfigSet &config) override
plots time series header
Definition:
generalized_gear_constraint.cc:36
MBSim::RigidBody
rigid bodies with arbitrary kinematics
Definition:
rigid_body.h:50
MBSim
namespace MBSim
Definition:
bilateral_constraint.cc:30
mbsim
kernel
mbsim
constraints
generalized_gear_constraint.h
Generated with
Doxygen
using
Doxygen Awesome
on Thu May 1 2025