openmbvcppinterface  3.1.0
OpenMBV C++ Interface
OpenMBV::DynamicIvBody Class Reference

#include <dynamicivbody.h>

Inheritance diagram for OpenMBV::DynamicIvBody:
[legend]

Public Member Functions

void setIvFileName (std::string ivFileName_)
 
std::string getIvFileName ()
 
void setIvContent (std::string ivContent_)
 
const std::string & getIvContent ()
 
void setDataSize (size_t s)
 
size_t getDataSize ()
 
void setDataIntSize (size_t s)
 
size_t getDataIntSize ()
 
void setDataStrSize (size_t s, int fss=-1)
 
size_t getDataStrSize ()
 
void setScalarData (bool s)
 
bool getScalarData ()
 
void initializeUsingXML (xercesc::DOMElement *element) override
 
xercesc::DOMElement * writeXMLFile (xercesc::DOMNode *parent) override
 
template<typename T >
void append (const T &row)
 
int getRows () override
 
std::vector< Float > getRow (int i) override
 
template<typename T >
void appendInt (const T &row)
 
std::vector< int > getRowInt (int i)
 
template<typename T >
void appendStr (const T &row)
 
std::vector< std::string > getRowStr (int i)
 
template<typename T >
void setStateOffSet (const std::vector< T > &stateOff)
 
std::vector< Float > getStateOffSet ()
 
void setStateIntOffSet (const std::vector< int > &stateOff)
 
std::vector< int > getStateIntOffSet ()
 
void setStateStrOffSet (const std::vector< std::string > &stateOff)
 
std::vector< std::string > getStateStrOffSet ()
 
- 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< Float > 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
 
void createHDF5File () override
 
void openHDF5File () override
 
virtual void createHDF5File ()=0
 
virtual void openHDF5File ()=0
 

Protected Attributes

std::string ivFileName
 
std::string ivContent
 
int fixedStrSize { -1 }
 
size_t dataSize { 0 }
 
size_t dataIntSize { 0 }
 
size_t dataStrSize { 0 }
 
H5::VectorSerie< Float > * data {nullptr}
 
H5::VectorSerie< int > * dataInt {nullptr}
 
H5::VectorSerie< std::string > * dataStr {nullptr}
 
bool scalarData { false }
 
std::vector< Float > stateOffSet
 
std::vector< int > stateIntOffSet
 
std::vector< std::string > stateStrOffSet
 
- 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
 

Additional Inherited Members

- Public Types inherited from OpenMBV::Body
enum  DrawStyle { filled , lines , points }
 

Detailed Description

A object defined by a Open Inventor file or a VRML file with dynamic data from HDF5. In the IV file two special named nodes are accessible:

  • "openmbv_body_outline_style": a node of type Group which can added to use the default outline style of OpenMBV.
  • "openmbv_body_outline_switch": a node of type Switch. Its whichChild field is the current outline enable/disable flag of OpenMBV.

Member Function Documentation

◆ append()

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

Append a data vector the the h5 datsset

◆ appendInt()

template<typename T >
void OpenMBV::DynamicIvBody::appendInt ( const T &  row)
inline

Append a dataInt vector the the h5 datsset

◆ appendStr()

template<typename T >
void OpenMBV::DynamicIvBody::appendStr ( const T &  row)
inline

Append a dataStr vector the the h5 datsset

◆ createHDF5File()

void OpenMBV::DynamicIvBody::createHDF5File ( )
overrideprotectedvirtual

Reimplemented from OpenMBV::Body.

◆ getRow()

std::vector< Float > OpenMBV::DynamicIvBody::getRow ( int  i)
inlineoverridevirtual

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

Implements OpenMBV::Body.

◆ getRows()

int OpenMBV::DynamicIvBody::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::DynamicIvBody::initializeUsingXML ( xercesc::DOMElement *  element)
overridevirtual

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

Reimplemented from OpenMBV::Body.

◆ openHDF5File()

void OpenMBV::DynamicIvBody::openHDF5File ( )
overrideprotectedvirtual

Reimplemented from OpenMBV::Body.

◆ setDataIntSize()

void OpenMBV::DynamicIvBody::setDataIntSize ( size_t  s)
inline

The number of integer data in the HDF5 file. The data can be accessed in the IV file as a node/field named "openmbv_dynamicivbody_dataInt.value" or "openmbv_dynamicivbody_dataInt_0.value", "openmbv_dynamicivbody_dataInt_1.value", see setScalarData. The field is a single-value field.

◆ setDataSize()

void OpenMBV::DynamicIvBody::setDataSize ( size_t  s)
inline

The number of float data in the HDF5 file including the first data which must be the OpenMBV time. The data can be accessed in the IV file as a node/field named "openmbv_dynamicivbody_data.value" or "openmbv_dynamicivbody_data_0.value", "openmbv_dynamicivbody_data_1.value", see setScalarData. The field is a single-value field.

◆ setDataStrSize()

void OpenMBV::DynamicIvBody::setDataStrSize ( size_t  s,
int  fss = -1 
)
inline

The number of string data in the HDF5 file. The data can be accessed in the IV file as a node/field named "openmbv_dynamicivbody_dataStr.string" or "openmbv_dynamicivbody_dataStr_0.string", "openmbv_dynamicivbody_dataStr_1.string", see setScalarData. For the scalar case the field is a multi-value field where the string from HDF5 is split by "\n" and each line is set as a item.

◆ setIvContent()

void OpenMBV::DynamicIvBody::setIvContent ( std::string  ivContent_)
inline

The content, as a string, of the iv data to read

◆ setIvFileName()

void OpenMBV::DynamicIvBody::setIvFileName ( std::string  ivFileName_)
inline

The file of the iv file to read

◆ setScalarData()

void OpenMBV::DynamicIvBody::setScalarData ( bool  s)
inline

If true each data can be accessed using a separate node/single-value-field "..._<number>" see above. If false each data can be accessed using a single node/multi-value-field "..." see above.

◆ writeXMLFile()

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

Reimplemented from OpenMBV::Body.

Member Data Documentation

◆ stateOffSet

std::vector<Float> OpenMBV::DynamicIvBody::stateOffSet
protected

optional offset for spine vector, may be used as inital position superposed by deflections or as static


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