File: OrientationConverter.h

package info (click to toggle)
openscenegraph 3.2.3%2Bdfsg1-3
  • links: PTS, VCS
  • area: main
  • in suites: buster
  • size: 32,824 kB
  • sloc: cpp: 370,040; ansic: 9,071; java: 1,020; yacc: 548; objc: 288; makefile: 285; xml: 155; lex: 151
file content (32 lines) | stat: -rw-r--r-- 998 bytes parent folder | download | duplicates (10)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
#ifndef _ORIENTATION_CONVERTER_H
#define _ORIENTATION_CONVERTER_H

#include <osg/Vec3>
#include <osg/Matrix>
#include <osg/Node>
#include <osg/Geode>

class OrientationConverter {
    public :
        OrientationConverter(void);
        void setRotation( const osg::Vec3 &from,
                          const osg::Vec3 &to  );
        void setRotation( float degrees, const osg::Vec3 &axis  );
        void setTranslation( const osg::Vec3 &trans);
        void setScale( const osg::Vec3 &trans);
        void useWorldFrame( bool worldFrame );
        
        /** return the root of the updated subgraph as the subgraph
          * the node passed in my flatten during optimization.*/
        osg::Node* convert( osg::Node* node );

    private :
        OrientationConverter( const OrientationConverter& ) {}
        OrientationConverter& operator = (const OrientationConverter& ) { return *this; }

        osg::Matrix R, T, S;
        bool _trans_set;
        bool _use_world_frame;

};
#endif