Open Inventor Release 2023.2.3
 
Loading...
Searching...
No Matches
SoInteractiveSwitchElement.h
Go to the documentation of this file.
1/*=======================================================================
2 *** THE CONTENT OF THIS WORK IS PROPRIETARY TO FEI S.A.S, (FEI S.A.S.), ***
3 *** AND IS DISTRIBUTED UNDER A LICENSE AGREEMENT. ***
4 *** ***
5 *** REPRODUCTION, DISCLOSURE, OR USE, IN WHOLE OR IN PART, OTHER THAN AS ***
6 *** SPECIFIED IN THE LICENSE ARE NOT TO BE UNDERTAKEN EXCEPT WITH PRIOR ***
7 *** WRITTEN AUTHORIZATION OF FEI S.A.S. ***
8 *** ***
9 *** RESTRICTED RIGHTS LEGEND ***
10 *** USE, DUPLICATION, OR DISCLOSURE BY THE GOVERNMENT OF THE CONTENT OF THIS ***
11 *** WORK OR RELATED DOCUMENTATION IS SUBJECT TO RESTRICTIONS AS SET FORTH IN ***
12 *** SUBPARAGRAPH (C)(1) OF THE COMMERCIAL COMPUTER SOFTWARE RESTRICTED RIGHT ***
13 *** CLAUSE AT FAR 52.227-19 OR SUBPARAGRAPH (C)(1)(II) OF THE RIGHTS IN ***
14 *** TECHNICAL DATA AND COMPUTER SOFTWARE CLAUSE AT DFARS 52.227-7013. ***
15 *** ***
16 *** COPYRIGHT (C) 1996-2018 BY FEI S.A.S, ***
17 *** BORDEAUX, FRANCE ***
18 *** ALL RIGHTS RESERVED ***
19**=======================================================================*/
20/*=======================================================================
21** Author(s) : VSG (Sep 2011)
22**=======================================================================*/
23
24#ifndef _SO_INTERACTIVE_SWITCH_ELEMENT
25#define _SO_INTERACTIVE_SWITCH_ELEMENT
26
28
43{
44
46
47 public:
51 static void set(SoState *state, int32_t index)
52 { SoInt32Element::set(getClassTypeId(), getClassStackIndex(), state, index); }
53
55 static void set(SoState *state, SoNode *, int32_t index)
56 { set(state, index); }
57
61 static int32_t get(SoState *state)
62 { return SoInt32Element::get(getClassTypeId(), getClassStackIndex(), state); }
63
67 static int32_t getDefault() { return -1; }
68
69private:
70
72 virtual void init(SoState* state);
73
74 private:
75 // Initializes the SoInteractiveSwitchElement class
76 static void initClass();
77 static void exitClass();
78
79 private:
81};
82
83#endif /* _SO_SWITCH_ELEMENT */
84
85
#define SoEXTENDER_Documented
static void init()
#define SO_ELEMENT_HEADER(className)
Stores a single int32_t, int, or enum value.
Stores the current interactive switch index.
static int32_t get(SoState *state)
Returns current switch index from the state.
static void set(SoState *state, int32_t index)
Sets the current switch index in the state.
static int32_t getDefault()
Returns the default switch index.
static void set(SoState *state, SoNode *, int32_t index)
Sets the current switch index in the state.
static int getClassStackIndex()
Returns the stack id for this element.
static SoType getClassTypeId()
Returns the type identifier for this class.
Abstract base class for all database nodes.
Definition SoNode.h:145
Traversal state.
Definition SoState.h:74