http://www.sim.no
http://www.coin3d.org
Main Page
Related Pages
Modules
Classes
Files
File List
include
Inventor
nodekits
SoNodeKitListPart.h
1
#ifndef COIN_SONODEKITLISTPART_H
2
#define COIN_SONODEKITLISTPART_H
3
4
/**************************************************************************\
5
*
6
* This file is part of the Coin 3D visualization library.
7
* Copyright (C) 1998-2007 by Systems in Motion. All rights reserved.
8
*
9
* This library is free software; you can redistribute it and/or
10
* modify it under the terms of the GNU General Public License
11
* ("GPL") version 2 as published by the Free Software Foundation.
12
* See the file LICENSE.GPL at the root directory of this source
13
* distribution for additional information about the GNU GPL.
14
*
15
* For using Coin with software that can not be combined with the GNU
16
* GPL, and for taking advantage of the additional benefits of our
17
* support services, please contact Systems in Motion about acquiring
18
* a Coin Professional Edition License.
19
*
20
* See http://www.coin3d.org/ for more information.
21
*
22
* Systems in Motion, Postboks 1283, Pirsenteret, 7462 Trondheim, NORWAY.
23
* http://www.sim.no/ sales@sim.no coin-support@coin3d.org
24
*
25
\**************************************************************************/
26
27
#include <Inventor/nodes/SoSubNode.h>
28
#include <Inventor/lists/SoTypeList.h>
29
#include <Inventor/fields/SoSFNode.h>
30
#include <Inventor/fields/SoSFName.h>
31
#include <Inventor/fields/SoMFName.h>
32
33
class
SoGroup
;
34
35
36
class
COIN_DLL_API
SoNodeKitListPart
:
public
SoNode
{
37
typedef
SoNode
inherited
;
38
39
SO_NODE_HEADER(
SoNodeKitListPart
);
40
41
public
:
42
static
void
initClass(
void
);
43
SoNodeKitListPart
(
void
);
44
45
SoType
getContainerType(
void
)
const
;
46
void
setContainerType(
SoType
newContainerType);
47
const
SoTypeList
& getChildTypes(
void
)
const
;
48
void
addChildType(
SoType
typeToAdd);
49
SbBool isTypePermitted(
SoType
typeToCheck)
const
;
50
SbBool isChildPermitted(
const
SoNode
* child)
const
;
51
void
containerSet(
const
char
* fieldDataString);
52
void
lockTypes(
void
);
53
SbBool isTypeLocked(
void
)
const
;
54
void
addChild(
SoNode
* child);
55
void
insertChild(
SoNode
* child,
int
childIndex);
56
SoNode
* getChild(
int
index)
const
;
57
int
findChild(
SoNode
* child)
const
;
58
int
getNumChildren(
void
)
const
;
59
void
removeChild(
int
index);
60
void
removeChild(
SoNode
* child);
61
void
replaceChild(
int
index,
SoNode
* newChild);
62
void
replaceChild(
SoNode
* oldChild,
SoNode
* newChild);
63
virtual
SbBool
affectsState
(
void
)
const
;
64
virtual
void
doAction
(
SoAction
* action);
65
virtual
void
callback
(
SoCallbackAction
* action);
66
virtual
void
GLRender
(
SoGLRenderAction
* action);
67
virtual
void
getBoundingBox
(
SoGetBoundingBoxAction
* action);
68
virtual
void
getMatrix
(
SoGetMatrixAction
* action);
69
virtual
void
handleEvent
(
SoHandleEventAction
* action);
70
virtual
void
pick
(
SoPickAction
* action);
71
virtual
void
search
(
SoSearchAction
* action);
72
virtual
void
getPrimitiveCount
(
SoGetPrimitiveCountAction
* action);
73
virtual
SoChildList
*
getChildren
(
void
)
const
;
74
75
protected
:
76
virtual
~
SoNodeKitListPart
();
77
78
SoGroup
* getContainerNode(
void
);
79
virtual
SbBool
readInstance
(
SoInput
* in,
unsigned
short
flags);
80
virtual
void
copyContents
(
const
SoFieldContainer
* fromFC,
81
SbBool copyConnections);
82
SoChildList
*
children
;
83
84
private
:
85
void
syncInternalData(
void
);
86
87
SoSFNode
containerNode;
88
SoSFName
containerTypeName;
89
SoMFName
childTypeNames;
90
91
SbBool typelistlocked;
92
SoTypeList
allowedtypes;
93
94
SbBool canCreateDefaultChild(
void
)
const
;
95
SoNode
* createAndAddDefaultChild(
void
);
96
SoType
getDefaultChildType(
void
)
const
;
97
98
friend
class
SoBaseKit
;
99
};
100
101
#endif // !COIN_SONODEKITLISTPART_H
Copyright © 1998-2007 by
Systems in Motion AS
. All rights reserved.
Generated on Fri Aug 2 2013 for Coin by
Doxygen.
1.8.4