当前位置: 首页>>代码示例>>C++>>正文


C++ OcTree::getOccupied方法代码示例

本文整理汇总了C++中OcTree::getOccupied方法的典型用法代码示例。如果您正苦于以下问题:C++ OcTree::getOccupied方法的具体用法?C++ OcTree::getOccupied怎么用?C++ OcTree::getOccupied使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在OcTree的用法示例。


在下文中一共展示了OcTree::getOccupied方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。

示例1: main

int main(int argc, char** argv) {
  // default values:
  string vrmlFilename = "";
  string btFilename = "";

  if (argc != 2 || (argc > 1 && strcmp(argv[1], "-h") == 0)){
    printUsage(argv[0]);
  }

  btFilename = std::string(argv[1]);
  vrmlFilename = btFilename + ".wrl";


  cout << "\nReading OcTree file\n===========================\n";
  // TODO: check if file exists and if OcTree read correctly?
  OcTree* tree = new OcTree(btFilename);

  std::list<OcTreeVolume> occupiedVoxels;
  tree->getOccupied(occupiedVoxels);
  delete tree;

  cout << "\nWriting " << occupiedVoxels.size()<<" occupied volumes to VRML\n===========================\n";

  std::ofstream outfile (vrmlFilename.c_str());

  outfile << "#VRML V2.0 utf8\n#\n";
  outfile << "# created from OctoMap file "<<btFilename<< " with bt2vrml\n";

  std::list<OcTreeVolume>::iterator it;

  for (it = occupiedVoxels.begin(); it != occupiedVoxels.end(); ++it){
    outfile << "Transform { translation "
          << it->first.x() << " " << it->first.y() << " " << it->first.z()
          << " \n  children ["
          << " Shape { geometry Box { size "
          << it->second << " " << it->second << " " << it->second << "} } ]\n"
          << "}\n";
  }

  outfile.close();

  std::cout << "Finished writing to " << vrmlFilename << std::endl;

}
开发者ID:ulyssesrr,项目名称:carmen_lcad,代码行数:44,代码来源:bt2vrml.cpp


注:本文中的OcTree::getOccupied方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。