22#include "mbsim/element.h"
33 virtual void updateGeneralizedCoordinates() {}
34 virtual void updateGeneralizedJacobians(
int j=0) { }
35 virtual void updatedx();
36 virtual void updatexd() { }
37 virtual void calcxSize() {
xSize = 0; }
38 const fmatvec::Vec& getx()
const {
return x; }
39 fmatvec::Vec& getx() {
return x; }
40 int getxInd() {
return xInd; }
41 virtual void setxInd(
int xInd_) { xInd = xInd_; };
42 int getxSize()
const {
return xSize; }
43 int getisInd() {
return isInd; }
44 virtual void setisInd(
int isInd_) { isInd = isInd_; }
45 int getisSize() {
return isSize; }
46 virtual void updatexRef(fmatvec::Vec& xParent);
47 virtual void updatexdRef(fmatvec::Vec& xdParent);
48 virtual void updatedxRef(fmatvec::Vec& dxParent);
49 virtual void calcisSize() { isSize = 0; }
58 virtual void postprocessing() {}
63 virtual void setUpInverseKinetics() { }
64 std::shared_ptr<OpenMBV::Group> getOpenMBVGrp()
override {
return std::shared_ptr<OpenMBV::Group>();}
65 bool getUpdateGeneralizedCoordinates()
const {
return updGC; }
66 bool getUpdateGeneralizedJacobians()
const {
return updGJ; }
67 virtual void updateInternalStateRef(fmatvec::Vec& cur, fmatvec::Vec& next);
68 void resetUpToDate()
override { updGC =
true; updGJ =
true; }
70 const fmatvec::Vec& evalxd();
92 fmatvec::Vec curis, nextis;
Class for constraints between generalized coordinates of objects.
Definition: constraint.h:30
virtual void aboutToUpdateInternalState()
Definition: constraint.h:56
int xSize
size and local index of order one parameters
Definition: constraint.h:97
fmatvec::Vec x
order one parameters
Definition: constraint.h:78
fmatvec::Vec xd
differentiated order one parameters
Definition: constraint.h:83
fmatvec::Vec x0
order one initial value
Definition: constraint.h:90
void createPlotGroup() override
creates the plotGroup for H5-output
Definition: constraint.cc:78
basic class of MBSim mainly for plotting
Definition: element.h:56
std::string name
name of element
Definition: element.h:260
namespace MBSim
Definition: bilateral_constraint.cc:30