openscenegraph
StatsVisitor
Go to the documentation of this file.
1/* -*-c++-*-
2 * Copyright (C) 2009 Cedric Pinson <cedric.pinson@plopbyte.net>
3 *
4 * This library is open source and may be redistributed and/or modified under
5 * the terms of the OpenSceneGraph Public License (OSGPL) version 0.0 or
6 * (at your option) any later version. The full license is in LICENSE file
7 * included with this distribution, and on the openscenegraph.org website.
8 *
9 * This library is distributed in the hope that it will be useful,
10 * but WITHOUT ANY WARRANTY; without even the implied warranty of
11 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12 * OpenSceneGraph Public License for more details.
13*/
14
15#ifndef OSGANIMATION_STATSVISITOR_H
16#define OSGANIMATION_STATSVISITOR_H
17
18#include <osgAnimation/Export>
19#include <osgAnimation/ActionVisitor>
20#include <osg/Stats>
21#include <vector>
22
23namespace osgAnimation
24{
25
26 class OSGANIMATION_EXPORT StatsActionVisitor : public osgAnimation::UpdateActionVisitor
27 {
28 protected:
29 osg::ref_ptr<osg::Stats> _stats;
30 std::vector<std::string> _channels;
31
32 public:
33 META_ActionVisitor(osgAnimation, StatsActionVisitor);
34
35 StatsActionVisitor();
36 StatsActionVisitor(osg::Stats* stats, unsigned int frame);
37 void reset();
38 const std::vector<std::string>& getChannels() const { return _channels; }
39 osg::Stats* getStats() { return _stats.get(); }
40 void setStats(osg::Stats* stats) { _stats = stats; }
41 void setFrame(unsigned int frame) { _frame = frame; }
42 void apply(Timeline& action);
43 void apply(Action& action);
44 void apply(ActionBlendIn& action);
45 void apply(ActionBlendOut& action);
46 void apply(ActionAnimation& action);
47 void apply(ActionStripAnimation& action);
48
49 };
50
51}
52
53#endif