grasp.h
Go to the documentation of this file.
00001 #ifndef grasp_h___
00002 #define grasp_h___
00003 
00004 #include "target_object.h" 
00005 #include "utilities.h" 
00006 #include "contact_model.h" 
00007 #include "finger.h" 
00008 #include "wrench_space.h"
00009 #include <iostream>
00010 
00011 namespace ICR
00012 {
00013 //------------------------------------------------------------------
00014 //------------------------------------------------------------------
00020 class Grasp
00021 {
00022  private:
00023 
00024   std::vector<Finger*> fingers_;
00025   bool initialized_;
00026   TargetObjectPtr obj_;  
00027   DiscreteWrenchSpace* gws_;
00028   uint num_fingers_;
00029   uint num_grasp_wrenches_;
00030 
00031   OWSPtr computeOWS(Finger const* new_finger);
00032   PatchListPtr computePatches(Finger* new_finger);
00033   void addFinger(FingerParameters const& param, uint centerpoint_id);
00034   void computeGWS();
00035   void clear();
00036 
00037  public:
00038 
00039   Grasp();
00040   Grasp(Grasp const& src);
00041   Grasp& operator=(Grasp const& src);
00042   friend std::ostream& operator<<(std::ostream& stream,Grasp const& grasp);
00043   ~Grasp();
00055   void init(FParamList const& f_param_list,const TargetObjectPtr obj,VectorXui const& centerpoint_ids);  
00056   void setCenterPointId(uint finger_id,uint centerpoint_id);
00057   void setCenterPointIds(VectorXui const& centerpoint_ids);
00058   bool isInitialized()const;
00059   Finger const* getFinger(uint id) const;
00060   uint getNumFingers()const;
00061   const TargetObjectPtr getParentObj()const;
00062   DiscreteWrenchSpace const* getGWS()const;
00063 };
00064 //------------------------------------------------------------------
00065 //------------------------------------------------------------------
00066 }//namespace ICR
00067 #endif


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