mbsimflexiblebody
4.0.0
MBSim Flexible Body Module
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
19
class
NeutralNurbs2s
{
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
fmatvec::GeneralMatrix<fmatvec::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
MBSimFlexibleBody::NeutralNurbs2s
Definition:
nurbs_2s.h:19
MBSim::ContourFrame
MBSim::Element
MBSim::NurbsSurface
mbsim
modules
mbsimFlexibleBody
mbsimFlexibleBody
contours
nc
ncc
nurbs_2s.h
Generated with
Doxygen
using
Doxygen Awesome
on Mon Mar 30 2026