本文整理汇总了C++中SimObj::name方法的典型用法代码示例。如果您正苦于以下问题:C++ SimObj::name方法的具体用法?C++ SimObj::name怎么用?C++ SimObj::name使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类SimObj
的用法示例。
在下文中一共展示了SimObj::name方法的4个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: onInit
void CameraController::onInit(InitEvent &evt)
{
// カメラ初期方向 1:45 2:135 3:315 4:225
// ロボット初期位置取得
r_my = getRobotObj("robot_004");
r_my->getPosition(r_pos);
// カメラ番号取得
m_my = getObj(myname());
m_name = m_my->name();
// 定点カメラをロボットの方向に回転
rotateTowardRobot(r_pos);
}
示例2: onAction
//定期的に呼び出される関数です。
double CameraController::onAction(ActionEvent &evt)
{
// ロボット位置取得
r_my->getPosition(r_pos);
// カメラ番号取得
m_my = getObj(myname());
m_name = m_my->name();
// std::cout << "configuringPath : " << configuringPath << std::endl;
if (!configuringPath) {
// 定点カメラをロボットの方向に回転
// rotateTowardRobot(r_pos);
}
return 0.05;
}
示例3: onInit
void CameraController::onInit(InitEvent &evt)
{
// カメラ初期方向 1:45 2:135 3:315 4:225
// ロボット初期位置取得
r_my = getRobotObj("robot_004");
r_my->getPosition(r_pos);
// カメラ番号取得
m_my = getObj(myname());
m_my->getPosition(m_rotatePos);
m_pathPos = Vector3d(m_rotatePos.x() -500, m_rotatePos.y() + 1700, m_rotatePos.z());
m_name = m_my->name();
configuringPath = false;
// 定点カメラをロボットの方向に回転
// rotateTowardRobot(r_pos);
rotateTowardGround();
}
示例4: onAction
double MyController::onAction(ActionEvent &evt)
{
// サービスが使用可能か定期的にチェックする
bool available = checkService("CleanUpReferee");
if(!available && m_ref != NULL) m_ref = NULL;
// 使用可能
else if(available && m_ref == NULL){
// サービスに接続
m_ref = connectToService("CleanUpReferee");
}
// 自分の位置取得
Vector3d myPos;
m_my->getPosition(myPos);
// 衝突中の場合,衝突が継続しているかチェック
if(colState){
CParts *parts = m_my->getMainParts();
bool state = parts->getCollisionState();
// 衝突していない状態に戻す
if(!state) colState = false;
}
int entSize = m_entities.size();
for(int i = 0; i < entSize; i++){
// ロボットまたはゴミ箱の場合は除く
if(m_entities[i] == "robot_000" ||
m_entities[i] == "trashbox_0" ||
m_entities[i] == "trashbox_1" ||
m_entities[i] == "trashbox_2"){
continue;
}
// エンティティ取得
SimObj *ent = getObj(m_entities[i].c_str());
// 位置取得
Vector3d tpos;
ent->getPosition(tpos);
// ゴミ箱からゴミを結ぶベクトル
Vector3d vec(tpos.x()-myPos.x(), tpos.y()-myPos.y(), tpos.z()-myPos.z());
// ゴミがゴミ箱の中に入ったかどうか判定
if(abs(vec.x()) < tboxSize_x/2.0 &&
abs(vec.z()) < tboxSize_z/2.0 &&
tpos.y() < tboxMax_y &&
tpos.y() > tboxMin_y ){
// ゴミがリリースされているか確認
if(!ent->getIsGrasped()){
std::string msg;
bool success = false;
// 台の上に置く(成功)
if(strcmp(ent->name(), "mayonaise_0") == 0 && tpos.y() != 57.85) {tpos.y(57.85); success = true;}
else if(strcmp(ent->name(), "chigarette") == 0 && tpos.y() != 54.04){ tpos.y(54.04); success = true;}
else if(strcmp(ent->name(), "chocolate") == 0 && tpos.y() != 51.15){ tpos.y(51.15); success = true;}
else if(strcmp(ent->name(), "mugcup") == 0 && tpos.y() != 54.79){ tpos.y(54.79); success = true;}
else if(strcmp(ent->name(), "petbottle_0") == 0 && tpos.y() != 67.45){ tpos.y(67.45); success = true;}
else if(strcmp(ent->name(), "petbottle_3") == 0 && tpos.y() != 61.95){ tpos.y(61.95); success = true;}
else if(strcmp(ent->name(), "clock") == 0 && tpos.y() != 56.150){ tpos.y(56.150); success = true;}
else if(strcmp(ent->name(), "kettle") == 0 && tpos.y() != 60.650){ tpos.y(60.650); success = true;}
// 台の上に置く(失敗)
else if(strcmp(ent->name(), "petbottle_1") == 0 && tpos.y() != 67.45){ tpos.y(67.45);}
else if(strcmp(ent->name(), "petbottle_2") == 0 && tpos.y() != 67.45){ tpos.y(67.45);}
else if(strcmp(ent->name(), "petbottle_4") == 0 && tpos.y() != 61.95){ tpos.y(61.95);}
else if(strcmp(ent->name(), "mayonaise_1") == 0 && tpos.y() != 57.85){ tpos.y(57.85);}
else if(strcmp(ent->name(), "can_0") == 0 && tpos.y() != 55.335){ tpos.y(55.335);}
else if(strcmp(ent->name(), "can_1") == 0 && tpos.y() != 55.335){ tpos.y(55.335);}
else if(strcmp(ent->name(), "can_2") == 0 && tpos.y() != 57.050){ tpos.y(57.050);}
else if(strcmp(ent->name(), "can_3") == 0 && tpos.y() != 57.050){ tpos.y(57.050);}
else if(strcmp(ent->name(), "banana") == 0 && tpos.y() != 51.69){ tpos.y(51.69);}
else if(strcmp(ent->name(), "apple") == 0 && tpos.y() != 54.675){ tpos.y(54.675);}
else{continue;}
ent->setAxisAndAngle(1.0, 0.0, 0.0, 0.0);
ent->setPosition(tpos);
usleep(100000);
ent->setAxisAndAngle(1.0, 0.0, 0.0, 0.0);
ent->setPosition(tpos);
usleep(100000);
ent->setAxisAndAngle(1.0, 0.0, 0.0, 0.0);
ent->setPosition(tpos);
usleep(100000);
ent->setAxisAndAngle(1.0, 0.0, 0.0, 0.0);
ent->setPosition(tpos);
usleep(100000);
ent->setAxisAndAngle(1.0, 0.0, 0.0, 0.0);
ent->setPosition(tpos);
usleep(100000);
ent->setAxisAndAngle(1.0, 0.0, 0.0, 0.0);
ent->setPosition(tpos);
usleep(100000);
ent->setAxisAndAngle(1.0, 0.0, 0.0, 0.0);
ent->setPosition(tpos);
usleep(100000);
//.........这里部分代码省略.........