Go to the documentation of this file.00001 #ifndef wrench_cone_h___
00002 #define wrench_cone_h___
00003
00004 #include "utilities.h"
00005 #include <iostream>
00006
00007 namespace ICR
00008 {
00009
00010
00015 class WrenchCone
00016 {
00017 private:
00018
00019 uint num_primitive_wrenches_;
00020 Eigen::Matrix<double,6,Eigen::Dynamic> cone_;
00021 uint id_;
00022
00023 public:
00024
00025 EIGEN_MAKE_ALIGNED_OPERATOR_NEW
00026
00027 friend class IndependentContactRegions;
00028
00029 WrenchCone();
00030 WrenchCone(uint id);
00031 WrenchCone(uint id,Eigen::Matrix<double,6,Eigen::Dynamic> const& cone);
00032 WrenchCone(WrenchCone const& src);
00033 WrenchCone& operator=(WrenchCone const& src);
00034 friend std::ostream& operator<<(std::ostream& stream,WrenchCone const& wrench_cone);
00035 ~WrenchCone();
00036
00037 Eigen::Matrix<double,6,Eigen::Dynamic> const* getWrenches()const;
00038 Eigen::Matrix<double,6,Eigen::Dynamic>* getWrenches();
00039 uint getNumPrimitiveWrenches() const;
00040 void scaleWrenches(double scale);
00041 void scaleWrenchTorques(double scale);
00042 void addWrenches(Eigen::Matrix<double,6,Eigen::Dynamic> const& wrenches);
00043 void setWrenches(Eigen::Matrix<double,6,Eigen::Dynamic> const& wrenches);
00044 void setId(uint id);
00045 uint getId()const;
00046 };
00047
00048
00049 }
00050 #endif