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

HighlightObject.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  "nvsg/Object.h"
00018 
00019 namespace nvmath
00020 {
00021   class Sphere3f;
00022 }
00023 
00024 namespace nvsg
00025 {
00027   class HighlightObject : public Object
00028   {
00029     public:
00031 
00033       NVSG_API virtual bool isBoundingSphereValid( void ) const = 0;
00034 
00036 
00039       NVSG_API virtual const nvmath::Sphere3f & getBoundingSphere( void ) const = 0;
00040 
00042 
00044       NVSG_API virtual bool isValid( void ) const;
00045       
00047       NVSG_API virtual void invalidate( void );
00048 
00049     protected:
00051       NVSG_API HighlightObject( void );
00052       
00053     protected:
00054       bool m_invalid;        
00055   };
00056 
00057   inline HighlightObject::HighlightObject( void )
00058     : m_invalid(true)
00059   {
00060     __TRACE();
00061   }
00062 
00063   inline bool HighlightObject::isValid( void ) const 
00064   { 
00065     __TRACE();
00066     return !m_invalid; 
00067   }
00068     
00069   inline void HighlightObject::invalidate( void ) 
00070   { 
00071     __TRACE();
00072     m_invalid=true; 
00073   }    
00074 }

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