本文整理汇总了C++中XObjectPtr::setEulerZYX方法的典型用法代码示例。如果您正苦于以下问题:C++ XObjectPtr::setEulerZYX方法的具体用法?C++ XObjectPtr::setEulerZYX怎么用?C++ XObjectPtr::setEulerZYX使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类XObjectPtr
的用法示例。
在下文中一共展示了XObjectPtr::setEulerZYX方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: display
void display()
{
try
{
Render::start();
Render::LIGHT->on();
static double t = 0.0;
t += 0.03333;
GLfloat amb[4] = {0.25f, 0.20f, 0.07f, 1.f};
GLfloat dif[4] = {0.75f, 0.61f, 0.23f, 1.f};
GLfloat spe[4] = {0.63f, 0.56f, 0.37f, 1.f};
GLfloat shine = 51.2f;
glTranslated(0.0, 1.0, 0.0);
glRotated(90.0, 1.0, 0.0, 0.0);
Material::setMaterial(amb, dif, spe, shine);
glutSolidTeapot(0.1);
std::string path = "/home/daichi/Work/catkin_ws/src/ahl_ros_pkgs/ahl_common/wrapper/gl_wrapper/blender/";
static XObjectPtr lwr1 = XObjectPtr(new XObject(path + "lwr07.x"));
static XObjectPtr lwr2 = XObjectPtr(new XObject(path + "lwr07.x"));
static XObjectPtr lwr3 = XObjectPtr(new XObject(path + "lwr07.x"));
static SimpleObjectPtr grid = SimpleObjectPtr(new Grid(20, 20, 0.5));
lwr1->setEulerZYX(std::string("Link01"), M_PI * std::sin(2.0 * M_PI * 0.1 * t), 0.0, 0.0);
lwr1->setEulerZYX(std::string("Link02"), 0.0, 0.35 * M_PI * std::sin(2.0 * M_PI * 0.3 * t), 0.0);
lwr1->setEulerZYX(std::string("Link03"), 0.5 * M_PI * std::sin(2.0 * M_PI * 0.2 * t), 0.0, 0.0);
lwr1->setEulerZYX(std::string("Link04"), 0.0, 0.5 * M_PI * std::sin(2.0 * M_PI * 0.2 * t), 0.0);
lwr1->setEulerZYX(std::string("Link05"), 0.4 * M_PI * std::sin(2.0 * M_PI * 0.3 * t), 0.0, 0.0);
lwr1->setEulerZYX(std::string("Link06"), 0.0, 0.5 * M_PI * std::sin(2.0 * M_PI * 0.3 * t), 0.0);
lwr1->setEulerZYX(std::string("EndEffector"), M_PI * std::sin(2.0 * M_PI * 0.6 * t), 0.0, 0.0);
lwr2->setEulerZYX(std::string("Link01"), M_PI * std::sin(2.0 * M_PI * 0.1 * t), 0.0, 0.0);
lwr2->setEulerZYX(std::string("Link02"), 0.0, 0.35 * M_PI * std::sin(2.0 * M_PI * 0.3 * t), 0.0);
lwr2->setEulerZYX(std::string("Link03"), 0.5 * M_PI * std::sin(2.0 * M_PI * 0.2 * t), 0.0, 0.0);
lwr2->setEulerZYX(std::string("Link04"), 0.0, 0.5 * M_PI * std::sin(2.0 * M_PI * 0.2 * t), 0.0);
lwr2->setEulerZYX(std::string("Link05"), 0.4 * M_PI * std::sin(2.0 * M_PI * 0.3 * t), 0.0, 0.0);
lwr2->setEulerZYX(std::string("Link06"), 0.0, 0.5 * M_PI * std::sin(2.0 * M_PI * 0.3 * t), 0.0);
lwr2->setEulerZYX(std::string("EndEffector"), M_PI * std::sin(2.0 * M_PI * 0.6 * t), 0.0, 0.0);
lwr3->setEulerZYX(std::string("Link01"), M_PI * std::sin(2.0 * M_PI * 0.1 * t), 0.0, 0.0);
lwr3->setEulerZYX(std::string("Link02"), 0.0, 0.35 * M_PI * std::sin(2.0 * M_PI * 0.3 * t), 0.0);
lwr3->setEulerZYX(std::string("Link03"), 0.5 * M_PI * std::sin(2.0 * M_PI * 0.2 * t), 0.0, 0.0);
lwr3->setEulerZYX(std::string("Link04"), 0.0, 0.5 * M_PI * std::sin(2.0 * M_PI * 0.2 * t), 0.0);
lwr3->setEulerZYX(std::string("Link05"), 0.4 * M_PI * std::sin(2.0 * M_PI * 0.3 * t), 0.0, 0.0);
lwr3->setEulerZYX(std::string("Link06"), 0.0, 0.5 * M_PI * std::sin(2.0 * M_PI * 0.3 * t), 0.0);
lwr3->setEulerZYX(std::string("EndEffector"), M_PI * std::sin(2.0 * M_PI * 0.6 * t), 0.0, 0.0);
glLoadIdentity();
lwr1->display();
glLoadIdentity();
glTranslated(0.0, -0.6, 0.0);
lwr2->display();
glLoadIdentity();
glTranslated(0.0, -1.2, 0.0);
lwr3->display();
glLoadIdentity();
grid->setColor(0, 0, 255);
grid->setPosition(0.0, 0.0, 0.0);
grid->display();
/*
gl_wrapper::RightHandPtr right_hand;
right_hand = RightHandPtr(new RightHand("/home/daichi/work/catkin_ws/src/gl_wrapper/righthand.cfg"));
right_hand->display();
*/
Render::end();
}
catch(Exception& e)
{
ROS_ERROR_STREAM(e.what());
exit(1);
}
catch(FatalException& e)
{
ROS_ERROR_STREAM(e.what());
exit(1);
}
catch(std::exception& e)
{
ROS_ERROR_STREAM(e.what());
exit(1);
}
catch(...)
{
ROS_ERROR_STREAM("display : Unknown exception was thrown.");
exit(1);
}
}