http://www.coin3d.org/
http://www.kongsberg.com/kogt/
Main Page
Related Pages
Modules
Classes
Files
File List
File Members
include
Inventor
misc
SoProtoInstance.h
1
#ifndef COIN_SOPROTOINSTANCE_H
2
#define COIN_SOPROTOINSTANCE_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
// NB: This is work-in-progress, and the API might change from day to
37
// day. Do not use this class unless you are prepared for this.
38
// pederb, 2002-05-28
39
40
#include <Inventor/nodes/SoNode.h>
41
#include <Inventor/nodes/SoSubNode.h>
42
43
class
SoProto
;
44
class
SoSensor
;
45
46
class
COIN_DLL_API
SoProtoInstance
:
public
SoNode
{
47
typedef
SoNode
inherited
;
48
49
// The following definitions are used instead of SO_NODE_HEADER() to
50
// let SoProtoInstance have dynamic handling of SoFieldData objects.
51
52
PRIVATE_NODE_TYPESYSTEM_HEADER();
53
protected
:
54
virtual
const
SoFieldData
*
getFieldData
(
void
)
const
;
55
private
:
56
SoFieldData
* classfielddata;
57
58
public
:
59
static
void
initClass(
void
);
60
61
SoProtoInstance
(
SoProto
* proto,
62
const
SoFieldData
* deffielddata);
63
64
static
SoProtoInstance
* findProtoInstance(
const
SoNode
* rootnode);
65
void
setRootNode(
SoNode
* root);
66
SoNode
* getRootNode(
void
);
67
68
SoProto
* getProtoDefinition(
void
)
const
;
69
SbName
getProtoName(
void
)
const
;
70
71
virtual
void
write
(
SoWriteAction
* action);
72
73
protected
:
74
virtual
~
SoProtoInstance
();
75
virtual
SbBool
readInstance
(
SoInput
* in,
unsigned
short
flags);
76
virtual
const
char
*
getFileFormatName
(
void
)
const
;
77
78
private
:
79
80
static
void
sensorCB(
void
* data,
SoSensor
* sensor);
81
static
void
cleanupClass(
void
);
82
void
copyFieldData(
const
SoFieldData
* src);
83
84
class
SoProtoInstanceP * pimpl;
85
};
86
87
#endif // !COIN_SOPROTOINSTANCE_H
Copyright © by
Kongsberg Oil & Gas Technologies
. All rights reserved.
Generated on Sat Oct 26 2013 19:06:30 for Coin by
Doxygen
1.8.4.