本文整理汇总了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;
}