GLbody.h
Go to the documentation of this file.
00001 #ifndef __GLBODY_H__
00002 #define __GLBODY_H__
00003 
00004 #include <vector>
00005 #include <boost/function.hpp>
00006 #include <hrpModel/Body.h>
00007 #include "GLlink.h"
00008 
00009 class GLcamera;
00010 
00011 class GLbody : virtual public hrp::Body
00012 {
00013 public:
00014     GLbody();
00015     ~GLbody();
00016     void setPosture(const double *i_angles);
00017     void setPosition(double x, double y, double z);
00018     template<class T>
00019     void setPosition(const T &p){
00020         ((GLlink *)rootLink())->setPosition(p);
00021     }
00022     void setRotation(const double *R);
00023     void setRotation(double r, double p, double y);
00024     void setPosture(const double *i_angles, double *i_pos, double *i_rpy);
00025     void setPosture(const hrp::dvector& i_q, const hrp::Vector3& i_p,
00026                     const hrp::Matrix33& i_R);
00027     size_t draw();
00028     void drawSensor(hrp::Sensor *i_sensor);
00029     GLcamera *findCamera(const char *i_name);
00030     void setSensorDrawCallback(boost::function2<void, hrp::Body *, hrp::Sensor *> f);
00031     boost::function2<void, hrp::Body *, hrp::Sensor *> getSensorDrawCallback();
00032     void divideLargeTriangles(double maxEdgeLen);
00033     void computeAABB(hrp::Vector3& o_min, hrp::Vector3& o_max);
00034     static void useAbsTransformToDraw();
00035 
00036 private:
00037     static bool m_useAbsTransformToDraw;
00038     boost::function2<void, hrp::Body *, hrp::Sensor *> m_sensorDrawCallback;
00039 };
00040 
00041 #endif


hrpsys
Author(s): AIST, Fumio Kanehiro
autogenerated on Wed May 15 2019 05:02:17