00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
#ifndef COIN_SOSWITCH_H
00021
#define COIN_SOSWITCH_H
00022
00023
#include <Inventor/nodes/SoSubNode.h>
00024
#include <Inventor/fields/SoSFInt32.h>
00025
#include <Inventor/nodes/SoGroup.h>
00026
00027
00028
#define SO_SWITCH_NONE (-1)
00029
#define SO_SWITCH_INHERIT (-2)
00030
#define SO_SWITCH_ALL (-3)
00031
00032
00033 class COIN_DLL_API SoSwitch :
public SoGroup {
00034
typedef SoGroup inherited;
00035
00036 SO_NODE_HEADER(SoSwitch);
00037
00038
public:
00039
static void initClass(
void);
00040 SoSwitch(
void);
00041 SoSwitch(
int numchildren);
00042
00043
SoSFInt32 whichChild;
00044
00045
virtual SbBool
affectsState(
void)
const;
00046
00047
virtual void doAction(
SoAction * action);
00048
virtual void callback(
SoCallbackAction * action);
00049
virtual void GLRender(
SoGLRenderAction * action);
00050
virtual void pick(
SoPickAction * action);
00051
virtual void getBoundingBox(
SoGetBoundingBoxAction * action);
00052
virtual void handleEvent(
SoHandleEventAction * action);
00053
virtual void getMatrix(
SoGetMatrixAction * action);
00054
virtual void search(
SoSearchAction * action);
00055
virtual void write(
SoWriteAction * action);
00056
virtual void getPrimitiveCount(
SoGetPrimitiveCountAction * action);
00057
00058
protected:
00059
virtual ~SoSwitch();
00060
00061
void traverseChildren(
SoAction * action);
00062 };
00063
00064
#endif // !COIN_SOSWITCH_H