root/OpenSceneGraph/trunk/include/osgUtil/PrintVisitor @ 13041

Revision 13041, 1.3 kB (checked in by robert, 3 years ago)

Ran script to remove trailing spaces and tabs

  • Property svn:eol-style set to native
  • Property svn:keywords set to Author Date Id Revision
Line 
1/* -*-c++-*- OpenSceneGraph - Copyright (C) 1998-2009 Robert Osfield
2 *
3 * This library is open source and may be redistributed and/or modified under
4 * the terms of the OpenSceneGraph Public License (OSGPL) version 0.0 or
5 * (at your option) any later version.  The full license is in LICENSE file
6 * included with this distribution, and on the openscenegraph.org website.
7 *
8 * This library is distributed in the hope that it will be useful,
9 * but WITHOUT ANY WARRANTY; without even the implied warranty of
10 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
11 * OpenSceneGraph Public License for more details.
12*/
13
14#ifndef OSGUTIL_PRINTVISITOR
15#define OSGUTIL_PRINTVISITOR 1
16
17#include <osg/NodeVisitor>
18#include <osgUtil/Export>
19
20#include <ostream>
21
22namespace osgUtil {
23
24class OSGUTIL_EXPORT PrintVisitor : public osg::NodeVisitor
25{
26    public:
27
28        PrintVisitor(std::ostream& out, int indent=0, int step=2);
29
30        void apply(osg::Node& node);
31
32        std::ostream& output()
33        {
34            for(unsigned int i=0;i<_indent; ++i) _out<<" ";
35            return _out;
36        }
37
38        void enter() { _indent += _step; }
39        void leave() { _indent -= _step; }
40
41    protected:
42
43        PrintVisitor& operator = (const PrintVisitor&) { return *this; }
44
45        std::ostream& _out;
46        unsigned int _indent;
47        unsigned int _step;
48};
49
50}
51
52#endif
53
Note: See TracBrowser for help on using the browser.