20#ifndef _OPENMBV_ARROW_H_
21#define _OPENMBV_ARROW_H_
23#include <openmbvcppinterface/dynamiccoloredbody.h>
24#include <hdf5serie/vectorserie.h>
56 void createHDF5File()
override;
57 void openHDF5File()
override;
59 double headDiameter{0.5};
60 double headLength{0.75};
61 double diameter{0.25};
62 double scaleLength{1};
64 ReferencePoint referencePoint{toPoint};
70 void setPath(
bool p) { pathStr=(p)?
"true":
"false"; }
72 bool getPath() {
return pathStr==
"true"?
true:
false; }
77 if(data==
nullptr)
throw std::runtime_error(
"can not append data to an environment object");
78 if(row.size()!=8)
throw std::runtime_error(
"the dimension does not match");
79 if(!std::isnan(dynamicColor))
81 std::vector<double> tmprow(8);
82 std::copy(&row[0], &row[8], tmprow.begin());
83 tmprow[7]=dynamicColor;
91 std::vector<double>
getRow(
int i)
override {
return data?data->
getRow(i):std::vector<double>(8); }
95 headDiameter=diameter;
101 headDiameter=diameter;
104 double getHeadDiameter() {
return headDiameter; }
111 double getHeadLength() {
return headLength; }
118 double getDiameter() {
return diameter; }
133 Type getType() {
return type; }
142 referencePoint=referencePoint_;
145 ReferencePoint getReferencePoint() {
return referencePoint; }
152 double getScaleLength() {
return scaleLength; }
157 xercesc::DOMElement *writeXMLFile(xercesc::DOMNode *parent)
override;
void getRow(int row, size_t size, T data[])
void append(const T data[], size_t size)
void setType(Type type_)
Definition: arrow.h:129
void setHeadDiameter(double diameter)
Definition: arrow.h:100
void setHeadLength(double length)
Definition: arrow.h:107
void setDiameter(double diameter_)
Definition: arrow.h:114
int getRows() override
Definition: arrow.h:90
std::vector< double > getRow(int i) override
Definition: arrow.h:91
void setPath(bool p)
Definition: arrow.h:70
void append(const T &row)
Definition: arrow.h:76
void setArrowHead(double diameter, double length)
Definition: arrow.h:94
void setScaleLength(double scale)
Definition: arrow.h:148
void setReferencePoint(ReferencePoint referencePoint_)
Definition: arrow.h:141
void initializeUsingXML(xercesc::DOMElement *element) override
Definition: arrow.cc:94
Definition: dynamiccoloredbody.h:28
Definition: objectfactory.h:38