mbsimflexiblebody 4.0.0 MBSim Flexible Body Module

point_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_POINT_CYLINDERFLEXIBLE_H_
22 #define _CONTACT_KINEMATICS_POINT_CYLINDERFLEXIBLE_H_
23
24 #include "mbsim/contact_kinematics/contact_kinematics.h"
25
26 namespace MBSim {
27 class Point;
28 class FuncPairContour1sPoint;
29 }
30
31 namespace MBSimFlexibleBody {
32
33 class CylinderFlexible;
34
40 class ContactKinematicsPointCylinderFlexible : public MBSim::ContactKinematics {
41 public:
45 ContactKinematicsPointCylinderFlexible() = default;
46
50 ~ContactKinematicsPointCylinderFlexible() override;
51
52 /* INHERITED INTERFACE */
53 void assignContours(const std::vector<MBSim::Contour*> &contour) override;
54 virtual void updateg(double &g, std::vector<MBSim::Frame*> &cFrame, int index = 0);
55 /***************************************************/
56
57 private:
61 int ipoint, icylinder;
62
66 MBSim::Point *point;
67 CylinderFlexible *cylinder;
68
72 MBSim::FuncPairContour1sPoint *func;
73
77 bool useLocal { false };
78 };
79
80 }
81
82 #endif
83
MBSimFlexibleBody::ContactKinematicsPointCylinderFlexible
pairing point to cylinder flexible
Definition: point_cylinderflexible.h:40
MBSimFlexibleBody::ContactKinematicsPointCylinderFlexible::~ContactKinematicsPointCylinderFlexible
~ContactKinematicsPointCylinderFlexible() override
destructor
Definition: point_cylinderflexible.cc:34
MBSimFlexibleBody::ContactKinematicsPointCylinderFlexible::point
MBSim::Point * point
pointer to point and cylinder
Definition: point_cylinderflexible.h:66
MBSimFlexibleBody::CylinderFlexible
flexible cylinder for one dimensional flexible bodies
Definition: cylinder_flexible.h:34
MBSimFlexibleBody::ContactKinematicsPointCylinderFlexible::func
MBSim::FuncPairContour1sPoint * func
root function
Definition: point_cylinderflexible.h:72
MBSimFlexibleBody::ContactKinematicsPointCylinderFlexible::ipoint
int ipoint
index for point and cylinder
Definition: point_cylinderflexible.h:61
MBSim::ContactKinematics
MBSimFlexibleBody::ContactKinematicsPointCylinderFlexible::ContactKinematicsPointCylinderFlexible
ContactKinematicsPointCylinderFlexible()=default
constructor
MBSim::Point
MBSimFlexibleBody::ContactKinematicsPointCylinderFlexible::useLocal
bool useLocal
flag to check if local search can be used
Definition: point_cylinderflexible.h:77