本文整理匯總了C++中Billboard::setDirection方法的典型用法代碼示例。如果您正苦於以下問題:C++ Billboard::setDirection方法的具體用法?C++ Billboard::setDirection怎麽用?C++ Billboard::setDirection使用的例子?那麽, 這裏精選的方法代碼示例或許可以為您提供幫助。您也可以進一步了解該方法所在類Billboard
的用法示例。
在下文中一共展示了Billboard::setDirection方法的2個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的C++代碼示例。
示例1: addBillboard
bool addBillboard(AddBillboard::Request &req, AddBillboard::Response &res)
{
ROS_INFO("ADDING BILLBOARD");
InteractiveMarker tmp;
if ((imServer->get(req.name, tmp)) || (primitives.count(req.name) != 0))
{
ROS_ERROR("Object with that name already exists! Please remove it first.");
return false;
}
Billboard *billboard = new Billboard(imServer, req.frame_id, req.name);
billboard->setType(req.type);
billboard->setPoseType(req.pose_type);
billboard->setPose(req.pose);
billboard->setScale(req.scale);
billboard->setDescription(req.description);
billboard->setDirection(req.direction);
billboard->setVelocity(req.velocity);
billboard->insert();
imServer->applyChanges();
primitives.insert(make_pair(req.name, billboard));
ROS_INFO("..... DONE");
return true;
}
示例2: main
int main(int argc, char** argv)
{
ros::init(argc, argv, "test_primitives");
InteractiveMarkerServerPtr server;
server.reset(new InteractiveMarkerServer("test_primitives", "", false));
ColorRGBA c;
c.a = 0.2;
c.r = 1.0;
c.g = 0.0;
c.b = 0.0;
Pose p;
p.position.x = 5;
p.position.y = 2;
p.position.z = 1;
p.orientation.x = M_PI_4;
p.orientation.y = 0;
p.orientation.z = M_PI_4;
Vector3 s;
s.x = 1.0;
s.y = 1.0;
s.z = 1.0;
// Object
Billboard *chairBillboard = new Billboard(server, "/world", "person");
chairBillboard->setType(srs_interaction_primitives::BillboardType::CHAIR);
chairBillboard->setPose(p);
chairBillboard->setScale(s);
chairBillboard->setFrameID("/world");
chairBillboard->insert();
// Bounding box
BoundingBox * chairBoundingBox = new BoundingBox(server, "/world", chairBillboard->getName() + "_bbox");
chairBoundingBox->setAttachedObjectName(chairBillboard->getName());
chairBoundingBox->setPose(p);
chairBoundingBox->setScale(s);
chairBoundingBox->setColor(c);
chairBoundingBox->setDescription("Person bounding box");
chairBoundingBox->insert();
p.position.x = 1;
p.position.y = 2;
p.position.z = 2;
s.x = 1;
s.y = 1;
s.z = 1;
// Object
Billboard *milkBillboard = new Billboard(server, "/world", "milk_billboard");
Quaternion direction;
direction.x = 2.0;
direction.y = 1.0;
direction.z = 3.0;
direction.w = 1.0;
milkBillboard->setType(srs_interaction_primitives::BillboardType::MILK);
milkBillboard->setPose(p);
milkBillboard->setScale(s);
milkBillboard->setDirection(direction);
milkBillboard->setVelocity(3.4);
milkBillboard->setDescription("MLEEEEKO");
milkBillboard->insert();
UnknownObject * unknowObject = new UnknownObject(server, "/world", "unknown_object");
unknowObject->setFrameID("/world");
Pose pp;
pp.position.x = 0;
pp.position.y = 0;
pp.position.z = 0;
unknowObject->setPose(pp);
Vector3 ss;
ss.x = 1;
ss.y = 1;
ss.z = 1;
unknowObject->setScale(ss);
unknowObject->setDescription("Uknown object");
unknowObject->insert();
Plane *plane = new Plane(server, "/world", "plane1");
c.a = 1.0;
p.position.x = 0;
p.position.y = 0;
p.position.z = 0;
s.x = 5;
s.y = 2;
plane->setColor(c);
plane->setFrameID("/world");
plane->setPose(p);
plane->setScale(s);
plane->insert();
c.g = 1.0;
plane->changeColor(c);
PlanePolygon *planePolygon = new PlanePolygon(server, "/world", "plane_polygon");
Polygon pol;
geometry_msgs::Point32 point;
c.r = 1;
c.g = 0;
c.b = 0;
c.a = 1.0;
//.........這裏部分代碼省略.........