Source code: com/trapezium/parse/Keywords.java
1 package com.trapezium.parse;
2
3 import com.trapezium.util.KeywordList;
4 import com.trapezium.util.KeywordListList;
5
6 public class Keywords {
7 static public KeywordListList key1Hash = new KeywordListList();
8 static public KeywordListList key2Hash = new KeywordListList();
9 static {
10 key1Hash.add( "MFColor" );
11 key1Hash.add( "MFFloat" );
12 key1Hash.add( "MFInt32" );
13 key1Hash.add( "MFNode" );
14 key1Hash.add( "MFRotation" );
15 key1Hash.add( "MFString" );
16 key1Hash.add( "MFVec2f" );
17 key1Hash.add( "MFVec3f" );
18 key1Hash.add( "SFBool" );
19 key1Hash.add( "SFColor" );
20 key1Hash.add( "SFFloat" );
21 key1Hash.add( "SFImage" );
22 key1Hash.add( "SFInt32" );
23 key1Hash.add( "SFNode" );
24 key1Hash.add( "SFRotation" );
25 key1Hash.add( "SFString" );
26 key1Hash.add( "SFTime" );
27 key1Hash.add( "SFVec2f" );
28 key1Hash.add( "SFVec3f" );
29 key1Hash.add( "ambientIntensity" );
30 key1Hash.add( "appearance" );
31 key1Hash.add( "attenuation" );
32 key1Hash.add( "autoOffset" );
33 key1Hash.add( "avatarSize" );
34 key1Hash.add( "axisOfRotation" );
35 key1Hash.add( "backUrl" );
36 key1Hash.add( "bboxCenter" ); // both VRML 1.0 and VRML 2.0
37 key1Hash.add( "bboxSize" ); // both VRML 1.0 and VRML 2.0
38 key1Hash.add( "beamWidth" );
39 key1Hash.add( "beginCap" );
40 key1Hash.add( "bottomRadius" ); // both VRML 1.0 and VRML 2.0
41 key1Hash.add( "bottomUrl" );
42 key1Hash.add( "ccw" );
43 key1Hash.add( "center" ); // both VRML 1.0 and VRML 2.0
44 key1Hash.add( "children" );
45 key1Hash.add( "choice" );
46 key1Hash.add( "collide" );
47 key1Hash.add( "color" ); // both VRML 1.0 and VRML 2.0
48 key1Hash.add( "colorIndex" );
49 key1Hash.add( "colorPerVertex" );
50 key1Hash.add( "convex" );
51 key1Hash.add( "coord" );
52 key1Hash.add( "coordIndex" ); // both VRML 1.0 and VRML 2.0
53 key1Hash.add( "creaseAngle" ); // both VRML 1.0 and VRML 2.0
54 key1Hash.add( "crossSection" );
55 key1Hash.add( "cutOffAngle" ); // both VRML 1.0 and VRML 2.0
56 key1Hash.add( "cycleInterval" );
57 key1Hash.add( "cycleTime" );
58 key1Hash.add( "description" ); // both VRML 1.0 and VRML 2.0
59 key1Hash.add( "diffuseColor" ); // both VRML 1.0 and VRML 2.0
60 key1Hash.add( "directOutput" );
61 key1Hash.add( "direction" ); // both VRML 1.0 and VRML 2.0
62 key1Hash.add( "diskAngle" );
63 key1Hash.add( "emissiveColor" ); // both VRML 1.0 and VRML 2.0
64 key1Hash.add( "enabled" );
65 key1Hash.add( "endCap" );
66 key1Hash.add( "enterTime" );
67 key1Hash.add( "eventIn" );
68 key1Hash.add( "eventOut" );
69 key1Hash.add( "exitTime" );
70 key1Hash.add( "exposedField" );
71 key1Hash.add( "family" ); // both VRML 1.0 and VRML 2.0
72 key1Hash.add( "field" );
73 key1Hash.add( "fieldOfView" );
74 key1Hash.add( "focalDistance" );
75 key1Hash.add( "fogType" );
76 key1Hash.add( "fontStyle" );
77 key1Hash.add( "frontUrl" );
78 key1Hash.add( "geometry" );
79 key1Hash.add( "groundAngle" );
80 key1Hash.add( "groundColor" );
81 key1Hash.add( "headlight" );
82 key1Hash.add( "height" ); // both VRML 1.0 and VRML 2.0
83 key1Hash.add( "horizontal" );
84 key1Hash.add( "image" ); // both VRML 1.0 and VRML 2.0
85 key1Hash.add( "info" );
86 key1Hash.add( "intensity" ); // both VRML 1.0 and VRML 2.0
87 key1Hash.add( "jump" );
88 key1Hash.add( "justify" );
89 key1Hash.add( "key" );
90 key1Hash.add( "keyValue" );
91 key1Hash.add( "language" );
92 key1Hash.add( "leftToRight" );
93 key1Hash.add( "leftUrl" );
94 key1Hash.add( "length" );
95 key1Hash.add( "level" );
96 key1Hash.add( "location" ); // both VRML 1.0 and VRML 2.0
97 key1Hash.add( "loop" );
98 key1Hash.add( "material" );
99 key1Hash.add( "maxAngle" );
100 key1Hash.add( "maxBack" );
101 key1Hash.add( "maxExtent" );
102 key1Hash.add( "maxFront" );
103 key1Hash.add( "maxPosition" );
104 key1Hash.add( "minAngle" );
105 key1Hash.add( "minBack" );
106 key1Hash.add( "minFront" );
107 key1Hash.add( "minPosition" );
108 key1Hash.add( "mustEvaluate" );
109 key1Hash.add( "normal" );
110 key1Hash.add( "normalIndex" ); // both VRML 1.0 and VRML 2.0
111 key1Hash.add( "normalPerVertex" );
112 key1Hash.add( "offset" );
113 key1Hash.add( "on" ); // both VRML 1.0 and VRML 2.0
114 key1Hash.add( "orientation" ); // both VRML 1.0 and VRML 2.0
115 key1Hash.add( "parameter" );
116 key1Hash.add( "pitch" );
117 key1Hash.add( "point" ); // both VRML 1.0 and VRML 2.0
118 key1Hash.add( "position" ); // both VRML 1.0 and VRML 2.0
119 key1Hash.add( "priority" );
120 key1Hash.add( "proxy" );
121 key1Hash.add( "radius" ); // both VRML 1.0 and VRML 2.0
122 key1Hash.add( "range" ); // both VRML 1.0 and VRML 2.0
123 key1Hash.add( "repeatS" );
124 key1Hash.add( "repeatT" );
125 key1Hash.add( "rightUrl" );
126 key1Hash.add( "rotation" ); // both VRML 1.0 and VRML 2.0
127 key1Hash.add( "scale" );
128 key1Hash.add( "scaleOrientation" ); // both VRML 1.0 and VRML 2.0
129 key1Hash.add( "shininess" ); // both VRML 1.0 and VRML 2.0
130 key1Hash.add( "side" );
131 key1Hash.add( "size" ); // both VRML 1.0 and VRML 2.0
132 key1Hash.add( "skyAngle" );
133 key1Hash.add( "skyColor" );
134 key1Hash.add( "solid" );
135 key1Hash.add( "source" );
136 key1Hash.add( "spacing" ); // both VRML 1.0 and VRML 2.0
137 key1Hash.add( "spatialize" );
138 key1Hash.add( "specularColor" ); // both VRML 2.0 and VRML 2.0
139 key1Hash.add( "speed" );
140 key1Hash.add( "spine" );
141 key1Hash.add( "startTime" );
142 key1Hash.add( "stopTime" );
143 key1Hash.add( "string" ); // both VRML 1.0 and VRML 2.0
144 key1Hash.add( "style" ); // both VRML 1.0 and VRML 2.0
145 key1Hash.add( "texCoord" );
146 key1Hash.add( "texCoordIndex" );
147 key1Hash.add( "texture" );
148 key1Hash.add( "textureTransform" );
149 key1Hash.add( "title" );
150 key1Hash.add( "top" );
151 key1Hash.add( "topToBottom" );
152 key1Hash.add( "topUrl" );
153 key1Hash.add( "translation" ); // both VRML 1.0 and VRML 2.0
154 key1Hash.add( "transparency" ); // both VRML 1.0 and VRML 2.0
155 key1Hash.add( "type" );
156 key1Hash.add( "url" );
157 key1Hash.add( "vector" ); // both VRML 1.0 and VRML 2.0
158 key1Hash.add( "visibilityLimit" );
159 key1Hash.add( "visibilityRange" );
160 key1Hash.add( "whichChoice" );
161 key1Hash.add( "xDimension" );
162 key1Hash.add( "xSpacing" );
163 key1Hash.add( "zDimension" );
164 key1Hash.add( "zSpacing" );
165
166 // blaxxun nurbs extensions
167 key1Hash.add( "uDimension" );
168 key1Hash.add( "vDimension" );
169 key1Hash.add( "wDimension" );
170 key1Hash.add( "uKnot" );
171 key1Hash.add( "vKnot" );
172 key1Hash.add( "wKnot" );
173 key1Hash.add( "uOrder" );
174 key1Hash.add( "vOrder" );
175 key1Hash.add( "wOrder" );
176 key1Hash.add( "controlPoint" );
177 key1Hash.add( "weight" );
178 key1Hash.add( "uTessellation" );
179 key1Hash.add( "vTessellation" );
180 key1Hash.add( "tessellationScale" );
181 key1Hash.add( "dimension" );
182 key1Hash.add( "knot" );
183 key1Hash.add( "order" );
184 key1Hash.add( "tessellation" );
185 key1Hash.add( "trimmingCurves" );
186 key1Hash.add( "surface" );
187 key1Hash.add( "keyWeight" );
188 key1Hash.add( "inputCoord" );
189 key1Hash.add( "inputTransform" );
190 key1Hash.add( "outputCoord" );
191 }
192
193 static {
194 key2Hash.add( "Anchor" );
195 key2Hash.add( "Appearance" );
196 key2Hash.add( "AudioClip" );
197 key2Hash.add( "Background" );
198 key2Hash.add( "Billboard" );
199 key2Hash.add( "Box" );
200 key2Hash.add( "Collision" );
201 key2Hash.add( "Color" );
202 key2Hash.add( "ColorInterpolator" );
203 key2Hash.add( "Cone" ); // both VRML 1.0 and VRML 2.0
204 key2Hash.add( "Coordinate" );
205 key2Hash.add( "CoordinateDeformer" ); // blaxxun nurbs extension
206 key2Hash.add( "CoordinateInterpolator" );
207 key2Hash.add( "Cylinder" ); // both VRML 1.0 and VRML 2.0
208 key2Hash.add( "CylinderSensor" );
209 key2Hash.add( "DEF" );
210 key2Hash.add( "DirectionalLight" ); // both VRML 1.0 and VRML 2.0
211 key2Hash.add( "EXTERNPROTO" );
212 key2Hash.add( "ElevationGrid" );
213 key2Hash.add( "Extrusion" );
214 key2Hash.add( "Fog" );
215 key2Hash.add( "FontStyle" ); // both VRML 1.0 and VRML 2.0
216 key2Hash.add( "Group" );
217 key2Hash.add( "ImageTexture" );
218 key2Hash.add( "IndexedFaceSet" ); // both VRML 1.0 and VRML 2.0
219 key2Hash.add( "IndexedLineSet" ); // both VRML 1.0 and VRML 2.0
220 key2Hash.add( "Inline" );
221 key2Hash.add( "LOD" ); // both VRML 1.0 and VRML 2.0
222 key2Hash.add( "Material" ); // both VRML 1.0 and VRML 2.0
223 key2Hash.add( "MovieTexture" );
224 key2Hash.add( "NavigationInfo" );
225 key2Hash.add( "Normal" ); // both VRML 1.0 and VRML 2.0
226 key2Hash.add( "NormalInterpolator" );
227 key2Hash.add( "NurbsCurve2D" ); // blaxxun nurbs extension
228 key2Hash.add( "NurbsGroup" ); // blaxxun nurbs extension
229 key2Hash.add( "NurbsPositionInterpolator" ); // blaxxun nurbs extension
230 key2Hash.add( "NurbsSurface" ); // blaxxun nurbs extension
231 key2Hash.add( "NurbsTextureSurface" ); // blaxxun nurbs extension
232 key2Hash.add( "OrientationInterpolator" );
233 key2Hash.add( "PROTO" );
234 key2Hash.add( "PixelTexture" );
235 key2Hash.add( "PlaneSensor" );
236 key2Hash.add( "PointLight" ); // both VRML 1.0 and VRML 2.0
237 key2Hash.add( "PointSet" ); // both VRML 1.0 and VRML 2.0
238 key2Hash.add( "PositionInterpolator" );
239 key2Hash.add( "ProximitySensor" );
240 key2Hash.add( "ScalarInterpolator" );
241 key2Hash.add( "Script" );
242 key2Hash.add( "Shape" );
243 key2Hash.add( "Sound" );
244 key2Hash.add( "Sphere" ); // both VRML 1.0 and VRML 2.0
245 key2Hash.add( "SphereSensor" );
246 key2Hash.add( "SpotLight" ); // both VRML 1.0 and VRML 2.0
247 key2Hash.add( "Switch" ); // both VRML 1.0 and VRML 2.0
248 key2Hash.add( "Text" );
249 key2Hash.add( "TextureCoordinate" );
250 key2Hash.add( "TextureTransform" );
251 key2Hash.add( "TimeSensor" );
252 key2Hash.add( "TouchSensor" );
253 key2Hash.add( "Transform" ); // both VRML 1.0 and VRML 2.0
254 key2Hash.add( "TrimmedSurface" ); // blaxxun nurbs extension
255 key2Hash.add( "USE" );
256 key2Hash.add( "Viewpoint" );
257 key2Hash.add( "VisibilitySensor" );
258 key2Hash.add( "WorldInfo" );
259 };
260
261 static public KeywordList getKeyList1( char idx ) {
262 int offset = 0;
263 if (( idx >= 'A' ) && ( idx <= 'Z' )) {
264 offset = idx - 'A';
265 return( key1Hash.getCapList( offset ));
266 } else {
267 offset = idx - 'a';
268 return( key1Hash.getSmallList( offset ));
269 }
270 }
271
272 static public KeywordList getKeyList2( char idx ) {
273 int offset = 0;
274 if (( idx >= 'A' ) && ( idx <= 'Z' )) {
275 offset = idx - 'A';
276 return( key2Hash.getCapList( offset ));
277 } else {
278 offset = idx - 'a';
279 return( key2Hash.getSmallList( offset ));
280 }
281 }
282 }
283
284