mbsimflexiblebody  4.0.0
MBSim Flexible Body Module
nurbs_position_2s.h
1/*
2 * neutral_nurbs_position_2s.h
3 *
4 * Created on: 04.12.2013
5 * Author: zwang
6 */
7
8#ifndef _NEUTRAL_NURBS_POSITION_2S_H_
9#define _NEUTRAL_NURBS_POSITION_2S_H_
10
11#include "nurbs_2s.h"
12
13namespace MBSimFlexibleBody {
14
16 public:
17 NeutralNurbsPosition2s(MBSim::Element* parent_, const fmatvec::MatVI & nodes, double nodeOffset, int degU_, int degV_, bool openStructure_);
18 ~NeutralNurbsPosition2s() override;
19 fmatvec::Vec3 evalPosition(const fmatvec::Vec2 &zeta);
20 fmatvec::Vec3 evalWs(const fmatvec::Vec2 &zeta);
21 fmatvec::Vec3 evalWt(const fmatvec::Vec2 &zeta);
22 fmatvec::Vec3 evalWn(const fmatvec::Vec2 &zeta);
23 void update(MBSim::ContourFrame *frame) override;
24 virtual void updatePositionNormal(MBSim::ContourFrame *frame);
25 virtual void updatePositionFirstTangent(MBSim::ContourFrame *frame);
26 virtual void updatePositionSecondTangent(MBSim::ContourFrame *frame);
27 protected:
28 void buildNodelist() override;
29 };
30
31} /* namespace MBSimFlexibleBody */
32#endif
Definition: nurbs_2s.h:19
Definition: nurbs_position_2s.h:15