ows.h
Go to the documentation of this file.
00001 #ifndef ows_h___
00002 #define ows_h___
00003 
00004 #include "utilities.h"
00005 #include "target_object.h"
00006 #include "limit_surface.h"
00007 #include <string>
00008 #include <iostream>
00009 
00010 namespace ICR
00011 {
00012 //--------------------------------------------------------------------
00013 //--------------------------------------------------------------------
00017 class OWS 
00018 {
00019  private:
00020 
00021   WrenchConeList wrench_cones_;
00022   std::string parent_obj_name_;
00023   bool initialized_;
00024   bool div_by_lambda_;
00025   LimitSurface lim_surf_;
00026   double lambda_;
00027   uint num_wc_;
00033   void addWrenchCone(uint id,Eigen::Vector3d const* const cp_vtx, Eigen::Vector3d const* const cp_vtx_normal);
00034   void updateLambda(Eigen::Vector3d const* const cp_vtx);
00035 
00036  public:
00037 
00038   EIGEN_MAKE_ALIGNED_OPERATOR_NEW
00039 
00040   OWS();
00041   OWS(OWS const& src);
00042   OWS& operator=(OWS const& src);
00043   friend std::ostream& operator<<(std::ostream& stream, OWS const& ows);
00044   ~OWS();
00045 
00046   void init(TargetObject const& obj,LimitSurface const& lim_surf);
00047   uint getNumWrenchCones() const;
00048   WrenchCone const* getWrenchCone(uint id) const;
00049   LimitSurface const* getLimitSurface() const; 
00050   void scale(double scale);
00051   void divideByLambda();  
00052   std::string getParentObjectName()const;
00053 };
00054 //--------------------------------------------------------------------
00055 //--------------------------------------------------------------------
00056 }//namespace ICR
00057 #endif


libicr
Author(s): Robert Krug
autogenerated on Mon Jan 6 2014 11:33:08