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