mbsimflexiblebody 4.0.0 MBSim Flexible Body Module

nurbs_position_1s.h
1 /*
2 * NeutralPosition1sNurbs.h
3 *
4 * Created on: 24.10.2013
5 * Author: zwang
6 */
7
8 #ifndef _NEUTRAL_NURBS_POSITION_1S_H_
9 #define _NEUTRAL_NURBS_POSITION_1S_H_
10
11 #include "nurbs_1s.h"
12
13 namespace MBSimFlexibleBody {
14
15 class NeutralNurbsPosition1s : public MBSimFlexibleBody::NeutralNurbs1s {
16 public:
17 NeutralNurbsPosition1s(MBSim::Element* parent_, const fmatvec::VecInt & nodes, double nodeOffset_, double uMin_, double uMax_, int degU_, bool openStructure_);
18 ~NeutralNurbsPosition1s() override;
19 fmatvec::Vec3 evalPosition(double s);
20 fmatvec::Vec3 evalWs(double s);
21 fmatvec::Vec3 evalWt(double s);
22 void update(MBSim::ContourFrame *frame) override;
23 virtual void updatePositionNormal(MBSim::ContourFrame *frame);
24 virtual void updatePositionFirstTangent(MBSim::ContourFrame *frame);
25 virtual void updatePositionSecondTangent(MBSim::ContourFrame *frame);
26 virtual void setBinormalDir(const fmatvec::Vec3 & b) { binormalDir = b / fmatvec::nrm2(b); }
27 protected:
31 fmatvec::Vec3 binormalDir;
32
33 void buildNodelist() override;
34 };
35
36 } /* namespace MBSimFlexibleBody */
37 #endif
MBSimFlexibleBody::NeutralNurbs1s
Definition: nurbs_1s.h:19
MBSimFlexibleBody::NeutralNurbsPosition1s
Definition: nurbs_position_1s.h:15
MBSim::Element
MBSimFlexibleBody::NeutralNurbsPosition1s::binormalDir
fmatvec::Vec3 binormalDir
vector to compute the normal to
Definition: nurbs_position_1s.h:31
MBSim::ContourFrame