mbsimflexiblebody 4.0.0 MBSim Flexible Body Module

nurbs_1s.h
1 /*
2 * neutral_nurbs_1s.h
3 *
4 * Created on: 24.10.2013
5 * Author: zwang
6 */
7
8 #ifndef NEUTRAL_NURBS_1S_H_
9 #define NEUTRAL_NURBS_1S_H_
10
11 #include <mbsim/numerics/nurbs/nurbs_curve.h>
12
13 namespace MBSim {
14 class ContourFrame;
15 }
16
17 namespace MBSimFlexibleBody {
18
19 class NeutralNurbs1s : public virtual fmatvec::Atom {
20 public:
21 NeutralNurbs1s(MBSim::Element* parent_, const fmatvec::VecInt &nodes, double nodeOffset_, double uMin_, double uMax_, int degU_, bool openStructure_);
22 ~NeutralNurbs1s() override;
23 virtual void computeCurve(bool update = false);
24 virtual void update(MBSim::ContourFrame *frame) = 0;
25 virtual const fmatvec::Vec getuVec() {
26 return curve.getuVec();
27 }
28 void resetUpToDate();
29 protected:
30 virtual void buildNodelist() = 0;
31 MBSim::NurbsCurve curve;
32 MBSim::Element *parent;
33 fmatvec::VecInt nodes;
34
38 double nodeOffset;
39 fmatvec::MatVx3 Nodelist;
40 double uMin;
41 double uMax;
42 int degU;
43 bool openStructure;
44 bool updCurve;
45 };
46
47 } /* namespace MBSimFlexibleBody */
48 #endif
MBSimFlexibleBody::NeutralNurbs1s
Definition: nurbs_1s.h:19
MBSim::Element
MBSimFlexibleBody::NeutralNurbs1s::nodeOffset
double nodeOffset
offset between "leading" nodeset and this nodeset (e.g. used in cosserat between translational (= lea...
Definition: nurbs_1s.h:38
MBSim::ContourFrame
MBSim::NurbsCurve
MBSim::NurbsCurve::getuVec
const fmatvec::VecV getuVec() const