MeVisLab Toolbox Reference
SoShadowSwitch.h
Go to the documentation of this file.
1 // Copyright (c) Fraunhofer MEVIS, Germany. All rights reserved.
2 // **InsertLicense** code
3 /*
4  *
5  _______________________________________________________________________
6  ____________ W W W . A W A K E I D E A S . C O M ______________
7  |
8  |
9  | Description:
10  | ...
11  |
12  | Author(s) : Felix Ritter
13  |
14  ____________ W W W . A W A K E I D E A S . C O M ______________
15  _______________________________________________________________________
16  */
17 
18 #ifndef _SoShadowSwitch_H
19 #define _SoShadowSwitch_H
20 
21 #include "SoShadowSystem.h"
22 
23 class SoAction;
24 class SoCallbackAction;
25 class SoGLRenderAction;
26 class SoPickAction;
27 class SoGetBoundingBoxAction;
28 class SoHandleEventAction;
29 class SoGetMatrixAction;
30 class SoSearchAction;
31 
33 
34 class SOSHADOW_CLASS_SPEC SoShadowSwitch : public SoSwitch
35 {
36  typedef SoSwitch inherited;
37 
38  SO_NODE_HEADER(SoShadowSwitch);
39 
40  protected:
41  virtual ~SoShadowSwitch();
42 
43  public:
44  // Set to SO_SWITCH_NONE by default
45  SoSFInt32 nonshadowChild; // Child to traverse in non-shadow render passes
46  SoSFInt32 shadowChild; // Child to traverse in shadow render passes
47 
48  // Overrides method in SoSwitch to return FALSE if there is no
49  // selected child or the selected child does not affect the state.
50  SbBool affectsState() const override;
51 
53 
54  SoEXTENDER public:
55  void doAction(SoAction *action) override;
56  void callback(SoCallbackAction *action) override;
57  void GLRender(SoGLRenderAction *action) override;
58  void pick(SoPickAction *action) override;
59  void getBoundingBox(SoGetBoundingBoxAction *action) override;
60  void handleEvent(SoHandleEventAction *action) override;
61  void getMatrix(SoGetMatrixAction *action) override;
62  void search(SoSearchAction *action) override;
63 
64  SoINTERNAL public:
65  static void initClass();
66 };
67 
69 
70 #endif // _SoShadowSwitch_H
#define __MEVIS_IV_END_NAMESPACE
Definition: OIVConfig.h:40
#define __MEVIS_IV_BEGIN_NAMESPACE
Definition: OIVConfig.h:39
#define SOSHADOW_CLASS_SPEC
Define a class export specifier needed to make the class exportable in dll's.
SoSFInt32 nonshadowChild
void search(SoSearchAction *action) override
void getBoundingBox(SoGetBoundingBoxAction *action) override
virtual ~SoShadowSwitch()
void doAction(SoAction *action) override
void pick(SoPickAction *action) override
void GLRender(SoGLRenderAction *action) override
SoSFInt32 shadowChild
void getMatrix(SoGetMatrixAction *action) override
SbBool affectsState() const override
void callback(SoCallbackAction *action) override
static void initClass()
void handleEvent(SoHandleEventAction *action) override