Main Page | Modules | Namespace List | Class Hierarchy | Alphabetical List | Class List | Directories | File List | Namespace Members | Class Members | File Members | Related Pages

AnimationCamManip.h

Go to the documentation of this file.
00001 // Copyright NVIDIA Corporation 2002-2004
00002 // TO THE MAXIMUM EXTENT PERMITTED BY APPLICABLE LAW, THIS SOFTWARE IS PROVIDED
00003 // *AS IS* AND NVIDIA AND ITS SUPPLIERS DISCLAIM ALL WARRANTIES, EITHER EXPRESS
00004 // OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, IMPLIED WARRANTIES OF MERCHANTABILITY
00005 // AND FITNESS FOR A PARTICULAR PURPOSE.  IN NO EVENT SHALL NVIDIA OR ITS SUPPLIERS
00006 // BE LIABLE FOR ANY SPECIAL, INCIDENTAL, INDIRECT, OR CONSEQUENTIAL DAMAGES
00007 // WHATSOEVER (INCLUDING, WITHOUT LIMITATION, DAMAGES FOR LOSS OF BUSINESS PROFITS,
00008 // BUSINESS INTERRUPTION, LOSS OF BUSINESS INFORMATION, OR ANY OTHER PECUNIARY LOSS)
00009 // ARISING OUT OF THE USE OF OR INABILITY TO USE THIS SOFTWARE, EVEN IF NVIDIA HAS
00010 // BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES 
00011 
00012 #pragma once
00013 
00015 #include "nvsgcommon.h"
00016 
00017 #include "nvui/CameraManipulator.h"
00018 
00019 //  forward declarations
00020 namespace nvmath
00021 {
00022   class Trafo;
00023 }
00024 namespace nvsg
00025 {
00026   template<typename T> class Animation;
00027 }
00028 
00029 namespace nvui
00030 {  
00032 
00048   class AnimationCamManip : public CameraManipulator
00049   {
00050     public:
00052       NVSG_API AnimationCamManip(void);
00053 
00055 
00056       NVSG_API virtual ~AnimationCamManip(void);
00057 
00059       NVSG_API virtual void apply();
00060 
00062       NVSG_API void  setAnimationFrame( size_t nFrame  
00063                                       );
00064 
00066 
00069       NVSG_API void  setAnimation( const nvsg::Animation<nvmath::Trafo> * pAnimation  
00070                                  ); 
00071       
00072     protected:
00073       const nvsg::Animation<nvmath::Trafo>  * m_animation;    
00074       size_t              m_currentFrame; 
00075   };
00076 
00077   // - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
00078   // inlines
00079   // - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
00080   inline void AnimationCamManip::setAnimationFrame( size_t nFrame )
00081   {
00082     __TRACE();
00083     m_currentFrame = nFrame;
00084   }
00085 
00086 } // namespace nvui

Generated on Tue Mar 1 13:19:19 2005 for NVSGSDK by NVIDIA