00001 
00002 
00003 
00004 
00005 
00006 
00007 
00008 
00009 
00010 
00011 
00012 
00013 
00014 
00015 
00016 
00017 
00018 
00019 
00020 
00021 
00022 
00023 
00024 #ifndef  _SO_MULTI_SWITCH_ELEMENT
00025 #define  _SO_MULTI_SWITCH_ELEMENT
00026 
00027 #include <Inventor/elements/SoInt32ListElement.h>
00028 #include <Inventor/nodes/SoMultiSwitch.h>
00029 
00044 SoEXTENDER_Documented class  SoMultiSwitchElement : public SoInt32ListElement
00045 {
00046   SO_ELEMENT_HEADER(SoMultiSwitchElement);
00047 
00048 public:
00052   static void set(SoState *state, SbIntList& index, SoMultiSwitch::TraversalMode traversalMode);
00053 #ifndef IV_STRICT
00054 
00057   static void set(SoState *state, SoNode *, SbIntList& index, SoMultiSwitch::TraversalMode traversalMode)
00058   {
00059     set(state, index, traversalMode);
00060   }
00061 #endif
00062 
00066   static SbIntList& get(SoState *state)
00067   { return SoInt32ListElement::get(getClassTypeId(), getClassStackIndex(), state); }
00068 
00069   static SoMultiSwitch::TraversalMode getTraversalMode(SoState* state)
00070   { return ((SoMultiSwitchElement*)getConstElement(state, getClassTypeId(), getClassStackIndex()))->traversalMode; }
00071 
00072 private:
00073 
00075   virtual void init(SoState *state);
00076 
00077 private:
00078   
00079   static void initClass();
00080   static void exitClass();
00081 
00082 private:
00083   virtual ~SoMultiSwitchElement();
00084 
00085 private:
00086   SoMultiSwitch::TraversalMode traversalMode;
00087 };
00088 
00089 #endif // SoInt32ListElement
00090 
00091 
00092