00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025 #ifndef _SO_GL_SHADOW_STYLE_ELEMENT_
00026 #define _SO_GL_SHADOW_STYLE_ELEMENT_
00027
00028 #include <Inventor/elements/SoGLDrawStyleElement.h>
00029 #include <SoDeprecationRules.h>
00030
00031 class SoShadowStyle;
00032 class SoGroup;
00033
00048 SoEXTENDER_Documented class SoDEPRECATED SoGLShadowStyleElement : public SoGLDrawStyleElement
00049 {
00050 SO_ELEMENT_HEADER(SoGLShadowStyleElement) ;
00051
00052 public:
00053 enum ShadowStyle {
00054 NO_SHADOWING = 0x00,
00055 CASTS_SHADOW = 0x01,
00056 SHADOWED = 0x02,
00057 CASTS_SHADOW_AND_SHADOWED = 0x03
00058 } ;
00059
00060
00061
00062 virtual void push(SoState *state) ;
00063
00064
00065 virtual void pop(SoState *state, const SoElement *prevTopElement) ;
00066
00067
00068 static void set(SoState *state, SoShadowStyle *shadowStyle, ShadowStyle style) ;
00069
00070
00071 static void setPassNumber(SoState *state, int passNumber) ;
00072
00073
00074 static void getDefault(ShadowStyle &shadowStyle, int &passNumber) ;
00075
00076
00077 int getPassNumber(){return m_passNumber;}
00078
00079
00080 static void setCheckLightingEnabled(SoState *state, bool enable) ;
00081
00082
00083 bool enableCheckLighting(){return m_enableCheckLighting;}
00084
00085 private:
00086
00088 virtual void init(SoState *state) ;
00089
00090
00091 SbBool matches(const SoElement* elt) const;
00092
00093
00094 SoElement* copyMatchInfo() const;
00095
00096 private:
00097
00098 static void initClass() ;
00099 static void exitClass() ;
00100
00102 static bool isShadowed(SoState* state);
00103
00104 private:
00105 virtual ~SoGLShadowStyleElement() ;
00106
00107 virtual void setElt(SoState *state, ShadowStyle style) ;
00108 virtual void setElt(SoState *state, int passNumber) ;
00109 virtual void setElt(SoState *state, bool enableCheckLighting);
00110 virtual void setElt(int32_t style) { SoGLDrawStyleElement::setElt(style); };
00111
00112
00113 private:
00114 void sendOiv7(SoState *state);
00115
00116
00117
00118
00119
00120
00121 SoState *copiedFromParent ;
00122
00123
00124 void send(SoState *state) ;
00125
00126 ShadowStyle m_style ;
00127
00128
00129 bool m_enableCheckLighting;
00130
00131 int m_passNumber ;
00132
00133
00134 } ;
00135
00136 #endif
00137
00138
00139