http://www.sim.no
http://www.coin3d.org
Main Page
Related Pages
Modules
Classes
Files
File List
include
Inventor
VRMLnodes
SoVRMLSwitch.h
1
/**************************************************************************\
2
*
3
* This file is part of the Coin 3D visualization library.
4
* Copyright (C) 1998-2007 by Systems in Motion. All rights reserved.
5
*
6
* This library is free software; you can redistribute it and/or
7
* modify it under the terms of the GNU General Public License
8
* ("GPL") version 2 as published by the Free Software Foundation.
9
* See the file LICENSE.GPL at the root directory of this source
10
* distribution for additional information about the GNU GPL.
11
*
12
* For using Coin with software that can not be combined with the GNU
13
* GPL, and for taking advantage of the additional benefits of our
14
* support services, please contact Systems in Motion about acquiring
15
* a Coin Professional Edition License.
16
*
17
* See http://www.coin3d.org/ for more information.
18
*
19
* Systems in Motion, Postboks 1283, Pirsenteret, 7462 Trondheim, NORWAY.
20
* http://www.sim.no/ sales@sim.no coin-support@coin3d.org
21
*
22
\**************************************************************************/
23
24
#ifndef COIN_SOVRMLSWITCH_H
25
#define COIN_SOVRMLSWITCH_H
26
27
#include <Inventor/nodes/SoSubNode.h>
28
#include <Inventor/nodes/SoGroup.h>
29
#include <Inventor/fields/SoMFNode.h>
30
#include <Inventor/fields/SoSFInt32.h>
31
32
// undef in case Inventor/nodes/SoSwitch.h has been included first
33
#undef SO_SWITCH_NONE
34
#undef SO_SWITCH_INHERIT
35
#undef SO_SWITCH_ALL
36
37
#define SO_SWITCH_NONE (-1)
38
#define SO_SWITCH_INHERIT (-2)
39
#define SO_SWITCH_ALL (-3)
40
41
class
SoVRMLSwitchP;
42
43
class
COIN_DLL_API
SoVRMLSwitch
:
public
SoGroup
44
{
45
typedef
SoGroup
inherited
;
46
SO_NODE_HEADER(
SoVRMLSwitch
);
47
48
public
:
49
static
void
initClass
(
void
);
50
SoVRMLSwitch
(
void
);
51
SoVRMLSwitch
(
int
choices);
52
53
SoMFNode
choice
;
54
SoSFInt32
whichChoice
;
55
56
virtual
SbBool
affectsState
(
void
)
const
;
57
58
void
addChoice(
SoNode
* choice);
59
void
insertChoice(
SoNode
* choice,
int
idx);
60
SoNode
* getChoice(
int
idx)
const
;
61
int
findChoice(
SoNode
* choice)
const
;
62
int
getNumChoices(
void
)
const
;
63
void
removeChoice(
int
idx);
64
void
removeChoice(
SoNode
* node);
65
void
removeAllChoices(
void
);
66
void
replaceChoice(
int
idx,
SoNode
* choice);
67
void
replaceChoice(
SoNode
* old,
SoNode
* choice);
68
69
virtual
void
doAction
(
SoAction
* action);
70
virtual
void
callback
(
SoCallbackAction
* action);
71
virtual
void
GLRender
(
SoGLRenderAction
* action);
72
virtual
void
pick
(
SoPickAction
* action);
73
virtual
void
getBoundingBox
(
SoGetBoundingBoxAction
* action);
74
virtual
void
handleEvent
(
SoHandleEventAction
* action);
75
virtual
void
getMatrix
(
SoGetMatrixAction
* action);
76
virtual
void
search
(
SoSearchAction
* action);
77
virtual
void
write
(
SoWriteAction
* action);
78
virtual
void
audioRender
(
SoAudioRenderAction
* action);
79
80
void
addChild
(
SoNode
* child);
81
void
insertChild
(
SoNode
* child,
int
idx);
82
SoNode
*
getChild
(
int
idx)
const
;
83
int
findChild
(
const
SoNode
* child)
const
;
84
int
getNumChildren
(
void
)
const
;
85
void
removeChild
(
int
idx);
86
void
removeChild
(
SoNode
* child);
87
void
removeAllChildren
(
void
);
88
void
replaceChild
(
int
idx,
SoNode
* node);
89
void
replaceChild
(
SoNode
* old,
SoNode
* node);
90
virtual
SoChildList
*
getChildren
(
void
)
const
;
91
92
protected
:
93
virtual
~
SoVRMLSwitch
(
void
);
94
95
virtual
void
notify
(
SoNotList
* list);
96
virtual
SbBool
readInstance
(
SoInput
* in,
unsigned
short
flags);
97
virtual
void
copyContents
(
const
SoFieldContainer
* from, SbBool copyConn);
98
99
private
:
100
void
commonConstructor(
void
);
101
SoVRMLSwitchP * pimpl;
102
friend
class
SoVRMLSwitchP;
103
};
// class SoVRMLSwitch
104
105
#endif // ! COIN_SOVRMLSWITCH_H
Copyright © 1998-2007 by
Systems in Motion AS
. All rights reserved.
Generated on Thu Jul 19 2012 for Coin by
Doxygen.
1.8.1.1