All Classes Namespaces Functions Variables Typedefs Enumerations Pages
Public Types | Public Member Functions | Protected Member Functions | Protected Attributes | Private Member Functions | List of all members
OpenMBV::Body Class Referenceabstract

#include <body.h>

Inheritance diagram for OpenMBV::Body:
OpenMBV::Object fmatvec::Atom OpenMBV::DynamicColoredBody OpenMBV::Path OpenMBV::Arrow OpenMBV::CoilSpring OpenMBV::NurbsDisk OpenMBV::RigidBody OpenMBV::SpineExtrusion OpenMBV::CompoundRigidBody OpenMBV::Cube OpenMBV::Cuboid OpenMBV::Extrusion OpenMBV::Frame OpenMBV::Frustum OpenMBV::Grid OpenMBV::InvisibleBody OpenMBV::IvBody OpenMBV::Rotation OpenMBV::Sphere

Public Types

enum  DrawStyle { filled, lines, points }
 
- Public Types inherited from fmatvec::Atom
enum  MsgType
 

Public Member Functions

std::string getClassName ()
 
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 ()
 
virtual void initializeUsingXML (xercesc::DOMElement *element)
 
xercesc::DOMElement * writeXMLFile (xercesc::DOMNode *parent)
 
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 (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 ()
 
void terminate ()
 
- Protected Member Functions inherited from fmatvec::Atom
 Atom (const Atom &src)
 

Protected Attributes

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
 

Private Member Functions

std::string getRelPathTo (const boost::shared_ptr< Body > &destBody)
 

Additional Inherited Members

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

Detailed Description

Abstract base class for all bodies

Member Function Documentation

std::string OpenMBV::Body::getClassName ( )
inlinevirtual
virtual std::vector<double> OpenMBV::Body::getRow ( int  i)
pure virtual

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

Implemented in OpenMBV::RigidBody, OpenMBV::NurbsDisk, OpenMBV::SpineExtrusion, OpenMBV::Arrow, OpenMBV::CoilSpring, and OpenMBV::Path.

virtual int OpenMBV::Body::getRows ( )
pure virtual

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

Implemented in OpenMBV::RigidBody, OpenMBV::NurbsDisk, OpenMBV::SpineExtrusion, OpenMBV::Arrow, OpenMBV::CoilSpring, and OpenMBV::Path.

void OpenMBV::Body::initializeUsingXML ( xercesc::DOMElement *  element)
virtual
bool OpenMBV::Body::isHDF5Link ( )
inline

Returns if this body is linked to another

void OpenMBV::Body::setDrawMethod ( DrawStyle  ds)
inline

Draw method/style of this object in the viewer (default: filled)

void OpenMBV::Body::setHDF5LinkTarget ( const boost::shared_ptr< Body > &  dest)
inline

Link this body with dest in the HDF5 file

void OpenMBV::Body::setOutLine ( bool  ol)
inline

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

void OpenMBV::Body::setShilouetteEdge ( bool  ol)
inline

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


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

Impressum / Disclaimer / Datenschutz Generated by doxygen 1.8.5 Valid HTML