20#ifndef _GENERALIZED_GEAR_H_
21#define _GENERALIZED_GEAR_H_
23#include "mbsim/links/rigid_body_link.h"
27 class GeneralizedForceLaw;
28 class GeneralizedImpactLaw;
35 std::string saved_gearOutput;
36 std::vector<std::string> saved_gearInput;
40 void updateGeneralizedForces()
override;
41 void setGearOutput(
RigidBody* body_) { body[0] = body_; ratio[0] = -1; }
42 void addGearInput(
RigidBody* body_,
double ratio_) { body.push_back(body_); ratio.push_back(ratio_); }
44 bool isActive()
const override {
return true; }
46 void init(
InitStage stage,
const InitConfigSet &config)
override;
52 void initializeUsingXML(xercesc::DOMElement * element)
override;
InitStage
The stages of the initialization.
Definition: element.h:62
std::string name
name of element
Definition: element.h:260
basic force law on acceleration level for constraint description
Definition: generalized_force_law.h:34
Definition: generalized_gear_constraint.h:28
Definition: generalized_gear.h:30
bool isSetValued() const override
asks the link if it contains force laws that contribute to the lagrange multiplier and is therefore s...
Definition: generalized_gear.cc:40
bool gActiveChanged() override
Definition: generalized_gear.h:45
void init(InitStage stage, const InitConfigSet &config) override
plots time series header
Definition: generalized_gear.cc:57
bool isSingleValued() const override
asks the link if it contains single valued force laws that contribute to the right-hand side vector h
Definition: generalized_gear.h:48
bool isActive() const override
Definition: generalized_gear.h:44
basic force law on velocity level for constraint description
Definition: generalized_impact_law.h:32
Definition: rigid_body_link.h:30
rigid bodies with arbitrary kinematics
Definition: rigid_body.h:50
namespace MBSim
Definition: bilateral_constraint.cc:30