All Classes Namespaces Functions Variables Typedefs Enumerations Pages
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:
OpenMBV::DynamicColoredBody OpenMBV::Body OpenMBV::Object fmatvec::Atom

Public Member Functions

std::string getClassName ()
 
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 ()
 
std::vector< double > getRow (int i)
 
virtual void initializeUsingXML (xercesc::DOMElement *element)
 
xercesc::DOMElement * writeXMLFile (xercesc::DOMNode *parent)
 
- 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 setHDF5LinkTarget (const boost::shared_ptr< Body > &dest)
 
boost::shared_ptr< Body > & getHDF5LinkTarget ()
 
bool isHDF5Link ()
 
void setOutLine (bool ol)
 
bool getOutLine ()
 
void setShilouetteEdge (bool ol)
 
bool getShilouetteEdge ()
 
void setDrawMethod (DrawStyle ds)
 
DrawStyle getDrawMethod ()
 
- 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 (bool includingFileName=false, bool stopAtSeparateFile=false)
 
boost::shared_ptr< GroupgetSeparateGroup ()
 
boost::shared_ptr< GroupgetTopLevelGroup ()
 
boost::weak_ptr< GroupgetParent ()
 
H5::GroupBasegetHDF5Group ()
 
std::string getID () const
 
void setID (std::string ID_)
 
bool getSelected () const
 
void setSelected (bool selected_)
 
- Public Member Functions inherited from fmatvec::Atom
Atomoperator= (const Atom &)
 
void setMessageStreamActive (MsgType type, bool active)
 
void getMessageStream (MsgType type, boost::shared_ptr< bool > &a, boost::shared_ptr< std::ostream > &s)
 
void adoptMessageStreams (const Atom *src=NULL)
 
std::ostream & msg (MsgType type)
 
bool msgAct (MsgType type)
 

Protected Member Functions

void createHDF5File ()
 
void openHDF5File ()
 
- Protected Member Functions inherited from OpenMBV::Body
void terminate ()
 
- Protected Member Functions inherited from fmatvec::Atom
 Atom (const Atom &src)
 

Protected Attributes

H5::VectorSerie< double > * data
 
std::string localFrameStr
 String that contains, whether reference Frame should be drawn (="True") or not (="False")
 
double scaleFactor
 
int drawDegree
 
double Ri
 
double Ro
 
int ElementNumberAzimuthal
 
int ElementNumberRadial
 
int InterpolationDegreeAzimuthal
 
int InterpolationDegreeRadial
 
std::vector< double > KnotVecAzimuthal
 
std::vector< double > KnotVecRadial
 
float * DiskNormal
 
float * DiskPoint
 
- Protected Attributes inherited from OpenMBV::DynamicColoredBody
double minimalColorValue
 
double maximalColorValue
 
double dynamicColor
 
std::vector< double > diffuseColor
 
double transparency
 
- Protected Attributes inherited from OpenMBV::Body
std::string outLineStr
 
std::string shilouetteEdgeStr
 
DrawStyle drawMethod
 
boost::shared_ptr< Bodyhdf5LinkBody
 
std::string hdf5LinkStr
 
- Protected Attributes inherited from OpenMBV::Object
std::string name
 
std::string enableStr
 
std::string boundingBoxStr
 
std::string ID
 
bool selected
 
boost::weak_ptr< Groupparent
 
H5::GroupBasehdf5Group
 

Friends

class ObjectFactory
 

Additional Inherited Members

- Public Types inherited from OpenMBV::Body
enum  DrawStyle { filled, lines, points }
 
- Public Types inherited from fmatvec::Atom
enum  MsgType
 
- Static Public Member Functions inherited from OpenMBV::Object
static double getDouble (xercesc::DOMElement *e)
 
static std::vector< double > getVec (xercesc::DOMElement *e, unsigned int rows=0)
 
static std::vector
< std::vector< double > > 
getMat (xercesc::DOMElement *e, unsigned int rows=0, unsigned int cols=0)
 
static std::vector< int > getIntVec (xercesc::DOMElement *e, unsigned int rows=0)
 
static std::string numtostr (int i)
 
static std::string numtostr (double d)
 
template<class T >
static void addElementText (xercesc::DOMElement *parent, const MBXMLUtils::FQN &name, const T &value)
 
static void addElementText (xercesc::DOMElement *parent, const MBXMLUtils::FQN &name, double value, double def)
 
static void addElementText (xercesc::DOMElement *parent, const MBXMLUtils::FQN &name, const std::vector< double > &value)
 
static void addElementText (xercesc::DOMElement *parent, const MBXMLUtils::FQN &name, const std::vector< std::vector< double > > &value)
 
static void addElementText (xercesc::DOMElement *parent, const MBXMLUtils::FQN &name, const std::vector< int > &value)
 
template<class T >
static void addAttribute (xercesc::DOMNode *node, std::string name, T value)
 
template<class T >
static void addAttribute (xercesc::DOMNode *node, std::string name, T value, std::string def)
 
- Static Public Member Functions inherited from fmatvec::Atom
static void setCurrentMessageStream (MsgType type, const boost::shared_ptr< bool > &a=boost::make_shared< bool >(true), const boost::shared_ptr< std::ostream > &s=boost::make_shared< std::ostream >(std::cout.rdbuf()))
 
static std::ostream & msgStatic (MsgType type)
 
static bool msgActStatic (MsgType type)
 
- Static Protected Member Functions inherited from OpenMBV::Object
static std::vector< double > toVector (std::string str)
 
static std::vector
< std::vector< double > > 
toMatrix (std::string str)
 
static std::vector< int > toIntVector (std::string str)
 
static std::vector
< std::vector< int > > 
toIntMatrix (std::string str)
 

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

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

Append a data vector to the h5 datsset

void OpenMBV::NurbsDisk::createHDF5File ( )
protectedvirtual

Write H5 file for time-dependent data.

Reimplemented from OpenMBV::Body.

std::string OpenMBV::NurbsDisk::getClassName ( )
inlinevirtual

Retrun the class name

Reimplemented from OpenMBV::Body.

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

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

Implements OpenMBV::Body.

int OpenMBV::NurbsDisk::getRows ( )
inlinevirtual

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

Implements OpenMBV::Body.

void OpenMBV::NurbsDisk::initializeUsingXML ( xercesc::DOMElement *  element)
virtual

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

Reimplemented from OpenMBV::DynamicColoredBody.

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

Set the global vector of the normal of the disk

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

Set the point in the center of the disk

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

Set the number of points drawn between the nodes.

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

Set the azimuthal number of finite elements used for drawing.

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

Set the radial number of finite elements used for drawing.

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

Set the degree of the interpolating splines in azimuthal direction.

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

Set the degree of the interpolating splines in radial direction.

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.

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.

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

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

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

Set the inner and outer radius of the disk.

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

Set the inner radius of the disk.

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

Set the inner radius of the disk.

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

Set the scale factor of the body.

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

Write XML file for not time-dependent data.

Reimplemented from OpenMBV::DynamicColoredBody.

Member Data Documentation

H5::VectorSerie<double>* OpenMBV::NurbsDisk::data
protected

Each row comprises [time,].

float* OpenMBV::NurbsDisk::DiskNormal
protected

Normal of the disk in global coordinates

float* OpenMBV::NurbsDisk::DiskPoint
protected

Point on the center of the disk used for visualisation

int OpenMBV::NurbsDisk::drawDegree
protected

Number of points drawn between the nodes.

int OpenMBV::NurbsDisk::ElementNumberAzimuthal
protected

Number of finite elements in azimuthal and radial direction

int OpenMBV::NurbsDisk::InterpolationDegreeAzimuthal
protected

Degree of interpolating spline polynomials in radial and azimuthal direction

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

Knot vector for azimuthal and radial direction

double OpenMBV::NurbsDisk::Ri
protected

Inner and outer radius of disk

double OpenMBV::NurbsDisk::scaleFactor
protected

Scale factor of the body.


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

Impressum / Disclaimer / Datenschutz Generated by doxygen 1.8.5 Valid HTML