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

ModelViewTraverser.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 "nvtraverser/Traverser.h"
00018 #include "nvutil/TransformStack.h"
00019 
00020 
00021 namespace nvtraverser
00022 {
00023 
00025 
00027 class ModelViewTraverser : public Traverser
00028 {
00029 protected:
00031 
00033   NVSG_API ModelViewTraverser( bool readOnly = true );
00034 
00035   NVSG_API virtual void handleLOD( const nvsg::LOD *p );
00036 
00038   NVSG_API virtual ~ModelViewTraverser();
00039 
00041 
00042   NVSG_API virtual void handleParallelCamera( 
00043     const nvsg::ParallelCamera *p     
00044   , const nvsg::Node *root            
00045   );
00046 
00048 
00049   NVSG_API virtual void handlePerspectiveCamera( 
00050     const nvsg::PerspectiveCamera *p  
00051   , const nvsg::Node *root            
00052   );
00053 
00055 
00057   NVSG_API virtual void handleTransform(
00058     const nvsg::Transform *p          
00059   );
00060 
00062 
00063   NVSG_API virtual bool preTraverseTransform( 
00064     const nvsg::Transform *p          
00065   );
00066 
00068 
00070   NVSG_API virtual void postTraverseTransform(
00071     const nvsg::Transform *p          
00072   );
00073 
00075 
00076   NVSG_API virtual bool preTraverseRoot( 
00077     const nvsg::SimpleCamera *p  
00078   , const nvsg::Node *root       
00079   );
00080 
00081 protected:
00082   nvutil::TransformStack  m_transformStack; 
00083 };
00084 }

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