http://www.coin3d.org/
http://www.kongsberg.com/kogt/
Main Page
Related Pages
Modules
Classes
Files
File List
File Members
include
Inventor
SoNodeKitPath.h
1
#ifndef COIN_SONODEKITPATH_H
2
#define COIN_SONODEKITPATH_H
3
4
/**************************************************************************\
5
* Copyright (c) Kongsberg Oil & Gas Technologies AS
6
* All rights reserved.
7
*
8
* Redistribution and use in source and binary forms, with or without
9
* modification, are permitted provided that the following conditions are
10
* met:
11
*
12
* Redistributions of source code must retain the above copyright notice,
13
* this list of conditions and the following disclaimer.
14
*
15
* Redistributions in binary form must reproduce the above copyright
16
* notice, this list of conditions and the following disclaimer in the
17
* documentation and/or other materials provided with the distribution.
18
*
19
* Neither the name of the copyright holder nor the names of its
20
* contributors may be used to endorse or promote products derived from
21
* this software without specific prior written permission.
22
*
23
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
24
* "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
25
* LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
26
* A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
27
* HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
28
* SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
29
* LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
30
* DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
31
* THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
32
* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
33
* OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
34
\**************************************************************************/
35
36
#include <Inventor/SoPath.h>
37
38
class
SoNode
;
39
class
SoBaseKit
;
40
class
SoSearchAction
;
41
42
class
COIN_DLL_API
SoNodeKitPath
:
public
SoPath
{
43
typedef
SoPath
inherited
;
44
45
public
:
46
int
getLength
(
void
)
const
;
47
SoNode
*
getTail
(
void
)
const
;
48
SoNode
*
getNode
(
const
int
idx)
const
;
49
SoNode
*
getNodeFromTail
(
const
int
idx)
const
;
50
void
truncate
(
const
int
length);
51
void
pop
(
void
);
52
void
append
(
SoBaseKit
* childKit);
53
void
append
(
const
SoNodeKitPath
* fromPath);
54
SbBool
containsNode
(
SoBaseKit
* node)
const
;
55
int
findFork
(
const
SoNodeKitPath
* path)
const
;
56
57
friend
COIN_DLL_API
int
operator==
(
const
SoNodeKitPath
& p1,
const
SoNodeKitPath
& p2);
58
59
protected
:
60
SoNodeKitPath
(
const
int
approxLength);
61
virtual
~
SoNodeKitPath
();
62
63
private
:
64
65
static
void
clean(
void
);
66
static
SoSearchAction
*searchAction;
67
SoSearchAction
*getSearchAction(
void
);
68
69
// these methods should not be used on an SoNodeKitPath
70
void
append
(
const
int
childIndex);
71
void
append
(
SoNode
*childNode);
72
void
append
(
const
SoPath
*fromPath);
73
void
push
(
const
int
childIndex);
74
int
getIndex
(
const
int
i)
const
;
75
int
getIndexFromTail
(
const
int
i)
const
;
76
void
insertIndex
(
SoNode
*parent,
const
int
newIndex);
77
void
removeIndex
(
SoNode
*parent,
const
int
oldIndex);
78
void
replaceIndex
(
SoNode
*parent,
const
int
index,
SoNode
*newChild);
79
};
80
81
COIN_DLL_API
int
operator==
(
const
SoNodeKitPath
& p1,
const
SoNodeKitPath
& p2);
82
83
#endif // !COIN_SONODEKITPATH_H
Copyright © by
Kongsberg Oil & Gas Technologies
. All rights reserved.
Generated on Sat Oct 26 2013 19:06:29 for Coin by
Doxygen
1.8.4.