openmbvcppinterface 3.1.0 OpenMBV C++ Interface

Public Member Functions | Protected Member Functions | Protected Attributes | Friends | List of all members
OpenMBV::NurbsDisk Class Reference

Class for all bodies with a NURBS surface and a primitive closure. More...

`#include <nurbsdisk.h>`

Inheritance diagram for OpenMBV::NurbsDisk:
[legend]

## Public Member Functions

void | setLocalFrame (bool f)
bool | getLocalFrame ()
void | setScaleFactor (const double scale)
double | getScaleFactor ()
void | setDrawDegree (int drawDegree_)
int | getDrawDegree ()
void | setRadii (double Ri_, double Ro_)
void | setRi (double Ri_)
void | setRo (double Ro_)
double | getRi ()
double | getRo ()
void | setKnotVecAzimuthal (const std::vector< double > &KnotVecAzimuthal_)
std::vector< double > | getKnotVecAzimuthal ()
void | setKnotVecRadial (const std::vector< double > &KnotVecRadial_)
std::vector< double > | getKnotVecRadial ()
void | setElementNumberAzimuthal (int ElementNumberAzimuthal_)
int | getElementNumberAzimuthal ()
void | setElementNumberRadial (int ElementNumberRadial_)
int | getElementNumberRadial ()
void | setInterpolationDegreeRadial (int InterpolationDegreeRadial_)
int | getInterpolationDegreeRadial ()
void | setInterpolationDegreeAzimuthal (int InterpolationDegreeAzimuthal_)
int | getInterpolationDegreeAzimuthal ()
void | setDiskNormal (float *DiskNormal_)
float * | getDiskNormal ()
void | setDiskPoint (float *DiskPoint_)
float * | getDiskPoint ()
template<typename T >
void | append (const T &row)
int | getRows () override
std::vector< double > | getRow (int i) override
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 ()
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 ()
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 ()
std::shared_ptr< Group > | getTopLevelGroup ()
std::weak_ptr< Group > | getParent ()
H5::GroupBase * | getHDF5Group ()
std::string | getID () const
void | setID (std::string ID_)

## Protected Member Functions

void | createHDF5File () override
void | openHDF5File () override

## Protected Attributes

H5::VectorSerie< double > * | data {nullptr}
std::string | localFrameStr
| String that contains, whether reference Frame should be drawn (="True") or not (="False")
double | scaleFactor {1}
int | drawDegree {1}
double | Ri {0.}
double | Ro {0.}
int | ElementNumberAzimuthal {0}
int | ElementNumberRadial {0}
int | InterpolationDegreeAzimuthal {8}
int | InterpolationDegreeRadial {3}
std::vector< double > | KnotVecAzimuthal
std::vector< double > | KnotVecRadial
float * | DiskNormal {nullptr}
float * | DiskPoint {nullptr}
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< Group > | parent
H5::GroupBase * | hdf5Group {nullptr}
std::string | fullName

## Friends

class | ObjectFactory

## Additional Inherited Members

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

## Detailed Description

Class for all bodies with a NURBS surface and a primitive closure.

Author
  Kilian Grundl
  Raphael Missel
  Thorsten Schindler

Date
  2009-05-20 initial commit (Grundl / Missel / Schindler)
  2009-08-16 visualisation / contour (Grundl / Missel / Schindler)
  2010-08-09 adapt to new concept of Markus Friedrich (Schindler)

## Member Function Documentation

## ◆ append()

template<typename T >

void OpenMBV::NurbsDisk::append | ( | const T & | row | ) |

inline

Append a data vector to the h5 datsset

## ◆ createHDF5File()

void OpenMBV::NurbsDisk::createHDF5File | ( |  | ) |

override protected virtual

Write H5 file for time-dependent data.

Reimplemented from OpenMBV::Body.

## ◆ getRow()

std::vector<double> OpenMBV::NurbsDisk::getRow | ( | int | i | ) |

inline override virtual

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

Implements OpenMBV::Body.

## ◆ getRows()

int OpenMBV::NurbsDisk::getRows | ( |  | ) |

inline override virtual

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::NurbsDisk::initializeUsingXML | ( | xercesc::DOMElement * | element | ) |

override virtual

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

Reimplemented from OpenMBV::DynamicColoredBody.

## ◆ setDiskNormal()

void OpenMBV::NurbsDisk::setDiskNormal | ( | float * | DiskNormal_ | ) |

inline

Set the global vector of the normal of the disk

## ◆ setDiskPoint()

void OpenMBV::NurbsDisk::setDiskPoint | ( | float * | DiskPoint_ | ) |

inline

Set the point in the center of the disk

## ◆ setDrawDegree()

void OpenMBV::NurbsDisk::setDrawDegree | ( | int | drawDegree_ | ) |

inline

Set the number of points drawn between the nodes.

## ◆ setElementNumberAzimuthal()

void OpenMBV::NurbsDisk::setElementNumberAzimuthal | ( | int | ElementNumberAzimuthal_ | ) |

inline

Set the azimuthal number of finite elements used for drawing.

## ◆ setElementNumberRadial()

void OpenMBV::NurbsDisk::setElementNumberRadial | ( | int | ElementNumberRadial_ | ) |

inline

Set the radial number of finite elements used for drawing.

## ◆ setInterpolationDegreeAzimuthal()

void OpenMBV::NurbsDisk::setInterpolationDegreeAzimuthal | ( | int | InterpolationDegreeAzimuthal_ | ) |

inline

Set the degree of the interpolating splines in azimuthal direction.

## ◆ setInterpolationDegreeRadial()

void OpenMBV::NurbsDisk::setInterpolationDegreeRadial | ( | int | InterpolationDegreeRadial_ | ) |

inline

Set the degree of the interpolating splines in radial direction.

## ◆ setKnotVecAzimuthal()

void OpenMBV::NurbsDisk::setKnotVecAzimuthal | ( | const std::vector< double > & | KnotVecAzimuthal_ | ) |

inline

Set the azimuthal knot vector. These values should be set to the optimal circle values.

## ◆ setKnotVecRadial()

void OpenMBV::NurbsDisk::setKnotVecRadial | ( | const std::vector< double > & | KnotVecRadial_ | ) |

inline

Set the radial knot vector. These value should be set to 1 each, resulting in a B-Spline curve.

## ◆ setLocalFrame()

void OpenMBV::NurbsDisk::setLocalFrame | ( | bool | f | ) |

inline

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

## ◆ setRadii()

void OpenMBV::NurbsDisk::setRadii | ( | double | Ri_,
|  | double | Ro_
| ) |  |

inline

Set the inner and outer radius of the disk.

## ◆ setRi()

void OpenMBV::NurbsDisk::setRi | ( | double | Ri_ | ) |

inline

Set the inner radius of the disk.

## ◆ setRo()

void OpenMBV::NurbsDisk::setRo | ( | double | Ro_ | ) |

inline

Set the inner radius of the disk.

## ◆ setScaleFactor()

void OpenMBV::NurbsDisk::setScaleFactor | ( | const double | scale | ) |

inline

Set the scale factor of the body.

## ◆ writeXMLFile()

DOMElement * OpenMBV::NurbsDisk::writeXMLFile | ( | xercesc::DOMNode * | parent | ) |

override virtual

Write XML file for not time-dependent data.

Reimplemented from OpenMBV::DynamicColoredBody.

## Member Data Documentation

## ◆ data

H5::VectorSerie<double>* OpenMBV::NurbsDisk::data {nullptr}

protected

Each row comprises [time,].

## ◆ DiskNormal

float* OpenMBV::NurbsDisk::DiskNormal {nullptr}

protected

Normal of the disk in global coordinates

## ◆ DiskPoint

float* OpenMBV::NurbsDisk::DiskPoint {nullptr}

protected

Point on the center of the disk used for visualisation

## ◆ drawDegree

int OpenMBV::NurbsDisk::drawDegree {1}

protected

Number of points drawn between the nodes.

## ◆ ElementNumberAzimuthal

int OpenMBV::NurbsDisk::ElementNumberAzimuthal {0}

protected

Number of finite elements in azimuthal and radial direction

## ◆ InterpolationDegreeAzimuthal

int OpenMBV::NurbsDisk::InterpolationDegreeAzimuthal {8}

protected

Degree of interpolating spline polynomials in radial and azimuthal direction

## ◆ KnotVecAzimuthal

std::vector<double> OpenMBV::NurbsDisk::KnotVecAzimuthal

protected

Knot vector for azimuthal and radial direction

## ◆ Ri

double OpenMBV::NurbsDisk::Ri {0.}

protected

Inner and outer radius of disk

## ◆ scaleFactor

double OpenMBV::NurbsDisk::scaleFactor {1}

protected

Scale factor of the body.

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

- /mbsim-env/openmbv/openmbvcppinterface/openmbvcppinterface/nurbsdisk.h
- /mbsim-env/openmbv/openmbvcppinterface/openmbvcppinterface/nurbsdisk.cc