Main Page   Namespace List   Class Hierarchy   Compound List   File List   Namespace Members   Compound Members  

SIG_Material.h

00001 #ifndef SIGEL_ROBOT_SIG_MATERIAL_H
00002 #define SIGEL_ROBOT_SIG_MATERIAL_H
00003 
00004 namespace SIGEL_Robot { class SIG_Material; }
00005 
00006 #include <qstring.h>
00007 #include <qtextstream.h>
00008 #include <pointvector.h>
00009 #include "SIGEL_Robot/SIG_Robot.h"
00010 
00011 namespace SIGEL_Robot
00012 {
00021   class SIG_Material {
00022   private:
00023           struct FrictionValue {
00024                   SIG_Material *otherSide;
00025                   DL_Scalar value;
00026           };
00027           
00028           SIG_Robot *parent;
00029           QString name;
00030           DL_Scalar elasticity, density;
00031           QList<FrictionValue> friction;
00032           DL_vector colour;
00033   public:
00039           SIG_Material (SIG_Robot *par, QString n);
00043           SIG_Material (SIG_Robot *par, QTextStream & tx);
00047           ~SIG_Material (void);
00051           QString getName (void) const;
00058           void setDensity (DL_Scalar dens);
00064           DL_Scalar getDensity () const;
00072           void setElasticity (DL_Scalar elas);
00079           DL_Scalar getElasticity () const;
00083           void setColour (DL_vector col);
00087           DL_vector getColour () const;
00097           void setFrictionValue (SIG_Material *otherObj,
00098                                  DL_Scalar fricval,
00099                                  bool negotiate = true);
00107           DL_Scalar getFrictionValue (SIG_Material *otherObj) const;
00111           void writeToFileTransfer (QTextStream & tx) const;
00112   };
00113 }
00114 
00115 #endif // SIGEL_ROBOT_SIG_MATERIAL_H

Generated at Mon Sep 3 01:32:27 2001 for PG 368 - SIGEL by doxygen1.2.3 written by Dimitri van Heesch, © 1997-2000