openscenegraph
RigTransform
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_RIGTRANSFORM
16#define OSGANIMATION_RIGTRANSFORM 1
17
18#include <osg/Object>
19
20namespace osgAnimation
21{
22
23 class RigGeometry;
24
25 class RigTransform : public osg::Object
26 {
27 public:
28 RigTransform() {}
29 RigTransform(const RigTransform& org, const osg::CopyOp& copyop):
30 osg::Object(org, copyop) {}
31
32 META_Object(osgAnimation,RigTransform)
33
34 virtual void operator()(RigGeometry&) {}
35
36 /// to call manually when a skeleton is reacheable from the rig
37 /// in order to prepare technic data before rendering
38 virtual bool prepareData(RigGeometry&) { return true; }
39
40 protected:
41 virtual ~RigTransform() {}
42
43 };
44 class MorphGeometry;
45
46 class MorphTransform : public osg::Object
47 {
48 public:
49 MorphTransform() {}
50 MorphTransform(const MorphTransform& org, const osg::CopyOp& copyop):
51 osg::Object(org, copyop) {}
52
53 META_Object(osgAnimation,MorphTransform)
54
55 virtual void operator()(MorphGeometry&) {}
56
57 protected:
58 virtual ~MorphTransform() {}
59
60 };
61
62}
63
64#endif