OSVR-Core
|
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>
Classes | |
struct | Options |
class | TreeNodePrinter |
This functor is applied at each node to get the (type-safe variant) value out of it (hence the numerous overloads of the function call operator - one for each node element type we want to treat differently.) More... | |
Functions | |
int | main (int argc, char *argv[]) |
Implementation.
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.