20#ifndef _OPENMBV_DYNAICIVBODY_H_
21#define _OPENMBV_DYNAICIVBODY_H_
23#include <openmbvcppinterface/body.h>
24#include <hdf5serie/vectorserie.h>
39 void setIvFileName(std::string ivFileName_) { ivContent=
""; ivFileName=std::move(ivFileName_); }
40 std::string getIvFileName() {
return ivFileName; }
43 void setIvContent(std::string ivContent_) { ivFileName=
""; ivContent=std::move(ivContent_); }
44 const std::string& getIvContent() {
return ivContent; }
51 size_t getDataSize() {
return dataSize; }
58 size_t getDataIntSize() {
return dataIntSize; }
65 void setDataStrSize(
size_t s,
int fss = -1) { dataStrSize = s; fixedStrSize = fss; }
66 size_t getDataStrSize() {
return dataStrSize; }
71 bool getScalarData() {
return scalarData; }
76 xercesc::DOMElement* writeXMLFile(xercesc::DOMNode *parent)
override;
85 std::vector<Float>
getRow(
int i)
override {
return data?data->
getRow(i):std::vector<Float>(dataSize); }
93 std::vector<int> getRowInt(
int i) {
return dataInt?dataInt->
getRow(i):std::vector<int>(dataIntSize); }
101 std::vector<std::string> getRowStr(
int i) {
return dataStr?dataStr->
getRow(i):std::vector<std::string>(dataStrSize); }
104 void setStateOffSet(
const std::vector<T>& stateOff) {
106 for(
size_t i=0; i<stateOff.size(); ++i)
109 std::vector<Float> getStateOffSet() {
return stateOffSet; }
111 void setStateIntOffSet(
const std::vector<int>& stateOff) { stateIntOffSet = stateOff; }
112 std::vector<int> getStateIntOffSet() {
return stateIntOffSet; }
114 void setStateStrOffSet(
const std::vector<std::string>& stateOff) { stateStrOffSet = stateOff; }
115 std::vector<std::string> getStateStrOffSet() {
return stateStrOffSet; }
119 ~DynamicIvBody()
override =
default;
120 std::string ivFileName;
121 std::string ivContent;
123 int fixedStrSize { -1 };
124 size_t dataSize { 0 };
125 size_t dataIntSize { 0 };
126 size_t dataStrSize { 0 };
130 bool scalarData {
false };
134 std::vector<int> stateIntOffSet;
135 std::vector<std::string> stateStrOffSet;
137 void createHDF5File()
override;
138 void openHDF5File()
override;
void getRow(int row, size_t size, T data[])
void append(const T data[], size_t size)
Definition: dynamicivbody.h:35
void setDataStrSize(size_t s, int fss=-1)
Definition: dynamicivbody.h:65
std::vector< Float > stateOffSet
Definition: dynamicivbody.h:133
std::vector< Float > getRow(int i) override
Definition: dynamicivbody.h:85
void initializeUsingXML(xercesc::DOMElement *element) override
Definition: dynamicivbody.cc:54
void append(const T &row)
Definition: dynamicivbody.h:80
void appendInt(const T &row)
Definition: dynamicivbody.h:89
void setScalarData(bool s)
Definition: dynamicivbody.h:70
void setDataSize(size_t s)
Definition: dynamicivbody.h:50
void setIvContent(std::string ivContent_)
Definition: dynamicivbody.h:43
int getRows() override
Definition: dynamicivbody.h:84
void setIvFileName(std::string ivFileName_)
Definition: dynamicivbody.h:39
void setDataIntSize(size_t s)
Definition: dynamicivbody.h:57
void appendStr(const T &row)
Definition: dynamicivbody.h:97
Definition: objectfactory.h:38