mbsimflexiblebody  4.0.0
MBSim Flexible Body Module
circlehollow_cylinderflexible.h
1/* Copyright (C) 2004-2015 MBSim Development Team
2 *
3 * This library is free software; you can redistribute it and/or
4 * modify it under the terms of the GNU Lesser General Public
5 * License as published by the Free Software Foundation; either
6 * version 2.1 of the License, or (at your option) any later version.
7 *
8 * This library is distributed in the hope that it will be useful,
9 * but WITHOUT ANY WARRANTY; without even the implied warranty of
10 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
11 * Lesser General Public License for more details.
12 *
13 * You should have received a copy of the GNU Lesser General Public
14 * License along with this library; if not, write to the Free Software
15 * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
16 *
17 * Contact: thorsten.schindler@mytum.de
18 * rzander@users.berlios.de
19 */
20
21#ifndef _CONTACT_KINEMATICS_CIRCLEHOLLOW_CYLINDERFLEXIBLE_H_
22#define _CONTACT_KINEMATICS_CIRCLEHOLLOW_CYLINDERFLEXIBLE_H_
23
24#include "mbsim/contact_kinematics/contact_kinematics.h"
25
26namespace MBSim {
27 class CircleHollow;
28 class FuncPairContour1sCircleHollow;
29}
30
31namespace MBSimFlexibleBody {
32
33 class CylinderFlexible;
34
42 public:
47
52
53 /* INHERITED INTERFACE */
54 void assignContours(const std::vector<MBSim::Contour*> &contour) override;
55 virtual void updateg(double &g, std::vector<MBSim::Frame*> &cFrame, int index = 0);
56 virtual void updatewb(fmatvec::Vec &wb, double g, std::vector<MBSim::Frame*> &cFrame) { throw std::runtime_error("(ContactKinematicsCircleHollowCylinderFlexible::updatewb): Not implemented!"); };
57 /***************************************************/
58
59 private:
63 int icircle, icylinder;
64
68 MBSim::CircleHollow *circle;
69 CylinderFlexible *cylinder;
70
74 MBSim::FuncPairContour1sCircleHollow *func;
75
79 bool useLocal {false};
80 };
81
82}
83
84#endif /* _CONTACT_KINEMATICS_CIRCLEHOLLOW_CYLINDERFLEXIBLE_H_ */
85
pairing CircleHollow to CylinderFlexible
Definition: circlehollow_cylinderflexible.h:41
int icircle
contour index
Definition: circlehollow_cylinderflexible.h:63
MBSim::FuncPairContour1sCircleHollow * func
root function
Definition: circlehollow_cylinderflexible.h:74
bool useLocal
flag to use local or global search
Definition: circlehollow_cylinderflexible.h:79
~ContactKinematicsCircleHollowCylinderFlexible() override
destructor
Definition: circlehollow_cylinderflexible.cc:33
MBSim::CircleHollow * circle
contour classes
Definition: circlehollow_cylinderflexible.h:68
flexible cylinder for one dimensional flexible bodies
Definition: cylinder_flexible.h:34