Open Inventor Release 2024.2.1
 
Loading...
Searching...
No Matches
SoMultiPathSwitch.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 (oct 2011)
22**=======================================================================*/
23
24
25#ifndef _SO_MULTI_PATH_SWITCH_
26#define _SO_MULTI_PATH_SWITCH_
27
28#include <Inventor/nodes/SoGroup.h>
29#include <Inventor/fields/SoMFPath.h>
30
77{
78
79 SO_NODE_HEADER(SoMultiPathSwitch);
80
81 public:
87
92
96 SoMultiPathSwitch(int nChildren);
97
98 private:
99 // Implement actions
100 virtual void doAction(SoAction *action);
101 virtual void GLRender(SoGLRenderAction *action);
102 virtual void pick(SoPickAction *action);
103 virtual void getBoundingBox(SoGetBoundingBoxAction *action);
104 virtual void handleEvent(SoHandleEventAction *action);
105 virtual void getMatrix(SoGetMatrixAction *action);
106 virtual void search(SoSearchAction *action);
107 virtual void getPrimitiveCount(SoGetPrimitiveCountAction *action);
108
109 private:
110 static void initClass();
111 static void exitClass();
112
113 private:
114 virtual ~SoMultiPathSwitch();
115
116 private:
117
118 // Checks for match of path with current path
119 SbBool matchesPath(const SoPath *switchPath, const SoPath *currentPath) const;
120};
121
122#endif // _SO_MULTI_PATH_SWITCH_
123
124
Abstract base class for all actions.
Definition SoAction.h:132
Renders a scene graph using Open Inventor's Render Engine.
Computes bounding box of a scene.
Computes transformation matrix for a subgraph.
<a href="IconLegend.html"><img src="extTGS.gif" alt="VSG extension" border="0"></a> Counts number of...
Base class for all group nodes.
Definition SoGroup.h:122
Allows nodes in a graph to receive input events.
Multiple-value field containing any number of paths.
Definition SoMFPath.h:92
Group node that traverses only when traversed along a given path.
SoMFPath paths
The list of paths that can match the current traversal path.
SoMultiPathSwitch()
Create a multi-path switch node with default settings.
SoMultiPathSwitch(int nChildren)
Constructor that takes approximate number of children.
Path that points to a list of hierarchical nodes.
Definition SoPath.h:187
Abstract base class for picking objects in a scene.
Searches for nodes in a scene graph.
int SbBool
Boolean type.
Definition SbBase.h:87