KiCad PCB EDA Suite
wrltypes.h
Go to the documentation of this file.
1
/*
2
* This program source code file is part of KiCad, a free EDA CAD application.
3
*
4
* Copyright (C) 2015 Cirilo Bernardo <cirilo.bernardo@gmail.com>
5
*
6
* This program is free software; you can redistribute it and/or
7
* modify it under the terms of the GNU General Public License
8
* as published by the Free Software Foundation; either version 2
9
* of the License, or (at your option) any later version.
10
*
11
* This program is distributed in the hope that it will be useful,
12
* but WITHOUT ANY WARRANTY; without even the implied warranty of
13
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14
* GNU General Public License for more details.
15
*
16
* You should have received a copy of the GNU General Public License
17
* along with this program; if not, you may find one here:
18
* http://www.gnu.org/licenses/old-licenses/gpl-2.0.html
19
* or you may search the http://www.gnu.org website for the version 2 license,
20
* or you may write to the Free Software Foundation, Inc.,
21
* 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA
22
*/
23
30
#ifndef WRLTYPES_H
31
#define WRLTYPES_H
32
33
#define GLM_FORCE_RADIANS
34
#include <glm/glm.hpp>
35
36
// log mask for wxLogTrace
37
#define MASK_VRML "PLUGIN_VRML"
38
39
// version of the VRML file being parsed
40
enum
WRLVERSION
41
{
42
VRML_INVALID
= 0,
// not a valid VRML file
43
VRML_V1
,
44
VRML_V2
45
};
46
47
48
// VRML1 Node Types
49
// These are used to look up node names and to quickly
50
// determine what routine to invoke to read a section of
51
// a file.
52
enum
WRL1NODES
53
{
54
WRL1_BASE
= 0,
// not really a VRML node but we need a top level virtual node
55
WRL1_BEGIN
,
56
WRL1_ASCIITEXT
=
WRL1_BEGIN
,
57
WRL1_CONE
,
58
WRL1_COORDINATE3
,
59
WRL1_CUBE
,
60
WRL1_CYLINDER
,
61
WRL1_DIRECTIONALLIGHT
,
62
WRL1_FONTSTYLE
,
63
WRL1_GROUP
,
64
WRL1_INDEXEDFACESET
,
65
WRL1_INDEXEDLINESET
,
66
WRL1_INFO
,
67
WRL1_LOD
,
68
WRL1_MATERIAL
,
69
WRL1_MATERIALBINDING
,
70
WRL1_MATRIXTRANSFORM
,
71
WRL1_NORMAL
,
72
WRL1_NORMALBINDING
,
73
WRL1_ORTHOCAMERA
,
74
WRL1_PERSPECTIVECAMERA
,
75
WRL1_POINTLIGHT
,
76
WRL1_POINTSET
,
77
WRL1_ROTATION
,
78
WRL1_SCALE
,
79
WRL1_SEPARATOR
,
80
WRL1_SHAPEHINTS
,
81
WRL1_SPHERE
,
82
WRL1_SPOTLIGHT
,
83
WRL1_SWITCH
,
84
WRL1_TEXTURE2
,
85
WRL1_TEXTURE2TRANSFORM
,
86
WRL1_TEXTURECOORDINATE2
,
87
WRL1_TRANSFORM
,
88
WRL1_TRANSLATION
,
89
WRL1_WWWANCHOR
,
90
WRL1_WWWINLINE
,
91
WRL1_INVALID
,
92
WRL1_END
=
WRL1_INVALID
93
};
94
95
// VRML1 Material/Normal Binding values
96
// note: PART/FACE have the same meaning in the specification
97
enum
WRL1_BINDING
98
{
99
BIND_DEFAULT
= 0,
100
BIND_OVERALL
,
101
BIND_PER_PART
,
102
BIND_PER_FACE
=
BIND_PER_PART
,
103
BIND_PER_PART_INDEXED
,
104
BIND_PER_FACE_INDEXED
=
BIND_PER_PART_INDEXED
,
105
BIND_PER_VERTEX
,
106
BIND_PER_VERTEX_INDEXED
,
107
BIND_END
108
};
109
110
enum
WRL1_ORDER
111
{
112
ORD_UNKNOWN
= 0,
113
ORD_CLOCKWISE
,
114
ORD_CCW
115
};
116
117
// VRML2 Node Types
118
// These are used to look up node names and to quickly
119
// determine what routine to invoke to read a section of
120
// a file.
121
enum
WRL2NODES
122
{
123
WRL2_BASE
= 0,
// not really a VRML node but we need a top level virtual node
124
WRL2_BEGIN
,
125
WRL2_ANCHOR
=
WRL2_BEGIN
,
126
WRL2_APPEARANCE
,
127
WRL2_AUDIOCLIP
,
128
WRL2_BACKGROUND
,
129
WRL2_BILLBOARD
,
130
WRL2_BOX
,
131
WRL2_COLLISION
,
132
WRL2_COLOR
,
133
WRL2_COLORINTERPOLATOR
,
134
WRL2_CONE
,
135
WRL2_COORDINATE
,
136
WRL2_COORDINATEINTERPOLATOR
,
137
WRL2_CYLINDER
,
138
WRL2_CYLINDERSENSOR
,
139
WRL2_DIRECTIONALLIGHT
,
140
WRL2_ELEVATIONGRID
,
141
WRL2_EXTRUSION
,
142
WRL2_FOG
,
143
WRL2_FONTSTYLE
,
144
WRL2_GROUP
,
145
WRL2_IMAGETEXTURE
,
146
WRL2_INDEXEDFACESET
,
147
WRL2_INDEXEDLINESET
,
148
WRL2_INLINE
,
149
WRL2_LOD
,
150
WRL2_MATERIAL
,
151
WRL2_MOVIETEXTURE
,
152
WRL2_NAVIGATIONINFO
,
153
WRL2_NORMAL
,
154
WRL2_NORMALINTERPOLATOR
,
155
WRL2_ORIENTATIONINTERPOLATOR
,
156
WRL2_PIXELTEXTURE
,
157
WRL2_PLANESENSOR
,
158
WRL2_POINTLIGHT
,
159
WRL2_POINTSET
,
160
WRL2_POSITIONINTERPOLATOR
,
161
WRL2_PROXIMITYSENSOR
,
162
WRL2_SCALARINTERPOLATOR
,
163
WRL2_SCRIPT
,
164
WRL2_SHAPE
,
165
WRL2_SOUND
,
166
WRL2_SPHERE
,
167
WRL2_SPHERESENSOR
,
168
WRL2_SPOTLIGHT
,
169
WRL2_SWITCH
,
170
WRL2_TEXT
,
171
WRL2_TEXTURECOORDINATE
,
172
WRL2_TEXTURETRANSFORM
,
173
WRL2_TIMESENSOR
,
174
WRL2_TOUCHSENSOR
,
175
WRL2_TRANSFORM
,
176
WRL2_VIEWPOINT
,
177
WRL2_VISIBILITYSENSOR
,
178
WRL2_WORLDINFO
,
179
WRL2_INVALID
,
180
WRL2_END
=
WRL2_INVALID
181
};
182
183
184
typedef
glm::vec2
WRLVEC2F
;
185
typedef
glm::vec3
WRLVEC3F
;
186
typedef
glm::vec4
WRLROTATION
;
187
188
#endif // WRLTYPES_H
BIND_PER_PART
Definition:
wrltypes.h:101
BIND_PER_VERTEX_INDEXED
Definition:
wrltypes.h:106
WRL1_BASE
Definition:
wrltypes.h:54
WRL2_SPHERE
Definition:
wrltypes.h:166
WRL2_TOUCHSENSOR
Definition:
wrltypes.h:174
WRL2_PLANESENSOR
Definition:
wrltypes.h:157
WRL1_TEXTURECOORDINATE2
Definition:
wrltypes.h:86
WRL1_ORTHOCAMERA
Definition:
wrltypes.h:73
WRL2_MOVIETEXTURE
Definition:
wrltypes.h:151
WRL2_TEXTURETRANSFORM
Definition:
wrltypes.h:172
WRL2_CONE
Definition:
wrltypes.h:134
WRL2_SCALARINTERPOLATOR
Definition:
wrltypes.h:162
WRL2_BASE
Definition:
wrltypes.h:123
WRL2_ELEVATIONGRID
Definition:
wrltypes.h:140
WRL2_VIEWPOINT
Definition:
wrltypes.h:176
WRLVEC3F
glm::vec3 WRLVEC3F
Definition:
wrltypes.h:185
WRL1_SHAPEHINTS
Definition:
wrltypes.h:80
WRL2_INVALID
Definition:
wrltypes.h:179
WRLVERSION
WRLVERSION
Definition:
wrltypes.h:40
WRL2_MATERIAL
Definition:
wrltypes.h:150
BIND_PER_VERTEX
Definition:
wrltypes.h:105
WRL2_EXTRUSION
Definition:
wrltypes.h:141
WRL1_SEPARATOR
Definition:
wrltypes.h:79
WRL1_POINTSET
Definition:
wrltypes.h:76
WRL2_BEGIN
Definition:
wrltypes.h:124
WRL2_CYLINDERSENSOR
Definition:
wrltypes.h:138
WRL1_WWWINLINE
Definition:
wrltypes.h:90
WRL2_NAVIGATIONINFO
Definition:
wrltypes.h:152
WRL2_SOUND
Definition:
wrltypes.h:165
WRL2_TEXT
Definition:
wrltypes.h:170
WRL1_CYLINDER
Definition:
wrltypes.h:60
WRL1_SPHERE
Definition:
wrltypes.h:81
WRL2_APPEARANCE
Definition:
wrltypes.h:126
WRL1_INDEXEDLINESET
Definition:
wrltypes.h:65
WRL1_DIRECTIONALLIGHT
Definition:
wrltypes.h:61
WRL2_POINTSET
Definition:
wrltypes.h:159
WRL2_BILLBOARD
Definition:
wrltypes.h:129
WRL1_ROTATION
Definition:
wrltypes.h:77
WRL2_BACKGROUND
Definition:
wrltypes.h:128
WRL1_SPOTLIGHT
Definition:
wrltypes.h:82
WRL2_VISIBILITYSENSOR
Definition:
wrltypes.h:177
WRL2_COLOR
Definition:
wrltypes.h:132
BIND_PER_FACE_INDEXED
Definition:
wrltypes.h:104
BIND_OVERALL
Definition:
wrltypes.h:100
VRML_V2
Definition:
wrltypes.h:44
WRL2_LOD
Definition:
wrltypes.h:149
WRL1_WWWANCHOR
Definition:
wrltypes.h:89
WRLVEC2F
glm::vec2 WRLVEC2F
Definition:
wrltypes.h:184
WRLROTATION
glm::vec4 WRLROTATION
Definition:
wrltypes.h:186
WRL1_INDEXEDFACESET
Definition:
wrltypes.h:64
WRL2_IMAGETEXTURE
Definition:
wrltypes.h:145
WRL1_SWITCH
Definition:
wrltypes.h:83
WRL2_TRANSFORM
Definition:
wrltypes.h:175
WRL2_GROUP
Definition:
wrltypes.h:144
WRL1_MATRIXTRANSFORM
Definition:
wrltypes.h:70
WRL1_NORMAL
Definition:
wrltypes.h:71
WRL2_NORMALINTERPOLATOR
Definition:
wrltypes.h:154
WRL1_BINDING
WRL1_BINDING
Definition:
wrltypes.h:97
WRL1_INVALID
Definition:
wrltypes.h:91
WRL1_FONTSTYLE
Definition:
wrltypes.h:62
WRL2_ANCHOR
Definition:
wrltypes.h:125
WRL2_POSITIONINTERPOLATOR
Definition:
wrltypes.h:160
VRML_V1
Definition:
wrltypes.h:43
WRL1_NORMALBINDING
Definition:
wrltypes.h:72
WRL1_ORDER
WRL1_ORDER
Definition:
wrltypes.h:110
WRL1_SCALE
Definition:
wrltypes.h:78
WRL1_LOD
Definition:
wrltypes.h:67
WRL2_PIXELTEXTURE
Definition:
wrltypes.h:156
WRL1_POINTLIGHT
Definition:
wrltypes.h:75
WRL1_PERSPECTIVECAMERA
Definition:
wrltypes.h:74
WRL2_INDEXEDFACESET
Definition:
wrltypes.h:146
ORD_UNKNOWN
Definition:
wrltypes.h:112
WRL1_CONE
Definition:
wrltypes.h:57
VRML_INVALID
Definition:
wrltypes.h:42
WRL2_CYLINDER
Definition:
wrltypes.h:137
WRL1_TRANSLATION
Definition:
wrltypes.h:88
WRL1_TRANSFORM
Definition:
wrltypes.h:87
WRL1_END
Definition:
wrltypes.h:92
WRL1_CUBE
Definition:
wrltypes.h:59
BIND_PER_FACE
Definition:
wrltypes.h:102
WRL2_SWITCH
Definition:
wrltypes.h:169
WRL2_COLORINTERPOLATOR
Definition:
wrltypes.h:133
WRL1_TEXTURE2
Definition:
wrltypes.h:84
WRL2_COORDINATEINTERPOLATOR
Definition:
wrltypes.h:136
WRL1_BEGIN
Definition:
wrltypes.h:55
WRL2_SPOTLIGHT
Definition:
wrltypes.h:168
WRL2_POINTLIGHT
Definition:
wrltypes.h:158
WRL1_TEXTURE2TRANSFORM
Definition:
wrltypes.h:85
WRL2_INDEXEDLINESET
Definition:
wrltypes.h:147
WRL1_ASCIITEXT
Definition:
wrltypes.h:56
WRL2_SPHERESENSOR
Definition:
wrltypes.h:167
WRL2_AUDIOCLIP
Definition:
wrltypes.h:127
ORD_CLOCKWISE
Definition:
wrltypes.h:113
BIND_END
Definition:
wrltypes.h:107
WRL2_END
Definition:
wrltypes.h:180
WRL1NODES
WRL1NODES
Definition:
wrltypes.h:52
WRL2_ORIENTATIONINTERPOLATOR
Definition:
wrltypes.h:155
WRL2_TEXTURECOORDINATE
Definition:
wrltypes.h:171
WRL2_WORLDINFO
Definition:
wrltypes.h:178
WRL1_INFO
Definition:
wrltypes.h:66
WRL2NODES
WRL2NODES
Definition:
wrltypes.h:121
WRL2_COORDINATE
Definition:
wrltypes.h:135
BIND_PER_PART_INDEXED
Definition:
wrltypes.h:103
WRL2_NORMAL
Definition:
wrltypes.h:153
WRL2_BOX
Definition:
wrltypes.h:130
WRL2_DIRECTIONALLIGHT
Definition:
wrltypes.h:139
WRL1_MATERIALBINDING
Definition:
wrltypes.h:69
WRL2_COLLISION
Definition:
wrltypes.h:131
WRL2_SCRIPT
Definition:
wrltypes.h:163
WRL2_FOG
Definition:
wrltypes.h:142
WRL1_MATERIAL
Definition:
wrltypes.h:68
WRL2_PROXIMITYSENSOR
Definition:
wrltypes.h:161
WRL2_FONTSTYLE
Definition:
wrltypes.h:143
WRL2_SHAPE
Definition:
wrltypes.h:164
WRL2_TIMESENSOR
Definition:
wrltypes.h:173
WRL2_INLINE
Definition:
wrltypes.h:148
BIND_DEFAULT
Definition:
wrltypes.h:99
WRL1_GROUP
Definition:
wrltypes.h:63
WRL1_COORDINATE3
Definition:
wrltypes.h:58
ORD_CCW
Definition:
wrltypes.h:114
plugins
3d
vrml
wrltypes.h
Generated on Wed Jan 20 2021 04:11:08 for KiCad PCB EDA Suite by
1.8.15