19#ifndef _GENERALIZED_VELOCITY_CONSTRAINT_H
20#define _GENERALIZED_VELOCITY_CONSTRAINT_H
22#include "mbsim/constraints/generalized_dual_constraint.h"
23#include "mbsim/functions/time_dependent_function.h"
24#include "mbsim/functions/state_dependent_function.h"
34 void init(
InitStage stage,
const InitConfigSet &config)
override;
36 void calcxSize()
override;
38 void setInitialState(
const fmatvec::Vec &x0_) {
x0 <<= x0_; }
40 void setGeneralConstraintFunction(
Function<fmatvec::VecV(fmatvec::VecV,
double)>* f_) {
45 void setTimeDependentConstraintFunction(
Function<fmatvec::VecV(
double)>* f_) {
48 void setStateDependentConstraintFunction(
Function<fmatvec::VecV(fmatvec::VecV)>* f_) {
51 void setConstraintFunction(
Function<fmatvec::VecV(fmatvec::VecV,
double)>* f_) { setGeneralConstraintFunction(f_); }
52 void setConstraintFunction(
Function<fmatvec::VecV(
double)>* f_) { setTimeDependentConstraintFunction(f_); }
53 void setConstraintFunction(
Function<fmatvec::VecV(fmatvec::VecV)>* f_) { setStateDependentConstraintFunction(f_); }
55 void setUpInverseKinetics()
override;
57 void updatexd()
override;
58 void updateGeneralizedCoordinates()
override;
59 void updateGeneralizedJacobians(
int j=0)
override;
61 void initializeUsingXML(xercesc::DOMElement * element)
override;
64 Function<fmatvec::VecV(fmatvec::VecV,
double)> *f;
fmatvec::Vec x0
order one initial value
Definition: constraint.h:90
InitStage
The stages of the initialization.
Definition: element.h:62
std::string name
name of element
Definition: element.h:260
void setName(const std::string &str)
Definition: element.h:115
Definition: function.h:53
Class for dual generalized constraints.
Definition: generalized_dual_constraint.h:32
Definition: generalized_velocitiy_constraint.h:28
void init(InitStage stage, const InitConfigSet &config) override
plots time series header
Definition: generalized_velocitiy_constraint.cc:35
Definition: state_dependent_function.h:28
Definition: time_dependent_function.h:28
namespace MBSim
Definition: bilateral_constraint.cc:30