20#ifndef _RIGID_CONTOUR_H_
21#define _RIGID_CONTOUR_H_
23#include "mbsim/contours/contour.h"
49 Frame* getFrame() {
return R; }
50 Frame* getFrameOfReference() {
return R; }
51 void setFrameOfReference(Frame *frame) {
R = frame; }
52 void setFrameOfReference(
const std::string &frame) { saved_frameOfReference = frame; }
56 void init(
InitStage stage,
const InitConfigSet &config)
override;
59 virtual fmatvec::Vec3 evalKrPS(
const fmatvec::Vec2 &zeta);
60 virtual fmatvec::Vec3 evalKs(
const fmatvec::Vec2 &zeta);
61 virtual fmatvec::Vec3 evalKt(
const fmatvec::Vec2 &zeta);
62 virtual fmatvec::Vec3 evalKu(
const fmatvec::Vec2 &zeta);
63 virtual fmatvec::Vec3 evalKv(
const fmatvec::Vec2 &zeta);
64 virtual fmatvec::Vec3 evalKn(
const fmatvec::Vec2 &zeta);
65 virtual fmatvec::Vec3 evalParDer1Ks(
const fmatvec::Vec2 &zeta);
66 virtual fmatvec::Vec3 evalParDer2Ks(
const fmatvec::Vec2 &zeta);
67 virtual fmatvec::Vec3 evalParDer1Kt(
const fmatvec::Vec2 &zeta);
68 virtual fmatvec::Vec3 evalParDer2Kt(
const fmatvec::Vec2 &zeta);
69 virtual fmatvec::Vec3 evalParDer1Kn(
const fmatvec::Vec2 &zeta);
70 virtual fmatvec::Vec3 evalParDer2Kn(
const fmatvec::Vec2 &zeta);
77 virtual fmatvec::Vec3
evalParDer1Ku(
const fmatvec::Vec2 &zeta);
85 virtual fmatvec::Vec3
evalParDer2Ku(
const fmatvec::Vec2 &zeta);
91 virtual fmatvec::Vec3
evalParDer1Kv(
const fmatvec::Vec2 &zeta);
98 virtual fmatvec::Vec3
evalParDer2Kv(
const fmatvec::Vec2 &zeta);
100 fmatvec::Vec3
evalPosition(
const fmatvec::Vec2 &zeta)
override;
101 fmatvec::Vec3
evalWu(
const fmatvec::Vec2 &zeta)
override;
102 fmatvec::Vec3
evalWv(
const fmatvec::Vec2 &zeta)
override;
103 fmatvec::Vec3
evalWn(
const fmatvec::Vec2 &zeta)
override;
104 fmatvec::Vec3
evalParDer1Wn(
const fmatvec::Vec2 &zeta)
override;
105 fmatvec::Vec3
evalParDer2Wn(
const fmatvec::Vec2 &zeta)
override;
106 fmatvec::Vec3
evalParDer1Wu(
const fmatvec::Vec2 &zeta)
override;
107 fmatvec::Vec3
evalParDer2Wu(
const fmatvec::Vec2 &zeta)
override;
108 fmatvec::Vec3
evalParDer1Wv(
const fmatvec::Vec2 &zeta)
override;
109 fmatvec::Vec3
evalParDer2Wv(
const fmatvec::Vec2 &zeta)
override;
110 fmatvec::Vec3
evalWs(
const fmatvec::Vec2 &zeta)
override;
111 fmatvec::Vec3
evalWt(
const fmatvec::Vec2 &zeta)
override;
112 fmatvec::Vec3 evalParWvCParEta(
const fmatvec::Vec2 &zeta)
override;
113 fmatvec::Vec3 evalParWvCParXi(
const fmatvec::Vec2 &zeta)
override;
114 fmatvec::Vec3 evalParWnPart(
const fmatvec::Vec2 &zeta)
override;
115 fmatvec::Vec3 evalParWuPart(
const fmatvec::Vec2 &zeta)
override;
116 fmatvec::Vec3 evalParWvPart(
const fmatvec::Vec2 &zeta)
override;
118 fmatvec::Vec2 evalCurvatures(
const fmatvec::Vec2 &zeta)
override;
125 ContactKinematics *
findContactPairingWith(
const std::type_info &type0,
const std::type_info &type1)
override;
127 void initializeUsingXML(xercesc::DOMElement *element)
override;
129 std::shared_ptr<OpenMBV::RigidBody>& getOpenMBVRigidBody() {
return openMBVRigidBody; }
137 std::shared_ptr<OpenMBV::RigidBody> openMBVRigidBody;
140 std::string saved_frameOfReference;
Definition: contour_frame.h:27
basic class for contour definition for rigid (which do not know about their shape) and flexible (they...
Definition: contour.h:40
InitStage
The stages of the initialization.
Definition: element.h:62
std::string name
name of element
Definition: element.h:260
cartesian frame on bodies used for application of e.g. links and loads
Definition: frame.h:39
basic class for rigid contours
Definition: rigid_contour.h:37
fmatvec::Vec3 evalWn(const fmatvec::Vec2 &zeta) override
Definition: rigid_contour.cc:142
fmatvec::Vec3 evalWu(const fmatvec::Vec2 &zeta) override
Definition: rigid_contour.cc:134
void plot() override
plots time dependent data
Definition: rigid_contour.cc:221
virtual fmatvec::Vec3 evalParDer2Ku(const fmatvec::Vec2 &zeta)
Definition: rigid_contour.cc:104
virtual fmatvec::Vec3 evalParDer1Kv(const fmatvec::Vec2 &zeta)
Definition: rigid_contour.cc:110
Frame * R
coordinate system of contour
Definition: rigid_contour.h:135
ContactKinematics * findContactPairingWith(const std::type_info &type0, const std::type_info &type1) override
contact search for RigidContours
Definition: rigid_contour.cc:238
fmatvec::Vec3 evalWv(const fmatvec::Vec2 &zeta) override
Definition: rigid_contour.cc:138
void init(InitStage stage, const InitConfigSet &config) override
plots time series header
Definition: rigid_contour.cc:36
fmatvec::Vec3 evalParDer1Wu(const fmatvec::Vec2 &zeta) override
Definition: rigid_contour.cc:154
virtual fmatvec::Vec3 evalParDer1Ku(const fmatvec::Vec2 &zeta)
Definition: rigid_contour.cc:98
fmatvec::Vec3 evalWs(const fmatvec::Vec2 &zeta) override
Definition: rigid_contour.cc:170
virtual fmatvec::Vec3 evalParDer2Kv(const fmatvec::Vec2 &zeta)
Definition: rigid_contour.cc:114
fmatvec::Vec3 evalParDer2Wu(const fmatvec::Vec2 &zeta) override
Definition: rigid_contour.cc:158
fmatvec::Vec3 evalParDer1Wv(const fmatvec::Vec2 &zeta) override
Definition: rigid_contour.cc:162
fmatvec::Vec3 evalParDer1Wn(const fmatvec::Vec2 &zeta) override
Definition: rigid_contour.cc:146
fmatvec::Vec3 evalPosition(const fmatvec::Vec2 &zeta) override
Definition: rigid_contour.cc:130
RigidContour(const std::string &name, Frame *R_=nullptr)
constructor
Definition: rigid_contour.h:43
fmatvec::Vec3 evalParDer2Wn(const fmatvec::Vec2 &zeta) override
Definition: rigid_contour.cc:150
fmatvec::Vec3 evalWt(const fmatvec::Vec2 &zeta) override
Definition: rigid_contour.cc:174
fmatvec::Vec3 evalParDer2Wv(const fmatvec::Vec2 &zeta) override
Definition: rigid_contour.cc:166
namespace MBSim
Definition: bilateral_constraint.cc:30