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

OSGTwoSidedLightingChunk.h

Go to the documentation of this file.
00001 
00007 #ifndef _OSGTWOSIDEDLIGHTINGCHUNK_H_
00008 #define _OSGTWOSIDEDLIGHTINGCHUNK_H_
00009 #ifdef __sgi
00010 #   pragma once
00011 #endif
00012 
00013 //----------------------------------------------------------------------------
00014 //  Includes
00015 //----------------------------------------------------------------------------
00016 
00017 #include <OSGConfig.h>
00018 
00019 #include <OSGTwoSidedLightingChunkBase.h>
00020 
00021 //----------------------------------------------------------------------------
00022 //  namespaces
00023 //----------------------------------------------------------------------------
00024 
00025 OSG_BEGIN_NAMESPACE
00026 
00030 class OSG_SYSTEMLIB_DLLMAPPING TwoSidedLightingChunk : public TwoSidedLightingChunkBase
00031 {
00032     /*==========================  PUBLIC  =================================*/
00033   public:
00034 
00035     /*---------------------------------------------------------------------*/
00039            virtual const StateChunkClass * getClass         (void) const;
00040 
00042     /*---------------------------------------------------------------------*/
00046     inline static        UInt32            getStaticClassId (void);
00047     inline static  const StateChunkClass * getStaticClass   (void);
00048 
00050     /*---------------------------------------------------------------------*/
00054     virtual void changed(BitVector whichField, 
00055                          UInt32    origin    );
00056 
00058     /*---------------------------------------------------------------------*/
00062     virtual void activate   ( DrawActionBase * action, UInt32 index = 0 );
00063 
00064     virtual void changeFrom ( DrawActionBase * action, StateChunk * old,
00065                              UInt32 index = 0 );
00066 
00067     virtual void deactivate ( DrawActionBase * action, UInt32 index = 0 );
00068 
00070     /*---------------------------------------------------------------------*/
00074     virtual Real32  switchCost    ( StateChunk * chunk );
00075 
00076     virtual bool operator <  (const StateChunk &other) const;
00077 
00078     virtual bool operator == (const StateChunk &other) const;
00079     virtual bool operator != (const StateChunk &other) const;
00080 
00082     /*---------------------------------------------------------------------*/
00086     virtual void dump(      UInt32     uiIndent = 0, 
00087                       const BitVector  bvFlags  = 0) const;
00088 
00090     /*=========================  PROTECTED  ===============================*/
00091   protected:
00092 
00093     // Variables should all be in CubeTextureTransformChunkBase.
00094 
00095     /*---------------------------------------------------------------------*/
00099     TwoSidedLightingChunk(void);
00100     TwoSidedLightingChunk(const TwoSidedLightingChunk &source);
00101 
00103     /*---------------------------------------------------------------------*/
00107     virtual ~TwoSidedLightingChunk(void); 
00108 
00111     /*==========================  PRIVATE  ================================*/
00112   private:
00113 
00114     friend class FieldContainer;
00115     friend class TwoSidedLightingChunkBase;
00116 
00117     typedef TwoSidedLightingChunkBase Inherited;
00118 
00119     static void initMethod(void);
00120     
00121     // class. Used for indexing in State
00122     static StateChunkClass _class;
00123    
00124     // prohibit default functions (move to 'public' if you need one)
00125 
00126     void operator =(const TwoSidedLightingChunk &source);
00127 
00128     GLboolean _state;
00129 };
00130 
00131 typedef TwoSidedLightingChunk *TwoSidedLightingChunkP;
00132 
00133 OSG_END_NAMESPACE
00134 
00135 #include <OSGTwoSidedLightingChunkBase.inl>
00136 #include <OSGTwoSidedLightingChunk.inl>
00137 
00138 #define OSGTWOSIDEDLIGHTINGCHUNK_HEADER_CVSID "@(#)$Id: OSGTwoSidedLightingChunk.h,v 1.1 2005/06/09 08:39:27 a-m-z Exp $"
00139 
00140 #endif /* _OSGTWOSIDEDLIGHTINGCHUNK_H_ */

Generated on Thu Aug 25 04:11:51 2005 for OpenSG by  doxygen 1.4.3