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 "nvutil/Assert.h" 00016 #include "nvtraverser/Traverser.h" 00017 00018 00020 class WRLLoadTraverser : public nvtraverser::Traverser 00021 { 00022 public: 00024 WRLLoadTraverser(); 00025 00027 virtual ~WRLLoadTraverser(void); 00028 00029 protected: 00031 00033 virtual void doApply( const nvsg::ViewState *pViewState, const nvsg::Scene *pScene ); 00034 00036 00037 virtual void handleGeoNode( const nvsg::GeoNode *p ); 00038 00040 00042 virtual void handleTransform( const nvsg::Transform *p ); 00043 00044 private: 00045 std::vector<nvsg::LightSource *> m_lights; 00046 };