Loading [MathJax]/extensions/tex2jax.js
openmbvcppinterface  3.1.0
OpenMBV C++ Interface
All Classes Namespaces Functions Variables Typedefs Enumerations Enumerator
OpenMBV::Arrow Class Reference

#include <arrow.h>

Inheritance diagram for OpenMBV::Arrow:
[legend]

Public Types

enum  Type {
  line , fromHead , toHead , bothHeads ,
  fromDoubleHead , toDoubleHead , bothDoubleHeads
}
 
enum  ReferencePoint { toPoint , fromPoint , midPoint }
 
- Public Types inherited from OpenMBV::Body
enum  DrawStyle { filled , lines , points }
 

Public Member Functions

void setPath (bool p)
 
bool getPath ()
 
template<typename T >
void append (const T &row)
 
int getRows () override
 
std::vector< double > getRow (int i) override
 
void setArrowHead (double diameter, double length)
 
void setHeadDiameter (double diameter)
 
double getHeadDiameter ()
 
void setHeadLength (double length)
 
double getHeadLength ()
 
void setDiameter (double diameter_)
 
double getDiameter ()
 
void setType (Type type_)
 
Type getType ()
 
void setReferencePoint (ReferencePoint referencePoint_)
 
ReferencePoint getReferencePoint ()
 
void setScaleLength (double scale)
 
double getScaleLength ()
 
void initializeUsingXML (xercesc::DOMElement *element) override
 
xercesc::DOMElement * writeXMLFile (xercesc::DOMNode *parent) override
 
- Public Member Functions inherited from OpenMBV::DynamicColoredBody
void setMinimalColorValue (double min)
 
double getMinimalColorValue ()
 
void setMaximalColorValue (double max)
 
double getMaximalColorValue ()
 
void setDynamicColor (const double col)
 
double getDynamicColor ()
 
void setDiffuseColor (const std::vector< double > &hsv)
 
void setDiffuseColor (double h, double s, double v)
 
std::vector< double > getDiffuseColor ()
 
void setTransparency (double t)
 
double getTransparency ()
 
void initializeUsingXML (xercesc::DOMElement *element) override
 
xercesc::DOMElement * writeXMLFile (xercesc::DOMNode *parent) override
 
- Public Member Functions inherited from OpenMBV::Body
void setOutLine (bool ol)
 
bool getOutLine ()
 
void setShilouetteEdge (bool ol)
 
bool getShilouetteEdge ()
 
void setDrawMethod (DrawStyle ds)
 
DrawStyle getDrawMethod ()
 
void setPointSize (double ps)
 
double getPointSize ()
 
void setLineWidth (double lw)
 
double getLineWidth ()
 
void initializeUsingXML (xercesc::DOMElement *element) override
 
xercesc::DOMElement * writeXMLFile (xercesc::DOMNode *parent) override
 
virtual int getRows ()=0
 
virtual std::vector< double > getRow (int i)=0
 
- Public Member Functions inherited from OpenMBV::Object
void setEnable (bool enable)
 
bool getEnable ()
 
void setBoundingBox (bool bbox)
 
bool getBoundingBox ()
 
void setName (const std::string &name_)
 
std::string getName ()
 
virtual std::string getFullName ()
 
void setEnvironment (bool env)
 
bool getEnvironment ()
 
virtual void initializeUsingXML (xercesc::DOMElement *element)
 
virtual xercesc::DOMElement * writeXMLFile (xercesc::DOMNode *parent)
 
std::shared_ptr< GroupgetTopLevelGroup ()
 
std::weak_ptr< GroupgetParent ()
 
H5::GroupBasegetHDF5Group ()
 
std::string getID () const
 
void setID (std::string ID_)
 

Protected Member Functions

void createHDF5File () override
 
void openHDF5File () override
 
- Protected Member Functions inherited from OpenMBV::Body
void createHDF5File () override
 
void openHDF5File () override
 
virtual void createHDF5File ()=0
 
virtual void openHDF5File ()=0
 

Protected Attributes

std::string pathStr
 
H5::VectorSerie< double > * data {nullptr}
 
double headDiameter {0.5}
 
double headLength {0.75}
 
double diameter {0.25}
 
double scaleLength {1}
 
Type type {toHead}
 
ReferencePoint referencePoint {toPoint}
 
- Protected Attributes inherited from OpenMBV::DynamicColoredBody
double minimalColorValue {0}
 
double maximalColorValue {1}
 
double dynamicColor
 
std::vector< double > diffuseColor
 
double transparency {0}
 
- Protected Attributes inherited from OpenMBV::Body
std::string outLineStr
 
std::string shilouetteEdgeStr
 
DrawStyle drawMethod {filled}
 
double pointSize {0}
 
double lineWidth {0}
 
- Protected Attributes inherited from OpenMBV::Object
std::string name
 
std::string enableStr
 
std::string boundingBoxStr
 
std::string ID
 
std::string environmentStr
 
std::weak_ptr< Groupparent
 
H5::GroupBasehdf5Group {nullptr}
 
std::string fullName
 

Friends

class ObjectFactory
 

Detailed Description

A arrow with zero, one or two heads

HDF5-Dataset: The HDF5 dataset of this object is a 2D array of double precision values. Each row represents one dataset in time. A row consists of the following columns in order given in world frame: time, "to" point x, "to" point y, "to" point z, delta x, delta y, delta z, color

Member Function Documentation

◆ append()

template<typename T >
void OpenMBV::Arrow::append ( const T &  row)
inline

Append the data row to the end of the dataset

◆ createHDF5File()

void OpenMBV::Arrow::createHDF5File ( )
overrideprotectedvirtual

Implements OpenMBV::Object.

◆ getRow()

std::vector< double > OpenMBV::Arrow::getRow ( int  i)
inlineoverridevirtual

Get row number i of the default data. NOTE: see also append()

Implements OpenMBV::Body.

◆ getRows()

int OpenMBV::Arrow::getRows ( )
inlineoverridevirtual

Get the number of rows of the default data. Returns 0, if no default data is avaliable. NOTE: see also append()

Implements OpenMBV::Body.

◆ initializeUsingXML()

void OpenMBV::Arrow::initializeUsingXML ( xercesc::DOMElement *  element)
overridevirtual

Initializes the time invariant part of the object using a XML node

Reimplemented from OpenMBV::Object.

◆ openHDF5File()

void OpenMBV::Arrow::openHDF5File ( )
overrideprotectedvirtual

Implements OpenMBV::Object.

◆ setArrowHead()

void OpenMBV::Arrow::setArrowHead ( double  diameter,
double  length 
)
inline

Convenience; see setHeadDiameter and setHeadLength

◆ setDiameter()

void OpenMBV::Arrow::setDiameter ( double  diameter_)
inline

Set the diameter of the arrow (which is a cylinder)

◆ setHeadDiameter()

void OpenMBV::Arrow::setHeadDiameter ( double  diameter)
inline

Set the diameter of the arrow head (which is a cone)

◆ setHeadLength()

void OpenMBV::Arrow::setHeadLength ( double  length)
inline

Set the length of the arrow head (which is a cone)

◆ setPath()

void OpenMBV::Arrow::setPath ( bool  p)
inline

Draw path of this object in the viewer if true (the default)

◆ setReferencePoint()

void OpenMBV::Arrow::setReferencePoint ( ReferencePoint  referencePoint_)
inline

Set the reference point of the arrow. The reference point is the point being stored in the HDF5 file. Use "toPoint" (the default) if the 'to' point is store in the HDF5 file; Use "fromPoint" if the 'from' point is store in the HDF5 file; Use "midPoint" if the 'mid' point is store in the HDF5 file;

◆ setScaleLength()

void OpenMBV::Arrow::setScaleLength ( double  scale)
inline

Scale the length of the arrow

◆ setType()

void OpenMBV::Arrow::setType ( Type  type_)
inline

Set the type of the arrow. Use "line" to draw the arrow as a simple line; Use "fromHead" to draw the arrow with a head at the 'from' point; Use "toHead" to draw the arrow with a head at the 'to' point; Use "bothHeads" to draw the arrow with a head at the 'from' and 'to' point; Use "fromDoubleHead" to draw the arrow with a double head at the 'from' point; Use "toDoubleHead" to draw the arrow with a double head at the 'to' point; Use "bothDoubleHeads" to draw the arrow with a double head at the 'from' and 'to' point;

◆ writeXMLFile()

DOMElement * OpenMBV::Arrow::writeXMLFile ( xercesc::DOMNode *  parent)
overridevirtual

Reimplemented from OpenMBV::Object.


The documentation for this class was generated from the following files: