limit_surface.h
Go to the documentation of this file.
00001 #ifndef limit_surface_h___
00002 #define limit_surface_h___
00003 #include "wrench_cone.h"
00004 #include <string>
00005 #include <iostream>
00006 
00007 namespace ICR
00008 {
00009 //--------------------------------------------------------------------
00010 //--------------------------------------------------------------------
00016 class LimitSurface
00017 {
00018  private:
00019 
00020   double force_magnitude_;
00025   int disc_;
00026   double mu_0_;
00027   double mu_T_;
00031   WrenchCone local_cone_;
00032   ContactType contact_type_;
00037   Eigen::Matrix<double,6,4> selection_matrix_;
00038   
00039   void initializeSelectionMatrix();
00040   void addFrictionlessWrench();
00041   void addHardFingerWrenches();
00042   void addSoftFingerWrenches();
00043 
00044   LimitSurface();
00045   friend class PointContactModel;
00046   friend class OWS;
00047 
00048  public:
00049 
00050   EIGEN_MAKE_ALIGNED_OPERATOR_NEW
00051 
00052   LimitSurface(double force_magnitude);  
00053   LimitSurface(double force_magnitude, int disc, double mu_0);  
00054   LimitSurface(double force_magnitude, int disc, double mu_0, double mu_T);
00055   LimitSurface(LimitSurface const& src);
00056   LimitSurface& operator=(LimitSurface const& src);
00057   bool operator==(LimitSurface const& other)const;
00058   friend std::ostream& operator<<(std::ostream& stream, LimitSurface const& lim_surf);
00059   ~LimitSurface();
00060 
00061   double getMu0() const;
00062   double getMuT() const;
00063   double getForceMagnitude() const;
00064   int getDisc()const;
00065   int getNumPrimitiveWrenches() const;
00066   WrenchCone const* getLocalWrenchCone() const;
00067   ContactType getContactType() const;
00068 };
00069 //--------------------------------------------------------------------
00070 //--------------------------------------------------------------------
00071 }//namespace ICR
00072 #endif


libicr
Author(s): Robert Krug
autogenerated on Mon Jan 6 2014 11:32:56