Open Inventor Release 2024.1.3
 
Loading...
Searching...
No Matches
SoInteractiveSwitch.h
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-2014 BY FEI S.A.S, ***
17 *** BORDEAUX, FRANCE ***
18 *** ALL RIGHTS RESERVED ***
19**=======================================================================*/
20/*=======================================================================
21** Author(s) : VSG (Sep 2011)
22**=======================================================================*/
23
24
25#ifndef _SO_INTERACTIVE_SWITCH_
26#define _SO_INTERACTIVE_SWITCH_
27
28#include <Inventor/nodes/SoSwitch.h>
29
31//
32// Class: SoSwitch
33//
34// Switch group node: traverses only the child indicated by integer
35// "whichInteractiveChild" field. If this field is SO_SWITCH_NONE, no children
36// are traversed, while SO_SWITCH_INHERIT means inherit the index
37// from the current switch state, doing a modulo operation to make
38// sure the child index is within the correct bounds of the switch
39// node.
40//
42
97{
98
99 SO_NODE_HEADER(SoInteractiveSwitch);
100
101 public:
107
112
116 SoInteractiveSwitch(int nChildren);
117
122 virtual SbBool affectsState() const;
123
124private:
125
126 static void initClass();
127 static void exitClass();
128
129private:
131 virtual ~SoInteractiveSwitch();
132
134 virtual void doChild(SoAction *action, int matchIndex = -1);
135};
136
137#endif // _SO_INTERACTIVE_SWITCH_
138
139
Abstract base class for all actions.
Definition SoAction.h:132
Group node that traverses one chosen child depending on scene interaction.
virtual SbBool affectsState() const
Overrides method in SoSwitch to return FALSE if there is no selected child or the selected child does...
SoInteractiveSwitch(int nChildren)
Constructor that takes approximate number of children.
SoSFInt32 whichInteractiveChild
Index of the child to traverse during interaction, (or one of SO_SWITCH_NONE, SO_SWITCH_INHERIT,...
SoInteractiveSwitch()
Creates an interactive-switch node with default settings.
Field containing a int32_t integer.
Definition SoSFInt32.h:80
Group node that traverses one chosen child.
Definition SoSwitch.h:179
int SbBool
Boolean type.
Definition SbBase.h:87