20#ifndef _OPENMBV_IVSCREENANNOTATION_H_
21#define _OPENMBV_IVSCREENANNOTATION_H_
24#include <hdf5serie/vectorserie.h>
63 xercesc::DOMElement* writeXMLFile(xercesc::DOMNode *parent)
override;
64 void setScale1To1(
bool scale1To1_);
77 std::vector<double> getScale1To1At();
78 void setIvFileName(std::string ivFileName_) { ivContent=
""; ivFileName=std::move(ivFileName_); }
79 std::string getIvFileName() {
return ivFileName; }
80 void setIvContent(std::string ivContent_) { ivFileName=
""; ivContent=std::move(ivContent_); }
81 const std::string& getIvContent() {
return ivContent; }
82 void setColumnLabels(
const std::vector<std::string> &columnLabels_);
83 const std::vector<std::string>& getColumnLabels()
const;
85 void createHDF5File()
override;
86 void openHDF5File()
override;
89 void append(
const T& row) {
90 if(data==
nullptr)
throw std::runtime_error(
"IvScreenAnnotation: Cannot append data to an environment object");
91 if(row.size()!=1+columnLabels.size())
throw std::runtime_error(
"IvScreenAnnotation: The dimension does not match (append: "+
92 std::to_string(row.size())+
", columns: "+std::to_string(1+columnLabels.size())+
")");
93 data->
append(&row[0], row.size());
97 std::vector<double>
getRow(
int i)
override {
99 return std::vector<double>(1+columnLabels.size());
101 auto row = data->
getRow(i);
104 if(columnLabels.size() == row.size()) {
105 std::vector<double> ret(1+row.size());
107 for(
size_t i = 0; i < row.size(); ++i)
118 std::vector<double> scale1To1Center;
119 std::string ivFileName;
120 std::string ivContent;
121 std::vector<std::string> columnLabels;
void getRow(int row, size_t size, T data[])
void append(const T data[], size_t size)
Definition: ivscreenannotation.h:59
std::vector< double > getRow(int i) override
Definition: ivscreenannotation.h:97
void setScale1To1At(const std::vector< double > &scale1To1Center_)
Definition: ivscreenannotation.cc:91
void initializeUsingXML(xercesc::DOMElement *element) override
Definition: ivscreenannotation.cc:51
int getRows() override
Definition: ivscreenannotation.h:96
Definition: objectfactory.h:38