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

GeoNodeUnifyTraverser.h

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 #include <list>
00013 
00014 #include "nvsgcommon.h"
00015 
00016 #include "nvtraverser/Traverser.h"
00017 
00018 namespace nvtraverser
00019 {
00021 
00022   class GeoNodeUnifyTraverser : public Traverser
00023   {
00024     public:
00026       NVSG_API GeoNodeUnifyTraverser( void );
00027 
00028     public:
00030 
00032       NVSG_API bool getIgnoreNames( void ) const;
00033 
00035 
00036       NVSG_API void setIgnoreNames( bool ignore   
00037                                   );
00038 
00039     protected:
00041       NVSG_API virtual ~GeoNodeUnifyTraverser( void );
00042 
00044 
00045       NVSG_API virtual void handleGeoNode( const nvsg::GeoNode * p 
00046                                          );
00047                                           
00049 
00050       NVSG_API virtual void preTraverseGroup( const nvsg::Group *p  
00051                                             );
00052 
00054 
00055       NVSG_API virtual void postTraverseGroup( const nvsg::Group *p  
00056                                              );
00057 
00058     private:
00059       bool                                          m_ignoreNames;
00060       std::stack<std::list<const nvsg::GeoNode*>*>  m_geoNodes;
00061   };
00062 
00063   inline bool GeoNodeUnifyTraverser::getIgnoreNames( void ) const
00064   {
00065     return( m_ignoreNames );
00066   }
00067 
00068   inline void GeoNodeUnifyTraverser::setIgnoreNames( bool ignore )
00069   {
00070     m_ignoreNames = ignore;
00071   }
00072 
00073 }

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