openmbvcppinterface  3.1.0
OpenMBV C++ Interface
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 ()
 
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
 
void createHDF5File () override
 
void openHDF5File () override
 
virtual void createHDF5File ()=0
 
virtual void openHDF5File ()=0
 

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< 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

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 ( )
overrideprotectedvirtual

Write H5 file for time-dependent data.

Reimplemented from OpenMBV::Body.

◆ getRow()

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

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

Implements OpenMBV::Body.

◆ getRows()

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

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

Reimplemented from OpenMBV::DynamicColoredBody.

◆ openHDF5File()

void OpenMBV::NurbsDisk::openHDF5File ( )
overrideprotectedvirtual

Reimplemented from OpenMBV::Body.

◆ 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)
overridevirtual

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: