mbsimflexiblebody  4.0.0
MBSim Flexible Body Module
contour_1s_neutral_factory.h
1/*
2 * contour_1s_neutral_factory.h
3 *
4 * Created on: 25.10.2013
5 * Author: zwang
6 */
7
8#ifndef CONTOUR_1S_NEUTRAL_FACTORY_H_
9#define CONTOUR_1S_NEUTRAL_FACTORY_H_
10
11#include "mbsimFlexibleBody/contours/contour1s.h"
12#include "mbsimFlexibleBody/utils/contact_utils.h"
13
14namespace MBSim {
15 class ContourFrame;
16}
17
18namespace MBSimFlexibleBody {
19
21 public:
22 Contour1sNeutralFactory(const std::string &name) : Contour1s(name), uMin(0.), uMax(1.), degU(3), openStructure(false) { }
23
24 MBSim::ContourFrame* createContourFrame(const std::string &name="P") override;
25
26 bool isZetaOutside(const fmatvec::Vec2 &zeta) override { return etaNodes.size() and (zeta(0) < etaNodes[0] or zeta(0) > etaNodes[etaNodes.size()-1]); }
27
28 MBSim::ContactKinematics * findContactPairingWith(const std::type_info &type0, const std::type_info &type1) override { return findContactPairingFlexible(type0, type1); }
29
30 virtual void setOpenStructure(const bool & openStructure_) { openStructure = openStructure_; }
31
32 virtual void setuMin(const double & uMin_) { uMin = uMin_; }
33
34 virtual void setuMax(const double & uMax_) { uMax = uMax_; }
35
36 protected:
37
41 double uMin;
42
46 double uMax;
47
51 int degU;
52
57
58 };
59
60} /* namespace MBSimFlexibleBody */
61#endif
Definition: contour_1s_neutral_factory.h:20
bool openStructure
is the contour opened or closed?
Definition: contour_1s_neutral_factory.h:56
double uMin
starting parameter of the contour descriptions
Definition: contour_1s_neutral_factory.h:41
double uMax
ending parameter of the contour description
Definition: contour_1s_neutral_factory.h:46
int degU
interpolation degree
Definition: contour_1s_neutral_factory.h:51
basic class for contours described by one contour parameter
Definition: contour1s.h:35
Contour1s(const std::string &name)
constructor
Definition: contour1s.h:41
std::string name