![]() |
VR-Vantage 1.4.1 API Class Documentation
|
00001 /****************************************************************************** 00002 ** Copyright (c) 2012 MAK Technologies, Inc. 00003 ** All rights reserved. 00004 ******************************************************************************/ 00005 00009 00010 #pragma once 00011 00012 #include <osg/Group> 00013 #include <osg/NodeCallback> 00014 #include <osg/NodeVisitor> 00015 00016 namespace osgSim { class DOFTransform; } 00017 00018 00026 class DOFFinder : public osg::NodeVisitor 00027 { 00028 public: 00030 DOFFinder(); 00031 00035 virtual void apply(osg::Node& node); 00036 00043 osgSim::DOFTransform* takeNextDOF(); 00044 00047 int dofCount() const; 00048 00049 protected: 00052 virtual ~DOFFinder(); 00053 00054 protected: 00056 osg::NodeList myNodeList; 00057 }; 00058 00059 00068 class RotateTurret : public osg::NodeCallback 00069 { 00070 public: 00072 RotateTurret(); 00073 00077 virtual void operator()(osg::Node* node, osg::NodeVisitor* nv); 00078 00079 protected: 00081 double myRadsPerSecond; 00083 double mySimTime; 00084 }; 00085 00086 00095 class RotateBarrel : public osg::NodeCallback 00096 { 00097 public: 00099 RotateBarrel(); 00100 00104 virtual void operator()(osg::Node* node, osg::NodeVisitor* nv); 00105 00106 protected: 00108 double myMaxAngle; 00109 };