All Classes Namespaces Functions Variables Typedefs Enumerations Enumerator Pages
neutral_nurbs_2s.h
1 /*
2  * neutral_nurbs_2s.h
3  *
4  * Created on: 03.12.2013
5  * Author: zwang
6  */
7 
8 #ifndef NEUTRAL_NURBS_2S_H_
9 #define NEUTRAL_NURBS_2S_H_
10 
11 #include <mbsim/numerics/nurbs/nurbs_surface.h>
12 
13 namespace MBSim {
14  class ContourFrame;
15 }
16 
17 namespace MBSimFlexibleBody {
18 
20  public:
21  NeutralNurbs2s(MBSim::Element* parent_, const fmatvec::MatVI & nodes, double nodeOffset_, int degU_, int degV_, bool openStructure_);
22  virtual ~NeutralNurbs2s();
23  void setuk(const fmatvec::Vec &uk_) { uk = uk_; }
24  void setvl(const fmatvec::Vec &vl_) { vl = vl_; }
25  virtual void computeCurve(bool update = false);
26  virtual void update(MBSim::ContourFrame *frame) = 0;
27 // virtual const fmatvec::Vec getuVec() {
28 // return surface.getuVec();
29 // }
30  void resetUpToDate();
31  protected:
32  virtual void buildNodelist() = 0;
33  MBSim::NurbsSurface surface;
34  MBSim::Element *parent;
35  fmatvec::MatVI nodes;
36  double nodeOffset;
37  int numOfNodesU;
38  int numOfNodesV;
39  GeneralMatrix<Vec3> Nodelist;
40  fmatvec::Vec uk, vl;
41  int degU;
42  int degV;
43  bool openStructure;
44  bool updSurface;
45  };
46 
47 } /* namespace MBSimFlexibleBody */
48 #endif
Definition: neutral_nurbs_2s.h:19

Impressum / Disclaimer / Datenschutz Generated by doxygen 1.8.5 Valid HTML