示例#1
0
std::string cLayerImage::NamePose2NameLayer(const std::string & aNP)
{
    // En geometrie terrain chaque image genere une entree, pour avoir son orientation
    return   IsTerrain()                                               ?
             aNP                                                       :
             mAppli.ICNM()->Assoc1To1(mLI2P.KeyCalculImage(),aNP,true) ;
}
示例#2
0
bool
AirspaceAltitude::IsBelow(const AltitudeState &state, const fixed margin) const
{
  return GetAltitude(state) <= state.altitude + margin ||
    /* special case: GND is always "below" the aircraft, even if the
       aircraft's AGL altitude turns out to be negative due to terrain
       file inaccuracies */
    IsTerrain();
}
示例#3
0
文件: World.cpp 项目: RGrant92/Klampt
string RobotWorld::GetName(int id) const
{
  int i = IsRigidObject(id);
  if(i >= 0) return rigidObjects[i].name;
  i = IsTerrain(id);
  if(i >= 0) return terrains[i].name;
  i = IsRobot(id);
  if(i >= 0) return robots[i].name;
  pair<int,int> j = IsRobotLink(id);
  if(j.first >= 0) return robots[j.first].name+"["+robots[j.first].robot->linkNames[j.second]+"]";
  return "";
}
示例#4
0
文件: World.cpp 项目: RGrant92/Klampt
GLDraw::GeometryAppearance& RobotWorld::GetAppearance(int id)
{
  int terrain = IsTerrain(id);
  if(terrain >= 0)
    return terrains[terrain].view.appearance;
  int rigidObject = IsRigidObject(id);
  if(rigidObject >= 0)
    return rigidObjects[rigidObject].view.appearance;
  pair<int,int> robotLink = IsRobotLink(id);
  if(robotLink.first >= 0) {
    return robots[robotLink.first].view.linkAppearance[robotLink.second];
  }
  FatalError("GetGeometry: Invalid ID: %d\n",id);
  return robots[0].view.linkAppearance[0];
}
示例#5
0
文件: World.cpp 项目: RGrant92/Klampt
const Geometry::AnyCollisionGeometry3D& RobotWorld::GetGeometry(int id) const
{
  int terrain = IsTerrain(id);
  if(terrain >= 0)
    return terrains[terrain].terrain->geometry;
  int rigidObject = IsRigidObject(id);
  if(rigidObject >= 0)
    return rigidObjects[rigidObject].object->geometry;
  pair<int,int> robotLink = IsRobotLink(id);
  if(robotLink.first >= 0) {
    return robots[robotLink.first].robot->geometry[robotLink.second];
  }
  FatalError("GetGeometry: Invalid ID: %d\n",id);
  return robots[0].robot->geometry[0];
}