OSVR Framework (Internal Development Docs)  0.6-1962-g59773924
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Modules Pages
osvr_print_tree.cpp File Reference

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[])
 

Detailed Description

Implementation.

Date
2015
Author
Sensics, Inc. http://sensics.com/osvr

Definition in file osvr_print_tree.cpp.

Function Documentation

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.