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

NVBLoadTraverser.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  "nvmath/Vec2f.h"
00016 #include  "nvtraverser/Traverser.h"
00017 
00019 class NVBLoadTraverser : public nvtraverser::Traverser
00020 {
00021   public:
00023     NVBLoadTraverser( std::vector<const nvsg::Material *> &faceMappedMaterials );
00024 
00026     virtual ~NVBLoadTraverser(void);
00027 
00028   protected:
00030 
00031     virtual void  handleCgFx( const nvsg::CgFx *p );
00032 
00034 
00035     virtual void  handleGeoNode( const nvsg::GeoNode *p );
00036 
00038     virtual void  handleJitterCamera( const nvsg::JitterCamera *p, const nvsg::Node *root )  { __ASSERT( false ); }
00039 
00041     virtual void  handleLOD( const nvsg::LOD *p )                                { __ASSERT( false ); }
00042 
00044 
00045     virtual void  handleMaterial( const nvsg::Material *p, bool reset );
00046 
00048 
00049     virtual void  handleStateSet( const nvsg::StateSet *p );
00050 
00052     virtual void  handleStereoCamera( const nvsg::StereoCamera *p, const nvsg::Node *root )  { __ASSERT( false ); }
00053 
00055     virtual void  handleSwitch( const nvsg::Switch *p )                          { __ASSERT( false ); }
00056 
00058 
00060     virtual void  handleTriangles( const nvsg::Triangles *p );
00061 
00062   private:
00063     bool                  m_bApplyingCgFx; 
00064     const nvsg::Material            * m_currentMaterial;
00065     std::vector<const nvsg::Material *>  * m_faceMappedMaterials;
00066     std::vector<nvmath::Vec2f>         m_texCoords;
00067 };

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