Implementation. More...
#include <osvr/ClientKit/Context.h>
#include <osvr/Common/ApplyPathNodeVisitor.h>
#include <osvr/Common/ClientContext.h>
#include <osvr/Common/PathElementTools.h>
#include <osvr/Common/PathElementTypes.h>
#include <osvr/Common/PathNode.h>
#include <osvr/Common/PathTreeFull.h>
#include <osvr/Common/ResolveFullTree.h>
#include <osvr/Util/IndentingStream.h>
#include <osvr/Util/ProgramOptionsToggleFlags.h>
#include <osvr/Util/TreeTraversalVisitor.h>
#include <boost/noncopyable.hpp>
#include <boost/program_options.hpp>
#include <boost/variant.hpp>
#include <chrono>
#include <iomanip>
#include <iostream>
#include <string>
#include <thread>
#include <unordered_set>
#include <vector>
Go to the source code of this file.
Classes | |
struct | Options |
class | TreeNodePrinter |
Functions | |
int | main (int argc, char *argv[]) |
int main | ( | int | argc, |
char * | argv[] | ||
) |
We only actually need the client open for long enough to get the path tree and clone it.
Get a non-const copy of the path tree.
Resolve all aliases, keeping track of those that don't fully resolve.
Before we print anything, we should flush the logger so it doesn't intermix with our output.
Now traverse for output - traverse every node in the path tree and apply the node visitor to get the type-safe variant data out of the nodes. The lambda will be called (and thus the TreeNodePrinter applied) at every PathNode in the tree.
Definition at line 161 of file osvr_print_tree.cpp.