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

GroupUnifyTraverser.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 "nvsgcommon.h"
00013 
00014 #include "nvtraverser/Traverser.h"
00015 
00016 namespace nvtraverser
00017 {
00019 
00020   class GroupUnifyTraverser : public Traverser
00021   {
00022     public:
00024       NVSG_API GroupUnifyTraverser( void );
00025 
00026     public:
00028 
00030       NVSG_API bool getIgnoreNames( void ) const;
00031 
00033 
00034       NVSG_API void setIgnoreNames( bool ignore   
00035                                   );
00036 
00037     protected:
00039       NVSG_API virtual ~GroupUnifyTraverser( void );
00040 
00042 
00043       NVSG_API virtual void handleGroup( const nvsg::Group * p 
00044                                          );
00045 
00047 
00048       NVSG_API virtual void preTraverseGroup( const nvsg::Group *p  
00049                                             );
00050 
00052 
00053       NVSG_API virtual void postTraverseGroup( const nvsg::Group *p  
00054                                              );
00055 
00056     private:
00057       bool  m_ignoreNames;
00058       std::stack<std::vector<const nvsg::Group *>*> m_oneChildGroups;
00059   };
00060 
00061   inline bool GroupUnifyTraverser::getIgnoreNames( void ) const
00062   {
00063     return( m_ignoreNames );
00064   }
00065 
00066   inline void GroupUnifyTraverser::setIgnoreNames( bool ignore )
00067   {
00068     m_ignoreNames = ignore;
00069   }
00070 }

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