20#ifndef _OPENMBV_NURBSDISK_H_
21#define _OPENMBV_NURBSDISK_H_
23#include <openmbvcppinterface/dynamiccoloredbody.h>
24#include <hdf5serie/vectorserie.h>
46 bool getLocalFrame() {
return localFrameStr==
"true"?
true:
false; }
78 double getRi() {
return Ri; }
79 double getRo() {
return Ro; }
94 KnotVecRadial=KnotVecRadial_;
97 std::vector<double> getKnotVecRadial() {
return KnotVecRadial; }
108 ElementNumberRadial=ElementNumberRadial_;
111 int getElementNumberRadial() {
return ElementNumberRadial; }
115 InterpolationDegreeRadial=InterpolationDegreeRadial_;
118 int getInterpolationDegreeRadial() {
return InterpolationDegreeRadial; }
138 float* getDiskPoint() {
return DiskPoint; }
143 if(
data==
nullptr)
throw std::runtime_error(
"can not append data to an environment object");
148 std::vector<double>
getRow(
int i)
override {
149 int NodeDofs = (getElementNumberRadial() + 1) * (getElementNumberAzimuthal() + getInterpolationDegreeAzimuthal());
157 xercesc::DOMElement*
writeXMLFile(xercesc::DOMNode *parent)
override;
182 int ElementNumberRadial{0};
186 int InterpolationDegreeRadial{3};
199 void openHDF5File()
override;
void getRow(int row, size_t size, T data[])
void append(const T data[], size_t size)
Definition: dynamiccoloredbody.h:28
Class for all bodies with a NURBS surface and a primitive closure.
Definition: nurbsdisk.h:40
void setScaleFactor(const double scale)
Definition: nurbsdisk.h:49
void setKnotVecAzimuthal(const std::vector< double > &KnotVecAzimuthal_)
Definition: nurbsdisk.h:84
void setElementNumberAzimuthal(int ElementNumberAzimuthal_)
Definition: nurbsdisk.h:100
int InterpolationDegreeAzimuthal
Definition: nurbsdisk.h:185
void setDrawDegree(int drawDegree_)
Definition: nurbsdisk.h:56
void setInterpolationDegreeAzimuthal(int InterpolationDegreeAzimuthal_)
Definition: nurbsdisk.h:121
xercesc::DOMElement * writeXMLFile(xercesc::DOMNode *parent) override
Definition: nurbsdisk.cc:45
std::string localFrameStr
String that contains, whether reference Frame should be drawn (="True") or not (="False")
Definition: nurbsdisk.h:168
void setInterpolationDegreeRadial(int InterpolationDegreeRadial_)
Definition: nurbsdisk.h:114
H5::VectorSerie< double > * data
Definition: nurbsdisk.h:163
float * DiskPoint
Definition: nurbsdisk.h:195
std::vector< double > KnotVecAzimuthal
Definition: nurbsdisk.h:189
double scaleFactor
Definition: nurbsdisk.h:171
void initializeUsingXML(xercesc::DOMElement *element) override
Definition: nurbsdisk.cc:111
void setRadii(double Ri_, double Ro_)
Definition: nurbsdisk.h:63
void setKnotVecRadial(const std::vector< double > &KnotVecRadial_)
Definition: nurbsdisk.h:93
int getRows() override
Definition: nurbsdisk.h:147
void setDiskNormal(float *DiskNormal_)
Definition: nurbsdisk.h:127
void createHDF5File() override
Definition: nurbsdisk.cc:66
std::vector< double > getRow(int i) override
Definition: nurbsdisk.h:148
float * DiskNormal
Definition: nurbsdisk.h:192
void append(const T &row)
Definition: nurbsdisk.h:142
int ElementNumberAzimuthal
Definition: nurbsdisk.h:181
int drawDegree
Definition: nurbsdisk.h:174
void setDiskPoint(float *DiskPoint_)
Definition: nurbsdisk.h:134
void setRo(double Ro_)
Definition: nurbsdisk.h:74
void setRi(double Ri_)
Definition: nurbsdisk.h:69
void setLocalFrame(bool f)
Definition: nurbsdisk.h:44
double Ri
Definition: nurbsdisk.h:177
void setElementNumberRadial(int ElementNumberRadial_)
Definition: nurbsdisk.h:107
Definition: objectfactory.h:38