root/OpenSceneGraph/trunk/include/osg/NodeTrackerCallback @ 13041

Revision 13041, 1.5 kB (checked in by robert, 2 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-2006 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 OSG_NODETRACKERCALLBACK
15#define OSG_NODETRACKERCALLBACK 1
16
17#include <iterator>
18
19#include <osg/Node>
20#include <osg/NodeCallback>
21#include <osg/ObserverNodePath>
22
23namespace osg
24{
25
26class OSG_EXPORT NodeTrackerCallback : public NodeCallback
27{
28    public:
29
30        void setTrackNodePath(const osg::NodePath& nodePath) { _trackNodePath.setNodePath(nodePath); }
31
32        void setTrackNodePath(const ObserverNodePath& nodePath) { _trackNodePath = nodePath; }
33
34        ObserverNodePath& getTrackNodePath() { return _trackNodePath; }
35
36        void setTrackNode(osg::Node* node);
37        osg::Node* getTrackNode();
38        const osg::Node* getTrackNode() const;
39
40        /** Implements the callback. */
41        virtual void operator()(Node* node, NodeVisitor* nv);
42
43        /** Update the node to track the nodepath.*/
44        void update(osg::Node& node);
45
46    protected:
47
48        ObserverNodePath _trackNodePath;
49
50};
51
52}
53
54#endif
Note: See TracBrowser for help on using the browser.