20 #ifndef _OPENMBV_COILSPRING_H_
21 #define _OPENMBV_COILSPRING_H_
23 #include <openmbvcppinterface/dynamiccoloredbody.h>
24 #include <hdf5serie/vectorserie.h>
47 void createHDF5File();
50 double springRadius, crossSectionRadius, scaleFactor, numberOfCoils, nominalLength;
60 void append(
const T& row) {
61 if(data==0)
throw std::runtime_error(
"can not append data to an environement object");
62 if(row.size()!=8)
throw std::runtime_error(
"the dimension does not match");
63 if(!std::isnan(dynamicColor))
65 std::vector<double> tmprow(8);
66 std::copy(&row[0], &row[8], tmprow.begin());
67 tmprow[7]=dynamicColor;
75 std::vector<double>
getRow(
int i) {
return data?data->
getRow(i):std::vector<double>(8); }
77 void setSpringRadius(
double radius) { springRadius=radius; }
78 double getSpringRadius() {
return springRadius; }
86 double getCrossSectionRadius() {
return crossSectionRadius; }
88 void setScaleFactor(
double scale) { scaleFactor=scale; }
89 double getScaleFactor() {
return scaleFactor; }
91 void setNumberOfCoils(
double nr) { numberOfCoils=nr; }
92 double getNumberOfCoils() {
return numberOfCoils; }
103 double getNominalLength() {
return nominalLength; }
116 Type getType() {
return type; }
121 xercesc::DOMElement *writeXMLFile(xercesc::DOMNode *parent);
void setNominalLength(double l)
Definition: coilspring.h:102
std::string getClassName()
Definition: coilspring.h:57
void setCrossSectionRadius(double radius)
Definition: coilspring.h:85
Definition: objectfactory.h:40
int getRows()
Definition: coilspring.h:74
virtual void initializeUsingXML(xercesc::DOMElement *element)
Definition: coilspring.cc:94
Definition: dynamiccoloredbody.h:28
std::vector< double > getRow(int i)
Definition: coilspring.h:75
void getRow(const int row, size_t size, T data[])
void append(const T data[], size_t size)
Definition: coilspring.h:38
void setType(Type t)
Definition: coilspring.h:115