Coin
4.0.3
Coin3D core library
Loading...
Searching...
No Matches
SoVRMLMacros.h
1
/**************************************************************************\
2
* Copyright (c) Kongsberg Oil & Gas Technologies AS
3
* All rights reserved.
4
*
5
* Redistribution and use in source and binary forms, with or without
6
* modification, are permitted provided that the following conditions are
7
* met:
8
*
9
* Redistributions of source code must retain the above copyright notice,
10
* this list of conditions and the following disclaimer.
11
*
12
* Redistributions in binary form must reproduce the above copyright
13
* notice, this list of conditions and the following disclaimer in the
14
* documentation and/or other materials provided with the distribution.
15
*
16
* Neither the name of the copyright holder nor the names of its
17
* contributors may be used to endorse or promote products derived from
18
* this software without specific prior written permission.
19
*
20
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
21
* "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
22
* LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
23
* A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
24
* HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
25
* SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
26
* LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
27
* DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
28
* THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
29
* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
30
* OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
31
\**************************************************************************/
32
33
#ifndef COIN_SOVRMLMACROS_H
34
#define COIN_SOVRMLMACROS_H
35
36
#include <Inventor/nodes/SoSubNode.h>
37
38
#define SO_VRMLNODE_INTERNAL_CONSTRUCTOR(_class_) \
39
SO_NODE_INTERNAL_CONSTRUCTOR(_class_); \
40
this->setNodeType(SoNode::VRML2);
41
42
#define SO_VRMLNODE_ADD_EVENT_IN(_field_) \
43
do { \
44
this->_field_.setFieldType(SoField::EVENTIN_FIELD); \
45
this->_field_.setContainer(this); \
46
fieldData->addField(this, SO__QUOTE(_field_), &this->_field_);\
47
} WHILE_0
48
49
#define SO_VRMLNODE_ADD_EVENT_OUT(_field_) \
50
do { \
51
this->_field_.setFieldType(SoField::EVENTOUT_FIELD); \
52
this->_field_.setContainer(this); \
53
fieldData->addField(this, SO__QUOTE(_field_), &this->_field_);\
54
} WHILE_0
55
56
#define SO_VRMLNODE_ADD_EMPTY_EXPOSED_MFIELD(_field_) \
57
do { \
58
this->_field_.setFieldType(SoField::EXPOSED_FIELD); \
59
this->_field_.setContainer(this); \
60
fieldData->addField(this, SO__QUOTE(_field_), &this->_field_);\
61
} WHILE_0
62
63
#define SO_VRMLNODE_ADD_EMPTY_MFIELD(_field_) \
64
do { \
65
this->_field_.setContainer(this); \
66
fieldData->addField(this, SO__QUOTE(_field_), &this->_field_);\
67
} WHILE_0
68
69
70
#define SO_VRMLNODE_ADD_FIELD(_field_, _defaultval_) \
71
SO_NODE_ADD_FIELD(_field_, _defaultval_)
72
73
#define SO_VRMLNODE_ADD_EXPOSED_FIELD(_field_, _defaultval_) \
74
this->_field_.setFieldType(SoField::EXPOSED_FIELD); \
75
SO_NODE_ADD_FIELD(_field_, _defaultval_)
76
77
#define SO_VRML97_NODE_TYPE (SoNode::VRML2|SoNode::COIN_2_0)
78
79
80
#endif
// COIN_SOVRMLMACROS_H
include
Inventor
VRMLnodes
SoVRMLMacros.h
Generated on Sun Nov 17 2024 22:57:40 for Coin by
1.10.0