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
13namespace MBSimFlexibleBody {
14
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
Definition: nurbs_1s.h:19
Definition: nurbs_position_1s.h:15
fmatvec::Vec3 binormalDir
vector to compute the normal to
Definition: nurbs_position_1s.h:31