1 /*
2     Copyright (c) 2008-2013 NetAllied Systems GmbH
3 
4     This file is part of COLLADASaxFrameworkLoader.
5 
6     Licensed under the MIT Open Source License,
7     for details please see LICENSE file or the website
8     http://www.opensource.org/licenses/mit-license.php
9 */
10 
11 #include "COLLADASaxFWLStableHeaders.h"
12 #include "GeneratedSaxParserUtils.h"
13 
14 #include "COLLADASaxFWLColladaParserAutoGen14Private.h"
15 
16 
17 // disable warning "unused variable"
18 #if defined(__INTEL_COMPILER) && !defined(WIN32)
19 template <typename T>
disable_warning_unused(T & x)20 inline void disable_warning_unused(T &x) { (void)x; }
21 #    define DISABLE_WARNING_UNUSED(x) disable_warning_unused(x);
22 #else
23 #    define DISABLE_WARNING_UNUSED(x) (void)x;
24 #endif
25 
26 
27 
28 namespace COLLADASaxFWL14
29 {
30 
31 
32 //---------------------------------------------------------------------
ColladaParserAutoGen14Private(COLLADASaxFWL14::ColladaParserAutoGen14 * impl,GeneratedSaxParser::IErrorHandler * errorHandler)33 ColladaParserAutoGen14Private::ColladaParserAutoGen14Private( COLLADASaxFWL14::ColladaParserAutoGen14* impl, GeneratedSaxParser::IErrorHandler* errorHandler
34 )    : GeneratedSaxParser::ParserTemplate<ColladaParserAutoGen14Private, ColladaParserAutoGen14>(impl, errorHandler)
35 {
36     initFunctionMap();
37     initNameMap();
38 }
39 
40 //---------------------------------------------------------------------
~ColladaParserAutoGen14Private()41 ColladaParserAutoGen14Private::~ColladaParserAutoGen14Private()
42 {
43 }
44 
45 
46 //---------------------------------------------------------------------
47 const char* NAME_NAMESPACE_COLLADA = "http://www.collada.org/2005/11/COLLADASchema";
48 const char* NAME_NAMESPACE_http___www_w3_org_2001_XMLSchema = "http://www.w3.org/2001/XMLSchema";
49 const char* NAME_NAMESPACE_http___www_w3_org_XML_1998_namespace = "http://www.w3.org/XML/1998/namespace";
50 
51 const char* NAME_ATTRIBUTE_base = "xml:base";
52 const char* NAME_ATTRIBUTE_body = "body";
53 const char* NAME_ATTRIBUTE_camera_node = "camera_node";
54 const char* NAME_ATTRIBUTE_closed = "closed";
55 const char* NAME_ATTRIBUTE_constraint = "constraint";
56 const char* NAME_ATTRIBUTE_convex_hull_of = "convex_hull_of";
57 const char* NAME_ATTRIBUTE_count = "count";
58 const char* NAME_ATTRIBUTE_depth = "depth";
59 const char* NAME_ATTRIBUTE_digits = "digits";
60 const char* NAME_ATTRIBUTE_end = "end";
61 const char* NAME_ATTRIBUTE_face = NAME_ELEMENT_FACE;
62 const char* NAME_ATTRIBUTE_format = "format";
63 const char* NAME_ATTRIBUTE_height = "height";
64 const char* NAME_ATTRIBUTE_id = "id";
65 const char* NAME_ATTRIBUTE_index = "index";
66 const char* NAME_ATTRIBUTE_input_semantic = "input_semantic";
67 const char* NAME_ATTRIBUTE_input_set = "input_set";
68 const char* NAME_ATTRIBUTE_layer = "layer";
69 const char* NAME_ATTRIBUTE_length = "length";
70 const char* NAME_ATTRIBUTE_magnitude = "magnitude";
71 const char* NAME_ATTRIBUTE_material = "material";
72 const char* NAME_ATTRIBUTE_maxInclusive = "maxInclusive";
73 const char* NAME_ATTRIBUTE_meter = "meter";
74 const char* NAME_ATTRIBUTE_method = "method";
75 const char* NAME_ATTRIBUTE_minInclusive = "minInclusive";
76 const char* NAME_ATTRIBUTE_mip = "mip";
77 const char* NAME_ATTRIBUTE_name = "name";
78 const char* NAME_ATTRIBUTE_offset = "offset";
79 const char* NAME_ATTRIBUTE_opaque = "opaque";
80 const char* NAME_ATTRIBUTE_operand = "operand";
81 const char* NAME_ATTRIBUTE_operator = "operator";
82 const char* NAME_ATTRIBUTE_param = NAME_ELEMENT_PARAM;
83 const char* NAME_ATTRIBUTE_parent = "parent";
84 const char* NAME_ATTRIBUTE_platform = "platform";
85 const char* NAME_ATTRIBUTE_profile = "profile";
86 const char* NAME_ATTRIBUTE_program = "program";
87 const char* NAME_ATTRIBUTE_ref = "ref";
88 const char* NAME_ATTRIBUTE_rigid_body = NAME_ELEMENT_RIGID_BODY;
89 const char* NAME_ATTRIBUTE_scale = NAME_ELEMENT_SCALE;
90 const char* NAME_ATTRIBUTE_semantic = "semantic";
91 const char* NAME_ATTRIBUTE_set = "set";
92 const char* NAME_ATTRIBUTE_sid = "sid";
93 const char* NAME_ATTRIBUTE_slice = "slice";
94 const char* NAME_ATTRIBUTE_source = NAME_ELEMENT_SOURCE;
95 const char* NAME_ATTRIBUTE_stage = "stage";
96 const char* NAME_ATTRIBUTE_start = "start";
97 const char* NAME_ATTRIBUTE_stride = "stride";
98 const char* NAME_ATTRIBUTE_symbol = "symbol";
99 const char* NAME_ATTRIBUTE_target = "target";
100 const char* NAME_ATTRIBUTE_texcoord = NAME_ELEMENT_TEXCOORD;
101 const char* NAME_ATTRIBUTE_texture = NAME_ELEMENT_TEXTURE;
102 const char* NAME_ATTRIBUTE_type = "type";
103 const char* NAME_ATTRIBUTE_unit = NAME_ELEMENT_UNIT;
104 const char* NAME_ATTRIBUTE_url = "url";
105 const char* NAME_ATTRIBUTE_value = "value";
106 const char* NAME_ATTRIBUTE_version = "version";
107 const char* NAME_ATTRIBUTE_width = "width";
108 const char* NAME_ATTRIBUTE_xmlns = "xmlns";
109 const char* NAME_ELEMENT_ACCESSOR = "accessor";
110 const char* NAME_ELEMENT_ALL = "all";
111 const char* NAME_ELEMENT_ALPHA = "alpha";
112 const char* NAME_ELEMENT_ALPHA_FUNC = "alpha_func";
113 const char* NAME_ELEMENT_ALPHA_TEST_ENABLE = "alpha_test_enable";
114 const char* NAME_ELEMENT_ALPHA____GLES_TEXCOMBINER_COMMANDALPHA_TYPE = "alpha____gles_texcombiner_commandAlpha_type";
115 const char* NAME_ELEMENT_AMBIENT = "ambient";
116 const char* NAME_ELEMENT_AMBIENT____COMMON_COLOR_OR_TEXTURE_TYPE = "ambient____common_color_or_texture_type";
117 const char* NAME_ELEMENT_ANGULAR = "angular";
118 const char* NAME_ELEMENT_ANGULAR_VELOCITY = "angular_velocity";
119 const char* NAME_ELEMENT_ANIMATION = "animation";
120 const char* NAME_ELEMENT_ANIMATION_CLIP = "animation_clip";
121 const char* NAME_ELEMENT_ANIMATION__SOURCE__TECHNIQUE_COMMON = "animation__source__technique_common";
122 const char* NAME_ELEMENT_ANNOTATE = "annotate";
123 const char* NAME_ELEMENT_ARGUMENT = "argument";
124 const char* NAME_ELEMENT_ARGUMENT____GLES_TEXCOMBINER_ARGUMENTALPHA_TYPE = "argument____gles_texcombiner_argumentAlpha_type";
125 const char* NAME_ELEMENT_ARGUMENT____GLES_TEXCOMBINER_ARGUMENTRGB_TYPE = "argument____gles_texcombiner_argumentRGB_type";
126 const char* NAME_ELEMENT_ARRAY = "array";
127 const char* NAME_ELEMENT_ARRAY____CG_NEWARRAY_TYPE = "array____cg_newarray_type";
128 const char* NAME_ELEMENT_ARRAY____CG_SETARRAY_TYPE = "array____cg_setarray_type";
129 const char* NAME_ELEMENT_ARRAY____GLSL_NEWARRAY_TYPE = "array____glsl_newarray_type";
130 const char* NAME_ELEMENT_ARRAY____GLSL_SETARRAY_TYPE = "array____glsl_setarray_type";
131 const char* NAME_ELEMENT_ASPECT_RATIO = "aspect_ratio";
132 const char* NAME_ELEMENT_ASSET = "asset";
133 const char* NAME_ELEMENT_ATTACHMENT = "attachment";
134 const char* NAME_ELEMENT_AUTHOR = "author";
135 const char* NAME_ELEMENT_AUTHORING_TOOL = "authoring_tool";
136 const char* NAME_ELEMENT_AUTO_NORMAL_ENABLE = "auto_normal_enable";
137 const char* NAME_ELEMENT_BACK = "back";
138 const char* NAME_ELEMENT_BIND = "bind";
139 const char* NAME_ELEMENT_BIND_MATERIAL = "bind_material";
140 const char* NAME_ELEMENT_BIND_MATERIAL__TECHNIQUE_COMMON = "bind_material__technique_common";
141 const char* NAME_ELEMENT_BIND_SHAPE_MATRIX = "bind_shape_matrix";
142 const char* NAME_ELEMENT_BIND_VERTEX_INPUT = "bind_vertex_input";
143 const char* NAME_ELEMENT_BLEND_COLOR = "blend_color";
144 const char* NAME_ELEMENT_BLEND_ENABLE = "blend_enable";
145 const char* NAME_ELEMENT_BLEND_EQUATION = "blend_equation";
146 const char* NAME_ELEMENT_BLEND_EQUATION_SEPARATE = "blend_equation_separate";
147 const char* NAME_ELEMENT_BLEND_EQUATION_SEPARATE__ALPHA = "blend_equation_separate__alpha";
148 const char* NAME_ELEMENT_BLEND_FUNC = "blend_func";
149 const char* NAME_ELEMENT_BLEND_FUNC_SEPARATE = "blend_func_separate";
150 const char* NAME_ELEMENT_BLINN = "blinn";
151 const char* NAME_ELEMENT_BOOL = "bool";
152 const char* NAME_ELEMENT_BOOL1 = "bool1";
153 const char* NAME_ELEMENT_BOOL1X1 = "bool1x1";
154 const char* NAME_ELEMENT_BOOL1X2 = "bool1x2";
155 const char* NAME_ELEMENT_BOOL1X3 = "bool1x3";
156 const char* NAME_ELEMENT_BOOL1X4 = "bool1x4";
157 const char* NAME_ELEMENT_BOOL2 = "bool2";
158 const char* NAME_ELEMENT_BOOL2X1 = "bool2x1";
159 const char* NAME_ELEMENT_BOOL2X2 = "bool2x2";
160 const char* NAME_ELEMENT_BOOL2X3 = "bool2x3";
161 const char* NAME_ELEMENT_BOOL2X4 = "bool2x4";
162 const char* NAME_ELEMENT_BOOL2____BOOL2 = "bool2____bool2";
163 const char* NAME_ELEMENT_BOOL2____CG_BOOL2 = "bool2____cg_bool2";
164 const char* NAME_ELEMENT_BOOL2____GLSL_BOOL2 = "bool2____glsl_bool2";
165 const char* NAME_ELEMENT_BOOL3 = "bool3";
166 const char* NAME_ELEMENT_BOOL3X1 = "bool3x1";
167 const char* NAME_ELEMENT_BOOL3X2 = "bool3x2";
168 const char* NAME_ELEMENT_BOOL3X3 = "bool3x3";
169 const char* NAME_ELEMENT_BOOL3X4 = "bool3x4";
170 const char* NAME_ELEMENT_BOOL3____BOOL3 = "bool3____bool3";
171 const char* NAME_ELEMENT_BOOL3____CG_BOOL3 = "bool3____cg_bool3";
172 const char* NAME_ELEMENT_BOOL3____GLSL_BOOL3 = "bool3____glsl_bool3";
173 const char* NAME_ELEMENT_BOOL4 = "bool4";
174 const char* NAME_ELEMENT_BOOL4X1 = "bool4x1";
175 const char* NAME_ELEMENT_BOOL4X2 = "bool4x2";
176 const char* NAME_ELEMENT_BOOL4X3 = "bool4x3";
177 const char* NAME_ELEMENT_BOOL4X4 = "bool4x4";
178 const char* NAME_ELEMENT_BOOL4____BOOL4 = "bool4____bool4";
179 const char* NAME_ELEMENT_BOOL4____CG_BOOL4 = "bool4____cg_bool4";
180 const char* NAME_ELEMENT_BOOL4____GLSL_BOOL4 = "bool4____glsl_bool4";
181 const char* NAME_ELEMENT_BOOL_ARRAY = "bool_array";
182 const char* NAME_ELEMENT_BOOL____BOOL = "bool____bool";
183 const char* NAME_ELEMENT_BOOL____CG_BOOL = "bool____cg_bool";
184 const char* NAME_ELEMENT_BOOL____GLSL_BOOL = "bool____glsl_bool";
185 const char* NAME_ELEMENT_BORDER_COLOR = "border_color";
186 const char* NAME_ELEMENT_BOX = "box";
187 const char* NAME_ELEMENT_CAMERA = "camera";
188 const char* NAME_ELEMENT_CAPSULE = "capsule";
189 const char* NAME_ELEMENT_CG_SURFACE_TYPE____GENERATOR = "cg_surface_type____generator";
190 const char* NAME_ELEMENT_CHANNEL = "channel";
191 const char* NAME_ELEMENT_CHANNELS = "channels";
192 const char* NAME_ELEMENT_CLEAR_COLOR = "clear_color";
193 const char* NAME_ELEMENT_CLEAR_DEPTH = "clear_depth";
194 const char* NAME_ELEMENT_CLEAR_STENCIL = "clear_stencil";
195 const char* NAME_ELEMENT_CLIP_PLANE = "clip_plane";
196 const char* NAME_ELEMENT_CLIP_PLANE_ENABLE = "clip_plane_enable";
197 const char* NAME_ELEMENT_CODE = "code";
198 const char* NAME_ELEMENT_COLLADA = "COLLADA";
199 const char* NAME_ELEMENT_COLOR = "color";
200 const char* NAME_ELEMENT_COLOR_CLEAR = "color_clear";
201 const char* NAME_ELEMENT_COLOR_CLEAR____FX_CLEARCOLOR_COMMON = "color_clear____fx_clearcolor_common";
202 const char* NAME_ELEMENT_COLOR_CLEAR____FX_COLOR_COMMON = "color_clear____fx_color_common";
203 const char* NAME_ELEMENT_COLOR_LOGIC_OP_ENABLE = "color_logic_op_enable";
204 const char* NAME_ELEMENT_COLOR_MASK = "color_mask";
205 const char* NAME_ELEMENT_COLOR_MATERIAL = "color_material";
206 const char* NAME_ELEMENT_COLOR_MATERIAL_ENABLE = "color_material_enable";
207 const char* NAME_ELEMENT_COLOR_MATERIAL__FACE = "color_material__face";
208 const char* NAME_ELEMENT_COLOR_MATERIAL__MODE = "color_material__mode";
209 const char* NAME_ELEMENT_COLOR_TARGET = "color_target";
210 const char* NAME_ELEMENT_COLOR_TARGET____FX_COLORTARGET_COMMON = "color_target____fx_colortarget_common";
211 const char* NAME_ELEMENT_COLOR_TARGET____GLES_RENDERTARGET_COMMON = "color_target____gles_rendertarget_common";
212 const char* NAME_ELEMENT_COLOR____TARGETABLEFLOAT3 = "color____TargetableFloat3";
213 const char* NAME_ELEMENT_COMMENTS = "comments";
214 const char* NAME_ELEMENT_COMMON_COLOR_OR_TEXTURE_TYPE____COLOR = "common_color_or_texture_type____color";
215 const char* NAME_ELEMENT_COMMON_COLOR_OR_TEXTURE_TYPE____PARAM = "common_color_or_texture_type____param";
216 const char* NAME_ELEMENT_COMMON_FLOAT_OR_PARAM_TYPE____FLOAT = "common_float_or_param_type____float";
217 const char* NAME_ELEMENT_COMMON_FLOAT_OR_PARAM_TYPE____PARAM = "common_float_or_param_type____param";
218 const char* NAME_ELEMENT_COMPILER_OPTIONS = "compiler_options";
219 const char* NAME_ELEMENT_COMPILER_TARGET = "compiler_target";
220 const char* NAME_ELEMENT_CONNECT_PARAM = "connect_param";
221 const char* NAME_ELEMENT_CONSTANT = "constant";
222 const char* NAME_ELEMENT_CONSTANT_ATTENUATION = "constant_attenuation";
223 const char* NAME_ELEMENT_CONSTANT____GLES_TEXTURE_CONSTANT_TYPE = "constant____gles_texture_constant_type";
224 const char* NAME_ELEMENT_CONTRIBUTOR = "contributor";
225 const char* NAME_ELEMENT_CONTROLLER = "controller";
226 const char* NAME_ELEMENT_CONTROL_VERTICES = "control_vertices";
227 const char* NAME_ELEMENT_CONVEX_MESH = "convex_mesh";
228 const char* NAME_ELEMENT_COPYRIGHT = "copyright";
229 const char* NAME_ELEMENT_CREATED = "created";
230 const char* NAME_ELEMENT_CULL_FACE = "cull_face";
231 const char* NAME_ELEMENT_CULL_FACE_ENABLE = "cull_face_enable";
232 const char* NAME_ELEMENT_CYLINDER = "cylinder";
233 const char* NAME_ELEMENT_DAMPING = "damping";
234 const char* NAME_ELEMENT_DATA = "data";
235 const char* NAME_ELEMENT_DENSITY = "density";
236 const char* NAME_ELEMENT_DEPTH_BOUNDS = "depth_bounds";
237 const char* NAME_ELEMENT_DEPTH_BOUNDS_ENABLE = "depth_bounds_enable";
238 const char* NAME_ELEMENT_DEPTH_CLAMP_ENABLE = "depth_clamp_enable";
239 const char* NAME_ELEMENT_DEPTH_CLEAR = "depth_clear";
240 const char* NAME_ELEMENT_DEPTH_CLEAR____FLOAT = "depth_clear____float";
241 const char* NAME_ELEMENT_DEPTH_CLEAR____FX_CLEARDEPTH_COMMON = "depth_clear____fx_cleardepth_common";
242 const char* NAME_ELEMENT_DEPTH_FUNC = "depth_func";
243 const char* NAME_ELEMENT_DEPTH_MASK = "depth_mask";
244 const char* NAME_ELEMENT_DEPTH_RANGE = "depth_range";
245 const char* NAME_ELEMENT_DEPTH_TARGET = "depth_target";
246 const char* NAME_ELEMENT_DEPTH_TARGET____FX_DEPTHTARGET_COMMON = "depth_target____fx_depthtarget_common";
247 const char* NAME_ELEMENT_DEPTH_TARGET____GLES_RENDERTARGET_COMMON = "depth_target____gles_rendertarget_common";
248 const char* NAME_ELEMENT_DEPTH_TEST_ENABLE = "depth_test_enable";
249 const char* NAME_ELEMENT_DEST = "dest";
250 const char* NAME_ELEMENT_DEST_ALPHA = "dest_alpha";
251 const char* NAME_ELEMENT_DEST_RGB = "dest_rgb";
252 const char* NAME_ELEMENT_DIFFUSE = "diffuse";
253 const char* NAME_ELEMENT_DIRECTIONAL = "directional";
254 const char* NAME_ELEMENT_DITHER_ENABLE = "dither_enable";
255 const char* NAME_ELEMENT_DRAW = "draw";
256 const char* NAME_ELEMENT_DYNAMIC = "dynamic";
257 const char* NAME_ELEMENT_DYNAMIC_FRICTION = "dynamic_friction";
258 const char* NAME_ELEMENT_EFFECT = "effect";
259 const char* NAME_ELEMENT_ELLIPSOID = "ellipsoid";
260 const char* NAME_ELEMENT_EMISSION = "emission";
261 const char* NAME_ELEMENT_ENABLED = "enabled";
262 const char* NAME_ELEMENT_ENUM = "enum";
263 const char* NAME_ELEMENT_ENUM____GLES_ENUMERATION = "enum____gles_enumeration";
264 const char* NAME_ELEMENT_ENUM____GL_ENUMERATION = "enum____gl_enumeration";
265 const char* NAME_ELEMENT_ENUM____STRING = "enum____string";
266 const char* NAME_ELEMENT_EQUATION = "equation";
267 const char* NAME_ELEMENT_EVALUATE_SCENE = "evaluate_scene";
268 const char* NAME_ELEMENT_EXTRA = "extra";
269 const char* NAME_ELEMENT_FACE = "face";
270 const char* NAME_ELEMENT_FAIL = "fail";
271 const char* NAME_ELEMENT_FALLOFF_ANGLE = "falloff_angle";
272 const char* NAME_ELEMENT_FALLOFF_EXPONENT = "falloff_exponent";
273 const char* NAME_ELEMENT_FIXED = "fixed";
274 const char* NAME_ELEMENT_FIXED1 = "fixed1";
275 const char* NAME_ELEMENT_FIXED1X1 = "fixed1x1";
276 const char* NAME_ELEMENT_FIXED1X2 = "fixed1x2";
277 const char* NAME_ELEMENT_FIXED1X3 = "fixed1x3";
278 const char* NAME_ELEMENT_FIXED1X4 = "fixed1x4";
279 const char* NAME_ELEMENT_FIXED2 = "fixed2";
280 const char* NAME_ELEMENT_FIXED2X1 = "fixed2x1";
281 const char* NAME_ELEMENT_FIXED2X2 = "fixed2x2";
282 const char* NAME_ELEMENT_FIXED2X3 = "fixed2x3";
283 const char* NAME_ELEMENT_FIXED2X4 = "fixed2x4";
284 const char* NAME_ELEMENT_FIXED3 = "fixed3";
285 const char* NAME_ELEMENT_FIXED3X1 = "fixed3x1";
286 const char* NAME_ELEMENT_FIXED3X2 = "fixed3x2";
287 const char* NAME_ELEMENT_FIXED3X3 = "fixed3x3";
288 const char* NAME_ELEMENT_FIXED3X4 = "fixed3x4";
289 const char* NAME_ELEMENT_FIXED4 = "fixed4";
290 const char* NAME_ELEMENT_FIXED4X1 = "fixed4x1";
291 const char* NAME_ELEMENT_FIXED4X2 = "fixed4x2";
292 const char* NAME_ELEMENT_FIXED4X3 = "fixed4x3";
293 const char* NAME_ELEMENT_FIXED4X4 = "fixed4x4";
294 const char* NAME_ELEMENT_FLOAT = "float";
295 const char* NAME_ELEMENT_FLOAT1 = "float1";
296 const char* NAME_ELEMENT_FLOAT1X1 = "float1x1";
297 const char* NAME_ELEMENT_FLOAT1X1____CG_FLOAT1X1 = "float1x1____cg_float1x1";
298 const char* NAME_ELEMENT_FLOAT1X1____FLOAT = "float1x1____float";
299 const char* NAME_ELEMENT_FLOAT1X2 = "float1x2";
300 const char* NAME_ELEMENT_FLOAT1X2____CG_FLOAT1X2 = "float1x2____cg_float1x2";
301 const char* NAME_ELEMENT_FLOAT1X2____FLOAT2 = "float1x2____float2";
302 const char* NAME_ELEMENT_FLOAT1X3 = "float1x3";
303 const char* NAME_ELEMENT_FLOAT1X3____CG_FLOAT1X3 = "float1x3____cg_float1x3";
304 const char* NAME_ELEMENT_FLOAT1X3____FLOAT3 = "float1x3____float3";
305 const char* NAME_ELEMENT_FLOAT1X4 = "float1x4";
306 const char* NAME_ELEMENT_FLOAT1X4____CG_FLOAT1X4 = "float1x4____cg_float1x4";
307 const char* NAME_ELEMENT_FLOAT1X4____FLOAT4 = "float1x4____float4";
308 const char* NAME_ELEMENT_FLOAT2 = "float2";
309 const char* NAME_ELEMENT_FLOAT2X1 = "float2x1";
310 const char* NAME_ELEMENT_FLOAT2X1____CG_FLOAT2X1 = "float2x1____cg_float2x1";
311 const char* NAME_ELEMENT_FLOAT2X1____FLOAT2 = "float2x1____float2";
312 const char* NAME_ELEMENT_FLOAT2X2 = "float2x2";
313 const char* NAME_ELEMENT_FLOAT2X2____CG_FLOAT2X2 = "float2x2____cg_float2x2";
314 const char* NAME_ELEMENT_FLOAT2X2____FLOAT2X2 = "float2x2____float2x2";
315 const char* NAME_ELEMENT_FLOAT2X2____GLSL_FLOAT2X2 = "float2x2____glsl_float2x2";
316 const char* NAME_ELEMENT_FLOAT2X3 = "float2x3";
317 const char* NAME_ELEMENT_FLOAT2X3____CG_FLOAT2X3 = "float2x3____cg_float2x3";
318 const char* NAME_ELEMENT_FLOAT2X3____FLOAT2X3 = "float2x3____float2x3";
319 const char* NAME_ELEMENT_FLOAT2X4 = "float2x4";
320 const char* NAME_ELEMENT_FLOAT2X4____CG_FLOAT2X4 = "float2x4____cg_float2x4";
321 const char* NAME_ELEMENT_FLOAT2X4____FLOAT2X4 = "float2x4____float2x4";
322 const char* NAME_ELEMENT_FLOAT2____CG_FLOAT2 = "float2____cg_float2";
323 const char* NAME_ELEMENT_FLOAT2____FLOAT2 = "float2____float2";
324 const char* NAME_ELEMENT_FLOAT2____GLSL_FLOAT2 = "float2____glsl_float2";
325 const char* NAME_ELEMENT_FLOAT3 = "float3";
326 const char* NAME_ELEMENT_FLOAT3X1 = "float3x1";
327 const char* NAME_ELEMENT_FLOAT3X1____CG_FLOAT3X1 = "float3x1____cg_float3x1";
328 const char* NAME_ELEMENT_FLOAT3X1____FLOAT3 = "float3x1____float3";
329 const char* NAME_ELEMENT_FLOAT3X2 = "float3x2";
330 const char* NAME_ELEMENT_FLOAT3X2____CG_FLOAT3X2 = "float3x2____cg_float3x2";
331 const char* NAME_ELEMENT_FLOAT3X2____FLOAT3X2 = "float3x2____float3x2";
332 const char* NAME_ELEMENT_FLOAT3X3 = "float3x3";
333 const char* NAME_ELEMENT_FLOAT3X3____CG_FLOAT3X3 = "float3x3____cg_float3x3";
334 const char* NAME_ELEMENT_FLOAT3X3____FLOAT3X3 = "float3x3____float3x3";
335 const char* NAME_ELEMENT_FLOAT3X3____GLSL_FLOAT3X3 = "float3x3____glsl_float3x3";
336 const char* NAME_ELEMENT_FLOAT3X4 = "float3x4";
337 const char* NAME_ELEMENT_FLOAT3X4____CG_FLOAT3X4 = "float3x4____cg_float3x4";
338 const char* NAME_ELEMENT_FLOAT3X4____FLOAT3X4 = "float3x4____float3x4";
339 const char* NAME_ELEMENT_FLOAT3____CG_FLOAT3 = "float3____cg_float3";
340 const char* NAME_ELEMENT_FLOAT3____FLOAT3 = "float3____float3";
341 const char* NAME_ELEMENT_FLOAT3____GLSL_FLOAT3 = "float3____glsl_float3";
342 const char* NAME_ELEMENT_FLOAT4 = "float4";
343 const char* NAME_ELEMENT_FLOAT4X1 = "float4x1";
344 const char* NAME_ELEMENT_FLOAT4X1____CG_FLOAT4X1 = "float4x1____cg_float4x1";
345 const char* NAME_ELEMENT_FLOAT4X1____FLOAT4 = "float4x1____float4";
346 const char* NAME_ELEMENT_FLOAT4X2 = "float4x2";
347 const char* NAME_ELEMENT_FLOAT4X2____CG_FLOAT4X2 = "float4x2____cg_float4x2";
348 const char* NAME_ELEMENT_FLOAT4X2____FLOAT4X2 = "float4x2____float4x2";
349 const char* NAME_ELEMENT_FLOAT4X3 = "float4x3";
350 const char* NAME_ELEMENT_FLOAT4X3____CG_FLOAT4X3 = "float4x3____cg_float4x3";
351 const char* NAME_ELEMENT_FLOAT4X3____FLOAT4X3 = "float4x3____float4x3";
352 const char* NAME_ELEMENT_FLOAT4X4 = "float4x4";
353 const char* NAME_ELEMENT_FLOAT4X4____CG_FLOAT4X4 = "float4x4____cg_float4x4";
354 const char* NAME_ELEMENT_FLOAT4X4____FLOAT4X4 = "float4x4____float4x4";
355 const char* NAME_ELEMENT_FLOAT4X4____GLSL_FLOAT4X4 = "float4x4____glsl_float4x4";
356 const char* NAME_ELEMENT_FLOAT4____CG_FLOAT4 = "float4____cg_float4";
357 const char* NAME_ELEMENT_FLOAT4____FLOAT4 = "float4____float4";
358 const char* NAME_ELEMENT_FLOAT4____GLSL_FLOAT4 = "float4____glsl_float4";
359 const char* NAME_ELEMENT_FLOAT_ARRAY = "float_array";
360 const char* NAME_ELEMENT_FLOAT____CG_FLOAT = "float____cg_float";
361 const char* NAME_ELEMENT_FLOAT____FLOAT = "float____float";
362 const char* NAME_ELEMENT_FLOAT____GLSL_FLOAT = "float____glsl_float";
363 const char* NAME_ELEMENT_FOG_COLOR = "fog_color";
364 const char* NAME_ELEMENT_FOG_COORD_SRC = "fog_coord_src";
365 const char* NAME_ELEMENT_FOG_DENSITY = "fog_density";
366 const char* NAME_ELEMENT_FOG_ENABLE = "fog_enable";
367 const char* NAME_ELEMENT_FOG_END = "fog_end";
368 const char* NAME_ELEMENT_FOG_MODE = "fog_mode";
369 const char* NAME_ELEMENT_FOG_START = "fog_start";
370 const char* NAME_ELEMENT_FORCE_FIELD = "force_field";
371 const char* NAME_ELEMENT_FORMAT = NAME_ATTRIBUTE_format;
372 const char* NAME_ELEMENT_FORMAT_HINT = "format_hint";
373 const char* NAME_ELEMENT_FRONT = "front";
374 const char* NAME_ELEMENT_FRONT_FACE = "front_face";
375 const char* NAME_ELEMENT_FUNC = "func";
376 const char* NAME_ELEMENT_FX_PROFILE_ABSTRACT = "fx_profile_abstract";
377 const char* NAME_ELEMENT_FX_SURFACE_INIT_CUBE_COMMON____ALL = "fx_surface_init_cube_common____all";
378 const char* NAME_ELEMENT_FX_SURFACE_INIT_CUBE_COMMON____FACE = "fx_surface_init_cube_common____face";
379 const char* NAME_ELEMENT_FX_SURFACE_INIT_CUBE_COMMON____PRIMARY = "fx_surface_init_cube_common____primary";
380 const char* NAME_ELEMENT_FX_SURFACE_INIT_PLANAR_COMMON____ALL = "fx_surface_init_planar_common____all";
381 const char* NAME_ELEMENT_FX_SURFACE_INIT_VOLUME_COMMON____ALL = "fx_surface_init_volume_common____all";
382 const char* NAME_ELEMENT_FX_SURFACE_INIT_VOLUME_COMMON____PRIMARY = "fx_surface_init_volume_common____primary";
383 const char* NAME_ELEMENT_GENERATOR = "generator";
384 const char* NAME_ELEMENT_GEOMETRY = "geometry";
385 const char* NAME_ELEMENT_GLSL_SURFACE_TYPE____GENERATOR = "glsl_surface_type____generator";
386 const char* NAME_ELEMENT_GL_HOOK_ABSTRACT = "gl_hook_abstract";
387 const char* NAME_ELEMENT_GRAVITY = "gravity";
388 const char* NAME_ELEMENT_H = "h";
389 const char* NAME_ELEMENT_HALF = "half";
390 const char* NAME_ELEMENT_HALF1 = "half1";
391 const char* NAME_ELEMENT_HALF1X1 = "half1x1";
392 const char* NAME_ELEMENT_HALF1X2 = "half1x2";
393 const char* NAME_ELEMENT_HALF1X3 = "half1x3";
394 const char* NAME_ELEMENT_HALF1X4 = "half1x4";
395 const char* NAME_ELEMENT_HALF2 = "half2";
396 const char* NAME_ELEMENT_HALF2X1 = "half2x1";
397 const char* NAME_ELEMENT_HALF2X2 = "half2x2";
398 const char* NAME_ELEMENT_HALF2X3 = "half2x3";
399 const char* NAME_ELEMENT_HALF2X4 = "half2x4";
400 const char* NAME_ELEMENT_HALF3 = "half3";
401 const char* NAME_ELEMENT_HALF3X1 = "half3x1";
402 const char* NAME_ELEMENT_HALF3X2 = "half3x2";
403 const char* NAME_ELEMENT_HALF3X3 = "half3x3";
404 const char* NAME_ELEMENT_HALF3X4 = "half3x4";
405 const char* NAME_ELEMENT_HALF4 = "half4";
406 const char* NAME_ELEMENT_HALF4X1 = "half4x1";
407 const char* NAME_ELEMENT_HALF4X2 = "half4x2";
408 const char* NAME_ELEMENT_HALF4X3 = "half4x3";
409 const char* NAME_ELEMENT_HALF4X4 = "half4x4";
410 const char* NAME_ELEMENT_HALF_EXTENTS = "half_extents";
411 const char* NAME_ELEMENT_HEIGHT = NAME_ATTRIBUTE_height;
412 const char* NAME_ELEMENT_HOLLOW = "hollow";
413 const char* NAME_ELEMENT_IDREF_ARRAY = "IDREF_array";
414 const char* NAME_ELEMENT_IMAGE = "image";
415 const char* NAME_ELEMENT_IMAGER = "imager";
416 const char* NAME_ELEMENT_INCLUDE = "include";
417 const char* NAME_ELEMENT_INDEX_OF_REFRACTION = "index_of_refraction";
418 const char* NAME_ELEMENT_INERTIA = "inertia";
419 const char* NAME_ELEMENT_INIT_AS_NULL = "init_as_null";
420 const char* NAME_ELEMENT_INIT_AS_TARGET = "init_as_target";
421 const char* NAME_ELEMENT_INIT_CUBE = "init_cube";
422 const char* NAME_ELEMENT_INIT_FROM = "init_from";
423 const char* NAME_ELEMENT_INIT_FROM____ANYURI = "init_from____anyURI";
424 const char* NAME_ELEMENT_INIT_FROM____FX_SURFACE_INIT_FROM_COMMON = "init_from____fx_surface_init_from_common";
425 const char* NAME_ELEMENT_INIT_PLANAR = "init_planar";
426 const char* NAME_ELEMENT_INIT_VOLUME = "init_volume";
427 const char* NAME_ELEMENT_INPUT = "input";
428 const char* NAME_ELEMENT_INPUT____INPUTLOCAL = "input____InputLocal";
429 const char* NAME_ELEMENT_INPUT____INPUTLOCALOFFSET = "input____InputLocalOffset";
430 const char* NAME_ELEMENT_INSTANCE_ANIMATION = "instance_animation";
431 const char* NAME_ELEMENT_INSTANCE_CAMERA = "instance_camera";
432 const char* NAME_ELEMENT_INSTANCE_CONTROLLER = "instance_controller";
433 const char* NAME_ELEMENT_INSTANCE_EFFECT = "instance_effect";
434 const char* NAME_ELEMENT_INSTANCE_EFFECT__SETPARAM = "instance_effect__setparam";
435 const char* NAME_ELEMENT_INSTANCE_FORCE_FIELD = "instance_force_field";
436 const char* NAME_ELEMENT_INSTANCE_GEOMETRY = "instance_geometry";
437 const char* NAME_ELEMENT_INSTANCE_LIGHT = "instance_light";
438 const char* NAME_ELEMENT_INSTANCE_MATERIAL = "instance_material";
439 const char* NAME_ELEMENT_INSTANCE_MATERIAL__BIND = "instance_material__bind";
440 const char* NAME_ELEMENT_INSTANCE_NODE = "instance_node";
441 const char* NAME_ELEMENT_INSTANCE_PHYSICS_MATERIAL = "instance_physics_material";
442 const char* NAME_ELEMENT_INSTANCE_PHYSICS_MODEL = "instance_physics_model";
443 const char* NAME_ELEMENT_INSTANCE_PHYSICS_SCENE = "instance_physics_scene";
444 const char* NAME_ELEMENT_INSTANCE_RIGID_BODY = "instance_rigid_body";
445 const char* NAME_ELEMENT_INSTANCE_RIGID_BODY__TECHNIQUE_COMMON = "instance_rigid_body__technique_common";
446 const char* NAME_ELEMENT_INSTANCE_RIGID_BODY__TECHNIQUE_COMMON__DYNAMIC = "instance_rigid_body__technique_common__dynamic";
447 const char* NAME_ELEMENT_INSTANCE_RIGID_BODY__TECHNIQUE_COMMON__MASS_FRAME = "instance_rigid_body__technique_common__mass_frame";
448 const char* NAME_ELEMENT_INSTANCE_RIGID_BODY__TECHNIQUE_COMMON__SHAPE = "instance_rigid_body__technique_common__shape";
449 const char* NAME_ELEMENT_INSTANCE_RIGID_BODY__TECHNIQUE_COMMON__SHAPE__HOLLOW = "instance_rigid_body__technique_common__shape__hollow";
450 const char* NAME_ELEMENT_INSTANCE_RIGID_CONSTRAINT = "instance_rigid_constraint";
451 const char* NAME_ELEMENT_INSTANCE_VISUAL_SCENE = "instance_visual_scene";
452 const char* NAME_ELEMENT_INT = "int";
453 const char* NAME_ELEMENT_INT1 = "int1";
454 const char* NAME_ELEMENT_INT1X1 = "int1x1";
455 const char* NAME_ELEMENT_INT1X2 = "int1x2";
456 const char* NAME_ELEMENT_INT1X3 = "int1x3";
457 const char* NAME_ELEMENT_INT1X4 = "int1x4";
458 const char* NAME_ELEMENT_INT2 = "int2";
459 const char* NAME_ELEMENT_INT2X1 = "int2x1";
460 const char* NAME_ELEMENT_INT2X2 = "int2x2";
461 const char* NAME_ELEMENT_INT2X3 = "int2x3";
462 const char* NAME_ELEMENT_INT2X4 = "int2x4";
463 const char* NAME_ELEMENT_INT2____CG_INT2 = "int2____cg_int2";
464 const char* NAME_ELEMENT_INT2____GLSL_INT2 = "int2____glsl_int2";
465 const char* NAME_ELEMENT_INT2____INT2 = "int2____int2";
466 const char* NAME_ELEMENT_INT3 = "int3";
467 const char* NAME_ELEMENT_INT3X1 = "int3x1";
468 const char* NAME_ELEMENT_INT3X2 = "int3x2";
469 const char* NAME_ELEMENT_INT3X3 = "int3x3";
470 const char* NAME_ELEMENT_INT3X4 = "int3x4";
471 const char* NAME_ELEMENT_INT3____CG_INT3 = "int3____cg_int3";
472 const char* NAME_ELEMENT_INT3____GLSL_INT3 = "int3____glsl_int3";
473 const char* NAME_ELEMENT_INT3____INT3 = "int3____int3";
474 const char* NAME_ELEMENT_INT4 = "int4";
475 const char* NAME_ELEMENT_INT4X1 = "int4x1";
476 const char* NAME_ELEMENT_INT4X2 = "int4x2";
477 const char* NAME_ELEMENT_INT4X3 = "int4x3";
478 const char* NAME_ELEMENT_INT4X4 = "int4x4";
479 const char* NAME_ELEMENT_INT4____CG_INT4 = "int4____cg_int4";
480 const char* NAME_ELEMENT_INT4____GLSL_INT4 = "int4____glsl_int4";
481 const char* NAME_ELEMENT_INT4____INT4 = "int4____int4";
482 const char* NAME_ELEMENT_INTERPENETRATE = "interpenetrate";
483 const char* NAME_ELEMENT_INT_ARRAY = "int_array";
484 const char* NAME_ELEMENT_INT____CG_INT = "int____cg_int";
485 const char* NAME_ELEMENT_INT____GLSL_INT = "int____glsl_int";
486 const char* NAME_ELEMENT_INT____INT = "int____int";
487 const char* NAME_ELEMENT_JOINTS = "joints";
488 const char* NAME_ELEMENT_KEYWORDS = "keywords";
489 const char* NAME_ELEMENT_LAMBERT = "lambert";
490 const char* NAME_ELEMENT_LAYER = NAME_ATTRIBUTE_layer;
491 const char* NAME_ELEMENT_LIBRARY_ANIMATIONS = "library_animations";
492 const char* NAME_ELEMENT_LIBRARY_ANIMATION_CLIPS = "library_animation_clips";
493 const char* NAME_ELEMENT_LIBRARY_CAMERAS = "library_cameras";
494 const char* NAME_ELEMENT_LIBRARY_CONTROLLERS = "library_controllers";
495 const char* NAME_ELEMENT_LIBRARY_EFFECTS = "library_effects";
496 const char* NAME_ELEMENT_LIBRARY_FORCE_FIELDS = "library_force_fields";
497 const char* NAME_ELEMENT_LIBRARY_GEOMETRIES = "library_geometries";
498 const char* NAME_ELEMENT_LIBRARY_IMAGES = "library_images";
499 const char* NAME_ELEMENT_LIBRARY_LIGHTS = "library_lights";
500 const char* NAME_ELEMENT_LIBRARY_MATERIALS = "library_materials";
501 const char* NAME_ELEMENT_LIBRARY_NODES = "library_nodes";
502 const char* NAME_ELEMENT_LIBRARY_PHYSICS_MATERIALS = "library_physics_materials";
503 const char* NAME_ELEMENT_LIBRARY_PHYSICS_MODELS = "library_physics_models";
504 const char* NAME_ELEMENT_LIBRARY_PHYSICS_SCENES = "library_physics_scenes";
505 const char* NAME_ELEMENT_LIBRARY_VISUAL_SCENES = "library_visual_scenes";
506 const char* NAME_ELEMENT_LIGHT = "light";
507 const char* NAME_ELEMENT_LIGHTING_ENABLE = "lighting_enable";
508 const char* NAME_ELEMENT_LIGHT_AMBIENT = "light_ambient";
509 const char* NAME_ELEMENT_LIGHT_CONSTANT_ATTENUATION = "light_constant_attenuation";
510 const char* NAME_ELEMENT_LIGHT_DIFFUSE = "light_diffuse";
511 const char* NAME_ELEMENT_LIGHT_ENABLE = "light_enable";
512 const char* NAME_ELEMENT_LIGHT_LINEAR_ATTENUATION = "light_linear_attenuation";
513 const char* NAME_ELEMENT_LIGHT_LINEAR_ATTENUTATION = "light_linear_attenutation";
514 const char* NAME_ELEMENT_LIGHT_MODEL_AMBIENT = "light_model_ambient";
515 const char* NAME_ELEMENT_LIGHT_MODEL_COLOR_CONTROL = "light_model_color_control";
516 const char* NAME_ELEMENT_LIGHT_MODEL_LOCAL_VIEWER_ENABLE = "light_model_local_viewer_enable";
517 const char* NAME_ELEMENT_LIGHT_MODEL_TWO_SIDE_ENABLE = "light_model_two_side_enable";
518 const char* NAME_ELEMENT_LIGHT_POSITION = "light_position";
519 const char* NAME_ELEMENT_LIGHT_QUADRATIC_ATTENUATION = "light_quadratic_attenuation";
520 const char* NAME_ELEMENT_LIGHT_SPECULAR = "light_specular";
521 const char* NAME_ELEMENT_LIGHT_SPOT_CUTOFF = "light_spot_cutoff";
522 const char* NAME_ELEMENT_LIGHT_SPOT_DIRECTION = "light_spot_direction";
523 const char* NAME_ELEMENT_LIGHT_SPOT_EXPONENT = "light_spot_exponent";
524 const char* NAME_ELEMENT_LIGHT__TECHNIQUE_COMMON = "light__technique_common";
525 const char* NAME_ELEMENT_LIGHT__TECHNIQUE_COMMON__AMBIENT = "light__technique_common__ambient";
526 const char* NAME_ELEMENT_LIMITS = "limits";
527 const char* NAME_ELEMENT_LIMITS__LINEAR = "limits__linear";
528 const char* NAME_ELEMENT_LINEAR = "linear";
529 const char* NAME_ELEMENT_LINEAR_ATTENUATION = "linear_attenuation";
530 const char* NAME_ELEMENT_LINES = "lines";
531 const char* NAME_ELEMENT_LINESTRIPS = "linestrips";
532 const char* NAME_ELEMENT_LINE_SMOOTH_ENABLE = "line_smooth_enable";
533 const char* NAME_ELEMENT_LINE_STIPPLE = "line_stipple";
534 const char* NAME_ELEMENT_LINE_STIPPLE_ENABLE = "line_stipple_enable";
535 const char* NAME_ELEMENT_LINE_WIDTH = "line_width";
536 const char* NAME_ELEMENT_LOGIC_OP = "logic_op";
537 const char* NAME_ELEMENT_LOGIC_OP_ENABLE = "logic_op_enable";
538 const char* NAME_ELEMENT_LOOKAT = "lookat";
539 const char* NAME_ELEMENT_MAGFILTER = "magfilter";
540 const char* NAME_ELEMENT_MASK = "mask";
541 const char* NAME_ELEMENT_MASS = "mass";
542 const char* NAME_ELEMENT_MASS_FRAME = "mass_frame";
543 const char* NAME_ELEMENT_MATERIAL = NAME_ATTRIBUTE_material;
544 const char* NAME_ELEMENT_MATERIAL_AMBIENT = "material_ambient";
545 const char* NAME_ELEMENT_MATERIAL_DIFFUSE = "material_diffuse";
546 const char* NAME_ELEMENT_MATERIAL_EMISSION = "material_emission";
547 const char* NAME_ELEMENT_MATERIAL_SHININESS = "material_shininess";
548 const char* NAME_ELEMENT_MATERIAL_SPECULAR = "material_specular";
549 const char* NAME_ELEMENT_MATRIX = "matrix";
550 const char* NAME_ELEMENT_MAX = "max";
551 const char* NAME_ELEMENT_MESH = "mesh";
552 const char* NAME_ELEMENT_MIN = "min";
553 const char* NAME_ELEMENT_MINFILTER = "minfilter";
554 const char* NAME_ELEMENT_MIPFILTER = "mipfilter";
555 const char* NAME_ELEMENT_MIPMAP_BIAS = "mipmap_bias";
556 const char* NAME_ELEMENT_MIPMAP_GENERATE = "mipmap_generate";
557 const char* NAME_ELEMENT_MIPMAP_MAXLEVEL = "mipmap_maxlevel";
558 const char* NAME_ELEMENT_MIP_LEVELS = "mip_levels";
559 const char* NAME_ELEMENT_MODE = "mode";
560 const char* NAME_ELEMENT_MODEL_VIEW_MATRIX = "model_view_matrix";
561 const char* NAME_ELEMENT_MODIFIED = "modified";
562 const char* NAME_ELEMENT_MODIFIER = "modifier";
563 const char* NAME_ELEMENT_MORPH = "morph";
564 const char* NAME_ELEMENT_MULTISAMPLE_ENABLE = "multisample_enable";
565 const char* NAME_ELEMENT_NAME = NAME_ATTRIBUTE_name;
566 const char* NAME_ELEMENT_NAME_ARRAY = "Name_array";
567 const char* NAME_ELEMENT_NEWPARAM = "newparam";
568 const char* NAME_ELEMENT_NEWPARAM____CG_NEWPARAM = "newparam____cg_newparam";
569 const char* NAME_ELEMENT_NEWPARAM____COMMON_NEWPARAM_TYPE = "newparam____common_newparam_type";
570 const char* NAME_ELEMENT_NEWPARAM____FX_NEWPARAM_COMMON = "newparam____fx_newparam_common";
571 const char* NAME_ELEMENT_NEWPARAM____GLES_NEWPARAM = "newparam____gles_newparam";
572 const char* NAME_ELEMENT_NEWPARAM____GLSL_NEWPARAM = "newparam____glsl_newparam";
573 const char* NAME_ELEMENT_NODE = "node";
574 const char* NAME_ELEMENT_NORMALIZE_ENABLE = "normalize_enable";
575 const char* NAME_ELEMENT_OPTICS = "optics";
576 const char* NAME_ELEMENT_OPTICS__TECHNIQUE_COMMON = "optics__technique_common";
577 const char* NAME_ELEMENT_OPTION = "option";
578 const char* NAME_ELEMENT_ORDER = "order";
579 const char* NAME_ELEMENT_ORTHOGRAPHIC = "orthographic";
580 const char* NAME_ELEMENT_P = "p";
581 const char* NAME_ELEMENT_PARAM = "param";
582 const char* NAME_ELEMENT_PARAM____NCNAME = "param____NCName";
583 const char* NAME_ELEMENT_PASS = "pass";
584 const char* NAME_ELEMENT_PERSPECTIVE = "perspective";
585 const char* NAME_ELEMENT_PH = "ph";
586 const char* NAME_ELEMENT_PHONG = "phong";
587 const char* NAME_ELEMENT_PHYSICS_MATERIAL = "physics_material";
588 const char* NAME_ELEMENT_PHYSICS_MATERIAL__TECHNIQUE_COMMON = "physics_material__technique_common";
589 const char* NAME_ELEMENT_PHYSICS_MODEL = "physics_model";
590 const char* NAME_ELEMENT_PHYSICS_SCENE = "physics_scene";
591 const char* NAME_ELEMENT_PHYSICS_SCENE__TECHNIQUE_COMMON = "physics_scene__technique_common";
592 const char* NAME_ELEMENT_PLANE = "plane";
593 const char* NAME_ELEMENT_POINT = "point";
594 const char* NAME_ELEMENT_POINT_DISTANCE_ATTENUATION = "point_distance_attenuation";
595 const char* NAME_ELEMENT_POINT_FADE_THRESHOLD_SIZE = "point_fade_threshold_size";
596 const char* NAME_ELEMENT_POINT_SIZE = "point_size";
597 const char* NAME_ELEMENT_POINT_SIZE_MAX = "point_size_max";
598 const char* NAME_ELEMENT_POINT_SIZE_MIN = "point_size_min";
599 const char* NAME_ELEMENT_POINT_SMOOTH_ENABLE = "point_smooth_enable";
600 const char* NAME_ELEMENT_POLYGONS = "polygons";
601 const char* NAME_ELEMENT_POLYGON_MODE = "polygon_mode";
602 const char* NAME_ELEMENT_POLYGON_MODE__FACE = "polygon_mode__face";
603 const char* NAME_ELEMENT_POLYGON_MODE__MODE = "polygon_mode__mode";
604 const char* NAME_ELEMENT_POLYGON_OFFSET = "polygon_offset";
605 const char* NAME_ELEMENT_POLYGON_OFFSET_FILL_ENABLE = "polygon_offset_fill_enable";
606 const char* NAME_ELEMENT_POLYGON_OFFSET_LINE_ENABLE = "polygon_offset_line_enable";
607 const char* NAME_ELEMENT_POLYGON_OFFSET_POINT_ENABLE = "polygon_offset_point_enable";
608 const char* NAME_ELEMENT_POLYGON_SMOOTH_ENABLE = "polygon_smooth_enable";
609 const char* NAME_ELEMENT_POLYGON_STIPPLE_ENABLE = "polygon_stipple_enable";
610 const char* NAME_ELEMENT_POLYLIST = "polylist";
611 const char* NAME_ELEMENT_PRECISION = "precision";
612 const char* NAME_ELEMENT_PRIMARY = "primary";
613 const char* NAME_ELEMENT_PROFILE_CG = "profile_CG";
614 const char* NAME_ELEMENT_PROFILE_CG__NEWPARAM__SURFACE__GENERATOR__NAME = "profile_CG__newparam__surface__generator__name";
615 const char* NAME_ELEMENT_PROFILE_CG__TECHNIQUE = "profile_CG__technique";
616 const char* NAME_ELEMENT_PROFILE_CG__TECHNIQUE__PASS = "profile_CG__technique__pass";
617 const char* NAME_ELEMENT_PROFILE_CG__TECHNIQUE__PASS__SHADER = "profile_CG__technique__pass__shader";
618 const char* NAME_ELEMENT_PROFILE_CG__TECHNIQUE__PASS__SHADER__BIND = "profile_CG__technique__pass__shader__bind";
619 const char* NAME_ELEMENT_PROFILE_CG__TECHNIQUE__PASS__SHADER__BIND__PARAM = "profile_CG__technique__pass__shader__bind__param";
620 const char* NAME_ELEMENT_PROFILE_CG__TECHNIQUE__PASS__SHADER__COMPILER_TARGET = "profile_CG__technique__pass__shader__compiler_target";
621 const char* NAME_ELEMENT_PROFILE_CG__TECHNIQUE__PASS__SHADER__NAME = "profile_CG__technique__pass__shader__name";
622 const char* NAME_ELEMENT_PROFILE_COMMON = "profile_COMMON";
623 const char* NAME_ELEMENT_PROFILE_COMMON__TECHNIQUE = "profile_COMMON__technique";
624 const char* NAME_ELEMENT_PROFILE_COMMON__TECHNIQUE__CONSTANT = "profile_COMMON__technique__constant";
625 const char* NAME_ELEMENT_PROFILE_GLES = "profile_GLES";
626 const char* NAME_ELEMENT_PROFILE_GLES__TECHNIQUE = "profile_GLES__technique";
627 const char* NAME_ELEMENT_PROFILE_GLES__TECHNIQUE__PASS = "profile_GLES__technique__pass";
628 const char* NAME_ELEMENT_PROFILE_GLES__TECHNIQUE__PASS__ALPHA_FUNC = "profile_GLES__technique__pass__alpha_func";
629 const char* NAME_ELEMENT_PROFILE_GLES__TECHNIQUE__PASS__ALPHA_FUNC__FUNC = "profile_GLES__technique__pass__alpha_func__func";
630 const char* NAME_ELEMENT_PROFILE_GLES__TECHNIQUE__PASS__ALPHA_FUNC__VALUE = "profile_GLES__technique__pass__alpha_func__value";
631 const char* NAME_ELEMENT_PROFILE_GLES__TECHNIQUE__PASS__ALPHA_TEST_ENABLE = "profile_GLES__technique__pass__alpha_test_enable";
632 const char* NAME_ELEMENT_PROFILE_GLES__TECHNIQUE__PASS__BLEND_ENABLE = "profile_GLES__technique__pass__blend_enable";
633 const char* NAME_ELEMENT_PROFILE_GLES__TECHNIQUE__PASS__BLEND_FUNC = "profile_GLES__technique__pass__blend_func";
634 const char* NAME_ELEMENT_PROFILE_GLES__TECHNIQUE__PASS__BLEND_FUNC__DEST = "profile_GLES__technique__pass__blend_func__dest";
635 const char* NAME_ELEMENT_PROFILE_GLES__TECHNIQUE__PASS__BLEND_FUNC__SRC = "profile_GLES__technique__pass__blend_func__src";
636 const char* NAME_ELEMENT_PROFILE_GLES__TECHNIQUE__PASS__CLEAR_COLOR = "profile_GLES__technique__pass__clear_color";
637 const char* NAME_ELEMENT_PROFILE_GLES__TECHNIQUE__PASS__CLEAR_DEPTH = "profile_GLES__technique__pass__clear_depth";
638 const char* NAME_ELEMENT_PROFILE_GLES__TECHNIQUE__PASS__CLEAR_STENCIL = "profile_GLES__technique__pass__clear_stencil";
639 const char* NAME_ELEMENT_PROFILE_GLES__TECHNIQUE__PASS__CLIP_PLANE = "profile_GLES__technique__pass__clip_plane";
640 const char* NAME_ELEMENT_PROFILE_GLES__TECHNIQUE__PASS__CLIP_PLANE_ENABLE = "profile_GLES__technique__pass__clip_plane_enable";
641 const char* NAME_ELEMENT_PROFILE_GLES__TECHNIQUE__PASS__COLOR_LOGIC_OP_ENABLE = "profile_GLES__technique__pass__color_logic_op_enable";
642 const char* NAME_ELEMENT_PROFILE_GLES__TECHNIQUE__PASS__COLOR_MASK = "profile_GLES__technique__pass__color_mask";
643 const char* NAME_ELEMENT_PROFILE_GLES__TECHNIQUE__PASS__COLOR_MATERIAL_ENABLE = "profile_GLES__technique__pass__color_material_enable";
644 const char* NAME_ELEMENT_PROFILE_GLES__TECHNIQUE__PASS__CULL_FACE = "profile_GLES__technique__pass__cull_face";
645 const char* NAME_ELEMENT_PROFILE_GLES__TECHNIQUE__PASS__CULL_FACE_ENABLE = "profile_GLES__technique__pass__cull_face_enable";
646 const char* NAME_ELEMENT_PROFILE_GLES__TECHNIQUE__PASS__DEPTH_FUNC = "profile_GLES__technique__pass__depth_func";
647 const char* NAME_ELEMENT_PROFILE_GLES__TECHNIQUE__PASS__DEPTH_MASK = "profile_GLES__technique__pass__depth_mask";
648 const char* NAME_ELEMENT_PROFILE_GLES__TECHNIQUE__PASS__DEPTH_RANGE = "profile_GLES__technique__pass__depth_range";
649 const char* NAME_ELEMENT_PROFILE_GLES__TECHNIQUE__PASS__DEPTH_TEST_ENABLE = "profile_GLES__technique__pass__depth_test_enable";
650 const char* NAME_ELEMENT_PROFILE_GLES__TECHNIQUE__PASS__DITHER_ENABLE = "profile_GLES__technique__pass__dither_enable";
651 const char* NAME_ELEMENT_PROFILE_GLES__TECHNIQUE__PASS__FOG_COLOR = "profile_GLES__technique__pass__fog_color";
652 const char* NAME_ELEMENT_PROFILE_GLES__TECHNIQUE__PASS__FOG_DENSITY = "profile_GLES__technique__pass__fog_density";
653 const char* NAME_ELEMENT_PROFILE_GLES__TECHNIQUE__PASS__FOG_ENABLE = "profile_GLES__technique__pass__fog_enable";
654 const char* NAME_ELEMENT_PROFILE_GLES__TECHNIQUE__PASS__FOG_END = "profile_GLES__technique__pass__fog_end";
655 const char* NAME_ELEMENT_PROFILE_GLES__TECHNIQUE__PASS__FOG_MODE = "profile_GLES__technique__pass__fog_mode";
656 const char* NAME_ELEMENT_PROFILE_GLES__TECHNIQUE__PASS__FOG_START = "profile_GLES__technique__pass__fog_start";
657 const char* NAME_ELEMENT_PROFILE_GLES__TECHNIQUE__PASS__FRONT_FACE = "profile_GLES__technique__pass__front_face";
658 const char* NAME_ELEMENT_PROFILE_GLES__TECHNIQUE__PASS__LIGHTING_ENABLE = "profile_GLES__technique__pass__lighting_enable";
659 const char* NAME_ELEMENT_PROFILE_GLES__TECHNIQUE__PASS__LIGHT_AMBIENT = "profile_GLES__technique__pass__light_ambient";
660 const char* NAME_ELEMENT_PROFILE_GLES__TECHNIQUE__PASS__LIGHT_CONSTANT_ATTENUATION = "profile_GLES__technique__pass__light_constant_attenuation";
661 const char* NAME_ELEMENT_PROFILE_GLES__TECHNIQUE__PASS__LIGHT_DIFFUSE = "profile_GLES__technique__pass__light_diffuse";
662 const char* NAME_ELEMENT_PROFILE_GLES__TECHNIQUE__PASS__LIGHT_ENABLE = "profile_GLES__technique__pass__light_enable";
663 const char* NAME_ELEMENT_PROFILE_GLES__TECHNIQUE__PASS__LIGHT_MODEL_AMBIENT = "profile_GLES__technique__pass__light_model_ambient";
664 const char* NAME_ELEMENT_PROFILE_GLES__TECHNIQUE__PASS__LIGHT_MODEL_TWO_SIDE_ENABLE = "profile_GLES__technique__pass__light_model_two_side_enable";
665 const char* NAME_ELEMENT_PROFILE_GLES__TECHNIQUE__PASS__LIGHT_POSITION = "profile_GLES__technique__pass__light_position";
666 const char* NAME_ELEMENT_PROFILE_GLES__TECHNIQUE__PASS__LIGHT_QUADRATIC_ATTENUATION = "profile_GLES__technique__pass__light_quadratic_attenuation";
667 const char* NAME_ELEMENT_PROFILE_GLES__TECHNIQUE__PASS__LIGHT_SPECULAR = "profile_GLES__technique__pass__light_specular";
668 const char* NAME_ELEMENT_PROFILE_GLES__TECHNIQUE__PASS__LIGHT_SPOT_CUTOFF = "profile_GLES__technique__pass__light_spot_cutoff";
669 const char* NAME_ELEMENT_PROFILE_GLES__TECHNIQUE__PASS__LIGHT_SPOT_DIRECTION = "profile_GLES__technique__pass__light_spot_direction";
670 const char* NAME_ELEMENT_PROFILE_GLES__TECHNIQUE__PASS__LIGHT_SPOT_EXPONENT = "profile_GLES__technique__pass__light_spot_exponent";
671 const char* NAME_ELEMENT_PROFILE_GLES__TECHNIQUE__PASS__LINE_SMOOTH_ENABLE = "profile_GLES__technique__pass__line_smooth_enable";
672 const char* NAME_ELEMENT_PROFILE_GLES__TECHNIQUE__PASS__LINE_WIDTH = "profile_GLES__technique__pass__line_width";
673 const char* NAME_ELEMENT_PROFILE_GLES__TECHNIQUE__PASS__LOGIC_OP = "profile_GLES__technique__pass__logic_op";
674 const char* NAME_ELEMENT_PROFILE_GLES__TECHNIQUE__PASS__MATERIAL_AMBIENT = "profile_GLES__technique__pass__material_ambient";
675 const char* NAME_ELEMENT_PROFILE_GLES__TECHNIQUE__PASS__MATERIAL_DIFFUSE = "profile_GLES__technique__pass__material_diffuse";
676 const char* NAME_ELEMENT_PROFILE_GLES__TECHNIQUE__PASS__MATERIAL_EMISSION = "profile_GLES__technique__pass__material_emission";
677 const char* NAME_ELEMENT_PROFILE_GLES__TECHNIQUE__PASS__MATERIAL_SHININESS = "profile_GLES__technique__pass__material_shininess";
678 const char* NAME_ELEMENT_PROFILE_GLES__TECHNIQUE__PASS__MATERIAL_SPECULAR = "profile_GLES__technique__pass__material_specular";
679 const char* NAME_ELEMENT_PROFILE_GLES__TECHNIQUE__PASS__MODEL_VIEW_MATRIX = "profile_GLES__technique__pass__model_view_matrix";
680 const char* NAME_ELEMENT_PROFILE_GLES__TECHNIQUE__PASS__MULTISAMPLE_ENABLE = "profile_GLES__technique__pass__multisample_enable";
681 const char* NAME_ELEMENT_PROFILE_GLES__TECHNIQUE__PASS__NORMALIZE_ENABLE = "profile_GLES__technique__pass__normalize_enable";
682 const char* NAME_ELEMENT_PROFILE_GLES__TECHNIQUE__PASS__POINT_DISTANCE_ATTENUATION = "profile_GLES__technique__pass__point_distance_attenuation";
683 const char* NAME_ELEMENT_PROFILE_GLES__TECHNIQUE__PASS__POINT_FADE_THRESHOLD_SIZE = "profile_GLES__technique__pass__point_fade_threshold_size";
684 const char* NAME_ELEMENT_PROFILE_GLES__TECHNIQUE__PASS__POINT_SIZE = "profile_GLES__technique__pass__point_size";
685 const char* NAME_ELEMENT_PROFILE_GLES__TECHNIQUE__PASS__POINT_SIZE_MAX = "profile_GLES__technique__pass__point_size_max";
686 const char* NAME_ELEMENT_PROFILE_GLES__TECHNIQUE__PASS__POINT_SIZE_MIN = "profile_GLES__technique__pass__point_size_min";
687 const char* NAME_ELEMENT_PROFILE_GLES__TECHNIQUE__PASS__POINT_SMOOTH_ENABLE = "profile_GLES__technique__pass__point_smooth_enable";
688 const char* NAME_ELEMENT_PROFILE_GLES__TECHNIQUE__PASS__POLYGON_OFFSET = "profile_GLES__technique__pass__polygon_offset";
689 const char* NAME_ELEMENT_PROFILE_GLES__TECHNIQUE__PASS__POLYGON_OFFSET_FILL_ENABLE = "profile_GLES__technique__pass__polygon_offset_fill_enable";
690 const char* NAME_ELEMENT_PROFILE_GLES__TECHNIQUE__PASS__PROJECTION_MATRIX = "profile_GLES__technique__pass__projection_matrix";
691 const char* NAME_ELEMENT_PROFILE_GLES__TECHNIQUE__PASS__RESCALE_NORMAL_ENABLE = "profile_GLES__technique__pass__rescale_normal_enable";
692 const char* NAME_ELEMENT_PROFILE_GLES__TECHNIQUE__PASS__SAMPLE_ALPHA_TO_COVERAGE_ENABLE = "profile_GLES__technique__pass__sample_alpha_to_coverage_enable";
693 const char* NAME_ELEMENT_PROFILE_GLES__TECHNIQUE__PASS__SAMPLE_ALPHA_TO_ONE_ENABLE = "profile_GLES__technique__pass__sample_alpha_to_one_enable";
694 const char* NAME_ELEMENT_PROFILE_GLES__TECHNIQUE__PASS__SAMPLE_COVERAGE_ENABLE = "profile_GLES__technique__pass__sample_coverage_enable";
695 const char* NAME_ELEMENT_PROFILE_GLES__TECHNIQUE__PASS__SCISSOR = "profile_GLES__technique__pass__scissor";
696 const char* NAME_ELEMENT_PROFILE_GLES__TECHNIQUE__PASS__SCISSOR_TEST_ENABLE = "profile_GLES__technique__pass__scissor_test_enable";
697 const char* NAME_ELEMENT_PROFILE_GLES__TECHNIQUE__PASS__SHADE_MODEL = "profile_GLES__technique__pass__shade_model";
698 const char* NAME_ELEMENT_PROFILE_GLES__TECHNIQUE__PASS__STENCIL_FUNC = "profile_GLES__technique__pass__stencil_func";
699 const char* NAME_ELEMENT_PROFILE_GLES__TECHNIQUE__PASS__STENCIL_FUNC__FUNC = "profile_GLES__technique__pass__stencil_func__func";
700 const char* NAME_ELEMENT_PROFILE_GLES__TECHNIQUE__PASS__STENCIL_FUNC__MASK = "profile_GLES__technique__pass__stencil_func__mask";
701 const char* NAME_ELEMENT_PROFILE_GLES__TECHNIQUE__PASS__STENCIL_FUNC__REF = "profile_GLES__technique__pass__stencil_func__ref";
702 const char* NAME_ELEMENT_PROFILE_GLES__TECHNIQUE__PASS__STENCIL_MASK = "profile_GLES__technique__pass__stencil_mask";
703 const char* NAME_ELEMENT_PROFILE_GLES__TECHNIQUE__PASS__STENCIL_OP = "profile_GLES__technique__pass__stencil_op";
704 const char* NAME_ELEMENT_PROFILE_GLES__TECHNIQUE__PASS__STENCIL_OP__FAIL = "profile_GLES__technique__pass__stencil_op__fail";
705 const char* NAME_ELEMENT_PROFILE_GLES__TECHNIQUE__PASS__STENCIL_OP__ZFAIL = "profile_GLES__technique__pass__stencil_op__zfail";
706 const char* NAME_ELEMENT_PROFILE_GLES__TECHNIQUE__PASS__STENCIL_OP__ZPASS = "profile_GLES__technique__pass__stencil_op__zpass";
707 const char* NAME_ELEMENT_PROFILE_GLES__TECHNIQUE__PASS__STENCIL_TEST_ENABLE = "profile_GLES__technique__pass__stencil_test_enable";
708 const char* NAME_ELEMENT_PROFILE_GLES__TECHNIQUE__PASS__TEXTURE_PIPELINE = "profile_GLES__technique__pass__texture_pipeline";
709 const char* NAME_ELEMENT_PROFILE_GLES__TECHNIQUE__SETPARAM = "profile_GLES__technique__setparam";
710 const char* NAME_ELEMENT_PROFILE_GLSL = "profile_GLSL";
711 const char* NAME_ELEMENT_PROFILE_GLSL__NEWPARAM__SURFACE__GENERATOR__NAME = "profile_GLSL__newparam__surface__generator__name";
712 const char* NAME_ELEMENT_PROFILE_GLSL__TECHNIQUE = "profile_GLSL__technique";
713 const char* NAME_ELEMENT_PROFILE_GLSL__TECHNIQUE__PASS = "profile_GLSL__technique__pass";
714 const char* NAME_ELEMENT_PROFILE_GLSL__TECHNIQUE__PASS__ALPHA_FUNC = "profile_GLSL__technique__pass__alpha_func";
715 const char* NAME_ELEMENT_PROFILE_GLSL__TECHNIQUE__PASS__ALPHA_FUNC__FUNC = "profile_GLSL__technique__pass__alpha_func__func";
716 const char* NAME_ELEMENT_PROFILE_GLSL__TECHNIQUE__PASS__ALPHA_FUNC__VALUE = "profile_GLSL__technique__pass__alpha_func__value";
717 const char* NAME_ELEMENT_PROFILE_GLSL__TECHNIQUE__PASS__ALPHA_TEST_ENABLE = "profile_GLSL__technique__pass__alpha_test_enable";
718 const char* NAME_ELEMENT_PROFILE_GLSL__TECHNIQUE__PASS__BLEND_ENABLE = "profile_GLSL__technique__pass__blend_enable";
719 const char* NAME_ELEMENT_PROFILE_GLSL__TECHNIQUE__PASS__BLEND_FUNC = "profile_GLSL__technique__pass__blend_func";
720 const char* NAME_ELEMENT_PROFILE_GLSL__TECHNIQUE__PASS__BLEND_FUNC__DEST = "profile_GLSL__technique__pass__blend_func__dest";
721 const char* NAME_ELEMENT_PROFILE_GLSL__TECHNIQUE__PASS__BLEND_FUNC__SRC = "profile_GLSL__technique__pass__blend_func__src";
722 const char* NAME_ELEMENT_PROFILE_GLSL__TECHNIQUE__PASS__CLEAR_COLOR = "profile_GLSL__technique__pass__clear_color";
723 const char* NAME_ELEMENT_PROFILE_GLSL__TECHNIQUE__PASS__CLEAR_DEPTH = "profile_GLSL__technique__pass__clear_depth";
724 const char* NAME_ELEMENT_PROFILE_GLSL__TECHNIQUE__PASS__CLEAR_STENCIL = "profile_GLSL__technique__pass__clear_stencil";
725 const char* NAME_ELEMENT_PROFILE_GLSL__TECHNIQUE__PASS__CLIP_PLANE = "profile_GLSL__technique__pass__clip_plane";
726 const char* NAME_ELEMENT_PROFILE_GLSL__TECHNIQUE__PASS__CLIP_PLANE_ENABLE = "profile_GLSL__technique__pass__clip_plane_enable";
727 const char* NAME_ELEMENT_PROFILE_GLSL__TECHNIQUE__PASS__COLOR_LOGIC_OP_ENABLE = "profile_GLSL__technique__pass__color_logic_op_enable";
728 const char* NAME_ELEMENT_PROFILE_GLSL__TECHNIQUE__PASS__COLOR_MASK = "profile_GLSL__technique__pass__color_mask";
729 const char* NAME_ELEMENT_PROFILE_GLSL__TECHNIQUE__PASS__COLOR_MATERIAL_ENABLE = "profile_GLSL__technique__pass__color_material_enable";
730 const char* NAME_ELEMENT_PROFILE_GLSL__TECHNIQUE__PASS__CULL_FACE = "profile_GLSL__technique__pass__cull_face";
731 const char* NAME_ELEMENT_PROFILE_GLSL__TECHNIQUE__PASS__CULL_FACE_ENABLE = "profile_GLSL__technique__pass__cull_face_enable";
732 const char* NAME_ELEMENT_PROFILE_GLSL__TECHNIQUE__PASS__DEPTH_FUNC = "profile_GLSL__technique__pass__depth_func";
733 const char* NAME_ELEMENT_PROFILE_GLSL__TECHNIQUE__PASS__DEPTH_MASK = "profile_GLSL__technique__pass__depth_mask";
734 const char* NAME_ELEMENT_PROFILE_GLSL__TECHNIQUE__PASS__DEPTH_RANGE = "profile_GLSL__technique__pass__depth_range";
735 const char* NAME_ELEMENT_PROFILE_GLSL__TECHNIQUE__PASS__DEPTH_TEST_ENABLE = "profile_GLSL__technique__pass__depth_test_enable";
736 const char* NAME_ELEMENT_PROFILE_GLSL__TECHNIQUE__PASS__DITHER_ENABLE = "profile_GLSL__technique__pass__dither_enable";
737 const char* NAME_ELEMENT_PROFILE_GLSL__TECHNIQUE__PASS__FOG_COLOR = "profile_GLSL__technique__pass__fog_color";
738 const char* NAME_ELEMENT_PROFILE_GLSL__TECHNIQUE__PASS__FOG_DENSITY = "profile_GLSL__technique__pass__fog_density";
739 const char* NAME_ELEMENT_PROFILE_GLSL__TECHNIQUE__PASS__FOG_ENABLE = "profile_GLSL__technique__pass__fog_enable";
740 const char* NAME_ELEMENT_PROFILE_GLSL__TECHNIQUE__PASS__FOG_END = "profile_GLSL__technique__pass__fog_end";
741 const char* NAME_ELEMENT_PROFILE_GLSL__TECHNIQUE__PASS__FOG_MODE = "profile_GLSL__technique__pass__fog_mode";
742 const char* NAME_ELEMENT_PROFILE_GLSL__TECHNIQUE__PASS__FOG_START = "profile_GLSL__technique__pass__fog_start";
743 const char* NAME_ELEMENT_PROFILE_GLSL__TECHNIQUE__PASS__FRONT_FACE = "profile_GLSL__technique__pass__front_face";
744 const char* NAME_ELEMENT_PROFILE_GLSL__TECHNIQUE__PASS__LIGHTING_ENABLE = "profile_GLSL__technique__pass__lighting_enable";
745 const char* NAME_ELEMENT_PROFILE_GLSL__TECHNIQUE__PASS__LIGHT_AMBIENT = "profile_GLSL__technique__pass__light_ambient";
746 const char* NAME_ELEMENT_PROFILE_GLSL__TECHNIQUE__PASS__LIGHT_CONSTANT_ATTENUATION = "profile_GLSL__technique__pass__light_constant_attenuation";
747 const char* NAME_ELEMENT_PROFILE_GLSL__TECHNIQUE__PASS__LIGHT_DIFFUSE = "profile_GLSL__technique__pass__light_diffuse";
748 const char* NAME_ELEMENT_PROFILE_GLSL__TECHNIQUE__PASS__LIGHT_ENABLE = "profile_GLSL__technique__pass__light_enable";
749 const char* NAME_ELEMENT_PROFILE_GLSL__TECHNIQUE__PASS__LIGHT_MODEL_AMBIENT = "profile_GLSL__technique__pass__light_model_ambient";
750 const char* NAME_ELEMENT_PROFILE_GLSL__TECHNIQUE__PASS__LIGHT_MODEL_TWO_SIDE_ENABLE = "profile_GLSL__technique__pass__light_model_two_side_enable";
751 const char* NAME_ELEMENT_PROFILE_GLSL__TECHNIQUE__PASS__LIGHT_POSITION = "profile_GLSL__technique__pass__light_position";
752 const char* NAME_ELEMENT_PROFILE_GLSL__TECHNIQUE__PASS__LIGHT_QUADRATIC_ATTENUATION = "profile_GLSL__technique__pass__light_quadratic_attenuation";
753 const char* NAME_ELEMENT_PROFILE_GLSL__TECHNIQUE__PASS__LIGHT_SPECULAR = "profile_GLSL__technique__pass__light_specular";
754 const char* NAME_ELEMENT_PROFILE_GLSL__TECHNIQUE__PASS__LIGHT_SPOT_CUTOFF = "profile_GLSL__technique__pass__light_spot_cutoff";
755 const char* NAME_ELEMENT_PROFILE_GLSL__TECHNIQUE__PASS__LIGHT_SPOT_DIRECTION = "profile_GLSL__technique__pass__light_spot_direction";
756 const char* NAME_ELEMENT_PROFILE_GLSL__TECHNIQUE__PASS__LIGHT_SPOT_EXPONENT = "profile_GLSL__technique__pass__light_spot_exponent";
757 const char* NAME_ELEMENT_PROFILE_GLSL__TECHNIQUE__PASS__LINE_SMOOTH_ENABLE = "profile_GLSL__technique__pass__line_smooth_enable";
758 const char* NAME_ELEMENT_PROFILE_GLSL__TECHNIQUE__PASS__LINE_WIDTH = "profile_GLSL__technique__pass__line_width";
759 const char* NAME_ELEMENT_PROFILE_GLSL__TECHNIQUE__PASS__LOGIC_OP = "profile_GLSL__technique__pass__logic_op";
760 const char* NAME_ELEMENT_PROFILE_GLSL__TECHNIQUE__PASS__MATERIAL_AMBIENT = "profile_GLSL__technique__pass__material_ambient";
761 const char* NAME_ELEMENT_PROFILE_GLSL__TECHNIQUE__PASS__MATERIAL_DIFFUSE = "profile_GLSL__technique__pass__material_diffuse";
762 const char* NAME_ELEMENT_PROFILE_GLSL__TECHNIQUE__PASS__MATERIAL_EMISSION = "profile_GLSL__technique__pass__material_emission";
763 const char* NAME_ELEMENT_PROFILE_GLSL__TECHNIQUE__PASS__MATERIAL_SHININESS = "profile_GLSL__technique__pass__material_shininess";
764 const char* NAME_ELEMENT_PROFILE_GLSL__TECHNIQUE__PASS__MATERIAL_SPECULAR = "profile_GLSL__technique__pass__material_specular";
765 const char* NAME_ELEMENT_PROFILE_GLSL__TECHNIQUE__PASS__MODEL_VIEW_MATRIX = "profile_GLSL__technique__pass__model_view_matrix";
766 const char* NAME_ELEMENT_PROFILE_GLSL__TECHNIQUE__PASS__MULTISAMPLE_ENABLE = "profile_GLSL__technique__pass__multisample_enable";
767 const char* NAME_ELEMENT_PROFILE_GLSL__TECHNIQUE__PASS__NORMALIZE_ENABLE = "profile_GLSL__technique__pass__normalize_enable";
768 const char* NAME_ELEMENT_PROFILE_GLSL__TECHNIQUE__PASS__POINT_DISTANCE_ATTENUATION = "profile_GLSL__technique__pass__point_distance_attenuation";
769 const char* NAME_ELEMENT_PROFILE_GLSL__TECHNIQUE__PASS__POINT_FADE_THRESHOLD_SIZE = "profile_GLSL__technique__pass__point_fade_threshold_size";
770 const char* NAME_ELEMENT_PROFILE_GLSL__TECHNIQUE__PASS__POINT_SIZE = "profile_GLSL__technique__pass__point_size";
771 const char* NAME_ELEMENT_PROFILE_GLSL__TECHNIQUE__PASS__POINT_SIZE_MAX = "profile_GLSL__technique__pass__point_size_max";
772 const char* NAME_ELEMENT_PROFILE_GLSL__TECHNIQUE__PASS__POINT_SIZE_MIN = "profile_GLSL__technique__pass__point_size_min";
773 const char* NAME_ELEMENT_PROFILE_GLSL__TECHNIQUE__PASS__POINT_SMOOTH_ENABLE = "profile_GLSL__technique__pass__point_smooth_enable";
774 const char* NAME_ELEMENT_PROFILE_GLSL__TECHNIQUE__PASS__POLYGON_OFFSET = "profile_GLSL__technique__pass__polygon_offset";
775 const char* NAME_ELEMENT_PROFILE_GLSL__TECHNIQUE__PASS__POLYGON_OFFSET_FILL_ENABLE = "profile_GLSL__technique__pass__polygon_offset_fill_enable";
776 const char* NAME_ELEMENT_PROFILE_GLSL__TECHNIQUE__PASS__PROJECTION_MATRIX = "profile_GLSL__technique__pass__projection_matrix";
777 const char* NAME_ELEMENT_PROFILE_GLSL__TECHNIQUE__PASS__RESCALE_NORMAL_ENABLE = "profile_GLSL__technique__pass__rescale_normal_enable";
778 const char* NAME_ELEMENT_PROFILE_GLSL__TECHNIQUE__PASS__SAMPLE_ALPHA_TO_COVERAGE_ENABLE = "profile_GLSL__technique__pass__sample_alpha_to_coverage_enable";
779 const char* NAME_ELEMENT_PROFILE_GLSL__TECHNIQUE__PASS__SAMPLE_ALPHA_TO_ONE_ENABLE = "profile_GLSL__technique__pass__sample_alpha_to_one_enable";
780 const char* NAME_ELEMENT_PROFILE_GLSL__TECHNIQUE__PASS__SAMPLE_COVERAGE_ENABLE = "profile_GLSL__technique__pass__sample_coverage_enable";
781 const char* NAME_ELEMENT_PROFILE_GLSL__TECHNIQUE__PASS__SCISSOR = "profile_GLSL__technique__pass__scissor";
782 const char* NAME_ELEMENT_PROFILE_GLSL__TECHNIQUE__PASS__SCISSOR_TEST_ENABLE = "profile_GLSL__technique__pass__scissor_test_enable";
783 const char* NAME_ELEMENT_PROFILE_GLSL__TECHNIQUE__PASS__SHADER = "profile_GLSL__technique__pass__shader";
784 const char* NAME_ELEMENT_PROFILE_GLSL__TECHNIQUE__PASS__SHADER__BIND = "profile_GLSL__technique__pass__shader__bind";
785 const char* NAME_ELEMENT_PROFILE_GLSL__TECHNIQUE__PASS__SHADER__BIND__PARAM = "profile_GLSL__technique__pass__shader__bind__param";
786 const char* NAME_ELEMENT_PROFILE_GLSL__TECHNIQUE__PASS__SHADER__COMPILER_TARGET = "profile_GLSL__technique__pass__shader__compiler_target";
787 const char* NAME_ELEMENT_PROFILE_GLSL__TECHNIQUE__PASS__SHADER__NAME = "profile_GLSL__technique__pass__shader__name";
788 const char* NAME_ELEMENT_PROFILE_GLSL__TECHNIQUE__PASS__SHADE_MODEL = "profile_GLSL__technique__pass__shade_model";
789 const char* NAME_ELEMENT_PROFILE_GLSL__TECHNIQUE__PASS__STENCIL_FUNC = "profile_GLSL__technique__pass__stencil_func";
790 const char* NAME_ELEMENT_PROFILE_GLSL__TECHNIQUE__PASS__STENCIL_FUNC__FUNC = "profile_GLSL__technique__pass__stencil_func__func";
791 const char* NAME_ELEMENT_PROFILE_GLSL__TECHNIQUE__PASS__STENCIL_FUNC__MASK = "profile_GLSL__technique__pass__stencil_func__mask";
792 const char* NAME_ELEMENT_PROFILE_GLSL__TECHNIQUE__PASS__STENCIL_FUNC__REF = "profile_GLSL__technique__pass__stencil_func__ref";
793 const char* NAME_ELEMENT_PROFILE_GLSL__TECHNIQUE__PASS__STENCIL_MASK = "profile_GLSL__technique__pass__stencil_mask";
794 const char* NAME_ELEMENT_PROFILE_GLSL__TECHNIQUE__PASS__STENCIL_OP = "profile_GLSL__technique__pass__stencil_op";
795 const char* NAME_ELEMENT_PROFILE_GLSL__TECHNIQUE__PASS__STENCIL_OP__FAIL = "profile_GLSL__technique__pass__stencil_op__fail";
796 const char* NAME_ELEMENT_PROFILE_GLSL__TECHNIQUE__PASS__STENCIL_OP__ZFAIL = "profile_GLSL__technique__pass__stencil_op__zfail";
797 const char* NAME_ELEMENT_PROFILE_GLSL__TECHNIQUE__PASS__STENCIL_OP__ZPASS = "profile_GLSL__technique__pass__stencil_op__zpass";
798 const char* NAME_ELEMENT_PROFILE_GLSL__TECHNIQUE__PASS__STENCIL_TEST_ENABLE = "profile_GLSL__technique__pass__stencil_test_enable";
799 const char* NAME_ELEMENT_PROJECTION_MATRIX = "projection_matrix";
800 const char* NAME_ELEMENT_QUADRATIC_ATTENUATION = "quadratic_attenuation";
801 const char* NAME_ELEMENT_RADIUS = "radius";
802 const char* NAME_ELEMENT_RADIUS1 = "radius1";
803 const char* NAME_ELEMENT_RADIUS2 = "radius2";
804 const char* NAME_ELEMENT_RADIUS____FLOAT = "radius____float";
805 const char* NAME_ELEMENT_RADIUS____FLOAT2 = "radius____float2";
806 const char* NAME_ELEMENT_RANGE = "range";
807 const char* NAME_ELEMENT_REF = NAME_ATTRIBUTE_ref;
808 const char* NAME_ELEMENT_REFLECTIVE = "reflective";
809 const char* NAME_ELEMENT_REFLECTIVITY = "reflectivity";
810 const char* NAME_ELEMENT_REF_ATTACHMENT = "ref_attachment";
811 const char* NAME_ELEMENT_RENDER = "render";
812 const char* NAME_ELEMENT_RESCALE_NORMAL_ENABLE = "rescale_normal_enable";
813 const char* NAME_ELEMENT_RESTITUTION = "restitution";
814 const char* NAME_ELEMENT_REVISION = "revision";
815 const char* NAME_ELEMENT_RGB = "RGB";
816 const char* NAME_ELEMENT_RIGID_BODY = "rigid_body";
817 const char* NAME_ELEMENT_RIGID_BODY__TECHNIQUE_COMMON = "rigid_body__technique_common";
818 const char* NAME_ELEMENT_RIGID_BODY__TECHNIQUE_COMMON__DYNAMIC = "rigid_body__technique_common__dynamic";
819 const char* NAME_ELEMENT_RIGID_BODY__TECHNIQUE_COMMON__MASS_FRAME = "rigid_body__technique_common__mass_frame";
820 const char* NAME_ELEMENT_RIGID_BODY__TECHNIQUE_COMMON__SHAPE = "rigid_body__technique_common__shape";
821 const char* NAME_ELEMENT_RIGID_BODY__TECHNIQUE_COMMON__SHAPE__HOLLOW = "rigid_body__technique_common__shape__hollow";
822 const char* NAME_ELEMENT_RIGID_CONSTRAINT = "rigid_constraint";
823 const char* NAME_ELEMENT_RIGID_CONSTRAINT__TECHNIQUE_COMMON = "rigid_constraint__technique_common";
824 const char* NAME_ELEMENT_ROTATE = "rotate";
825 const char* NAME_ELEMENT_SAMPLER = "sampler";
826 const char* NAME_ELEMENT_SAMPLER1D = "sampler1D";
827 const char* NAME_ELEMENT_SAMPLER1D____CG_SAMPLER1D = "sampler1D____cg_sampler1D";
828 const char* NAME_ELEMENT_SAMPLER1D____FX_SAMPLER1D_COMMON = "sampler1D____fx_sampler1D_common";
829 const char* NAME_ELEMENT_SAMPLER1D____GL_SAMPLER1D = "sampler1D____gl_sampler1D";
830 const char* NAME_ELEMENT_SAMPLER2D = "sampler2D";
831 const char* NAME_ELEMENT_SAMPLER2D____CG_SAMPLER2D = "sampler2D____cg_sampler2D";
832 const char* NAME_ELEMENT_SAMPLER2D____FX_SAMPLER2D_COMMON = "sampler2D____fx_sampler2D_common";
833 const char* NAME_ELEMENT_SAMPLER2D____GL_SAMPLER2D = "sampler2D____gl_sampler2D";
834 const char* NAME_ELEMENT_SAMPLER3D = "sampler3D";
835 const char* NAME_ELEMENT_SAMPLER3D____CG_SAMPLER3D = "sampler3D____cg_sampler3D";
836 const char* NAME_ELEMENT_SAMPLER3D____FX_SAMPLER3D_COMMON = "sampler3D____fx_sampler3D_common";
837 const char* NAME_ELEMENT_SAMPLER3D____GL_SAMPLER3D = "sampler3D____gl_sampler3D";
838 const char* NAME_ELEMENT_SAMPLERCUBE = "samplerCUBE";
839 const char* NAME_ELEMENT_SAMPLERCUBE____CG_SAMPLERCUBE = "samplerCUBE____cg_samplerCUBE";
840 const char* NAME_ELEMENT_SAMPLERCUBE____FX_SAMPLERCUBE_COMMON = "samplerCUBE____fx_samplerCUBE_common";
841 const char* NAME_ELEMENT_SAMPLERCUBE____GL_SAMPLERCUBE = "samplerCUBE____gl_samplerCUBE";
842 const char* NAME_ELEMENT_SAMPLERDEPTH = "samplerDEPTH";
843 const char* NAME_ELEMENT_SAMPLERDEPTH____CG_SAMPLERDEPTH = "samplerDEPTH____cg_samplerDEPTH";
844 const char* NAME_ELEMENT_SAMPLERDEPTH____FX_SAMPLERDEPTH_COMMON = "samplerDEPTH____fx_samplerDEPTH_common";
845 const char* NAME_ELEMENT_SAMPLERDEPTH____GL_SAMPLERDEPTH = "samplerDEPTH____gl_samplerDEPTH";
846 const char* NAME_ELEMENT_SAMPLERRECT = "samplerRECT";
847 const char* NAME_ELEMENT_SAMPLERRECT____CG_SAMPLERRECT = "samplerRECT____cg_samplerRECT";
848 const char* NAME_ELEMENT_SAMPLERRECT____FX_SAMPLERRECT_COMMON = "samplerRECT____fx_samplerRECT_common";
849 const char* NAME_ELEMENT_SAMPLERRECT____GL_SAMPLERRECT = "samplerRECT____gl_samplerRECT";
850 const char* NAME_ELEMENT_SAMPLER_STATE = "sampler_state";
851 const char* NAME_ELEMENT_SAMPLER_STATE____GLES_SAMPLER_STATE = "sampler_state____gles_sampler_state";
852 const char* NAME_ELEMENT_SAMPLER_STATE____NCNAME = "sampler_state____NCName";
853 const char* NAME_ELEMENT_SAMPLE_ALPHA_TO_COVERAGE_ENABLE = "sample_alpha_to_coverage_enable";
854 const char* NAME_ELEMENT_SAMPLE_ALPHA_TO_ONE_ENABLE = "sample_alpha_to_one_enable";
855 const char* NAME_ELEMENT_SAMPLE_COVERAGE_ENABLE = "sample_coverage_enable";
856 const char* NAME_ELEMENT_SCALE = "scale";
857 const char* NAME_ELEMENT_SCENE = "scene";
858 const char* NAME_ELEMENT_SCISSOR = "scissor";
859 const char* NAME_ELEMENT_SCISSOR_TEST_ENABLE = "scissor_test_enable";
860 const char* NAME_ELEMENT_SEMANTIC = NAME_ATTRIBUTE_semantic;
861 const char* NAME_ELEMENT_SETPARAM = "setparam";
862 const char* NAME_ELEMENT_SETPARAM____CG_SETPARAM = "setparam____cg_setparam";
863 const char* NAME_ELEMENT_SETPARAM____CG_SETPARAM_SIMPLE = "setparam____cg_setparam_simple";
864 const char* NAME_ELEMENT_SETPARAM____GLSL_SETPARAM = "setparam____glsl_setparam";
865 const char* NAME_ELEMENT_SETPARAM____GLSL_SETPARAM_SIMPLE = "setparam____glsl_setparam_simple";
866 const char* NAME_ELEMENT_SHADER = "shader";
867 const char* NAME_ELEMENT_SHADE_MODEL = "shade_model";
868 const char* NAME_ELEMENT_SHAPE = "shape";
869 const char* NAME_ELEMENT_SHININESS = "shininess";
870 const char* NAME_ELEMENT_SIZE = "size";
871 const char* NAME_ELEMENT_SIZE____FLOAT3 = "size____float3";
872 const char* NAME_ELEMENT_SIZE____INT3 = "size____int3";
873 const char* NAME_ELEMENT_SKELETON = "skeleton";
874 const char* NAME_ELEMENT_SKEW = "skew";
875 const char* NAME_ELEMENT_SKIN = "skin";
876 const char* NAME_ELEMENT_SOURCE = "source";
877 const char* NAME_ELEMENT_SOURCE_DATA = "source_data";
878 const char* NAME_ELEMENT_SOURCE____NCNAME = "source____NCName";
879 const char* NAME_ELEMENT_SPECULAR = "specular";
880 const char* NAME_ELEMENT_SPHERE = "sphere";
881 const char* NAME_ELEMENT_SPLINE = "spline";
882 const char* NAME_ELEMENT_SPOT = "spot";
883 const char* NAME_ELEMENT_SPRING = "spring";
884 const char* NAME_ELEMENT_SPRING__LINEAR = "spring__linear";
885 const char* NAME_ELEMENT_SRC = "src";
886 const char* NAME_ELEMENT_SRC_ALPHA = "src_alpha";
887 const char* NAME_ELEMENT_SRC_RGB = "src_rgb";
888 const char* NAME_ELEMENT_STATIC_FRICTION = "static_friction";
889 const char* NAME_ELEMENT_STENCIL_CLEAR = "stencil_clear";
890 const char* NAME_ELEMENT_STENCIL_CLEAR____BYTE = "stencil_clear____byte";
891 const char* NAME_ELEMENT_STENCIL_CLEAR____FX_CLEARSTENCIL_COMMON = "stencil_clear____fx_clearstencil_common";
892 const char* NAME_ELEMENT_STENCIL_FUNC = "stencil_func";
893 const char* NAME_ELEMENT_STENCIL_FUNC_SEPARATE = "stencil_func_separate";
894 const char* NAME_ELEMENT_STENCIL_FUNC_SEPARATE__MASK = "stencil_func_separate__mask";
895 const char* NAME_ELEMENT_STENCIL_FUNC_SEPARATE__REF = "stencil_func_separate__ref";
896 const char* NAME_ELEMENT_STENCIL_MASK = "stencil_mask";
897 const char* NAME_ELEMENT_STENCIL_MASK_SEPARATE = "stencil_mask_separate";
898 const char* NAME_ELEMENT_STENCIL_MASK_SEPARATE__FACE = "stencil_mask_separate__face";
899 const char* NAME_ELEMENT_STENCIL_MASK_SEPARATE__MASK = "stencil_mask_separate__mask";
900 const char* NAME_ELEMENT_STENCIL_OP = "stencil_op";
901 const char* NAME_ELEMENT_STENCIL_OP_SEPARATE = "stencil_op_separate";
902 const char* NAME_ELEMENT_STENCIL_OP_SEPARATE__FACE = "stencil_op_separate__face";
903 const char* NAME_ELEMENT_STENCIL_OP_SEPARATE__FAIL = "stencil_op_separate__fail";
904 const char* NAME_ELEMENT_STENCIL_OP_SEPARATE__ZFAIL = "stencil_op_separate__zfail";
905 const char* NAME_ELEMENT_STENCIL_OP_SEPARATE__ZPASS = "stencil_op_separate__zpass";
906 const char* NAME_ELEMENT_STENCIL_TARGET = "stencil_target";
907 const char* NAME_ELEMENT_STENCIL_TARGET____FX_STENCILTARGET_COMMON = "stencil_target____fx_stenciltarget_common";
908 const char* NAME_ELEMENT_STENCIL_TARGET____GLES_RENDERTARGET_COMMON = "stencil_target____gles_rendertarget_common";
909 const char* NAME_ELEMENT_STENCIL_TEST_ENABLE = "stencil_test_enable";
910 const char* NAME_ELEMENT_STIFFNESS = "stiffness";
911 const char* NAME_ELEMENT_STRING = "string";
912 const char* NAME_ELEMENT_SUBJECT = "subject";
913 const char* NAME_ELEMENT_SURFACE = "surface";
914 const char* NAME_ELEMENT_SURFACE____CG_SURFACE_TYPE = "surface____cg_surface_type";
915 const char* NAME_ELEMENT_SURFACE____FX_SURFACE_COMMON = "surface____fx_surface_common";
916 const char* NAME_ELEMENT_SURFACE____GLSL_SURFACE_TYPE = "surface____glsl_surface_type";
917 const char* NAME_ELEMENT_SURFACE____NCNAME = "surface____NCName";
918 const char* NAME_ELEMENT_SWING_CONE_AND_TWIST = "swing_cone_and_twist";
919 const char* NAME_ELEMENT_TAPERED_CAPSULE = "tapered_capsule";
920 const char* NAME_ELEMENT_TAPERED_CYLINDER = "tapered_cylinder";
921 const char* NAME_ELEMENT_TARGETS = "targets";
922 const char* NAME_ELEMENT_TARGET_VALUE = "target_value";
923 const char* NAME_ELEMENT_TECHNIQUE = "technique";
924 const char* NAME_ELEMENT_TECHNIQUE_COMMON = "technique_common";
925 const char* NAME_ELEMENT_TECHNIQUE_HINT = "technique_hint";
926 const char* NAME_ELEMENT_TEXCOMBINER = "texcombiner";
927 const char* NAME_ELEMENT_TEXCOORD = "texcoord";
928 const char* NAME_ELEMENT_TEXENV = "texenv";
929 const char* NAME_ELEMENT_TEXTURE = "texture";
930 const char* NAME_ELEMENT_TEXTURE1D = "texture1D";
931 const char* NAME_ELEMENT_TEXTURE1D_ENABLE = "texture1D_enable";
932 const char* NAME_ELEMENT_TEXTURE2D = "texture2D";
933 const char* NAME_ELEMENT_TEXTURE2D_ENABLE = "texture2D_enable";
934 const char* NAME_ELEMENT_TEXTURE3D = "texture3D";
935 const char* NAME_ELEMENT_TEXTURE3D_ENABLE = "texture3D_enable";
936 const char* NAME_ELEMENT_TEXTURECUBE = "textureCUBE";
937 const char* NAME_ELEMENT_TEXTURECUBE_ENABLE = "textureCUBE_enable";
938 const char* NAME_ELEMENT_TEXTUREDEPTH = "textureDEPTH";
939 const char* NAME_ELEMENT_TEXTUREDEPTH_ENABLE = "textureDEPTH_enable";
940 const char* NAME_ELEMENT_TEXTURERECT = "textureRECT";
941 const char* NAME_ELEMENT_TEXTURERECT_ENABLE = "textureRECT_enable";
942 const char* NAME_ELEMENT_TEXTURE_ENV_COLOR = "texture_env_color";
943 const char* NAME_ELEMENT_TEXTURE_ENV_MODE = "texture_env_mode";
944 const char* NAME_ELEMENT_TEXTURE_PIPELINE = "texture_pipeline";
945 const char* NAME_ELEMENT_TEXTURE_PIPELINE_ENABLE = "texture_pipeline_enable";
946 const char* NAME_ELEMENT_TEXTURE_PIPELINE____GLES_TEXTURE_PIPELINE = "texture_pipeline____gles_texture_pipeline";
947 const char* NAME_ELEMENT_TEXTURE_UNIT = "texture_unit";
948 const char* NAME_ELEMENT_TIME_STEP = "time_step";
949 const char* NAME_ELEMENT_TITLE = "title";
950 const char* NAME_ELEMENT_TRANSLATE = "translate";
951 const char* NAME_ELEMENT_TRANSPARENCY = "transparency";
952 const char* NAME_ELEMENT_TRANSPARENT = "transparent";
953 const char* NAME_ELEMENT_TRIANGLES = "triangles";
954 const char* NAME_ELEMENT_TRIFANS = "trifans";
955 const char* NAME_ELEMENT_TRISTRIPS = "tristrips";
956 const char* NAME_ELEMENT_UNIT = "unit";
957 const char* NAME_ELEMENT_UP_AXIS = "up_axis";
958 const char* NAME_ELEMENT_USERTYPE = "usertype";
959 const char* NAME_ELEMENT_V = "v";
960 const char* NAME_ELEMENT_VALUE = NAME_ATTRIBUTE_value;
961 const char* NAME_ELEMENT_VALUE____GLES_TEXTURE_PIPELINE = "value____gles_texture_pipeline";
962 const char* NAME_ELEMENT_VALUE____GL_SAMPLER1D = "value____gl_sampler1D";
963 const char* NAME_ELEMENT_VALUE____GL_SAMPLER2D = "value____gl_sampler2D";
964 const char* NAME_ELEMENT_VALUE____GL_SAMPLER3D = "value____gl_sampler3D";
965 const char* NAME_ELEMENT_VALUE____GL_SAMPLERCUBE = "value____gl_samplerCUBE";
966 const char* NAME_ELEMENT_VALUE____GL_SAMPLERDEPTH = "value____gl_samplerDEPTH";
967 const char* NAME_ELEMENT_VALUE____GL_SAMPLERRECT = "value____gl_samplerRECT";
968 const char* NAME_ELEMENT_VCOUNT = "vcount";
969 const char* NAME_ELEMENT_VELOCITY = "velocity";
970 const char* NAME_ELEMENT_VERTEX_WEIGHTS = "vertex_weights";
971 const char* NAME_ELEMENT_VERTICES = "vertices";
972 const char* NAME_ELEMENT_VIEWPORT_RATIO = "viewport_ratio";
973 const char* NAME_ELEMENT_VISUAL_SCENE = "visual_scene";
974 const char* NAME_ELEMENT_WRAP_P = "wrap_p";
975 const char* NAME_ELEMENT_WRAP_S = "wrap_s";
976 const char* NAME_ELEMENT_WRAP_S____FX_SAMPLER_WRAP_COMMON = "wrap_s____fx_sampler_wrap_common";
977 const char* NAME_ELEMENT_WRAP_S____GLES_SAMPLER_WRAP = "wrap_s____gles_sampler_wrap";
978 const char* NAME_ELEMENT_WRAP_T = "wrap_t";
979 const char* NAME_ELEMENT_WRAP_T____FX_SAMPLER_WRAP_COMMON = "wrap_t____fx_sampler_wrap_common";
980 const char* NAME_ELEMENT_WRAP_T____GLES_SAMPLER_WRAP = "wrap_t____gles_sampler_wrap";
981 const char* NAME_ELEMENT_XFOV = "xfov";
982 const char* NAME_ELEMENT_XMAG = "xmag";
983 const char* NAME_ELEMENT_YFOV = "yfov";
984 const char* NAME_ELEMENT_YMAG = "ymag";
985 const char* NAME_ELEMENT_ZFAIL = "zfail";
986 const char* NAME_ELEMENT_ZFAR = "zfar";
987 const char* NAME_ELEMENT_ZNEAR = "znear";
988 const char* NAME_ELEMENT_ZPASS = "zpass";
989 
990 
991 
992 //---------------------------------------------------------------------
993 const COLLADA__AttributeData COLLADA__AttributeData::DEFAULT = {0, ENUM__VersionType__NOT_PRESENT, 0};
994 
995 //---------------------------------------------------------------------
_data__COLLADA(const ParserChar * text,size_t textLength)996 bool ColladaParserAutoGen14Private::_data__COLLADA( const ParserChar* text, size_t textLength )
997 {
998     return true;
999 }
1000 
1001 //---------------------------------------------------------------------
_preBegin__COLLADA(const ParserAttributes & attributes,void ** attributeDataPtr,void ** validationDataPtr)1002 bool ColladaParserAutoGen14Private::_preBegin__COLLADA( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
1003 {
1004 #ifdef GENERATEDSAXPARSER_VALIDATION
1005     if ( mValidate )
1006     {
1007 
1008         bool validationResult = _validateBegin__COLLADA( attributes, attributeDataPtr, validationDataPtr );
1009         if ( !validationResult ) return false;
1010 
1011     } // validation
1012 #endif
1013 
1014 COLLADA__AttributeData* attributeData = newData<COLLADA__AttributeData>(attributeDataPtr);
1015 
1016 const ParserChar** attributeArray = attributes.attributes;
1017 if ( attributeArray )
1018 {
1019     while (true)
1020     {
1021         const ParserChar * attribute = *attributeArray;
1022         if ( !attribute )
1023             break;
1024         StringHash hash = GeneratedSaxParser::Utils::calculateStringHash(attribute);
1025         attributeArray++;
1026         if ( !attributeArray )
1027             return false;
1028         const ParserChar* attributeValue = *attributeArray;
1029         attributeArray++;
1030 
1031 
1032     switch ( hash )
1033     {
1034     case HASH_ATTRIBUTE_version:
1035     {
1036 bool failed;
1037 attributeData->version = Utils::toEnum<ENUM__VersionType, StringHash, ENUM__VersionType__COUNT>(attributeValue, failed, ENUM__VersionTypeMap, Utils::calculateStringHash);
1038 if ( failed && handleError(ParserError::SEVERITY_ERROR_NONCRITICAL,
1039         ParserError::ERROR_ATTRIBUTE_PARSING_FAILED,
1040         HASH_ELEMENT_COLLADA,
1041         HASH_ATTRIBUTE_version,
1042         attributeValue))
1043 {
1044     return false;
1045 }
1046 
1047     break;
1048     }
1049     case HASH_ATTRIBUTE_base:
1050     {
1051 bool failed;
1052 attributeData->base = GeneratedSaxParser::Utils::toURI(&attributeValue, failed);
1053 if ( failed && handleError(ParserError::SEVERITY_ERROR_NONCRITICAL,
1054         ParserError::ERROR_ATTRIBUTE_PARSING_FAILED,
1055         HASH_ELEMENT_COLLADA,
1056         HASH_ATTRIBUTE_base,
1057         attributeValue))
1058 {
1059     return false;
1060 }
1061 if ( !failed )
1062     attributeData->present_attributes |= COLLADA__AttributeData::ATTRIBUTE_BASE_PRESENT;
1063 
1064     break;
1065     }
1066     case HASH_ATTRIBUTE_xmlns:
1067     {
1068     // ignore
1069 
1070     break;
1071     }
1072     default:
1073     {
1074         StringHashPair hashPair = Utils::calculateStringHashWithNamespace( attribute );
1075         if ( hashPair.first != HASH_ATTRIBUTE_xmlns )
1076         {
1077         if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_UNKNOWN_ATTRIBUTE, HASH_ELEMENT_COLLADA, attribute, attributeValue))
1078             {return false;}        }
1079         else
1080         {
1081             // ignore
1082         }
1083 
1084     }
1085     }
1086     }
1087 }
1088 if ((attributeData->present_attributes & COLLADA__AttributeData::ATTRIBUTE_BASE_PRESENT) == 0)
1089 {
1090     attributeData->base = COLLADABU::URI("");
1091 }
1092 if ( attributeData->version == ENUM__VersionType__NOT_PRESENT )
1093 {
1094     if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_REQUIRED_ATTRIBUTE_MISSING, HASH_ELEMENT_COLLADA, HASH_ATTRIBUTE_version, 0 ) )
1095         return false;
1096 }
1097 
1098 
1099     return true;
1100 }
1101 
1102 //---------------------------------------------------------------------
_preEnd__COLLADA()1103 bool ColladaParserAutoGen14Private::_preEnd__COLLADA()
1104 {
1105 #ifdef GENERATEDSAXPARSER_VALIDATION
1106     if ( mValidate )
1107     {
1108 
1109         bool validationResult = _validateEnd__COLLADA();
1110         if ( !validationResult ) return false;
1111 
1112     } // validation
1113 #endif
1114 
1115     return true;
1116 }
1117 
1118 //---------------------------------------------------------------------
_freeAttributes__COLLADA(void * attributeData)1119 bool ColladaParserAutoGen14Private::_freeAttributes__COLLADA( void* attributeData )
1120 {
1121     COLLADA__AttributeData* typedAttributeData = static_cast<COLLADA__AttributeData*>(attributeData);
1122 
1123     typedAttributeData->~COLLADA__AttributeData();
1124 
1125     return true;
1126 }
1127 
1128 //---------------------------------------------------------------------
toEnumDataPrefix_ENUM__VersionType(const ParserChar * prefixedBuffer,const ParserChar * prefixedBufferEnd,const ParserChar ** buffer,const ParserChar * bufferEnd,bool & failed,const std::pair<StringHash,ENUM__VersionType> * enumMap,StringHash (* baseConversionFunc)(const ParserChar **,const ParserChar *,bool &))1129 ENUM__VersionType ColladaParserAutoGen14Private::toEnumDataPrefix_ENUM__VersionType (
1130     const ParserChar* prefixedBuffer,
1131     const ParserChar* prefixedBufferEnd,
1132     const ParserChar** buffer,
1133     const ParserChar* bufferEnd,
1134     bool& failed,
1135     const std::pair<StringHash, ENUM__VersionType>* enumMap,
1136     StringHash (*baseConversionFunc)( const ParserChar**, const ParserChar*, bool& )
1137 )
1138 {
1139     return toEnumDataPrefix<ENUM__VersionType, StringHash, ENUM__VersionType__COUNT, &toEnum_ENUM__VersionType>(prefixedBuffer, prefixedBufferEnd, buffer, bufferEnd, failed, enumMap, baseConversionFunc);
1140 }
1141 
1142 //---------------------------------------------------------------------
characterData2EnumData_ENUM__VersionType(const ParserChar * text,size_t textLength,bool (ColladaParserAutoGen14::* dataFunction)(const ENUM__VersionType *,size_t),StringHash (* baseConversionFunc)(const ParserChar **,const ParserChar *,bool &))1143 bool ColladaParserAutoGen14Private::characterData2EnumData_ENUM__VersionType (
1144     const ParserChar* text,
1145     size_t textLength,
1146     bool ( ColladaParserAutoGen14::*dataFunction )(const ENUM__VersionType*, size_t ),
1147     StringHash (*baseConversionFunc)( const ParserChar**, const ParserChar*, bool& )
1148 )
1149 {
1150     return characterData2EnumData<ENUM__VersionType, StringHash, ENUM__VersionType__COUNT>(text, textLength, dataFunction, ENUM__VersionTypeMap, baseConversionFunc, &toEnum_ENUM__VersionType, &ColladaParserAutoGen14Private::toEnumDataPrefix_ENUM__VersionType);
1151 }
1152 
1153 //---------------------------------------------------------------------
dataEnumEnd_ENUM__VersionType(bool (ColladaParserAutoGen14::* dataFunction)(const ENUM__VersionType *,size_t),const std::pair<StringHash,ENUM__VersionType> * enumMap,StringHash (* baseConversionFunc)(const ParserChar **,const ParserChar *,bool &),ENUM__VersionType (* toEnumFunc)(const ParserChar **,const ParserChar *,bool &,const std::pair<StringHash,ENUM__VersionType> * enumMap,StringHash (* baseConversionFunc)(const ParserChar **,const ParserChar *,bool &)))1154 bool ColladaParserAutoGen14Private::dataEnumEnd_ENUM__VersionType (
1155     bool ( ColladaParserAutoGen14::*dataFunction )(const ENUM__VersionType*, size_t ),
1156     const std::pair<StringHash, ENUM__VersionType>* enumMap,
1157     StringHash (*baseConversionFunc)( const ParserChar**, const ParserChar*, bool& ),
1158     ENUM__VersionType (*toEnumFunc)( const ParserChar**, const ParserChar*, bool&, const std::pair<StringHash, ENUM__VersionType>* enumMap, StringHash (*baseConversionFunc)( const ParserChar**, const ParserChar*, bool& ))
1159 )
1160 {
1161     return dataEnumEnd<ENUM__VersionType, StringHash, ENUM__VersionType__COUNT>(dataFunction, enumMap, baseConversionFunc, toEnumFunc);
1162 }
1163 
1164 //---------------------------------------------------------------------
_data__asset(const ParserChar * text,size_t textLength)1165 bool ColladaParserAutoGen14Private::_data__asset( const ParserChar* text, size_t textLength )
1166 {
1167     return true;
1168 }
1169 
1170 //---------------------------------------------------------------------
_preBegin__asset(const ParserAttributes & attributes,void ** attributeDataPtr,void ** validationDataPtr)1171 bool ColladaParserAutoGen14Private::_preBegin__asset( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
1172 {
1173 #ifdef GENERATEDSAXPARSER_VALIDATION
1174     if ( mValidate )
1175     {
1176 
1177         bool validationResult = _validateBegin__asset( attributes, attributeDataPtr, validationDataPtr );
1178         if ( !validationResult ) return false;
1179 
1180     } // validation
1181 #endif
1182 
1183     return true;
1184 }
1185 
1186 //---------------------------------------------------------------------
_preEnd__asset()1187 bool ColladaParserAutoGen14Private::_preEnd__asset()
1188 {
1189 #ifdef GENERATEDSAXPARSER_VALIDATION
1190     if ( mValidate )
1191     {
1192 
1193         bool validationResult = _validateEnd__asset();
1194         if ( !validationResult ) return false;
1195 
1196     } // validation
1197 #endif
1198 
1199     return true;
1200 }
1201 
1202 //---------------------------------------------------------------------
_freeAttributes__asset(void * attributeData)1203 bool ColladaParserAutoGen14Private::_freeAttributes__asset( void* attributeData )
1204 {
1205     return true;
1206 }
1207 
1208 //---------------------------------------------------------------------
_data__contributor(const ParserChar * text,size_t textLength)1209 bool ColladaParserAutoGen14Private::_data__contributor( const ParserChar* text, size_t textLength )
1210 {
1211     return true;
1212 }
1213 
1214 //---------------------------------------------------------------------
_preBegin__contributor(const ParserAttributes & attributes,void ** attributeDataPtr,void ** validationDataPtr)1215 bool ColladaParserAutoGen14Private::_preBegin__contributor( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
1216 {
1217 #ifdef GENERATEDSAXPARSER_VALIDATION
1218     if ( mValidate )
1219     {
1220 
1221         bool validationResult = _validateBegin__contributor( attributes, attributeDataPtr, validationDataPtr );
1222         if ( !validationResult ) return false;
1223 
1224     } // validation
1225 #endif
1226 
1227     return true;
1228 }
1229 
1230 //---------------------------------------------------------------------
_preEnd__contributor()1231 bool ColladaParserAutoGen14Private::_preEnd__contributor()
1232 {
1233 #ifdef GENERATEDSAXPARSER_VALIDATION
1234     if ( mValidate )
1235     {
1236 
1237         bool validationResult = _validateEnd__contributor();
1238         if ( !validationResult ) return false;
1239 
1240     } // validation
1241 #endif
1242 
1243     return true;
1244 }
1245 
1246 //---------------------------------------------------------------------
_freeAttributes__contributor(void * attributeData)1247 bool ColladaParserAutoGen14Private::_freeAttributes__contributor( void* attributeData )
1248 {
1249     return true;
1250 }
1251 
1252 //---------------------------------------------------------------------
_data__author(const ParserChar * text,size_t textLength)1253 bool ColladaParserAutoGen14Private::_data__author( const ParserChar* text, size_t textLength )
1254 {
1255 
1256 return mImpl->data__author(text, textLength);
1257 }
1258 
1259 //---------------------------------------------------------------------
_preBegin__author(const ParserAttributes & attributes,void ** attributeDataPtr,void ** validationDataPtr)1260 bool ColladaParserAutoGen14Private::_preBegin__author( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
1261 {
1262 #ifdef GENERATEDSAXPARSER_VALIDATION
1263     if ( mValidate )
1264     {
1265 
1266         bool validationResult = _validateBegin__author( attributes, attributeDataPtr, validationDataPtr );
1267         if ( !validationResult ) return false;
1268 
1269     } // validation
1270 #endif
1271 
1272     return true;
1273 }
1274 
1275 //---------------------------------------------------------------------
_preEnd__author()1276 bool ColladaParserAutoGen14Private::_preEnd__author()
1277 {
1278 #ifdef GENERATEDSAXPARSER_VALIDATION
1279     if ( mValidate )
1280     {
1281 
1282         bool validationResult = _validateEnd__author();
1283         if ( !validationResult ) return false;
1284 
1285     } // validation
1286 #endif
1287 
1288     return true;
1289 }
1290 
1291 //---------------------------------------------------------------------
_freeAttributes__author(void * attributeData)1292 bool ColladaParserAutoGen14Private::_freeAttributes__author( void* attributeData )
1293 {
1294     return true;
1295 }
1296 
1297 //---------------------------------------------------------------------
_data__authoring_tool(const ParserChar * text,size_t textLength)1298 bool ColladaParserAutoGen14Private::_data__authoring_tool( const ParserChar* text, size_t textLength )
1299 {
1300 
1301 return mImpl->data__authoring_tool(text, textLength);
1302 }
1303 
1304 //---------------------------------------------------------------------
_preBegin__authoring_tool(const ParserAttributes & attributes,void ** attributeDataPtr,void ** validationDataPtr)1305 bool ColladaParserAutoGen14Private::_preBegin__authoring_tool( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
1306 {
1307 #ifdef GENERATEDSAXPARSER_VALIDATION
1308     if ( mValidate )
1309     {
1310 
1311         bool validationResult = _validateBegin__authoring_tool( attributes, attributeDataPtr, validationDataPtr );
1312         if ( !validationResult ) return false;
1313 
1314     } // validation
1315 #endif
1316 
1317     return true;
1318 }
1319 
1320 //---------------------------------------------------------------------
_preEnd__authoring_tool()1321 bool ColladaParserAutoGen14Private::_preEnd__authoring_tool()
1322 {
1323 #ifdef GENERATEDSAXPARSER_VALIDATION
1324     if ( mValidate )
1325     {
1326 
1327         bool validationResult = _validateEnd__authoring_tool();
1328         if ( !validationResult ) return false;
1329 
1330     } // validation
1331 #endif
1332 
1333     return true;
1334 }
1335 
1336 //---------------------------------------------------------------------
_freeAttributes__authoring_tool(void * attributeData)1337 bool ColladaParserAutoGen14Private::_freeAttributes__authoring_tool( void* attributeData )
1338 {
1339     return true;
1340 }
1341 
1342 //---------------------------------------------------------------------
_data__comments(const ParserChar * text,size_t textLength)1343 bool ColladaParserAutoGen14Private::_data__comments( const ParserChar* text, size_t textLength )
1344 {
1345 
1346 return mImpl->data__comments(text, textLength);
1347 }
1348 
1349 //---------------------------------------------------------------------
_preBegin__comments(const ParserAttributes & attributes,void ** attributeDataPtr,void ** validationDataPtr)1350 bool ColladaParserAutoGen14Private::_preBegin__comments( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
1351 {
1352 #ifdef GENERATEDSAXPARSER_VALIDATION
1353     if ( mValidate )
1354     {
1355 
1356         bool validationResult = _validateBegin__comments( attributes, attributeDataPtr, validationDataPtr );
1357         if ( !validationResult ) return false;
1358 
1359     } // validation
1360 #endif
1361 
1362     return true;
1363 }
1364 
1365 //---------------------------------------------------------------------
_preEnd__comments()1366 bool ColladaParserAutoGen14Private::_preEnd__comments()
1367 {
1368 #ifdef GENERATEDSAXPARSER_VALIDATION
1369     if ( mValidate )
1370     {
1371 
1372         bool validationResult = _validateEnd__comments();
1373         if ( !validationResult ) return false;
1374 
1375     } // validation
1376 #endif
1377 
1378     return true;
1379 }
1380 
1381 //---------------------------------------------------------------------
_freeAttributes__comments(void * attributeData)1382 bool ColladaParserAutoGen14Private::_freeAttributes__comments( void* attributeData )
1383 {
1384     return true;
1385 }
1386 
1387 //---------------------------------------------------------------------
_data__copyright(const ParserChar * text,size_t textLength)1388 bool ColladaParserAutoGen14Private::_data__copyright( const ParserChar* text, size_t textLength )
1389 {
1390 
1391 return mImpl->data__copyright(text, textLength);
1392 }
1393 
1394 //---------------------------------------------------------------------
_preBegin__copyright(const ParserAttributes & attributes,void ** attributeDataPtr,void ** validationDataPtr)1395 bool ColladaParserAutoGen14Private::_preBegin__copyright( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
1396 {
1397 #ifdef GENERATEDSAXPARSER_VALIDATION
1398     if ( mValidate )
1399     {
1400 
1401         bool validationResult = _validateBegin__copyright( attributes, attributeDataPtr, validationDataPtr );
1402         if ( !validationResult ) return false;
1403 
1404     } // validation
1405 #endif
1406 
1407     return true;
1408 }
1409 
1410 //---------------------------------------------------------------------
_preEnd__copyright()1411 bool ColladaParserAutoGen14Private::_preEnd__copyright()
1412 {
1413 #ifdef GENERATEDSAXPARSER_VALIDATION
1414     if ( mValidate )
1415     {
1416 
1417         bool validationResult = _validateEnd__copyright();
1418         if ( !validationResult ) return false;
1419 
1420     } // validation
1421 #endif
1422 
1423     return true;
1424 }
1425 
1426 //---------------------------------------------------------------------
_freeAttributes__copyright(void * attributeData)1427 bool ColladaParserAutoGen14Private::_freeAttributes__copyright( void* attributeData )
1428 {
1429     return true;
1430 }
1431 
1432 //---------------------------------------------------------------------
_data__source_data(const ParserChar * text,size_t textLength)1433 bool ColladaParserAutoGen14Private::_data__source_data( const ParserChar* text, size_t textLength )
1434 {
1435 if (!mLastIncompleteFragmentInCharacterData)
1436 {
1437     mLastIncompleteFragmentInCharacterData = (ParserChar*)mStackMemoryManager.newObject(textLength);
1438     memcpy(mLastIncompleteFragmentInCharacterData, text, textLength);
1439     mEndOfDataInCurrentObjectOnStack = mLastIncompleteFragmentInCharacterData + textLength;
1440 }
1441 else
1442 {
1443     ParserChar* tmp = (ParserChar*)mStackMemoryManager.growObject(textLength);
1444     if ( tmp != mLastIncompleteFragmentInCharacterData ) {
1445         mEndOfDataInCurrentObjectOnStack = (mEndOfDataInCurrentObjectOnStack - mLastIncompleteFragmentInCharacterData) + tmp;
1446         mLastIncompleteFragmentInCharacterData = tmp;
1447     }
1448     memcpy(mEndOfDataInCurrentObjectOnStack, text, textLength);
1449     mEndOfDataInCurrentObjectOnStack += textLength;
1450 }
1451 return true;
1452 }
1453 
1454 //---------------------------------------------------------------------
_preBegin__source_data(const ParserAttributes & attributes,void ** attributeDataPtr,void ** validationDataPtr)1455 bool ColladaParserAutoGen14Private::_preBegin__source_data( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
1456 {
1457 #ifdef GENERATEDSAXPARSER_VALIDATION
1458     if ( mValidate )
1459     {
1460 
1461         bool validationResult = _validateBegin__source_data( attributes, attributeDataPtr, validationDataPtr );
1462         if ( !validationResult ) return false;
1463 
1464     } // validation
1465 #endif
1466 
1467     return true;
1468 }
1469 
1470 //---------------------------------------------------------------------
_preEnd__source_data()1471 bool ColladaParserAutoGen14Private::_preEnd__source_data()
1472 {
1473 #ifdef GENERATEDSAXPARSER_VALIDATION
1474     if ( mValidate )
1475     {
1476 
1477         bool validationResult = _validateEnd__source_data();
1478         if ( !validationResult ) return false;
1479 
1480     } // validation
1481 #endif
1482 
1483 bool failed;
1484 const ParserChar* ptrForErr = mLastIncompleteFragmentInCharacterData;
1485 DISABLE_WARNING_UNUSED(ptrForErr)
1486 COLLADABU::URI parameter = GeneratedSaxParser::Utils::toURI((const ParserChar**)&mLastIncompleteFragmentInCharacterData, mEndOfDataInCurrentObjectOnStack, failed);
1487 bool returnValue;
1488 if (!failed)
1489 {
1490     returnValue = mImpl->data__source_data(parameter);
1491 }
1492 else
1493     returnValue = !handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_TEXTDATA_PARSING_FAILED, HASH_ELEMENT_SOURCE_DATA, (const ParserChar*)0, mLastIncompleteFragmentInCharacterData);
1494 if (mLastIncompleteFragmentInCharacterData)
1495     mStackMemoryManager.deleteObject();
1496 mLastIncompleteFragmentInCharacterData = 0;
1497 mEndOfDataInCurrentObjectOnStack = 0;
1498 return returnValue;
1499 }
1500 
1501 //---------------------------------------------------------------------
_freeAttributes__source_data(void * attributeData)1502 bool ColladaParserAutoGen14Private::_freeAttributes__source_data( void* attributeData )
1503 {
1504     return true;
1505 }
1506 
1507 //---------------------------------------------------------------------
_data__created(const ParserChar * text,size_t textLength)1508 bool ColladaParserAutoGen14Private::_data__created( const ParserChar* text, size_t textLength )
1509 {
1510 
1511 return mImpl->data__created(text, textLength);
1512 }
1513 
1514 //---------------------------------------------------------------------
_preBegin__created(const ParserAttributes & attributes,void ** attributeDataPtr,void ** validationDataPtr)1515 bool ColladaParserAutoGen14Private::_preBegin__created( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
1516 {
1517 #ifdef GENERATEDSAXPARSER_VALIDATION
1518     if ( mValidate )
1519     {
1520 
1521         bool validationResult = _validateBegin__created( attributes, attributeDataPtr, validationDataPtr );
1522         if ( !validationResult ) return false;
1523 
1524     } // validation
1525 #endif
1526 
1527     return true;
1528 }
1529 
1530 //---------------------------------------------------------------------
_preEnd__created()1531 bool ColladaParserAutoGen14Private::_preEnd__created()
1532 {
1533 #ifdef GENERATEDSAXPARSER_VALIDATION
1534     if ( mValidate )
1535     {
1536 
1537         bool validationResult = _validateEnd__created();
1538         if ( !validationResult ) return false;
1539 
1540     } // validation
1541 #endif
1542 
1543     return true;
1544 }
1545 
1546 //---------------------------------------------------------------------
_freeAttributes__created(void * attributeData)1547 bool ColladaParserAutoGen14Private::_freeAttributes__created( void* attributeData )
1548 {
1549     return true;
1550 }
1551 
1552 //---------------------------------------------------------------------
_data__keywords(const ParserChar * text,size_t textLength)1553 bool ColladaParserAutoGen14Private::_data__keywords( const ParserChar* text, size_t textLength )
1554 {
1555 
1556 return mImpl->data__keywords(text, textLength);
1557 }
1558 
1559 //---------------------------------------------------------------------
_preBegin__keywords(const ParserAttributes & attributes,void ** attributeDataPtr,void ** validationDataPtr)1560 bool ColladaParserAutoGen14Private::_preBegin__keywords( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
1561 {
1562 #ifdef GENERATEDSAXPARSER_VALIDATION
1563     if ( mValidate )
1564     {
1565 
1566         bool validationResult = _validateBegin__keywords( attributes, attributeDataPtr, validationDataPtr );
1567         if ( !validationResult ) return false;
1568 
1569     } // validation
1570 #endif
1571 
1572     return true;
1573 }
1574 
1575 //---------------------------------------------------------------------
_preEnd__keywords()1576 bool ColladaParserAutoGen14Private::_preEnd__keywords()
1577 {
1578 #ifdef GENERATEDSAXPARSER_VALIDATION
1579     if ( mValidate )
1580     {
1581 
1582         bool validationResult = _validateEnd__keywords();
1583         if ( !validationResult ) return false;
1584 
1585     } // validation
1586 #endif
1587 
1588     return true;
1589 }
1590 
1591 //---------------------------------------------------------------------
_freeAttributes__keywords(void * attributeData)1592 bool ColladaParserAutoGen14Private::_freeAttributes__keywords( void* attributeData )
1593 {
1594     return true;
1595 }
1596 
1597 //---------------------------------------------------------------------
_data__modified(const ParserChar * text,size_t textLength)1598 bool ColladaParserAutoGen14Private::_data__modified( const ParserChar* text, size_t textLength )
1599 {
1600 
1601 return mImpl->data__modified(text, textLength);
1602 }
1603 
1604 //---------------------------------------------------------------------
_preBegin__modified(const ParserAttributes & attributes,void ** attributeDataPtr,void ** validationDataPtr)1605 bool ColladaParserAutoGen14Private::_preBegin__modified( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
1606 {
1607 #ifdef GENERATEDSAXPARSER_VALIDATION
1608     if ( mValidate )
1609     {
1610 
1611         bool validationResult = _validateBegin__modified( attributes, attributeDataPtr, validationDataPtr );
1612         if ( !validationResult ) return false;
1613 
1614     } // validation
1615 #endif
1616 
1617     return true;
1618 }
1619 
1620 //---------------------------------------------------------------------
_preEnd__modified()1621 bool ColladaParserAutoGen14Private::_preEnd__modified()
1622 {
1623 #ifdef GENERATEDSAXPARSER_VALIDATION
1624     if ( mValidate )
1625     {
1626 
1627         bool validationResult = _validateEnd__modified();
1628         if ( !validationResult ) return false;
1629 
1630     } // validation
1631 #endif
1632 
1633     return true;
1634 }
1635 
1636 //---------------------------------------------------------------------
_freeAttributes__modified(void * attributeData)1637 bool ColladaParserAutoGen14Private::_freeAttributes__modified( void* attributeData )
1638 {
1639     return true;
1640 }
1641 
1642 //---------------------------------------------------------------------
_data__revision(const ParserChar * text,size_t textLength)1643 bool ColladaParserAutoGen14Private::_data__revision( const ParserChar* text, size_t textLength )
1644 {
1645 
1646 return mImpl->data__revision(text, textLength);
1647 }
1648 
1649 //---------------------------------------------------------------------
_preBegin__revision(const ParserAttributes & attributes,void ** attributeDataPtr,void ** validationDataPtr)1650 bool ColladaParserAutoGen14Private::_preBegin__revision( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
1651 {
1652 #ifdef GENERATEDSAXPARSER_VALIDATION
1653     if ( mValidate )
1654     {
1655 
1656         bool validationResult = _validateBegin__revision( attributes, attributeDataPtr, validationDataPtr );
1657         if ( !validationResult ) return false;
1658 
1659     } // validation
1660 #endif
1661 
1662     return true;
1663 }
1664 
1665 //---------------------------------------------------------------------
_preEnd__revision()1666 bool ColladaParserAutoGen14Private::_preEnd__revision()
1667 {
1668 #ifdef GENERATEDSAXPARSER_VALIDATION
1669     if ( mValidate )
1670     {
1671 
1672         bool validationResult = _validateEnd__revision();
1673         if ( !validationResult ) return false;
1674 
1675     } // validation
1676 #endif
1677 
1678     return true;
1679 }
1680 
1681 //---------------------------------------------------------------------
_freeAttributes__revision(void * attributeData)1682 bool ColladaParserAutoGen14Private::_freeAttributes__revision( void* attributeData )
1683 {
1684     return true;
1685 }
1686 
1687 //---------------------------------------------------------------------
_data__subject(const ParserChar * text,size_t textLength)1688 bool ColladaParserAutoGen14Private::_data__subject( const ParserChar* text, size_t textLength )
1689 {
1690 
1691 return mImpl->data__subject(text, textLength);
1692 }
1693 
1694 //---------------------------------------------------------------------
_preBegin__subject(const ParserAttributes & attributes,void ** attributeDataPtr,void ** validationDataPtr)1695 bool ColladaParserAutoGen14Private::_preBegin__subject( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
1696 {
1697 #ifdef GENERATEDSAXPARSER_VALIDATION
1698     if ( mValidate )
1699     {
1700 
1701         bool validationResult = _validateBegin__subject( attributes, attributeDataPtr, validationDataPtr );
1702         if ( !validationResult ) return false;
1703 
1704     } // validation
1705 #endif
1706 
1707     return true;
1708 }
1709 
1710 //---------------------------------------------------------------------
_preEnd__subject()1711 bool ColladaParserAutoGen14Private::_preEnd__subject()
1712 {
1713 #ifdef GENERATEDSAXPARSER_VALIDATION
1714     if ( mValidate )
1715     {
1716 
1717         bool validationResult = _validateEnd__subject();
1718         if ( !validationResult ) return false;
1719 
1720     } // validation
1721 #endif
1722 
1723     return true;
1724 }
1725 
1726 //---------------------------------------------------------------------
_freeAttributes__subject(void * attributeData)1727 bool ColladaParserAutoGen14Private::_freeAttributes__subject( void* attributeData )
1728 {
1729     return true;
1730 }
1731 
1732 //---------------------------------------------------------------------
_data__title(const ParserChar * text,size_t textLength)1733 bool ColladaParserAutoGen14Private::_data__title( const ParserChar* text, size_t textLength )
1734 {
1735 
1736 return mImpl->data__title(text, textLength);
1737 }
1738 
1739 //---------------------------------------------------------------------
_preBegin__title(const ParserAttributes & attributes,void ** attributeDataPtr,void ** validationDataPtr)1740 bool ColladaParserAutoGen14Private::_preBegin__title( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
1741 {
1742 #ifdef GENERATEDSAXPARSER_VALIDATION
1743     if ( mValidate )
1744     {
1745 
1746         bool validationResult = _validateBegin__title( attributes, attributeDataPtr, validationDataPtr );
1747         if ( !validationResult ) return false;
1748 
1749     } // validation
1750 #endif
1751 
1752     return true;
1753 }
1754 
1755 //---------------------------------------------------------------------
_preEnd__title()1756 bool ColladaParserAutoGen14Private::_preEnd__title()
1757 {
1758 #ifdef GENERATEDSAXPARSER_VALIDATION
1759     if ( mValidate )
1760     {
1761 
1762         bool validationResult = _validateEnd__title();
1763         if ( !validationResult ) return false;
1764 
1765     } // validation
1766 #endif
1767 
1768     return true;
1769 }
1770 
1771 //---------------------------------------------------------------------
_freeAttributes__title(void * attributeData)1772 bool ColladaParserAutoGen14Private::_freeAttributes__title( void* attributeData )
1773 {
1774     return true;
1775 }
1776 
1777 //---------------------------------------------------------------------
1778 const unit__AttributeData unit__AttributeData::DEFAULT = {1.0E0, (const ParserChar*)"meter"};
1779 
1780 //---------------------------------------------------------------------
_data__unit(const ParserChar * text,size_t textLength)1781 bool ColladaParserAutoGen14Private::_data__unit( const ParserChar* text, size_t textLength )
1782 {
1783     return true;
1784 }
1785 
1786 //---------------------------------------------------------------------
_preBegin__unit(const ParserAttributes & attributes,void ** attributeDataPtr,void ** validationDataPtr)1787 bool ColladaParserAutoGen14Private::_preBegin__unit( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
1788 {
1789 #ifdef GENERATEDSAXPARSER_VALIDATION
1790     if ( mValidate )
1791     {
1792 
1793         bool validationResult = _validateBegin__unit( attributes, attributeDataPtr, validationDataPtr );
1794         if ( !validationResult ) return false;
1795 
1796     } // validation
1797 #endif
1798 
1799 unit__AttributeData* attributeData = newData<unit__AttributeData>(attributeDataPtr);
1800 
1801 const ParserChar** attributeArray = attributes.attributes;
1802 if ( attributeArray )
1803 {
1804     while (true)
1805     {
1806         const ParserChar * attribute = *attributeArray;
1807         if ( !attribute )
1808             break;
1809         StringHash hash = GeneratedSaxParser::Utils::calculateStringHash(attribute);
1810         attributeArray++;
1811         if ( !attributeArray )
1812             return false;
1813         const ParserChar* attributeValue = *attributeArray;
1814         attributeArray++;
1815 
1816 
1817     switch ( hash )
1818     {
1819     case HASH_ATTRIBUTE_meter:
1820     {
1821 bool failed;
1822 attributeData->meter = GeneratedSaxParser::Utils::toFloat(attributeValue, failed);
1823 if ( failed && handleError(ParserError::SEVERITY_ERROR_NONCRITICAL,
1824         ParserError::ERROR_ATTRIBUTE_PARSING_FAILED,
1825         HASH_ELEMENT_UNIT,
1826         HASH_ATTRIBUTE_meter,
1827         attributeValue))
1828 {
1829     return false;
1830 }
1831 
1832     break;
1833     }
1834     case HASH_ATTRIBUTE_name:
1835     {
1836 
1837 attributeData->name = attributeValue;
1838 #ifdef GENERATEDSAXPARSER_VALIDATION
1839     if ( mValidate )
1840     {
1841     ParserError::ErrorType simpleTypeValidationResult = validate__NMTOKEN(attributeData->name, strlen(attributeData->name));
1842     if (simpleTypeValidationResult != ParserError::SIMPLE_TYPE_VALIDATION_OK)
1843     {
1844         if( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL,
1845             simpleTypeValidationResult,
1846             HASH_ELEMENT_UNIT,
1847             HASH_ATTRIBUTE_name,
1848             attributeValue) )
1849         {
1850             return false;
1851         }
1852     }
1853     } // validation
1854 #endif
1855 
1856     break;
1857     }
1858     default:
1859     {
1860         if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_UNKNOWN_ATTRIBUTE, HASH_ELEMENT_UNIT, attribute, attributeValue))
1861             {return false;}
1862     }
1863     }
1864     }
1865 }
1866 
1867 
1868     return true;
1869 }
1870 
1871 //---------------------------------------------------------------------
_preEnd__unit()1872 bool ColladaParserAutoGen14Private::_preEnd__unit()
1873 {
1874 #ifdef GENERATEDSAXPARSER_VALIDATION
1875     if ( mValidate )
1876     {
1877 
1878         bool validationResult = _validateEnd__unit();
1879         if ( !validationResult ) return false;
1880 
1881     } // validation
1882 #endif
1883 
1884     return true;
1885 }
1886 
1887 //---------------------------------------------------------------------
_freeAttributes__unit(void * attributeData)1888 bool ColladaParserAutoGen14Private::_freeAttributes__unit( void* attributeData )
1889 {
1890     unit__AttributeData* typedAttributeData = static_cast<unit__AttributeData*>(attributeData);
1891 
1892     typedAttributeData->~unit__AttributeData();
1893 
1894     return true;
1895 }
1896 
1897 //---------------------------------------------------------------------
_data__up_axis(const ParserChar * text,size_t textLength)1898 bool ColladaParserAutoGen14Private::_data__up_axis( const ParserChar* text, size_t textLength )
1899 {
1900 if (!mLastIncompleteFragmentInCharacterData)
1901 {
1902     mLastIncompleteFragmentInCharacterData = (ParserChar*)mStackMemoryManager.newObject(textLength);
1903     memcpy(mLastIncompleteFragmentInCharacterData, text, textLength);
1904     mEndOfDataInCurrentObjectOnStack = mLastIncompleteFragmentInCharacterData + textLength;
1905 }
1906 else
1907 {
1908     ParserChar* tmp = (ParserChar*)mStackMemoryManager.growObject(textLength);
1909     if ( tmp != mLastIncompleteFragmentInCharacterData ) {
1910         mEndOfDataInCurrentObjectOnStack = (mEndOfDataInCurrentObjectOnStack - mLastIncompleteFragmentInCharacterData) + tmp;
1911         mLastIncompleteFragmentInCharacterData = tmp;
1912     }
1913     memcpy(mEndOfDataInCurrentObjectOnStack, text, textLength);
1914     mEndOfDataInCurrentObjectOnStack += textLength;
1915 }
1916 return true;
1917 }
1918 
1919 //---------------------------------------------------------------------
_preBegin__up_axis(const ParserAttributes & attributes,void ** attributeDataPtr,void ** validationDataPtr)1920 bool ColladaParserAutoGen14Private::_preBegin__up_axis( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
1921 {
1922 #ifdef GENERATEDSAXPARSER_VALIDATION
1923     if ( mValidate )
1924     {
1925 
1926         bool validationResult = _validateBegin__up_axis( attributes, attributeDataPtr, validationDataPtr );
1927         if ( !validationResult ) return false;
1928 
1929     } // validation
1930 #endif
1931 
1932     return true;
1933 }
1934 
1935 //---------------------------------------------------------------------
_preEnd__up_axis()1936 bool ColladaParserAutoGen14Private::_preEnd__up_axis()
1937 {
1938 #ifdef GENERATEDSAXPARSER_VALIDATION
1939     if ( mValidate )
1940     {
1941 
1942         bool validationResult = _validateEnd__up_axis();
1943         if ( !validationResult ) return false;
1944 
1945     } // validation
1946 #endif
1947 
1948 bool failed;
1949 ENUM__UpAxisType parameter = Utils::toEnum<ENUM__UpAxisType, StringHash, ENUM__UpAxisType__COUNT>((const ParserChar**)&mLastIncompleteFragmentInCharacterData, mEndOfDataInCurrentObjectOnStack, failed, ENUM__UpAxisTypeMap, Utils::calculateStringHash);
1950 bool returnValue;
1951 if (!failed)
1952 {
1953     returnValue = mImpl->data__up_axis(parameter);
1954 }
1955 else
1956     returnValue = !handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_TEXTDATA_PARSING_FAILED, HASH_ELEMENT_UP_AXIS, (const ParserChar*)0, mLastIncompleteFragmentInCharacterData);
1957 if (mLastIncompleteFragmentInCharacterData)
1958     mStackMemoryManager.deleteObject();
1959 mLastIncompleteFragmentInCharacterData = 0;
1960 mEndOfDataInCurrentObjectOnStack = 0;
1961 return returnValue;
1962 
1963 }
1964 
1965 //---------------------------------------------------------------------
_freeAttributes__up_axis(void * attributeData)1966 bool ColladaParserAutoGen14Private::_freeAttributes__up_axis( void* attributeData )
1967 {
1968     return true;
1969 }
1970 
1971 //---------------------------------------------------------------------
toEnumDataPrefix_ENUM__UpAxisType(const ParserChar * prefixedBuffer,const ParserChar * prefixedBufferEnd,const ParserChar ** buffer,const ParserChar * bufferEnd,bool & failed,const std::pair<StringHash,ENUM__UpAxisType> * enumMap,StringHash (* baseConversionFunc)(const ParserChar **,const ParserChar *,bool &))1972 ENUM__UpAxisType ColladaParserAutoGen14Private::toEnumDataPrefix_ENUM__UpAxisType (
1973     const ParserChar* prefixedBuffer,
1974     const ParserChar* prefixedBufferEnd,
1975     const ParserChar** buffer,
1976     const ParserChar* bufferEnd,
1977     bool& failed,
1978     const std::pair<StringHash, ENUM__UpAxisType>* enumMap,
1979     StringHash (*baseConversionFunc)( const ParserChar**, const ParserChar*, bool& )
1980 )
1981 {
1982     return toEnumDataPrefix<ENUM__UpAxisType, StringHash, ENUM__UpAxisType__COUNT, &toEnum_ENUM__UpAxisType>(prefixedBuffer, prefixedBufferEnd, buffer, bufferEnd, failed, enumMap, baseConversionFunc);
1983 }
1984 
1985 //---------------------------------------------------------------------
characterData2EnumData_ENUM__UpAxisType(const ParserChar * text,size_t textLength,bool (ColladaParserAutoGen14::* dataFunction)(const ENUM__UpAxisType *,size_t),StringHash (* baseConversionFunc)(const ParserChar **,const ParserChar *,bool &))1986 bool ColladaParserAutoGen14Private::characterData2EnumData_ENUM__UpAxisType (
1987     const ParserChar* text,
1988     size_t textLength,
1989     bool ( ColladaParserAutoGen14::*dataFunction )(const ENUM__UpAxisType*, size_t ),
1990     StringHash (*baseConversionFunc)( const ParserChar**, const ParserChar*, bool& )
1991 )
1992 {
1993     return characterData2EnumData<ENUM__UpAxisType, StringHash, ENUM__UpAxisType__COUNT>(text, textLength, dataFunction, ENUM__UpAxisTypeMap, baseConversionFunc, &toEnum_ENUM__UpAxisType, &ColladaParserAutoGen14Private::toEnumDataPrefix_ENUM__UpAxisType);
1994 }
1995 
1996 //---------------------------------------------------------------------
dataEnumEnd_ENUM__UpAxisType(bool (ColladaParserAutoGen14::* dataFunction)(const ENUM__UpAxisType *,size_t),const std::pair<StringHash,ENUM__UpAxisType> * enumMap,StringHash (* baseConversionFunc)(const ParserChar **,const ParserChar *,bool &),ENUM__UpAxisType (* toEnumFunc)(const ParserChar **,const ParserChar *,bool &,const std::pair<StringHash,ENUM__UpAxisType> * enumMap,StringHash (* baseConversionFunc)(const ParserChar **,const ParserChar *,bool &)))1997 bool ColladaParserAutoGen14Private::dataEnumEnd_ENUM__UpAxisType (
1998     bool ( ColladaParserAutoGen14::*dataFunction )(const ENUM__UpAxisType*, size_t ),
1999     const std::pair<StringHash, ENUM__UpAxisType>* enumMap,
2000     StringHash (*baseConversionFunc)( const ParserChar**, const ParserChar*, bool& ),
2001     ENUM__UpAxisType (*toEnumFunc)( const ParserChar**, const ParserChar*, bool&, const std::pair<StringHash, ENUM__UpAxisType>* enumMap, StringHash (*baseConversionFunc)( const ParserChar**, const ParserChar*, bool& ))
2002 )
2003 {
2004     return dataEnumEnd<ENUM__UpAxisType, StringHash, ENUM__UpAxisType__COUNT>(dataFunction, enumMap, baseConversionFunc, toEnumFunc);
2005 }
2006 
2007 //---------------------------------------------------------------------
2008 const library_animations__AttributeData library_animations__AttributeData::DEFAULT = {0, 0};
2009 
2010 //---------------------------------------------------------------------
_data__library_animations(const ParserChar * text,size_t textLength)2011 bool ColladaParserAutoGen14Private::_data__library_animations( const ParserChar* text, size_t textLength )
2012 {
2013     return true;
2014 }
2015 
2016 //---------------------------------------------------------------------
_preBegin__library_animations(const ParserAttributes & attributes,void ** attributeDataPtr,void ** validationDataPtr)2017 bool ColladaParserAutoGen14Private::_preBegin__library_animations( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
2018 {
2019 #ifdef GENERATEDSAXPARSER_VALIDATION
2020     if ( mValidate )
2021     {
2022 
2023         bool validationResult = _validateBegin__library_animations( attributes, attributeDataPtr, validationDataPtr );
2024         if ( !validationResult ) return false;
2025 
2026     } // validation
2027 #endif
2028 
2029 library_animations__AttributeData* attributeData = newData<library_animations__AttributeData>(attributeDataPtr);
2030 
2031 const ParserChar** attributeArray = attributes.attributes;
2032 if ( attributeArray )
2033 {
2034     while (true)
2035     {
2036         const ParserChar * attribute = *attributeArray;
2037         if ( !attribute )
2038             break;
2039         StringHash hash = GeneratedSaxParser::Utils::calculateStringHash(attribute);
2040         attributeArray++;
2041         if ( !attributeArray )
2042             return false;
2043         const ParserChar* attributeValue = *attributeArray;
2044         attributeArray++;
2045 
2046 
2047     switch ( hash )
2048     {
2049     case HASH_ATTRIBUTE_id:
2050     {
2051 
2052 attributeData->id = attributeValue;
2053 
2054     break;
2055     }
2056     case HASH_ATTRIBUTE_name:
2057     {
2058 
2059 attributeData->name = attributeValue;
2060 #ifdef GENERATEDSAXPARSER_VALIDATION
2061     if ( mValidate )
2062     {
2063     ParserError::ErrorType simpleTypeValidationResult = validate__NCName(attributeData->name, strlen(attributeData->name));
2064     if (simpleTypeValidationResult != ParserError::SIMPLE_TYPE_VALIDATION_OK)
2065     {
2066         if( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL,
2067             simpleTypeValidationResult,
2068             HASH_ELEMENT_LIBRARY_ANIMATIONS,
2069             HASH_ATTRIBUTE_name,
2070             attributeValue) )
2071         {
2072             return false;
2073         }
2074     }
2075     } // validation
2076 #endif
2077 
2078     break;
2079     }
2080     default:
2081     {
2082         if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_UNKNOWN_ATTRIBUTE, HASH_ELEMENT_LIBRARY_ANIMATIONS, attribute, attributeValue))
2083             {return false;}
2084     }
2085     }
2086     }
2087 }
2088 
2089 
2090     return true;
2091 }
2092 
2093 //---------------------------------------------------------------------
_preEnd__library_animations()2094 bool ColladaParserAutoGen14Private::_preEnd__library_animations()
2095 {
2096 #ifdef GENERATEDSAXPARSER_VALIDATION
2097     if ( mValidate )
2098     {
2099 
2100         bool validationResult = _validateEnd__library_animations();
2101         if ( !validationResult ) return false;
2102 
2103     } // validation
2104 #endif
2105 
2106     return true;
2107 }
2108 
2109 //---------------------------------------------------------------------
_freeAttributes__library_animations(void * attributeData)2110 bool ColladaParserAutoGen14Private::_freeAttributes__library_animations( void* attributeData )
2111 {
2112     library_animations__AttributeData* typedAttributeData = static_cast<library_animations__AttributeData*>(attributeData);
2113 
2114     typedAttributeData->~library_animations__AttributeData();
2115 
2116     return true;
2117 }
2118 
2119 //---------------------------------------------------------------------
2120 const animation__AttributeData animation__AttributeData::DEFAULT = {0, 0};
2121 
2122 //---------------------------------------------------------------------
_data__animation(const ParserChar * text,size_t textLength)2123 bool ColladaParserAutoGen14Private::_data__animation( const ParserChar* text, size_t textLength )
2124 {
2125     return true;
2126 }
2127 
2128 //---------------------------------------------------------------------
_preBegin__animation(const ParserAttributes & attributes,void ** attributeDataPtr,void ** validationDataPtr)2129 bool ColladaParserAutoGen14Private::_preBegin__animation( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
2130 {
2131 #ifdef GENERATEDSAXPARSER_VALIDATION
2132     if ( mValidate )
2133     {
2134 
2135         bool validationResult = _validateBegin__animation( attributes, attributeDataPtr, validationDataPtr );
2136         if ( !validationResult ) return false;
2137 
2138     } // validation
2139 #endif
2140 
2141 animation__AttributeData* attributeData = newData<animation__AttributeData>(attributeDataPtr);
2142 
2143 const ParserChar** attributeArray = attributes.attributes;
2144 if ( attributeArray )
2145 {
2146     while (true)
2147     {
2148         const ParserChar * attribute = *attributeArray;
2149         if ( !attribute )
2150             break;
2151         StringHash hash = GeneratedSaxParser::Utils::calculateStringHash(attribute);
2152         attributeArray++;
2153         if ( !attributeArray )
2154             return false;
2155         const ParserChar* attributeValue = *attributeArray;
2156         attributeArray++;
2157 
2158 
2159     switch ( hash )
2160     {
2161     case HASH_ATTRIBUTE_id:
2162     {
2163 
2164 attributeData->id = attributeValue;
2165 
2166     break;
2167     }
2168     case HASH_ATTRIBUTE_name:
2169     {
2170 
2171 attributeData->name = attributeValue;
2172 #ifdef GENERATEDSAXPARSER_VALIDATION
2173     if ( mValidate )
2174     {
2175     ParserError::ErrorType simpleTypeValidationResult = validate__NCName(attributeData->name, strlen(attributeData->name));
2176     if (simpleTypeValidationResult != ParserError::SIMPLE_TYPE_VALIDATION_OK)
2177     {
2178         if( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL,
2179             simpleTypeValidationResult,
2180             HASH_ELEMENT_ANIMATION,
2181             HASH_ATTRIBUTE_name,
2182             attributeValue) )
2183         {
2184             return false;
2185         }
2186     }
2187     } // validation
2188 #endif
2189 
2190     break;
2191     }
2192     default:
2193     {
2194         if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_UNKNOWN_ATTRIBUTE, HASH_ELEMENT_ANIMATION, attribute, attributeValue))
2195             {return false;}
2196     }
2197     }
2198     }
2199 }
2200 
2201 
2202     return true;
2203 }
2204 
2205 //---------------------------------------------------------------------
_preEnd__animation()2206 bool ColladaParserAutoGen14Private::_preEnd__animation()
2207 {
2208 #ifdef GENERATEDSAXPARSER_VALIDATION
2209     if ( mValidate )
2210     {
2211 
2212         bool validationResult = _validateEnd__animation();
2213         if ( !validationResult ) return false;
2214 
2215     } // validation
2216 #endif
2217 
2218     return true;
2219 }
2220 
2221 //---------------------------------------------------------------------
_freeAttributes__animation(void * attributeData)2222 bool ColladaParserAutoGen14Private::_freeAttributes__animation( void* attributeData )
2223 {
2224     animation__AttributeData* typedAttributeData = static_cast<animation__AttributeData*>(attributeData);
2225 
2226     typedAttributeData->~animation__AttributeData();
2227 
2228     return true;
2229 }
2230 
2231 //---------------------------------------------------------------------
2232 const source__AttributeData source__AttributeData::DEFAULT = {0, 0};
2233 
2234 //---------------------------------------------------------------------
_data__source(const ParserChar * text,size_t textLength)2235 bool ColladaParserAutoGen14Private::_data__source( const ParserChar* text, size_t textLength )
2236 {
2237     return true;
2238 }
2239 
2240 //---------------------------------------------------------------------
_preBegin__source(const ParserAttributes & attributes,void ** attributeDataPtr,void ** validationDataPtr)2241 bool ColladaParserAutoGen14Private::_preBegin__source( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
2242 {
2243 #ifdef GENERATEDSAXPARSER_VALIDATION
2244     if ( mValidate )
2245     {
2246 
2247         bool validationResult = _validateBegin__source( attributes, attributeDataPtr, validationDataPtr );
2248         if ( !validationResult ) return false;
2249 
2250     } // validation
2251 #endif
2252 
2253 source__AttributeData* attributeData = newData<source__AttributeData>(attributeDataPtr);
2254 
2255 const ParserChar** attributeArray = attributes.attributes;
2256 if ( attributeArray )
2257 {
2258     while (true)
2259     {
2260         const ParserChar * attribute = *attributeArray;
2261         if ( !attribute )
2262             break;
2263         StringHash hash = GeneratedSaxParser::Utils::calculateStringHash(attribute);
2264         attributeArray++;
2265         if ( !attributeArray )
2266             return false;
2267         const ParserChar* attributeValue = *attributeArray;
2268         attributeArray++;
2269 
2270 
2271     switch ( hash )
2272     {
2273     case HASH_ATTRIBUTE_id:
2274     {
2275 
2276 attributeData->id = attributeValue;
2277 
2278     break;
2279     }
2280     case HASH_ATTRIBUTE_name:
2281     {
2282 
2283 attributeData->name = attributeValue;
2284 #ifdef GENERATEDSAXPARSER_VALIDATION
2285     if ( mValidate )
2286     {
2287     ParserError::ErrorType simpleTypeValidationResult = validate__NCName(attributeData->name, strlen(attributeData->name));
2288     if (simpleTypeValidationResult != ParserError::SIMPLE_TYPE_VALIDATION_OK)
2289     {
2290         if( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL,
2291             simpleTypeValidationResult,
2292             HASH_ELEMENT_SOURCE,
2293             HASH_ATTRIBUTE_name,
2294             attributeValue) )
2295         {
2296             return false;
2297         }
2298     }
2299     } // validation
2300 #endif
2301 
2302     break;
2303     }
2304     default:
2305     {
2306         if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_UNKNOWN_ATTRIBUTE, HASH_ELEMENT_SOURCE, attribute, attributeValue))
2307             {return false;}
2308     }
2309     }
2310     }
2311 }
2312 if ( !attributeData->id )
2313 {
2314     if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_REQUIRED_ATTRIBUTE_MISSING, HASH_ELEMENT_SOURCE, HASH_ATTRIBUTE_id, 0 ) )
2315         return false;
2316 }
2317 
2318 
2319     return true;
2320 }
2321 
2322 //---------------------------------------------------------------------
_preEnd__source()2323 bool ColladaParserAutoGen14Private::_preEnd__source()
2324 {
2325 #ifdef GENERATEDSAXPARSER_VALIDATION
2326     if ( mValidate )
2327     {
2328 
2329         bool validationResult = _validateEnd__source();
2330         if ( !validationResult ) return false;
2331 
2332     } // validation
2333 #endif
2334 
2335     return true;
2336 }
2337 
2338 //---------------------------------------------------------------------
_freeAttributes__source(void * attributeData)2339 bool ColladaParserAutoGen14Private::_freeAttributes__source( void* attributeData )
2340 {
2341     source__AttributeData* typedAttributeData = static_cast<source__AttributeData*>(attributeData);
2342 
2343     typedAttributeData->~source__AttributeData();
2344 
2345     return true;
2346 }
2347 
2348 //---------------------------------------------------------------------
2349 const IDREF_array__AttributeData IDREF_array__AttributeData::DEFAULT = {0, 0, 0, 0};
2350 
2351 //---------------------------------------------------------------------
_data__IDREF_array(const ParserChar * text,size_t textLength)2352 bool ColladaParserAutoGen14Private::_data__IDREF_array( const ParserChar* text, size_t textLength )
2353 {
2354 #ifdef GENERATEDSAXPARSER_VALIDATION
2355     if ( mValidate )
2356     {
2357         IDREF_array__ValidationData* validationData = (IDREF_array__ValidationData*)mValidationDataStack.top();
2358         DISABLE_WARNING_UNUSED(validationData)
2359 return characterData2StringData(text, textLength, &ColladaParserAutoGen14::data__IDREF_array, &validate__IDREFS__stream, &validationData->validationWholeSize, 0);
2360     }
2361     else
2362     {
2363 return characterData2StringData(text, textLength, &ColladaParserAutoGen14::data__IDREF_array);
2364     }
2365 #else
2366     {
2367 return characterData2StringData(text, textLength, &ColladaParserAutoGen14::data__IDREF_array);
2368     } // validation
2369 #endif
2370 
2371 }
2372 
2373 //---------------------------------------------------------------------
_preBegin__IDREF_array(const ParserAttributes & attributes,void ** attributeDataPtr,void ** validationDataPtr)2374 bool ColladaParserAutoGen14Private::_preBegin__IDREF_array( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
2375 {
2376 #ifdef GENERATEDSAXPARSER_VALIDATION
2377     if ( mValidate )
2378     {
2379 
2380         bool validationResult = _validateBegin__IDREF_array( attributes, attributeDataPtr, validationDataPtr );
2381         if ( !validationResult ) return false;
2382 
2383     } // validation
2384 #endif
2385 
2386 IDREF_array__AttributeData* attributeData = newData<IDREF_array__AttributeData>(attributeDataPtr);
2387 
2388 const ParserChar** attributeArray = attributes.attributes;
2389 if ( attributeArray )
2390 {
2391     while (true)
2392     {
2393         const ParserChar * attribute = *attributeArray;
2394         if ( !attribute )
2395             break;
2396         StringHash hash = GeneratedSaxParser::Utils::calculateStringHash(attribute);
2397         attributeArray++;
2398         if ( !attributeArray )
2399             return false;
2400         const ParserChar* attributeValue = *attributeArray;
2401         attributeArray++;
2402 
2403 
2404     switch ( hash )
2405     {
2406     case HASH_ATTRIBUTE_id:
2407     {
2408 
2409 attributeData->id = attributeValue;
2410 
2411     break;
2412     }
2413     case HASH_ATTRIBUTE_name:
2414     {
2415 
2416 attributeData->name = attributeValue;
2417 #ifdef GENERATEDSAXPARSER_VALIDATION
2418     if ( mValidate )
2419     {
2420     ParserError::ErrorType simpleTypeValidationResult = validate__NCName(attributeData->name, strlen(attributeData->name));
2421     if (simpleTypeValidationResult != ParserError::SIMPLE_TYPE_VALIDATION_OK)
2422     {
2423         if( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL,
2424             simpleTypeValidationResult,
2425             HASH_ELEMENT_IDREF_ARRAY,
2426             HASH_ATTRIBUTE_name,
2427             attributeValue) )
2428         {
2429             return false;
2430         }
2431     }
2432     } // validation
2433 #endif
2434 
2435     break;
2436     }
2437     case HASH_ATTRIBUTE_count:
2438     {
2439 bool failed;
2440 attributeData->count = GeneratedSaxParser::Utils::toUint64(attributeValue, failed);
2441 if ( failed && handleError(ParserError::SEVERITY_ERROR_NONCRITICAL,
2442         ParserError::ERROR_ATTRIBUTE_PARSING_FAILED,
2443         HASH_ELEMENT_IDREF_ARRAY,
2444         HASH_ATTRIBUTE_count,
2445         attributeValue))
2446 {
2447     return false;
2448 }
2449 if ( !failed )
2450     attributeData->present_attributes |= IDREF_array__AttributeData::ATTRIBUTE_COUNT_PRESENT;
2451 
2452     break;
2453     }
2454     default:
2455     {
2456         if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_UNKNOWN_ATTRIBUTE, HASH_ELEMENT_IDREF_ARRAY, attribute, attributeValue))
2457             {return false;}
2458     }
2459     }
2460     }
2461 }
2462 if ( (attributeData->present_attributes & IDREF_array__AttributeData::ATTRIBUTE_COUNT_PRESENT) == 0 )
2463 {
2464     if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_REQUIRED_ATTRIBUTE_MISSING, HASH_ELEMENT_IDREF_ARRAY, HASH_ATTRIBUTE_count, 0 ) )
2465         return false;
2466 }
2467 
2468 
2469     return true;
2470 }
2471 
2472 //---------------------------------------------------------------------
_preEnd__IDREF_array()2473 bool ColladaParserAutoGen14Private::_preEnd__IDREF_array()
2474 {
2475 #ifdef GENERATEDSAXPARSER_VALIDATION
2476     if ( mValidate )
2477     {
2478 
2479         bool validationResult = _validateEnd__IDREF_array();
2480         if ( !validationResult ) return false;
2481 
2482     } // validation
2483 #endif
2484 
2485 #ifdef GENERATEDSAXPARSER_VALIDATION
2486     if ( mValidate )
2487     {
2488         IDREF_array__ValidationData* validationData = (IDREF_array__ValidationData*)mValidationDataStack.top();
2489         DISABLE_WARNING_UNUSED(validationData)
2490 bool returnValue = stringListDataEnd( &ColladaParserAutoGen14::data__IDREF_array, &validate__IDREFS__streamEnd, &validationData->validationWholeSize, 0 );
2491         ParserError::ErrorType simpleTypeValidationResult = validate__IDREFS(0, (*(&validationData->validationWholeSize)));
2492         mValidationDataStack.deleteObject();
2493         if (simpleTypeValidationResult != ParserError::SIMPLE_TYPE_VALIDATION_OK)
2494         {
2495             if( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL,
2496                 simpleTypeValidationResult,
2497                 HASH_ELEMENT_IDREF_ARRAY,
2498                 (ParserChar*)0, 0 ) )
2499             {
2500                 return false;
2501             }
2502         }
2503         return returnValue;
2504     }
2505     else
2506     {
2507 return stringListDataEnd( &ColladaParserAutoGen14::data__IDREF_array );
2508     }
2509 #else
2510     {
2511 return stringListDataEnd( &ColladaParserAutoGen14::data__IDREF_array );
2512     } // validation
2513 #endif
2514 
2515 }
2516 
2517 //---------------------------------------------------------------------
_freeAttributes__IDREF_array(void * attributeData)2518 bool ColladaParserAutoGen14Private::_freeAttributes__IDREF_array( void* attributeData )
2519 {
2520     IDREF_array__AttributeData* typedAttributeData = static_cast<IDREF_array__AttributeData*>(attributeData);
2521 
2522     typedAttributeData->~IDREF_array__AttributeData();
2523 
2524     return true;
2525 }
2526 
2527 //---------------------------------------------------------------------
2528 const Name_array__AttributeData Name_array__AttributeData::DEFAULT = {0, 0, 0, 0};
2529 
2530 //---------------------------------------------------------------------
_data__Name_array(const ParserChar * text,size_t textLength)2531 bool ColladaParserAutoGen14Private::_data__Name_array( const ParserChar* text, size_t textLength )
2532 {
2533 #ifdef GENERATEDSAXPARSER_VALIDATION
2534     if ( mValidate )
2535     {
2536 return characterData2StringData(text, textLength, &ColladaParserAutoGen14::data__Name_array, 0, 0, &validate__Name);
2537     }
2538     else
2539     {
2540 return characterData2StringData(text, textLength, &ColladaParserAutoGen14::data__Name_array);
2541     }
2542 #else
2543     {
2544 return characterData2StringData(text, textLength, &ColladaParserAutoGen14::data__Name_array);
2545     } // validation
2546 #endif
2547 
2548 }
2549 
2550 //---------------------------------------------------------------------
_preBegin__Name_array(const ParserAttributes & attributes,void ** attributeDataPtr,void ** validationDataPtr)2551 bool ColladaParserAutoGen14Private::_preBegin__Name_array( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
2552 {
2553 #ifdef GENERATEDSAXPARSER_VALIDATION
2554     if ( mValidate )
2555     {
2556 
2557         bool validationResult = _validateBegin__Name_array( attributes, attributeDataPtr, validationDataPtr );
2558         if ( !validationResult ) return false;
2559 
2560     } // validation
2561 #endif
2562 
2563 Name_array__AttributeData* attributeData = newData<Name_array__AttributeData>(attributeDataPtr);
2564 
2565 const ParserChar** attributeArray = attributes.attributes;
2566 if ( attributeArray )
2567 {
2568     while (true)
2569     {
2570         const ParserChar * attribute = *attributeArray;
2571         if ( !attribute )
2572             break;
2573         StringHash hash = GeneratedSaxParser::Utils::calculateStringHash(attribute);
2574         attributeArray++;
2575         if ( !attributeArray )
2576             return false;
2577         const ParserChar* attributeValue = *attributeArray;
2578         attributeArray++;
2579 
2580 
2581     switch ( hash )
2582     {
2583     case HASH_ATTRIBUTE_id:
2584     {
2585 
2586 attributeData->id = attributeValue;
2587 
2588     break;
2589     }
2590     case HASH_ATTRIBUTE_name:
2591     {
2592 
2593 attributeData->name = attributeValue;
2594 #ifdef GENERATEDSAXPARSER_VALIDATION
2595     if ( mValidate )
2596     {
2597     ParserError::ErrorType simpleTypeValidationResult = validate__NCName(attributeData->name, strlen(attributeData->name));
2598     if (simpleTypeValidationResult != ParserError::SIMPLE_TYPE_VALIDATION_OK)
2599     {
2600         if( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL,
2601             simpleTypeValidationResult,
2602             HASH_ELEMENT_NAME_ARRAY,
2603             HASH_ATTRIBUTE_name,
2604             attributeValue) )
2605         {
2606             return false;
2607         }
2608     }
2609     } // validation
2610 #endif
2611 
2612     break;
2613     }
2614     case HASH_ATTRIBUTE_count:
2615     {
2616 bool failed;
2617 attributeData->count = GeneratedSaxParser::Utils::toUint64(attributeValue, failed);
2618 if ( failed && handleError(ParserError::SEVERITY_ERROR_NONCRITICAL,
2619         ParserError::ERROR_ATTRIBUTE_PARSING_FAILED,
2620         HASH_ELEMENT_NAME_ARRAY,
2621         HASH_ATTRIBUTE_count,
2622         attributeValue))
2623 {
2624     return false;
2625 }
2626 if ( !failed )
2627     attributeData->present_attributes |= Name_array__AttributeData::ATTRIBUTE_COUNT_PRESENT;
2628 
2629     break;
2630     }
2631     default:
2632     {
2633         if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_UNKNOWN_ATTRIBUTE, HASH_ELEMENT_NAME_ARRAY, attribute, attributeValue))
2634             {return false;}
2635     }
2636     }
2637     }
2638 }
2639 if ( (attributeData->present_attributes & Name_array__AttributeData::ATTRIBUTE_COUNT_PRESENT) == 0 )
2640 {
2641     if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_REQUIRED_ATTRIBUTE_MISSING, HASH_ELEMENT_NAME_ARRAY, HASH_ATTRIBUTE_count, 0 ) )
2642         return false;
2643 }
2644 
2645 
2646     return true;
2647 }
2648 
2649 //---------------------------------------------------------------------
_preEnd__Name_array()2650 bool ColladaParserAutoGen14Private::_preEnd__Name_array()
2651 {
2652 #ifdef GENERATEDSAXPARSER_VALIDATION
2653     if ( mValidate )
2654     {
2655 
2656         bool validationResult = _validateEnd__Name_array();
2657         if ( !validationResult ) return false;
2658 
2659     } // validation
2660 #endif
2661 
2662 #ifdef GENERATEDSAXPARSER_VALIDATION
2663     if ( mValidate )
2664     {
2665 bool returnValue = stringListDataEnd( &ColladaParserAutoGen14::data__Name_array, 0, 0, &validate__Name );
2666         return returnValue;
2667     }
2668     else
2669     {
2670 return stringListDataEnd( &ColladaParserAutoGen14::data__Name_array );
2671     }
2672 #else
2673     {
2674 return stringListDataEnd( &ColladaParserAutoGen14::data__Name_array );
2675     } // validation
2676 #endif
2677 
2678 }
2679 
2680 //---------------------------------------------------------------------
_freeAttributes__Name_array(void * attributeData)2681 bool ColladaParserAutoGen14Private::_freeAttributes__Name_array( void* attributeData )
2682 {
2683     Name_array__AttributeData* typedAttributeData = static_cast<Name_array__AttributeData*>(attributeData);
2684 
2685     typedAttributeData->~Name_array__AttributeData();
2686 
2687     return true;
2688 }
2689 
2690 //---------------------------------------------------------------------
2691 const bool_array__AttributeData bool_array__AttributeData::DEFAULT = {0, 0, 0, 0};
2692 
2693 //---------------------------------------------------------------------
_data__bool_array(const ParserChar * text,size_t textLength)2694 bool ColladaParserAutoGen14Private::_data__bool_array( const ParserChar* text, size_t textLength )
2695 {
2696 #ifdef GENERATEDSAXPARSER_VALIDATION
2697     if ( mValidate )
2698     {
2699 return characterData2BoolData(text, textLength, &ColladaParserAutoGen14::data__bool_array, 0, 0, 0);
2700     }
2701     else
2702     {
2703 return characterData2BoolData(text, textLength, &ColladaParserAutoGen14::data__bool_array);
2704     }
2705 #else
2706     {
2707 return characterData2BoolData(text, textLength, &ColladaParserAutoGen14::data__bool_array);
2708     } // validation
2709 #endif
2710 
2711 }
2712 
2713 //---------------------------------------------------------------------
_preBegin__bool_array(const ParserAttributes & attributes,void ** attributeDataPtr,void ** validationDataPtr)2714 bool ColladaParserAutoGen14Private::_preBegin__bool_array( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
2715 {
2716 #ifdef GENERATEDSAXPARSER_VALIDATION
2717     if ( mValidate )
2718     {
2719 
2720         bool validationResult = _validateBegin__bool_array( attributes, attributeDataPtr, validationDataPtr );
2721         if ( !validationResult ) return false;
2722 
2723     } // validation
2724 #endif
2725 
2726 bool_array__AttributeData* attributeData = newData<bool_array__AttributeData>(attributeDataPtr);
2727 
2728 const ParserChar** attributeArray = attributes.attributes;
2729 if ( attributeArray )
2730 {
2731     while (true)
2732     {
2733         const ParserChar * attribute = *attributeArray;
2734         if ( !attribute )
2735             break;
2736         StringHash hash = GeneratedSaxParser::Utils::calculateStringHash(attribute);
2737         attributeArray++;
2738         if ( !attributeArray )
2739             return false;
2740         const ParserChar* attributeValue = *attributeArray;
2741         attributeArray++;
2742 
2743 
2744     switch ( hash )
2745     {
2746     case HASH_ATTRIBUTE_id:
2747     {
2748 
2749 attributeData->id = attributeValue;
2750 
2751     break;
2752     }
2753     case HASH_ATTRIBUTE_name:
2754     {
2755 
2756 attributeData->name = attributeValue;
2757 #ifdef GENERATEDSAXPARSER_VALIDATION
2758     if ( mValidate )
2759     {
2760     ParserError::ErrorType simpleTypeValidationResult = validate__NCName(attributeData->name, strlen(attributeData->name));
2761     if (simpleTypeValidationResult != ParserError::SIMPLE_TYPE_VALIDATION_OK)
2762     {
2763         if( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL,
2764             simpleTypeValidationResult,
2765             HASH_ELEMENT_BOOL_ARRAY,
2766             HASH_ATTRIBUTE_name,
2767             attributeValue) )
2768         {
2769             return false;
2770         }
2771     }
2772     } // validation
2773 #endif
2774 
2775     break;
2776     }
2777     case HASH_ATTRIBUTE_count:
2778     {
2779 bool failed;
2780 attributeData->count = GeneratedSaxParser::Utils::toUint64(attributeValue, failed);
2781 if ( failed && handleError(ParserError::SEVERITY_ERROR_NONCRITICAL,
2782         ParserError::ERROR_ATTRIBUTE_PARSING_FAILED,
2783         HASH_ELEMENT_BOOL_ARRAY,
2784         HASH_ATTRIBUTE_count,
2785         attributeValue))
2786 {
2787     return false;
2788 }
2789 if ( !failed )
2790     attributeData->present_attributes |= bool_array__AttributeData::ATTRIBUTE_COUNT_PRESENT;
2791 
2792     break;
2793     }
2794     default:
2795     {
2796         if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_UNKNOWN_ATTRIBUTE, HASH_ELEMENT_BOOL_ARRAY, attribute, attributeValue))
2797             {return false;}
2798     }
2799     }
2800     }
2801 }
2802 if ( (attributeData->present_attributes & bool_array__AttributeData::ATTRIBUTE_COUNT_PRESENT) == 0 )
2803 {
2804     if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_REQUIRED_ATTRIBUTE_MISSING, HASH_ELEMENT_BOOL_ARRAY, HASH_ATTRIBUTE_count, 0 ) )
2805         return false;
2806 }
2807 
2808 
2809     return true;
2810 }
2811 
2812 //---------------------------------------------------------------------
_preEnd__bool_array()2813 bool ColladaParserAutoGen14Private::_preEnd__bool_array()
2814 {
2815 #ifdef GENERATEDSAXPARSER_VALIDATION
2816     if ( mValidate )
2817     {
2818 
2819         bool validationResult = _validateEnd__bool_array();
2820         if ( !validationResult ) return false;
2821 
2822     } // validation
2823 #endif
2824 
2825 #ifdef GENERATEDSAXPARSER_VALIDATION
2826     if ( mValidate )
2827     {
2828 bool returnValue = boolDataEnd( &ColladaParserAutoGen14::data__bool_array, 0, 0, 0 );
2829         return returnValue;
2830     }
2831     else
2832     {
2833 return boolDataEnd( &ColladaParserAutoGen14::data__bool_array );
2834     }
2835 #else
2836     {
2837 return boolDataEnd( &ColladaParserAutoGen14::data__bool_array );
2838     } // validation
2839 #endif
2840 
2841 }
2842 
2843 //---------------------------------------------------------------------
_freeAttributes__bool_array(void * attributeData)2844 bool ColladaParserAutoGen14Private::_freeAttributes__bool_array( void* attributeData )
2845 {
2846     bool_array__AttributeData* typedAttributeData = static_cast<bool_array__AttributeData*>(attributeData);
2847 
2848     typedAttributeData->~bool_array__AttributeData();
2849 
2850     return true;
2851 }
2852 
2853 //---------------------------------------------------------------------
2854 const float_array__AttributeData float_array__AttributeData::DEFAULT = {0, 0, 0, 0, 6, 38};
2855 
2856 //---------------------------------------------------------------------
_data__float_array(const ParserChar * text,size_t textLength)2857 bool ColladaParserAutoGen14Private::_data__float_array( const ParserChar* text, size_t textLength )
2858 {
2859 #ifdef GENERATEDSAXPARSER_VALIDATION
2860     if ( mValidate )
2861     {
2862 return characterData2FloatData(text, textLength, &ColladaParserAutoGen14::data__float_array, 0, 0, 0);
2863     }
2864     else
2865     {
2866 return characterData2FloatData(text, textLength, &ColladaParserAutoGen14::data__float_array);
2867     }
2868 #else
2869     {
2870 return characterData2FloatData(text, textLength, &ColladaParserAutoGen14::data__float_array);
2871     } // validation
2872 #endif
2873 
2874 }
2875 
2876 //---------------------------------------------------------------------
_preBegin__float_array(const ParserAttributes & attributes,void ** attributeDataPtr,void ** validationDataPtr)2877 bool ColladaParserAutoGen14Private::_preBegin__float_array( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
2878 {
2879 #ifdef GENERATEDSAXPARSER_VALIDATION
2880     if ( mValidate )
2881     {
2882 
2883         bool validationResult = _validateBegin__float_array( attributes, attributeDataPtr, validationDataPtr );
2884         if ( !validationResult ) return false;
2885 
2886     } // validation
2887 #endif
2888 
2889 float_array__AttributeData* attributeData = newData<float_array__AttributeData>(attributeDataPtr);
2890 
2891 const ParserChar** attributeArray = attributes.attributes;
2892 if ( attributeArray )
2893 {
2894     while (true)
2895     {
2896         const ParserChar * attribute = *attributeArray;
2897         if ( !attribute )
2898             break;
2899         StringHash hash = GeneratedSaxParser::Utils::calculateStringHash(attribute);
2900         attributeArray++;
2901         if ( !attributeArray )
2902             return false;
2903         const ParserChar* attributeValue = *attributeArray;
2904         attributeArray++;
2905 
2906 
2907     switch ( hash )
2908     {
2909     case HASH_ATTRIBUTE_id:
2910     {
2911 
2912 attributeData->id = attributeValue;
2913 
2914     break;
2915     }
2916     case HASH_ATTRIBUTE_name:
2917     {
2918 
2919 attributeData->name = attributeValue;
2920 #ifdef GENERATEDSAXPARSER_VALIDATION
2921     if ( mValidate )
2922     {
2923     ParserError::ErrorType simpleTypeValidationResult = validate__NCName(attributeData->name, strlen(attributeData->name));
2924     if (simpleTypeValidationResult != ParserError::SIMPLE_TYPE_VALIDATION_OK)
2925     {
2926         if( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL,
2927             simpleTypeValidationResult,
2928             HASH_ELEMENT_FLOAT_ARRAY,
2929             HASH_ATTRIBUTE_name,
2930             attributeValue) )
2931         {
2932             return false;
2933         }
2934     }
2935     } // validation
2936 #endif
2937 
2938     break;
2939     }
2940     case HASH_ATTRIBUTE_count:
2941     {
2942 bool failed;
2943 attributeData->count = GeneratedSaxParser::Utils::toUint64(attributeValue, failed);
2944 if ( failed && handleError(ParserError::SEVERITY_ERROR_NONCRITICAL,
2945         ParserError::ERROR_ATTRIBUTE_PARSING_FAILED,
2946         HASH_ELEMENT_FLOAT_ARRAY,
2947         HASH_ATTRIBUTE_count,
2948         attributeValue))
2949 {
2950     return false;
2951 }
2952 if ( !failed )
2953     attributeData->present_attributes |= float_array__AttributeData::ATTRIBUTE_COUNT_PRESENT;
2954 
2955     break;
2956     }
2957     case HASH_ATTRIBUTE_digits:
2958     {
2959 bool failed;
2960 attributeData->digits = GeneratedSaxParser::Utils::toSint16(attributeValue, failed);
2961 if ( failed && handleError(ParserError::SEVERITY_ERROR_NONCRITICAL,
2962         ParserError::ERROR_ATTRIBUTE_PARSING_FAILED,
2963         HASH_ELEMENT_FLOAT_ARRAY,
2964         HASH_ATTRIBUTE_digits,
2965         attributeValue))
2966 {
2967     return false;
2968 }
2969 
2970     break;
2971     }
2972     case HASH_ATTRIBUTE_magnitude:
2973     {
2974 bool failed;
2975 attributeData->magnitude = GeneratedSaxParser::Utils::toSint16(attributeValue, failed);
2976 if ( failed && handleError(ParserError::SEVERITY_ERROR_NONCRITICAL,
2977         ParserError::ERROR_ATTRIBUTE_PARSING_FAILED,
2978         HASH_ELEMENT_FLOAT_ARRAY,
2979         HASH_ATTRIBUTE_magnitude,
2980         attributeValue))
2981 {
2982     return false;
2983 }
2984 
2985     break;
2986     }
2987     default:
2988     {
2989         if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_UNKNOWN_ATTRIBUTE, HASH_ELEMENT_FLOAT_ARRAY, attribute, attributeValue))
2990             {return false;}
2991     }
2992     }
2993     }
2994 }
2995 if ( (attributeData->present_attributes & float_array__AttributeData::ATTRIBUTE_COUNT_PRESENT) == 0 )
2996 {
2997     if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_REQUIRED_ATTRIBUTE_MISSING, HASH_ELEMENT_FLOAT_ARRAY, HASH_ATTRIBUTE_count, 0 ) )
2998         return false;
2999 }
3000 
3001 
3002     return true;
3003 }
3004 
3005 //---------------------------------------------------------------------
_preEnd__float_array()3006 bool ColladaParserAutoGen14Private::_preEnd__float_array()
3007 {
3008 #ifdef GENERATEDSAXPARSER_VALIDATION
3009     if ( mValidate )
3010     {
3011 
3012         bool validationResult = _validateEnd__float_array();
3013         if ( !validationResult ) return false;
3014 
3015     } // validation
3016 #endif
3017 
3018 #ifdef GENERATEDSAXPARSER_VALIDATION
3019     if ( mValidate )
3020     {
3021 bool returnValue = floatDataEnd( &ColladaParserAutoGen14::data__float_array, 0, 0, 0 );
3022         return returnValue;
3023     }
3024     else
3025     {
3026 return floatDataEnd( &ColladaParserAutoGen14::data__float_array );
3027     }
3028 #else
3029     {
3030 return floatDataEnd( &ColladaParserAutoGen14::data__float_array );
3031     } // validation
3032 #endif
3033 
3034 }
3035 
3036 //---------------------------------------------------------------------
_freeAttributes__float_array(void * attributeData)3037 bool ColladaParserAutoGen14Private::_freeAttributes__float_array( void* attributeData )
3038 {
3039     float_array__AttributeData* typedAttributeData = static_cast<float_array__AttributeData*>(attributeData);
3040 
3041     typedAttributeData->~float_array__AttributeData();
3042 
3043     return true;
3044 }
3045 
3046 //---------------------------------------------------------------------
3047 const int_array__AttributeData int_array__AttributeData::DEFAULT = {0, 0, 0, 0, -2147483647-1, 2147483647};
3048 
3049 //---------------------------------------------------------------------
_data__int_array(const ParserChar * text,size_t textLength)3050 bool ColladaParserAutoGen14Private::_data__int_array( const ParserChar* text, size_t textLength )
3051 {
3052 #ifdef GENERATEDSAXPARSER_VALIDATION
3053     if ( mValidate )
3054     {
3055 return characterData2Sint64Data(text, textLength, &ColladaParserAutoGen14::data__int_array, 0, 0, 0);
3056     }
3057     else
3058     {
3059 return characterData2Sint64Data(text, textLength, &ColladaParserAutoGen14::data__int_array);
3060     }
3061 #else
3062     {
3063 return characterData2Sint64Data(text, textLength, &ColladaParserAutoGen14::data__int_array);
3064     } // validation
3065 #endif
3066 
3067 }
3068 
3069 //---------------------------------------------------------------------
_preBegin__int_array(const ParserAttributes & attributes,void ** attributeDataPtr,void ** validationDataPtr)3070 bool ColladaParserAutoGen14Private::_preBegin__int_array( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
3071 {
3072 #ifdef GENERATEDSAXPARSER_VALIDATION
3073     if ( mValidate )
3074     {
3075 
3076         bool validationResult = _validateBegin__int_array( attributes, attributeDataPtr, validationDataPtr );
3077         if ( !validationResult ) return false;
3078 
3079     } // validation
3080 #endif
3081 
3082 int_array__AttributeData* attributeData = newData<int_array__AttributeData>(attributeDataPtr);
3083 
3084 const ParserChar** attributeArray = attributes.attributes;
3085 if ( attributeArray )
3086 {
3087     while (true)
3088     {
3089         const ParserChar * attribute = *attributeArray;
3090         if ( !attribute )
3091             break;
3092         StringHash hash = GeneratedSaxParser::Utils::calculateStringHash(attribute);
3093         attributeArray++;
3094         if ( !attributeArray )
3095             return false;
3096         const ParserChar* attributeValue = *attributeArray;
3097         attributeArray++;
3098 
3099 
3100     switch ( hash )
3101     {
3102     case HASH_ATTRIBUTE_id:
3103     {
3104 
3105 attributeData->id = attributeValue;
3106 
3107     break;
3108     }
3109     case HASH_ATTRIBUTE_name:
3110     {
3111 
3112 attributeData->name = attributeValue;
3113 #ifdef GENERATEDSAXPARSER_VALIDATION
3114     if ( mValidate )
3115     {
3116     ParserError::ErrorType simpleTypeValidationResult = validate__NCName(attributeData->name, strlen(attributeData->name));
3117     if (simpleTypeValidationResult != ParserError::SIMPLE_TYPE_VALIDATION_OK)
3118     {
3119         if( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL,
3120             simpleTypeValidationResult,
3121             HASH_ELEMENT_INT_ARRAY,
3122             HASH_ATTRIBUTE_name,
3123             attributeValue) )
3124         {
3125             return false;
3126         }
3127     }
3128     } // validation
3129 #endif
3130 
3131     break;
3132     }
3133     case HASH_ATTRIBUTE_count:
3134     {
3135 bool failed;
3136 attributeData->count = GeneratedSaxParser::Utils::toUint64(attributeValue, failed);
3137 if ( failed && handleError(ParserError::SEVERITY_ERROR_NONCRITICAL,
3138         ParserError::ERROR_ATTRIBUTE_PARSING_FAILED,
3139         HASH_ELEMENT_INT_ARRAY,
3140         HASH_ATTRIBUTE_count,
3141         attributeValue))
3142 {
3143     return false;
3144 }
3145 if ( !failed )
3146     attributeData->present_attributes |= int_array__AttributeData::ATTRIBUTE_COUNT_PRESENT;
3147 
3148     break;
3149     }
3150     case HASH_ATTRIBUTE_minInclusive:
3151     {
3152 bool failed;
3153 attributeData->minInclusive = GeneratedSaxParser::Utils::toSint64(attributeValue, failed);
3154 if ( failed && handleError(ParserError::SEVERITY_ERROR_NONCRITICAL,
3155         ParserError::ERROR_ATTRIBUTE_PARSING_FAILED,
3156         HASH_ELEMENT_INT_ARRAY,
3157         HASH_ATTRIBUTE_minInclusive,
3158         attributeValue))
3159 {
3160     return false;
3161 }
3162 
3163     break;
3164     }
3165     case HASH_ATTRIBUTE_maxInclusive:
3166     {
3167 bool failed;
3168 attributeData->maxInclusive = GeneratedSaxParser::Utils::toSint64(attributeValue, failed);
3169 if ( failed && handleError(ParserError::SEVERITY_ERROR_NONCRITICAL,
3170         ParserError::ERROR_ATTRIBUTE_PARSING_FAILED,
3171         HASH_ELEMENT_INT_ARRAY,
3172         HASH_ATTRIBUTE_maxInclusive,
3173         attributeValue))
3174 {
3175     return false;
3176 }
3177 
3178     break;
3179     }
3180     default:
3181     {
3182         if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_UNKNOWN_ATTRIBUTE, HASH_ELEMENT_INT_ARRAY, attribute, attributeValue))
3183             {return false;}
3184     }
3185     }
3186     }
3187 }
3188 if ( (attributeData->present_attributes & int_array__AttributeData::ATTRIBUTE_COUNT_PRESENT) == 0 )
3189 {
3190     if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_REQUIRED_ATTRIBUTE_MISSING, HASH_ELEMENT_INT_ARRAY, HASH_ATTRIBUTE_count, 0 ) )
3191         return false;
3192 }
3193 
3194 
3195     return true;
3196 }
3197 
3198 //---------------------------------------------------------------------
_preEnd__int_array()3199 bool ColladaParserAutoGen14Private::_preEnd__int_array()
3200 {
3201 #ifdef GENERATEDSAXPARSER_VALIDATION
3202     if ( mValidate )
3203     {
3204 
3205         bool validationResult = _validateEnd__int_array();
3206         if ( !validationResult ) return false;
3207 
3208     } // validation
3209 #endif
3210 
3211 #ifdef GENERATEDSAXPARSER_VALIDATION
3212     if ( mValidate )
3213     {
3214 bool returnValue = sint64DataEnd( &ColladaParserAutoGen14::data__int_array, 0, 0, 0 );
3215         return returnValue;
3216     }
3217     else
3218     {
3219 return sint64DataEnd( &ColladaParserAutoGen14::data__int_array );
3220     }
3221 #else
3222     {
3223 return sint64DataEnd( &ColladaParserAutoGen14::data__int_array );
3224     } // validation
3225 #endif
3226 
3227 }
3228 
3229 //---------------------------------------------------------------------
_freeAttributes__int_array(void * attributeData)3230 bool ColladaParserAutoGen14Private::_freeAttributes__int_array( void* attributeData )
3231 {
3232     int_array__AttributeData* typedAttributeData = static_cast<int_array__AttributeData*>(attributeData);
3233 
3234     typedAttributeData->~int_array__AttributeData();
3235 
3236     return true;
3237 }
3238 
3239 //---------------------------------------------------------------------
_data__animation__source__technique_common(const ParserChar * text,size_t textLength)3240 bool ColladaParserAutoGen14Private::_data__animation__source__technique_common( const ParserChar* text, size_t textLength )
3241 {
3242     return true;
3243 }
3244 
3245 //---------------------------------------------------------------------
_preBegin__animation__source__technique_common(const ParserAttributes & attributes,void ** attributeDataPtr,void ** validationDataPtr)3246 bool ColladaParserAutoGen14Private::_preBegin__animation__source__technique_common( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
3247 {
3248 #ifdef GENERATEDSAXPARSER_VALIDATION
3249     if ( mValidate )
3250     {
3251 
3252         bool validationResult = _validateBegin__animation__source__technique_common( attributes, attributeDataPtr, validationDataPtr );
3253         if ( !validationResult ) return false;
3254 
3255     } // validation
3256 #endif
3257 
3258     return true;
3259 }
3260 
3261 //---------------------------------------------------------------------
_preEnd__animation__source__technique_common()3262 bool ColladaParserAutoGen14Private::_preEnd__animation__source__technique_common()
3263 {
3264 #ifdef GENERATEDSAXPARSER_VALIDATION
3265     if ( mValidate )
3266     {
3267 
3268         bool validationResult = _validateEnd__animation__source__technique_common();
3269         if ( !validationResult ) return false;
3270 
3271     } // validation
3272 #endif
3273 
3274     return true;
3275 }
3276 
3277 //---------------------------------------------------------------------
_freeAttributes__animation__source__technique_common(void * attributeData)3278 bool ColladaParserAutoGen14Private::_freeAttributes__animation__source__technique_common( void* attributeData )
3279 {
3280     return true;
3281 }
3282 
3283 //---------------------------------------------------------------------
3284 const accessor__AttributeData accessor__AttributeData::DEFAULT = {0, 0, 0, 0, 1};
3285 
3286 //---------------------------------------------------------------------
_data__accessor(const ParserChar * text,size_t textLength)3287 bool ColladaParserAutoGen14Private::_data__accessor( const ParserChar* text, size_t textLength )
3288 {
3289     return true;
3290 }
3291 
3292 //---------------------------------------------------------------------
_preBegin__accessor(const ParserAttributes & attributes,void ** attributeDataPtr,void ** validationDataPtr)3293 bool ColladaParserAutoGen14Private::_preBegin__accessor( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
3294 {
3295 #ifdef GENERATEDSAXPARSER_VALIDATION
3296     if ( mValidate )
3297     {
3298 
3299         bool validationResult = _validateBegin__accessor( attributes, attributeDataPtr, validationDataPtr );
3300         if ( !validationResult ) return false;
3301 
3302     } // validation
3303 #endif
3304 
3305 accessor__AttributeData* attributeData = newData<accessor__AttributeData>(attributeDataPtr);
3306 
3307 const ParserChar** attributeArray = attributes.attributes;
3308 if ( attributeArray )
3309 {
3310     while (true)
3311     {
3312         const ParserChar * attribute = *attributeArray;
3313         if ( !attribute )
3314             break;
3315         StringHash hash = GeneratedSaxParser::Utils::calculateStringHash(attribute);
3316         attributeArray++;
3317         if ( !attributeArray )
3318             return false;
3319         const ParserChar* attributeValue = *attributeArray;
3320         attributeArray++;
3321 
3322 
3323     switch ( hash )
3324     {
3325     case HASH_ATTRIBUTE_count:
3326     {
3327 bool failed;
3328 attributeData->count = GeneratedSaxParser::Utils::toUint64(attributeValue, failed);
3329 if ( failed && handleError(ParserError::SEVERITY_ERROR_NONCRITICAL,
3330         ParserError::ERROR_ATTRIBUTE_PARSING_FAILED,
3331         HASH_ELEMENT_ACCESSOR,
3332         HASH_ATTRIBUTE_count,
3333         attributeValue))
3334 {
3335     return false;
3336 }
3337 if ( !failed )
3338     attributeData->present_attributes |= accessor__AttributeData::ATTRIBUTE_COUNT_PRESENT;
3339 
3340     break;
3341     }
3342     case HASH_ATTRIBUTE_offset:
3343     {
3344 bool failed;
3345 attributeData->offset = GeneratedSaxParser::Utils::toUint64(attributeValue, failed);
3346 if ( failed && handleError(ParserError::SEVERITY_ERROR_NONCRITICAL,
3347         ParserError::ERROR_ATTRIBUTE_PARSING_FAILED,
3348         HASH_ELEMENT_ACCESSOR,
3349         HASH_ATTRIBUTE_offset,
3350         attributeValue))
3351 {
3352     return false;
3353 }
3354 
3355     break;
3356     }
3357     case HASH_ATTRIBUTE_source:
3358     {
3359 bool failed;
3360 attributeData->source = GeneratedSaxParser::Utils::toURI(&attributeValue, failed);
3361 if ( failed && handleError(ParserError::SEVERITY_ERROR_NONCRITICAL,
3362         ParserError::ERROR_ATTRIBUTE_PARSING_FAILED,
3363         HASH_ELEMENT_ACCESSOR,
3364         HASH_ATTRIBUTE_source,
3365         attributeValue))
3366 {
3367     return false;
3368 }
3369 if ( !failed )
3370     attributeData->present_attributes |= accessor__AttributeData::ATTRIBUTE_SOURCE_PRESENT;
3371 
3372     break;
3373     }
3374     case HASH_ATTRIBUTE_stride:
3375     {
3376 bool failed;
3377 attributeData->stride = GeneratedSaxParser::Utils::toUint64(attributeValue, failed);
3378 if ( failed && handleError(ParserError::SEVERITY_ERROR_NONCRITICAL,
3379         ParserError::ERROR_ATTRIBUTE_PARSING_FAILED,
3380         HASH_ELEMENT_ACCESSOR,
3381         HASH_ATTRIBUTE_stride,
3382         attributeValue))
3383 {
3384     return false;
3385 }
3386 
3387     break;
3388     }
3389     default:
3390     {
3391         if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_UNKNOWN_ATTRIBUTE, HASH_ELEMENT_ACCESSOR, attribute, attributeValue))
3392             {return false;}
3393     }
3394     }
3395     }
3396 }
3397 if ((attributeData->present_attributes & accessor__AttributeData::ATTRIBUTE_SOURCE_PRESENT) == 0)
3398 {
3399     attributeData->source = COLLADABU::URI("");
3400 }
3401 if ( (attributeData->present_attributes & accessor__AttributeData::ATTRIBUTE_COUNT_PRESENT) == 0 )
3402 {
3403     if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_REQUIRED_ATTRIBUTE_MISSING, HASH_ELEMENT_ACCESSOR, HASH_ATTRIBUTE_count, 0 ) )
3404         return false;
3405 }
3406 
3407 
3408     return true;
3409 }
3410 
3411 //---------------------------------------------------------------------
_preEnd__accessor()3412 bool ColladaParserAutoGen14Private::_preEnd__accessor()
3413 {
3414 #ifdef GENERATEDSAXPARSER_VALIDATION
3415     if ( mValidate )
3416     {
3417 
3418         bool validationResult = _validateEnd__accessor();
3419         if ( !validationResult ) return false;
3420 
3421     } // validation
3422 #endif
3423 
3424     return true;
3425 }
3426 
3427 //---------------------------------------------------------------------
_freeAttributes__accessor(void * attributeData)3428 bool ColladaParserAutoGen14Private::_freeAttributes__accessor( void* attributeData )
3429 {
3430     accessor__AttributeData* typedAttributeData = static_cast<accessor__AttributeData*>(attributeData);
3431 
3432     typedAttributeData->~accessor__AttributeData();
3433 
3434     return true;
3435 }
3436 
3437 //---------------------------------------------------------------------
3438 const param__AttributeData param__AttributeData::DEFAULT = {0, 0, 0, 0};
3439 
3440 //---------------------------------------------------------------------
_data__param(const ParserChar * text,size_t textLength)3441 bool ColladaParserAutoGen14Private::_data__param( const ParserChar* text, size_t textLength )
3442 {
3443 
3444 return mImpl->data__param(text, textLength);
3445 }
3446 
3447 //---------------------------------------------------------------------
_preBegin__param(const ParserAttributes & attributes,void ** attributeDataPtr,void ** validationDataPtr)3448 bool ColladaParserAutoGen14Private::_preBegin__param( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
3449 {
3450 #ifdef GENERATEDSAXPARSER_VALIDATION
3451     if ( mValidate )
3452     {
3453 
3454         bool validationResult = _validateBegin__param( attributes, attributeDataPtr, validationDataPtr );
3455         if ( !validationResult ) return false;
3456 
3457     } // validation
3458 #endif
3459 
3460 param__AttributeData* attributeData = newData<param__AttributeData>(attributeDataPtr);
3461 
3462 const ParserChar** attributeArray = attributes.attributes;
3463 if ( attributeArray )
3464 {
3465     while (true)
3466     {
3467         const ParserChar * attribute = *attributeArray;
3468         if ( !attribute )
3469             break;
3470         StringHash hash = GeneratedSaxParser::Utils::calculateStringHash(attribute);
3471         attributeArray++;
3472         if ( !attributeArray )
3473             return false;
3474         const ParserChar* attributeValue = *attributeArray;
3475         attributeArray++;
3476 
3477 
3478     switch ( hash )
3479     {
3480     case HASH_ATTRIBUTE_name:
3481     {
3482 
3483 attributeData->name = attributeValue;
3484 #ifdef GENERATEDSAXPARSER_VALIDATION
3485     if ( mValidate )
3486     {
3487     ParserError::ErrorType simpleTypeValidationResult = validate__NCName(attributeData->name, strlen(attributeData->name));
3488     if (simpleTypeValidationResult != ParserError::SIMPLE_TYPE_VALIDATION_OK)
3489     {
3490         if( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL,
3491             simpleTypeValidationResult,
3492             HASH_ELEMENT_PARAM,
3493             HASH_ATTRIBUTE_name,
3494             attributeValue) )
3495         {
3496             return false;
3497         }
3498     }
3499     } // validation
3500 #endif
3501 
3502     break;
3503     }
3504     case HASH_ATTRIBUTE_sid:
3505     {
3506 
3507 attributeData->sid = attributeValue;
3508 #ifdef GENERATEDSAXPARSER_VALIDATION
3509     if ( mValidate )
3510     {
3511     ParserError::ErrorType simpleTypeValidationResult = validate__NCName(attributeData->sid, strlen(attributeData->sid));
3512     if (simpleTypeValidationResult != ParserError::SIMPLE_TYPE_VALIDATION_OK)
3513     {
3514         if( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL,
3515             simpleTypeValidationResult,
3516             HASH_ELEMENT_PARAM,
3517             HASH_ATTRIBUTE_sid,
3518             attributeValue) )
3519         {
3520             return false;
3521         }
3522     }
3523     } // validation
3524 #endif
3525 
3526     break;
3527     }
3528     case HASH_ATTRIBUTE_semantic:
3529     {
3530 
3531 attributeData->semantic = attributeValue;
3532 #ifdef GENERATEDSAXPARSER_VALIDATION
3533     if ( mValidate )
3534     {
3535     ParserError::ErrorType simpleTypeValidationResult = validate__NMTOKEN(attributeData->semantic, strlen(attributeData->semantic));
3536     if (simpleTypeValidationResult != ParserError::SIMPLE_TYPE_VALIDATION_OK)
3537     {
3538         if( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL,
3539             simpleTypeValidationResult,
3540             HASH_ELEMENT_PARAM,
3541             HASH_ATTRIBUTE_semantic,
3542             attributeValue) )
3543         {
3544             return false;
3545         }
3546     }
3547     } // validation
3548 #endif
3549 
3550     break;
3551     }
3552     case HASH_ATTRIBUTE_type:
3553     {
3554 
3555 attributeData->type = attributeValue;
3556 #ifdef GENERATEDSAXPARSER_VALIDATION
3557     if ( mValidate )
3558     {
3559     ParserError::ErrorType simpleTypeValidationResult = validate__NMTOKEN(attributeData->type, strlen(attributeData->type));
3560     if (simpleTypeValidationResult != ParserError::SIMPLE_TYPE_VALIDATION_OK)
3561     {
3562         if( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL,
3563             simpleTypeValidationResult,
3564             HASH_ELEMENT_PARAM,
3565             HASH_ATTRIBUTE_type,
3566             attributeValue) )
3567         {
3568             return false;
3569         }
3570     }
3571     } // validation
3572 #endif
3573 
3574     break;
3575     }
3576     default:
3577     {
3578         if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_UNKNOWN_ATTRIBUTE, HASH_ELEMENT_PARAM, attribute, attributeValue))
3579             {return false;}
3580     }
3581     }
3582     }
3583 }
3584 if ( !attributeData->type )
3585 {
3586     if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_REQUIRED_ATTRIBUTE_MISSING, HASH_ELEMENT_PARAM, HASH_ATTRIBUTE_type, 0 ) )
3587         return false;
3588 }
3589 
3590 
3591     return true;
3592 }
3593 
3594 //---------------------------------------------------------------------
_preEnd__param()3595 bool ColladaParserAutoGen14Private::_preEnd__param()
3596 {
3597 #ifdef GENERATEDSAXPARSER_VALIDATION
3598     if ( mValidate )
3599     {
3600 
3601         bool validationResult = _validateEnd__param();
3602         if ( !validationResult ) return false;
3603 
3604     } // validation
3605 #endif
3606 
3607     return true;
3608 }
3609 
3610 //---------------------------------------------------------------------
_freeAttributes__param(void * attributeData)3611 bool ColladaParserAutoGen14Private::_freeAttributes__param( void* attributeData )
3612 {
3613     param__AttributeData* typedAttributeData = static_cast<param__AttributeData*>(attributeData);
3614 
3615     typedAttributeData->~param__AttributeData();
3616 
3617     return true;
3618 }
3619 
3620 //---------------------------------------------------------------------
3621 const technique__AttributeData technique__AttributeData::DEFAULT = {0};
3622 
3623 //---------------------------------------------------------------------
_data__technique(const ParserChar * text,size_t textLength)3624 bool ColladaParserAutoGen14Private::_data__technique( const ParserChar* text, size_t textLength )
3625 {
3626     return true;
3627 }
3628 
3629 //---------------------------------------------------------------------
_preBegin__technique(const ParserAttributes & attributes,void ** attributeDataPtr,void ** validationDataPtr)3630 bool ColladaParserAutoGen14Private::_preBegin__technique( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
3631 {
3632 #ifdef GENERATEDSAXPARSER_VALIDATION
3633     if ( mValidate )
3634     {
3635 
3636         bool validationResult = _validateBegin__technique( attributes, attributeDataPtr, validationDataPtr );
3637         if ( !validationResult ) return false;
3638 
3639     } // validation
3640 #endif
3641 
3642 technique__AttributeData* attributeData = newData<technique__AttributeData>(attributeDataPtr);
3643 
3644 const ParserChar** attributeArray = attributes.attributes;
3645 if ( attributeArray )
3646 {
3647     while (true)
3648     {
3649         const ParserChar * attribute = *attributeArray;
3650         if ( !attribute )
3651             break;
3652         StringHash hash = GeneratedSaxParser::Utils::calculateStringHash(attribute);
3653         attributeArray++;
3654         if ( !attributeArray )
3655             return false;
3656         const ParserChar* attributeValue = *attributeArray;
3657         attributeArray++;
3658 
3659 
3660     switch ( hash )
3661     {
3662     case HASH_ATTRIBUTE_profile:
3663     {
3664 
3665 attributeData->profile = attributeValue;
3666 #ifdef GENERATEDSAXPARSER_VALIDATION
3667     if ( mValidate )
3668     {
3669     ParserError::ErrorType simpleTypeValidationResult = validate__NMTOKEN(attributeData->profile, strlen(attributeData->profile));
3670     if (simpleTypeValidationResult != ParserError::SIMPLE_TYPE_VALIDATION_OK)
3671     {
3672         if( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL,
3673             simpleTypeValidationResult,
3674             HASH_ELEMENT_TECHNIQUE,
3675             HASH_ATTRIBUTE_profile,
3676             attributeValue) )
3677         {
3678             return false;
3679         }
3680     }
3681     } // validation
3682 #endif
3683 
3684     break;
3685     }
3686     default:
3687     {
3688         if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_UNKNOWN_ATTRIBUTE, HASH_ELEMENT_TECHNIQUE, attribute, attributeValue))
3689             {return false;}
3690     }
3691     }
3692     }
3693 }
3694 if ( !attributeData->profile )
3695 {
3696     if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_REQUIRED_ATTRIBUTE_MISSING, HASH_ELEMENT_TECHNIQUE, HASH_ATTRIBUTE_profile, 0 ) )
3697         return false;
3698 }
3699 
3700 
3701     return true;
3702 }
3703 
3704 //---------------------------------------------------------------------
_preEnd__technique()3705 bool ColladaParserAutoGen14Private::_preEnd__technique()
3706 {
3707 #ifdef GENERATEDSAXPARSER_VALIDATION
3708     if ( mValidate )
3709     {
3710 
3711         bool validationResult = _validateEnd__technique();
3712         if ( !validationResult ) return false;
3713 
3714     } // validation
3715 #endif
3716 
3717     return true;
3718 }
3719 
3720 //---------------------------------------------------------------------
_freeAttributes__technique(void * attributeData)3721 bool ColladaParserAutoGen14Private::_freeAttributes__technique( void* attributeData )
3722 {
3723     technique__AttributeData* typedAttributeData = static_cast<technique__AttributeData*>(attributeData);
3724 
3725     typedAttributeData->~technique__AttributeData();
3726 
3727     return true;
3728 }
3729 
3730 //---------------------------------------------------------------------
3731 const sampler__AttributeData sampler__AttributeData::DEFAULT = {0};
3732 
3733 //---------------------------------------------------------------------
_data__sampler(const ParserChar * text,size_t textLength)3734 bool ColladaParserAutoGen14Private::_data__sampler( const ParserChar* text, size_t textLength )
3735 {
3736     return true;
3737 }
3738 
3739 //---------------------------------------------------------------------
_preBegin__sampler(const ParserAttributes & attributes,void ** attributeDataPtr,void ** validationDataPtr)3740 bool ColladaParserAutoGen14Private::_preBegin__sampler( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
3741 {
3742 #ifdef GENERATEDSAXPARSER_VALIDATION
3743     if ( mValidate )
3744     {
3745 
3746         bool validationResult = _validateBegin__sampler( attributes, attributeDataPtr, validationDataPtr );
3747         if ( !validationResult ) return false;
3748 
3749     } // validation
3750 #endif
3751 
3752 sampler__AttributeData* attributeData = newData<sampler__AttributeData>(attributeDataPtr);
3753 
3754 const ParserChar** attributeArray = attributes.attributes;
3755 if ( attributeArray )
3756 {
3757     while (true)
3758     {
3759         const ParserChar * attribute = *attributeArray;
3760         if ( !attribute )
3761             break;
3762         StringHash hash = GeneratedSaxParser::Utils::calculateStringHash(attribute);
3763         attributeArray++;
3764         if ( !attributeArray )
3765             return false;
3766         const ParserChar* attributeValue = *attributeArray;
3767         attributeArray++;
3768 
3769 
3770     switch ( hash )
3771     {
3772     case HASH_ATTRIBUTE_id:
3773     {
3774 
3775 attributeData->id = attributeValue;
3776 
3777     break;
3778     }
3779     default:
3780     {
3781         if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_UNKNOWN_ATTRIBUTE, HASH_ELEMENT_SAMPLER, attribute, attributeValue))
3782             {return false;}
3783     }
3784     }
3785     }
3786 }
3787 
3788 
3789     return true;
3790 }
3791 
3792 //---------------------------------------------------------------------
_preEnd__sampler()3793 bool ColladaParserAutoGen14Private::_preEnd__sampler()
3794 {
3795 #ifdef GENERATEDSAXPARSER_VALIDATION
3796     if ( mValidate )
3797     {
3798 
3799         bool validationResult = _validateEnd__sampler();
3800         if ( !validationResult ) return false;
3801 
3802     } // validation
3803 #endif
3804 
3805     return true;
3806 }
3807 
3808 //---------------------------------------------------------------------
_freeAttributes__sampler(void * attributeData)3809 bool ColladaParserAutoGen14Private::_freeAttributes__sampler( void* attributeData )
3810 {
3811     sampler__AttributeData* typedAttributeData = static_cast<sampler__AttributeData*>(attributeData);
3812 
3813     typedAttributeData->~sampler__AttributeData();
3814 
3815     return true;
3816 }
3817 
3818 //---------------------------------------------------------------------
3819 const input____InputLocal__AttributeData input____InputLocal__AttributeData::DEFAULT = {0, 0};
3820 
3821 //---------------------------------------------------------------------
_data__input____InputLocal(const ParserChar * text,size_t textLength)3822 bool ColladaParserAutoGen14Private::_data__input____InputLocal( const ParserChar* text, size_t textLength )
3823 {
3824     return true;
3825 }
3826 
3827 //---------------------------------------------------------------------
_preBegin__input____InputLocal(const ParserAttributes & attributes,void ** attributeDataPtr,void ** validationDataPtr)3828 bool ColladaParserAutoGen14Private::_preBegin__input____InputLocal( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
3829 {
3830 #ifdef GENERATEDSAXPARSER_VALIDATION
3831     if ( mValidate )
3832     {
3833 
3834         bool validationResult = _validateBegin__input____InputLocal( attributes, attributeDataPtr, validationDataPtr );
3835         if ( !validationResult ) return false;
3836 
3837     } // validation
3838 #endif
3839 
3840 input____InputLocal__AttributeData* attributeData = newData<input____InputLocal__AttributeData>(attributeDataPtr);
3841 
3842 const ParserChar** attributeArray = attributes.attributes;
3843 if ( attributeArray )
3844 {
3845     while (true)
3846     {
3847         const ParserChar * attribute = *attributeArray;
3848         if ( !attribute )
3849             break;
3850         StringHash hash = GeneratedSaxParser::Utils::calculateStringHash(attribute);
3851         attributeArray++;
3852         if ( !attributeArray )
3853             return false;
3854         const ParserChar* attributeValue = *attributeArray;
3855         attributeArray++;
3856 
3857 
3858     switch ( hash )
3859     {
3860     case HASH_ATTRIBUTE_semantic:
3861     {
3862 
3863 attributeData->semantic = attributeValue;
3864 #ifdef GENERATEDSAXPARSER_VALIDATION
3865     if ( mValidate )
3866     {
3867     ParserError::ErrorType simpleTypeValidationResult = validate__NMTOKEN(attributeData->semantic, strlen(attributeData->semantic));
3868     if (simpleTypeValidationResult != ParserError::SIMPLE_TYPE_VALIDATION_OK)
3869     {
3870         if( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL,
3871             simpleTypeValidationResult,
3872             HASH_ELEMENT_INPUT,
3873             HASH_ATTRIBUTE_semantic,
3874             attributeValue) )
3875         {
3876             return false;
3877         }
3878     }
3879     } // validation
3880 #endif
3881 
3882     break;
3883     }
3884     case HASH_ATTRIBUTE_source:
3885     {
3886 
3887 attributeData->source = attributeValue;
3888 #ifdef GENERATEDSAXPARSER_VALIDATION
3889     if ( mValidate )
3890     {
3891     ParserError::ErrorType simpleTypeValidationResult = validate__URIFragmentType(attributeData->source, strlen(attributeData->source));
3892     if (simpleTypeValidationResult != ParserError::SIMPLE_TYPE_VALIDATION_OK)
3893     {
3894         if( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL,
3895             simpleTypeValidationResult,
3896             HASH_ELEMENT_INPUT,
3897             HASH_ATTRIBUTE_source,
3898             attributeValue) )
3899         {
3900             return false;
3901         }
3902     }
3903     } // validation
3904 #endif
3905 
3906     break;
3907     }
3908     default:
3909     {
3910         if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_UNKNOWN_ATTRIBUTE, HASH_ELEMENT_INPUT, attribute, attributeValue))
3911             {return false;}
3912     }
3913     }
3914     }
3915 }
3916 if ( !attributeData->semantic )
3917 {
3918     if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_REQUIRED_ATTRIBUTE_MISSING, HASH_ELEMENT_INPUT, HASH_ATTRIBUTE_semantic, 0 ) )
3919         return false;
3920 }
3921 if ( !attributeData->source )
3922 {
3923     if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_REQUIRED_ATTRIBUTE_MISSING, HASH_ELEMENT_INPUT, HASH_ATTRIBUTE_source, 0 ) )
3924         return false;
3925 }
3926 
3927 
3928     return true;
3929 }
3930 
3931 //---------------------------------------------------------------------
_preEnd__input____InputLocal()3932 bool ColladaParserAutoGen14Private::_preEnd__input____InputLocal()
3933 {
3934 #ifdef GENERATEDSAXPARSER_VALIDATION
3935     if ( mValidate )
3936     {
3937 
3938         bool validationResult = _validateEnd__input____InputLocal();
3939         if ( !validationResult ) return false;
3940 
3941     } // validation
3942 #endif
3943 
3944     return true;
3945 }
3946 
3947 //---------------------------------------------------------------------
_freeAttributes__input____InputLocal(void * attributeData)3948 bool ColladaParserAutoGen14Private::_freeAttributes__input____InputLocal( void* attributeData )
3949 {
3950     input____InputLocal__AttributeData* typedAttributeData = static_cast<input____InputLocal__AttributeData*>(attributeData);
3951 
3952     typedAttributeData->~input____InputLocal__AttributeData();
3953 
3954     return true;
3955 }
3956 
3957 //---------------------------------------------------------------------
3958 const channel__AttributeData channel__AttributeData::DEFAULT = {0, 0};
3959 
3960 //---------------------------------------------------------------------
_data__channel(const ParserChar * text,size_t textLength)3961 bool ColladaParserAutoGen14Private::_data__channel( const ParserChar* text, size_t textLength )
3962 {
3963     return true;
3964 }
3965 
3966 //---------------------------------------------------------------------
_preBegin__channel(const ParserAttributes & attributes,void ** attributeDataPtr,void ** validationDataPtr)3967 bool ColladaParserAutoGen14Private::_preBegin__channel( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
3968 {
3969 #ifdef GENERATEDSAXPARSER_VALIDATION
3970     if ( mValidate )
3971     {
3972 
3973         bool validationResult = _validateBegin__channel( attributes, attributeDataPtr, validationDataPtr );
3974         if ( !validationResult ) return false;
3975 
3976     } // validation
3977 #endif
3978 
3979 channel__AttributeData* attributeData = newData<channel__AttributeData>(attributeDataPtr);
3980 
3981 const ParserChar** attributeArray = attributes.attributes;
3982 if ( attributeArray )
3983 {
3984     while (true)
3985     {
3986         const ParserChar * attribute = *attributeArray;
3987         if ( !attribute )
3988             break;
3989         StringHash hash = GeneratedSaxParser::Utils::calculateStringHash(attribute);
3990         attributeArray++;
3991         if ( !attributeArray )
3992             return false;
3993         const ParserChar* attributeValue = *attributeArray;
3994         attributeArray++;
3995 
3996 
3997     switch ( hash )
3998     {
3999     case HASH_ATTRIBUTE_source:
4000     {
4001 
4002 attributeData->source = attributeValue;
4003 #ifdef GENERATEDSAXPARSER_VALIDATION
4004     if ( mValidate )
4005     {
4006     ParserError::ErrorType simpleTypeValidationResult = validate__URIFragmentType(attributeData->source, strlen(attributeData->source));
4007     if (simpleTypeValidationResult != ParserError::SIMPLE_TYPE_VALIDATION_OK)
4008     {
4009         if( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL,
4010             simpleTypeValidationResult,
4011             HASH_ELEMENT_CHANNEL,
4012             HASH_ATTRIBUTE_source,
4013             attributeValue) )
4014         {
4015             return false;
4016         }
4017     }
4018     } // validation
4019 #endif
4020 
4021     break;
4022     }
4023     case HASH_ATTRIBUTE_target:
4024     {
4025 
4026 attributeData->target = attributeValue;
4027 
4028     break;
4029     }
4030     default:
4031     {
4032         if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_UNKNOWN_ATTRIBUTE, HASH_ELEMENT_CHANNEL, attribute, attributeValue))
4033             {return false;}
4034     }
4035     }
4036     }
4037 }
4038 if ( !attributeData->source )
4039 {
4040     if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_REQUIRED_ATTRIBUTE_MISSING, HASH_ELEMENT_CHANNEL, HASH_ATTRIBUTE_source, 0 ) )
4041         return false;
4042 }
4043 if ( !attributeData->target )
4044 {
4045     if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_REQUIRED_ATTRIBUTE_MISSING, HASH_ELEMENT_CHANNEL, HASH_ATTRIBUTE_target, 0 ) )
4046         return false;
4047 }
4048 
4049 
4050     return true;
4051 }
4052 
4053 //---------------------------------------------------------------------
_preEnd__channel()4054 bool ColladaParserAutoGen14Private::_preEnd__channel()
4055 {
4056 #ifdef GENERATEDSAXPARSER_VALIDATION
4057     if ( mValidate )
4058     {
4059 
4060         bool validationResult = _validateEnd__channel();
4061         if ( !validationResult ) return false;
4062 
4063     } // validation
4064 #endif
4065 
4066     return true;
4067 }
4068 
4069 //---------------------------------------------------------------------
_freeAttributes__channel(void * attributeData)4070 bool ColladaParserAutoGen14Private::_freeAttributes__channel( void* attributeData )
4071 {
4072     channel__AttributeData* typedAttributeData = static_cast<channel__AttributeData*>(attributeData);
4073 
4074     typedAttributeData->~channel__AttributeData();
4075 
4076     return true;
4077 }
4078 
4079 //---------------------------------------------------------------------
4080 const extra__AttributeData extra__AttributeData::DEFAULT = {0, 0, 0};
4081 
4082 //---------------------------------------------------------------------
_data__extra(const ParserChar * text,size_t textLength)4083 bool ColladaParserAutoGen14Private::_data__extra( const ParserChar* text, size_t textLength )
4084 {
4085     return true;
4086 }
4087 
4088 //---------------------------------------------------------------------
_preBegin__extra(const ParserAttributes & attributes,void ** attributeDataPtr,void ** validationDataPtr)4089 bool ColladaParserAutoGen14Private::_preBegin__extra( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
4090 {
4091 #ifdef GENERATEDSAXPARSER_VALIDATION
4092     if ( mValidate )
4093     {
4094 
4095         bool validationResult = _validateBegin__extra( attributes, attributeDataPtr, validationDataPtr );
4096         if ( !validationResult ) return false;
4097 
4098     } // validation
4099 #endif
4100 
4101 extra__AttributeData* attributeData = newData<extra__AttributeData>(attributeDataPtr);
4102 
4103 const ParserChar** attributeArray = attributes.attributes;
4104 if ( attributeArray )
4105 {
4106     while (true)
4107     {
4108         const ParserChar * attribute = *attributeArray;
4109         if ( !attribute )
4110             break;
4111         StringHash hash = GeneratedSaxParser::Utils::calculateStringHash(attribute);
4112         attributeArray++;
4113         if ( !attributeArray )
4114             return false;
4115         const ParserChar* attributeValue = *attributeArray;
4116         attributeArray++;
4117 
4118 
4119     switch ( hash )
4120     {
4121     case HASH_ATTRIBUTE_id:
4122     {
4123 
4124 attributeData->id = attributeValue;
4125 
4126     break;
4127     }
4128     case HASH_ATTRIBUTE_name:
4129     {
4130 
4131 attributeData->name = attributeValue;
4132 #ifdef GENERATEDSAXPARSER_VALIDATION
4133     if ( mValidate )
4134     {
4135     ParserError::ErrorType simpleTypeValidationResult = validate__NCName(attributeData->name, strlen(attributeData->name));
4136     if (simpleTypeValidationResult != ParserError::SIMPLE_TYPE_VALIDATION_OK)
4137     {
4138         if( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL,
4139             simpleTypeValidationResult,
4140             HASH_ELEMENT_EXTRA,
4141             HASH_ATTRIBUTE_name,
4142             attributeValue) )
4143         {
4144             return false;
4145         }
4146     }
4147     } // validation
4148 #endif
4149 
4150     break;
4151     }
4152     case HASH_ATTRIBUTE_type:
4153     {
4154 
4155 attributeData->type = attributeValue;
4156 #ifdef GENERATEDSAXPARSER_VALIDATION
4157     if ( mValidate )
4158     {
4159     ParserError::ErrorType simpleTypeValidationResult = validate__NMTOKEN(attributeData->type, strlen(attributeData->type));
4160     if (simpleTypeValidationResult != ParserError::SIMPLE_TYPE_VALIDATION_OK)
4161     {
4162         if( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL,
4163             simpleTypeValidationResult,
4164             HASH_ELEMENT_EXTRA,
4165             HASH_ATTRIBUTE_type,
4166             attributeValue) )
4167         {
4168             return false;
4169         }
4170     }
4171     } // validation
4172 #endif
4173 
4174     break;
4175     }
4176     default:
4177     {
4178         if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_UNKNOWN_ATTRIBUTE, HASH_ELEMENT_EXTRA, attribute, attributeValue))
4179             {return false;}
4180     }
4181     }
4182     }
4183 }
4184 
4185 
4186     return true;
4187 }
4188 
4189 //---------------------------------------------------------------------
_preEnd__extra()4190 bool ColladaParserAutoGen14Private::_preEnd__extra()
4191 {
4192 #ifdef GENERATEDSAXPARSER_VALIDATION
4193     if ( mValidate )
4194     {
4195 
4196         bool validationResult = _validateEnd__extra();
4197         if ( !validationResult ) return false;
4198 
4199     } // validation
4200 #endif
4201 
4202     return true;
4203 }
4204 
4205 //---------------------------------------------------------------------
_freeAttributes__extra(void * attributeData)4206 bool ColladaParserAutoGen14Private::_freeAttributes__extra( void* attributeData )
4207 {
4208     extra__AttributeData* typedAttributeData = static_cast<extra__AttributeData*>(attributeData);
4209 
4210     typedAttributeData->~extra__AttributeData();
4211 
4212     return true;
4213 }
4214 
4215 //---------------------------------------------------------------------
4216 const library_animation_clips__AttributeData library_animation_clips__AttributeData::DEFAULT = {0, 0};
4217 
4218 //---------------------------------------------------------------------
_data__library_animation_clips(const ParserChar * text,size_t textLength)4219 bool ColladaParserAutoGen14Private::_data__library_animation_clips( const ParserChar* text, size_t textLength )
4220 {
4221     return true;
4222 }
4223 
4224 //---------------------------------------------------------------------
_preBegin__library_animation_clips(const ParserAttributes & attributes,void ** attributeDataPtr,void ** validationDataPtr)4225 bool ColladaParserAutoGen14Private::_preBegin__library_animation_clips( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
4226 {
4227 #ifdef GENERATEDSAXPARSER_VALIDATION
4228     if ( mValidate )
4229     {
4230 
4231         bool validationResult = _validateBegin__library_animation_clips( attributes, attributeDataPtr, validationDataPtr );
4232         if ( !validationResult ) return false;
4233 
4234     } // validation
4235 #endif
4236 
4237 library_animation_clips__AttributeData* attributeData = newData<library_animation_clips__AttributeData>(attributeDataPtr);
4238 
4239 const ParserChar** attributeArray = attributes.attributes;
4240 if ( attributeArray )
4241 {
4242     while (true)
4243     {
4244         const ParserChar * attribute = *attributeArray;
4245         if ( !attribute )
4246             break;
4247         StringHash hash = GeneratedSaxParser::Utils::calculateStringHash(attribute);
4248         attributeArray++;
4249         if ( !attributeArray )
4250             return false;
4251         const ParserChar* attributeValue = *attributeArray;
4252         attributeArray++;
4253 
4254 
4255     switch ( hash )
4256     {
4257     case HASH_ATTRIBUTE_id:
4258     {
4259 
4260 attributeData->id = attributeValue;
4261 
4262     break;
4263     }
4264     case HASH_ATTRIBUTE_name:
4265     {
4266 
4267 attributeData->name = attributeValue;
4268 #ifdef GENERATEDSAXPARSER_VALIDATION
4269     if ( mValidate )
4270     {
4271     ParserError::ErrorType simpleTypeValidationResult = validate__NCName(attributeData->name, strlen(attributeData->name));
4272     if (simpleTypeValidationResult != ParserError::SIMPLE_TYPE_VALIDATION_OK)
4273     {
4274         if( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL,
4275             simpleTypeValidationResult,
4276             HASH_ELEMENT_LIBRARY_ANIMATION_CLIPS,
4277             HASH_ATTRIBUTE_name,
4278             attributeValue) )
4279         {
4280             return false;
4281         }
4282     }
4283     } // validation
4284 #endif
4285 
4286     break;
4287     }
4288     default:
4289     {
4290         if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_UNKNOWN_ATTRIBUTE, HASH_ELEMENT_LIBRARY_ANIMATION_CLIPS, attribute, attributeValue))
4291             {return false;}
4292     }
4293     }
4294     }
4295 }
4296 
4297 
4298     return true;
4299 }
4300 
4301 //---------------------------------------------------------------------
_preEnd__library_animation_clips()4302 bool ColladaParserAutoGen14Private::_preEnd__library_animation_clips()
4303 {
4304 #ifdef GENERATEDSAXPARSER_VALIDATION
4305     if ( mValidate )
4306     {
4307 
4308         bool validationResult = _validateEnd__library_animation_clips();
4309         if ( !validationResult ) return false;
4310 
4311     } // validation
4312 #endif
4313 
4314     return true;
4315 }
4316 
4317 //---------------------------------------------------------------------
_freeAttributes__library_animation_clips(void * attributeData)4318 bool ColladaParserAutoGen14Private::_freeAttributes__library_animation_clips( void* attributeData )
4319 {
4320     library_animation_clips__AttributeData* typedAttributeData = static_cast<library_animation_clips__AttributeData*>(attributeData);
4321 
4322     typedAttributeData->~library_animation_clips__AttributeData();
4323 
4324     return true;
4325 }
4326 
4327 //---------------------------------------------------------------------
4328 const animation_clip__AttributeData animation_clip__AttributeData::DEFAULT = {0, 0, 0, 0.0E1, 0};
4329 
4330 //---------------------------------------------------------------------
_data__animation_clip(const ParserChar * text,size_t textLength)4331 bool ColladaParserAutoGen14Private::_data__animation_clip( const ParserChar* text, size_t textLength )
4332 {
4333     return true;
4334 }
4335 
4336 //---------------------------------------------------------------------
_preBegin__animation_clip(const ParserAttributes & attributes,void ** attributeDataPtr,void ** validationDataPtr)4337 bool ColladaParserAutoGen14Private::_preBegin__animation_clip( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
4338 {
4339 #ifdef GENERATEDSAXPARSER_VALIDATION
4340     if ( mValidate )
4341     {
4342 
4343         bool validationResult = _validateBegin__animation_clip( attributes, attributeDataPtr, validationDataPtr );
4344         if ( !validationResult ) return false;
4345 
4346     } // validation
4347 #endif
4348 
4349 animation_clip__AttributeData* attributeData = newData<animation_clip__AttributeData>(attributeDataPtr);
4350 
4351 const ParserChar** attributeArray = attributes.attributes;
4352 if ( attributeArray )
4353 {
4354     while (true)
4355     {
4356         const ParserChar * attribute = *attributeArray;
4357         if ( !attribute )
4358             break;
4359         StringHash hash = GeneratedSaxParser::Utils::calculateStringHash(attribute);
4360         attributeArray++;
4361         if ( !attributeArray )
4362             return false;
4363         const ParserChar* attributeValue = *attributeArray;
4364         attributeArray++;
4365 
4366 
4367     switch ( hash )
4368     {
4369     case HASH_ATTRIBUTE_id:
4370     {
4371 
4372 attributeData->id = attributeValue;
4373 
4374     break;
4375     }
4376     case HASH_ATTRIBUTE_name:
4377     {
4378 
4379 attributeData->name = attributeValue;
4380 #ifdef GENERATEDSAXPARSER_VALIDATION
4381     if ( mValidate )
4382     {
4383     ParserError::ErrorType simpleTypeValidationResult = validate__NCName(attributeData->name, strlen(attributeData->name));
4384     if (simpleTypeValidationResult != ParserError::SIMPLE_TYPE_VALIDATION_OK)
4385     {
4386         if( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL,
4387             simpleTypeValidationResult,
4388             HASH_ELEMENT_ANIMATION_CLIP,
4389             HASH_ATTRIBUTE_name,
4390             attributeValue) )
4391         {
4392             return false;
4393         }
4394     }
4395     } // validation
4396 #endif
4397 
4398     break;
4399     }
4400     case HASH_ATTRIBUTE_start:
4401     {
4402 bool failed;
4403 attributeData->start = GeneratedSaxParser::Utils::toFloat(attributeValue, failed);
4404 if ( failed && handleError(ParserError::SEVERITY_ERROR_NONCRITICAL,
4405         ParserError::ERROR_ATTRIBUTE_PARSING_FAILED,
4406         HASH_ELEMENT_ANIMATION_CLIP,
4407         HASH_ATTRIBUTE_start,
4408         attributeValue))
4409 {
4410     return false;
4411 }
4412 
4413     break;
4414     }
4415     case HASH_ATTRIBUTE_end:
4416     {
4417 bool failed;
4418 attributeData->end = GeneratedSaxParser::Utils::toFloat(attributeValue, failed);
4419 if ( failed && handleError(ParserError::SEVERITY_ERROR_NONCRITICAL,
4420         ParserError::ERROR_ATTRIBUTE_PARSING_FAILED,
4421         HASH_ELEMENT_ANIMATION_CLIP,
4422         HASH_ATTRIBUTE_end,
4423         attributeValue))
4424 {
4425     return false;
4426 }
4427 if ( !failed )
4428     attributeData->present_attributes |= animation_clip__AttributeData::ATTRIBUTE_END_PRESENT;
4429 
4430     break;
4431     }
4432     default:
4433     {
4434         if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_UNKNOWN_ATTRIBUTE, HASH_ELEMENT_ANIMATION_CLIP, attribute, attributeValue))
4435             {return false;}
4436     }
4437     }
4438     }
4439 }
4440 
4441 
4442     return true;
4443 }
4444 
4445 //---------------------------------------------------------------------
_preEnd__animation_clip()4446 bool ColladaParserAutoGen14Private::_preEnd__animation_clip()
4447 {
4448 #ifdef GENERATEDSAXPARSER_VALIDATION
4449     if ( mValidate )
4450     {
4451 
4452         bool validationResult = _validateEnd__animation_clip();
4453         if ( !validationResult ) return false;
4454 
4455     } // validation
4456 #endif
4457 
4458     return true;
4459 }
4460 
4461 //---------------------------------------------------------------------
_freeAttributes__animation_clip(void * attributeData)4462 bool ColladaParserAutoGen14Private::_freeAttributes__animation_clip( void* attributeData )
4463 {
4464     animation_clip__AttributeData* typedAttributeData = static_cast<animation_clip__AttributeData*>(attributeData);
4465 
4466     typedAttributeData->~animation_clip__AttributeData();
4467 
4468     return true;
4469 }
4470 
4471 //---------------------------------------------------------------------
4472 const instance_animation__AttributeData instance_animation__AttributeData::DEFAULT = {0, 0, 0, 0};
4473 
4474 //---------------------------------------------------------------------
_data__instance_animation(const ParserChar * text,size_t textLength)4475 bool ColladaParserAutoGen14Private::_data__instance_animation( const ParserChar* text, size_t textLength )
4476 {
4477     return true;
4478 }
4479 
4480 //---------------------------------------------------------------------
_preBegin__instance_animation(const ParserAttributes & attributes,void ** attributeDataPtr,void ** validationDataPtr)4481 bool ColladaParserAutoGen14Private::_preBegin__instance_animation( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
4482 {
4483 #ifdef GENERATEDSAXPARSER_VALIDATION
4484     if ( mValidate )
4485     {
4486 
4487         bool validationResult = _validateBegin__instance_animation( attributes, attributeDataPtr, validationDataPtr );
4488         if ( !validationResult ) return false;
4489 
4490     } // validation
4491 #endif
4492 
4493 instance_animation__AttributeData* attributeData = newData<instance_animation__AttributeData>(attributeDataPtr);
4494 
4495 const ParserChar** attributeArray = attributes.attributes;
4496 if ( attributeArray )
4497 {
4498     while (true)
4499     {
4500         const ParserChar * attribute = *attributeArray;
4501         if ( !attribute )
4502             break;
4503         StringHash hash = GeneratedSaxParser::Utils::calculateStringHash(attribute);
4504         attributeArray++;
4505         if ( !attributeArray )
4506             return false;
4507         const ParserChar* attributeValue = *attributeArray;
4508         attributeArray++;
4509 
4510 
4511     switch ( hash )
4512     {
4513     case HASH_ATTRIBUTE_url:
4514     {
4515 bool failed;
4516 attributeData->url = GeneratedSaxParser::Utils::toURI(&attributeValue, failed);
4517 if ( failed && handleError(ParserError::SEVERITY_ERROR_NONCRITICAL,
4518         ParserError::ERROR_ATTRIBUTE_PARSING_FAILED,
4519         HASH_ELEMENT_INSTANCE_ANIMATION,
4520         HASH_ATTRIBUTE_url,
4521         attributeValue))
4522 {
4523     return false;
4524 }
4525 if ( !failed )
4526     attributeData->present_attributes |= instance_animation__AttributeData::ATTRIBUTE_URL_PRESENT;
4527 
4528     break;
4529     }
4530     case HASH_ATTRIBUTE_sid:
4531     {
4532 
4533 attributeData->sid = attributeValue;
4534 #ifdef GENERATEDSAXPARSER_VALIDATION
4535     if ( mValidate )
4536     {
4537     ParserError::ErrorType simpleTypeValidationResult = validate__NCName(attributeData->sid, strlen(attributeData->sid));
4538     if (simpleTypeValidationResult != ParserError::SIMPLE_TYPE_VALIDATION_OK)
4539     {
4540         if( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL,
4541             simpleTypeValidationResult,
4542             HASH_ELEMENT_INSTANCE_ANIMATION,
4543             HASH_ATTRIBUTE_sid,
4544             attributeValue) )
4545         {
4546             return false;
4547         }
4548     }
4549     } // validation
4550 #endif
4551 
4552     break;
4553     }
4554     case HASH_ATTRIBUTE_name:
4555     {
4556 
4557 attributeData->name = attributeValue;
4558 #ifdef GENERATEDSAXPARSER_VALIDATION
4559     if ( mValidate )
4560     {
4561     ParserError::ErrorType simpleTypeValidationResult = validate__NCName(attributeData->name, strlen(attributeData->name));
4562     if (simpleTypeValidationResult != ParserError::SIMPLE_TYPE_VALIDATION_OK)
4563     {
4564         if( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL,
4565             simpleTypeValidationResult,
4566             HASH_ELEMENT_INSTANCE_ANIMATION,
4567             HASH_ATTRIBUTE_name,
4568             attributeValue) )
4569         {
4570             return false;
4571         }
4572     }
4573     } // validation
4574 #endif
4575 
4576     break;
4577     }
4578     default:
4579     {
4580         if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_UNKNOWN_ATTRIBUTE, HASH_ELEMENT_INSTANCE_ANIMATION, attribute, attributeValue))
4581             {return false;}
4582     }
4583     }
4584     }
4585 }
4586 if ((attributeData->present_attributes & instance_animation__AttributeData::ATTRIBUTE_URL_PRESENT) == 0)
4587 {
4588     attributeData->url = COLLADABU::URI("");
4589 }
4590 if ( (attributeData->present_attributes & instance_animation__AttributeData::ATTRIBUTE_URL_PRESENT) == 0 )
4591 {
4592     if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_REQUIRED_ATTRIBUTE_MISSING, HASH_ELEMENT_INSTANCE_ANIMATION, HASH_ATTRIBUTE_url, 0 ) )
4593         return false;
4594 }
4595 
4596 
4597     return true;
4598 }
4599 
4600 //---------------------------------------------------------------------
_preEnd__instance_animation()4601 bool ColladaParserAutoGen14Private::_preEnd__instance_animation()
4602 {
4603 #ifdef GENERATEDSAXPARSER_VALIDATION
4604     if ( mValidate )
4605     {
4606 
4607         bool validationResult = _validateEnd__instance_animation();
4608         if ( !validationResult ) return false;
4609 
4610     } // validation
4611 #endif
4612 
4613     return true;
4614 }
4615 
4616 //---------------------------------------------------------------------
_freeAttributes__instance_animation(void * attributeData)4617 bool ColladaParserAutoGen14Private::_freeAttributes__instance_animation( void* attributeData )
4618 {
4619     instance_animation__AttributeData* typedAttributeData = static_cast<instance_animation__AttributeData*>(attributeData);
4620 
4621     typedAttributeData->~instance_animation__AttributeData();
4622 
4623     return true;
4624 }
4625 
4626 //---------------------------------------------------------------------
4627 const library_cameras__AttributeData library_cameras__AttributeData::DEFAULT = {0, 0};
4628 
4629 //---------------------------------------------------------------------
_data__library_cameras(const ParserChar * text,size_t textLength)4630 bool ColladaParserAutoGen14Private::_data__library_cameras( const ParserChar* text, size_t textLength )
4631 {
4632     return true;
4633 }
4634 
4635 //---------------------------------------------------------------------
_preBegin__library_cameras(const ParserAttributes & attributes,void ** attributeDataPtr,void ** validationDataPtr)4636 bool ColladaParserAutoGen14Private::_preBegin__library_cameras( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
4637 {
4638 #ifdef GENERATEDSAXPARSER_VALIDATION
4639     if ( mValidate )
4640     {
4641 
4642         bool validationResult = _validateBegin__library_cameras( attributes, attributeDataPtr, validationDataPtr );
4643         if ( !validationResult ) return false;
4644 
4645     } // validation
4646 #endif
4647 
4648 library_cameras__AttributeData* attributeData = newData<library_cameras__AttributeData>(attributeDataPtr);
4649 
4650 const ParserChar** attributeArray = attributes.attributes;
4651 if ( attributeArray )
4652 {
4653     while (true)
4654     {
4655         const ParserChar * attribute = *attributeArray;
4656         if ( !attribute )
4657             break;
4658         StringHash hash = GeneratedSaxParser::Utils::calculateStringHash(attribute);
4659         attributeArray++;
4660         if ( !attributeArray )
4661             return false;
4662         const ParserChar* attributeValue = *attributeArray;
4663         attributeArray++;
4664 
4665 
4666     switch ( hash )
4667     {
4668     case HASH_ATTRIBUTE_id:
4669     {
4670 
4671 attributeData->id = attributeValue;
4672 
4673     break;
4674     }
4675     case HASH_ATTRIBUTE_name:
4676     {
4677 
4678 attributeData->name = attributeValue;
4679 #ifdef GENERATEDSAXPARSER_VALIDATION
4680     if ( mValidate )
4681     {
4682     ParserError::ErrorType simpleTypeValidationResult = validate__NCName(attributeData->name, strlen(attributeData->name));
4683     if (simpleTypeValidationResult != ParserError::SIMPLE_TYPE_VALIDATION_OK)
4684     {
4685         if( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL,
4686             simpleTypeValidationResult,
4687             HASH_ELEMENT_LIBRARY_CAMERAS,
4688             HASH_ATTRIBUTE_name,
4689             attributeValue) )
4690         {
4691             return false;
4692         }
4693     }
4694     } // validation
4695 #endif
4696 
4697     break;
4698     }
4699     default:
4700     {
4701         if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_UNKNOWN_ATTRIBUTE, HASH_ELEMENT_LIBRARY_CAMERAS, attribute, attributeValue))
4702             {return false;}
4703     }
4704     }
4705     }
4706 }
4707 
4708 
4709     return true;
4710 }
4711 
4712 //---------------------------------------------------------------------
_preEnd__library_cameras()4713 bool ColladaParserAutoGen14Private::_preEnd__library_cameras()
4714 {
4715 #ifdef GENERATEDSAXPARSER_VALIDATION
4716     if ( mValidate )
4717     {
4718 
4719         bool validationResult = _validateEnd__library_cameras();
4720         if ( !validationResult ) return false;
4721 
4722     } // validation
4723 #endif
4724 
4725     return true;
4726 }
4727 
4728 //---------------------------------------------------------------------
_freeAttributes__library_cameras(void * attributeData)4729 bool ColladaParserAutoGen14Private::_freeAttributes__library_cameras( void* attributeData )
4730 {
4731     library_cameras__AttributeData* typedAttributeData = static_cast<library_cameras__AttributeData*>(attributeData);
4732 
4733     typedAttributeData->~library_cameras__AttributeData();
4734 
4735     return true;
4736 }
4737 
4738 //---------------------------------------------------------------------
4739 const camera__AttributeData camera__AttributeData::DEFAULT = {0, 0};
4740 
4741 //---------------------------------------------------------------------
_data__camera(const ParserChar * text,size_t textLength)4742 bool ColladaParserAutoGen14Private::_data__camera( const ParserChar* text, size_t textLength )
4743 {
4744     return true;
4745 }
4746 
4747 //---------------------------------------------------------------------
_preBegin__camera(const ParserAttributes & attributes,void ** attributeDataPtr,void ** validationDataPtr)4748 bool ColladaParserAutoGen14Private::_preBegin__camera( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
4749 {
4750 #ifdef GENERATEDSAXPARSER_VALIDATION
4751     if ( mValidate )
4752     {
4753 
4754         bool validationResult = _validateBegin__camera( attributes, attributeDataPtr, validationDataPtr );
4755         if ( !validationResult ) return false;
4756 
4757     } // validation
4758 #endif
4759 
4760 camera__AttributeData* attributeData = newData<camera__AttributeData>(attributeDataPtr);
4761 
4762 const ParserChar** attributeArray = attributes.attributes;
4763 if ( attributeArray )
4764 {
4765     while (true)
4766     {
4767         const ParserChar * attribute = *attributeArray;
4768         if ( !attribute )
4769             break;
4770         StringHash hash = GeneratedSaxParser::Utils::calculateStringHash(attribute);
4771         attributeArray++;
4772         if ( !attributeArray )
4773             return false;
4774         const ParserChar* attributeValue = *attributeArray;
4775         attributeArray++;
4776 
4777 
4778     switch ( hash )
4779     {
4780     case HASH_ATTRIBUTE_id:
4781     {
4782 
4783 attributeData->id = attributeValue;
4784 
4785     break;
4786     }
4787     case HASH_ATTRIBUTE_name:
4788     {
4789 
4790 attributeData->name = attributeValue;
4791 #ifdef GENERATEDSAXPARSER_VALIDATION
4792     if ( mValidate )
4793     {
4794     ParserError::ErrorType simpleTypeValidationResult = validate__NCName(attributeData->name, strlen(attributeData->name));
4795     if (simpleTypeValidationResult != ParserError::SIMPLE_TYPE_VALIDATION_OK)
4796     {
4797         if( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL,
4798             simpleTypeValidationResult,
4799             HASH_ELEMENT_CAMERA,
4800             HASH_ATTRIBUTE_name,
4801             attributeValue) )
4802         {
4803             return false;
4804         }
4805     }
4806     } // validation
4807 #endif
4808 
4809     break;
4810     }
4811     default:
4812     {
4813         if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_UNKNOWN_ATTRIBUTE, HASH_ELEMENT_CAMERA, attribute, attributeValue))
4814             {return false;}
4815     }
4816     }
4817     }
4818 }
4819 
4820 
4821     return true;
4822 }
4823 
4824 //---------------------------------------------------------------------
_preEnd__camera()4825 bool ColladaParserAutoGen14Private::_preEnd__camera()
4826 {
4827 #ifdef GENERATEDSAXPARSER_VALIDATION
4828     if ( mValidate )
4829     {
4830 
4831         bool validationResult = _validateEnd__camera();
4832         if ( !validationResult ) return false;
4833 
4834     } // validation
4835 #endif
4836 
4837     return true;
4838 }
4839 
4840 //---------------------------------------------------------------------
_freeAttributes__camera(void * attributeData)4841 bool ColladaParserAutoGen14Private::_freeAttributes__camera( void* attributeData )
4842 {
4843     camera__AttributeData* typedAttributeData = static_cast<camera__AttributeData*>(attributeData);
4844 
4845     typedAttributeData->~camera__AttributeData();
4846 
4847     return true;
4848 }
4849 
4850 //---------------------------------------------------------------------
_data__optics(const ParserChar * text,size_t textLength)4851 bool ColladaParserAutoGen14Private::_data__optics( const ParserChar* text, size_t textLength )
4852 {
4853     return true;
4854 }
4855 
4856 //---------------------------------------------------------------------
_preBegin__optics(const ParserAttributes & attributes,void ** attributeDataPtr,void ** validationDataPtr)4857 bool ColladaParserAutoGen14Private::_preBegin__optics( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
4858 {
4859 #ifdef GENERATEDSAXPARSER_VALIDATION
4860     if ( mValidate )
4861     {
4862 
4863         bool validationResult = _validateBegin__optics( attributes, attributeDataPtr, validationDataPtr );
4864         if ( !validationResult ) return false;
4865 
4866     } // validation
4867 #endif
4868 
4869     return true;
4870 }
4871 
4872 //---------------------------------------------------------------------
_preEnd__optics()4873 bool ColladaParserAutoGen14Private::_preEnd__optics()
4874 {
4875 #ifdef GENERATEDSAXPARSER_VALIDATION
4876     if ( mValidate )
4877     {
4878 
4879         bool validationResult = _validateEnd__optics();
4880         if ( !validationResult ) return false;
4881 
4882     } // validation
4883 #endif
4884 
4885     return true;
4886 }
4887 
4888 //---------------------------------------------------------------------
_freeAttributes__optics(void * attributeData)4889 bool ColladaParserAutoGen14Private::_freeAttributes__optics( void* attributeData )
4890 {
4891     return true;
4892 }
4893 
4894 //---------------------------------------------------------------------
_data__optics__technique_common(const ParserChar * text,size_t textLength)4895 bool ColladaParserAutoGen14Private::_data__optics__technique_common( const ParserChar* text, size_t textLength )
4896 {
4897     return true;
4898 }
4899 
4900 //---------------------------------------------------------------------
_preBegin__optics__technique_common(const ParserAttributes & attributes,void ** attributeDataPtr,void ** validationDataPtr)4901 bool ColladaParserAutoGen14Private::_preBegin__optics__technique_common( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
4902 {
4903 #ifdef GENERATEDSAXPARSER_VALIDATION
4904     if ( mValidate )
4905     {
4906 
4907         bool validationResult = _validateBegin__optics__technique_common( attributes, attributeDataPtr, validationDataPtr );
4908         if ( !validationResult ) return false;
4909 
4910     } // validation
4911 #endif
4912 
4913     return true;
4914 }
4915 
4916 //---------------------------------------------------------------------
_preEnd__optics__technique_common()4917 bool ColladaParserAutoGen14Private::_preEnd__optics__technique_common()
4918 {
4919 #ifdef GENERATEDSAXPARSER_VALIDATION
4920     if ( mValidate )
4921     {
4922 
4923         bool validationResult = _validateEnd__optics__technique_common();
4924         if ( !validationResult ) return false;
4925 
4926     } // validation
4927 #endif
4928 
4929     return true;
4930 }
4931 
4932 //---------------------------------------------------------------------
_freeAttributes__optics__technique_common(void * attributeData)4933 bool ColladaParserAutoGen14Private::_freeAttributes__optics__technique_common( void* attributeData )
4934 {
4935     return true;
4936 }
4937 
4938 //---------------------------------------------------------------------
_data__orthographic(const ParserChar * text,size_t textLength)4939 bool ColladaParserAutoGen14Private::_data__orthographic( const ParserChar* text, size_t textLength )
4940 {
4941     return true;
4942 }
4943 
4944 //---------------------------------------------------------------------
_preBegin__orthographic(const ParserAttributes & attributes,void ** attributeDataPtr,void ** validationDataPtr)4945 bool ColladaParserAutoGen14Private::_preBegin__orthographic( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
4946 {
4947 #ifdef GENERATEDSAXPARSER_VALIDATION
4948     if ( mValidate )
4949     {
4950 
4951         bool validationResult = _validateBegin__orthographic( attributes, attributeDataPtr, validationDataPtr );
4952         if ( !validationResult ) return false;
4953 
4954     } // validation
4955 #endif
4956 
4957     return true;
4958 }
4959 
4960 //---------------------------------------------------------------------
_preEnd__orthographic()4961 bool ColladaParserAutoGen14Private::_preEnd__orthographic()
4962 {
4963 #ifdef GENERATEDSAXPARSER_VALIDATION
4964     if ( mValidate )
4965     {
4966 
4967         bool validationResult = _validateEnd__orthographic();
4968         if ( !validationResult ) return false;
4969 
4970     } // validation
4971 #endif
4972 
4973     return true;
4974 }
4975 
4976 //---------------------------------------------------------------------
_freeAttributes__orthographic(void * attributeData)4977 bool ColladaParserAutoGen14Private::_freeAttributes__orthographic( void* attributeData )
4978 {
4979     return true;
4980 }
4981 
4982 //---------------------------------------------------------------------
4983 const xmag__AttributeData xmag__AttributeData::DEFAULT = {0};
4984 
4985 //---------------------------------------------------------------------
_data__xmag(const ParserChar * text,size_t textLength)4986 bool ColladaParserAutoGen14Private::_data__xmag( const ParserChar* text, size_t textLength )
4987 {
4988 if (!mLastIncompleteFragmentInCharacterData)
4989 {
4990     mLastIncompleteFragmentInCharacterData = (ParserChar*)mStackMemoryManager.newObject(textLength);
4991     memcpy(mLastIncompleteFragmentInCharacterData, text, textLength);
4992     mEndOfDataInCurrentObjectOnStack = mLastIncompleteFragmentInCharacterData + textLength;
4993 }
4994 else
4995 {
4996     ParserChar* tmp = (ParserChar*)mStackMemoryManager.growObject(textLength);
4997     if ( tmp != mLastIncompleteFragmentInCharacterData ) {
4998         mEndOfDataInCurrentObjectOnStack = (mEndOfDataInCurrentObjectOnStack - mLastIncompleteFragmentInCharacterData) + tmp;
4999         mLastIncompleteFragmentInCharacterData = tmp;
5000     }
5001     memcpy(mEndOfDataInCurrentObjectOnStack, text, textLength);
5002     mEndOfDataInCurrentObjectOnStack += textLength;
5003 }
5004 return true;
5005 }
5006 
5007 //---------------------------------------------------------------------
_preBegin__xmag(const ParserAttributes & attributes,void ** attributeDataPtr,void ** validationDataPtr)5008 bool ColladaParserAutoGen14Private::_preBegin__xmag( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
5009 {
5010 #ifdef GENERATEDSAXPARSER_VALIDATION
5011     if ( mValidate )
5012     {
5013 
5014         bool validationResult = _validateBegin__xmag( attributes, attributeDataPtr, validationDataPtr );
5015         if ( !validationResult ) return false;
5016 
5017     } // validation
5018 #endif
5019 
5020 xmag__AttributeData* attributeData = newData<xmag__AttributeData>(attributeDataPtr);
5021 
5022 const ParserChar** attributeArray = attributes.attributes;
5023 if ( attributeArray )
5024 {
5025     while (true)
5026     {
5027         const ParserChar * attribute = *attributeArray;
5028         if ( !attribute )
5029             break;
5030         StringHash hash = GeneratedSaxParser::Utils::calculateStringHash(attribute);
5031         attributeArray++;
5032         if ( !attributeArray )
5033             return false;
5034         const ParserChar* attributeValue = *attributeArray;
5035         attributeArray++;
5036 
5037 
5038     switch ( hash )
5039     {
5040     case HASH_ATTRIBUTE_sid:
5041     {
5042 
5043 attributeData->sid = attributeValue;
5044 #ifdef GENERATEDSAXPARSER_VALIDATION
5045     if ( mValidate )
5046     {
5047     ParserError::ErrorType simpleTypeValidationResult = validate__NCName(attributeData->sid, strlen(attributeData->sid));
5048     if (simpleTypeValidationResult != ParserError::SIMPLE_TYPE_VALIDATION_OK)
5049     {
5050         if( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL,
5051             simpleTypeValidationResult,
5052             HASH_ELEMENT_XMAG,
5053             HASH_ATTRIBUTE_sid,
5054             attributeValue) )
5055         {
5056             return false;
5057         }
5058     }
5059     } // validation
5060 #endif
5061 
5062     break;
5063     }
5064     default:
5065     {
5066         if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_UNKNOWN_ATTRIBUTE, HASH_ELEMENT_XMAG, attribute, attributeValue))
5067             {return false;}
5068     }
5069     }
5070     }
5071 }
5072 
5073 
5074     return true;
5075 }
5076 
5077 //---------------------------------------------------------------------
_preEnd__xmag()5078 bool ColladaParserAutoGen14Private::_preEnd__xmag()
5079 {
5080 #ifdef GENERATEDSAXPARSER_VALIDATION
5081     if ( mValidate )
5082     {
5083 
5084         bool validationResult = _validateEnd__xmag();
5085         if ( !validationResult ) return false;
5086 
5087     } // validation
5088 #endif
5089 
5090 bool failed;
5091 const ParserChar* ptrForErr = mLastIncompleteFragmentInCharacterData;
5092 DISABLE_WARNING_UNUSED(ptrForErr)
5093 float parameter = GeneratedSaxParser::Utils::toFloat((const ParserChar**)&mLastIncompleteFragmentInCharacterData, mEndOfDataInCurrentObjectOnStack, failed);
5094 bool returnValue;
5095 if (!failed)
5096 {
5097     returnValue = mImpl->data__xmag(parameter);
5098 }
5099 else
5100     returnValue = !handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_TEXTDATA_PARSING_FAILED, HASH_ELEMENT_XMAG, (const ParserChar*)0, mLastIncompleteFragmentInCharacterData);
5101 if (mLastIncompleteFragmentInCharacterData)
5102     mStackMemoryManager.deleteObject();
5103 mLastIncompleteFragmentInCharacterData = 0;
5104 mEndOfDataInCurrentObjectOnStack = 0;
5105 return returnValue;
5106 }
5107 
5108 //---------------------------------------------------------------------
_freeAttributes__xmag(void * attributeData)5109 bool ColladaParserAutoGen14Private::_freeAttributes__xmag( void* attributeData )
5110 {
5111     xmag__AttributeData* typedAttributeData = static_cast<xmag__AttributeData*>(attributeData);
5112 
5113     typedAttributeData->~xmag__AttributeData();
5114 
5115     return true;
5116 }
5117 
5118 //---------------------------------------------------------------------
5119 const ymag__AttributeData ymag__AttributeData::DEFAULT = {0};
5120 
5121 //---------------------------------------------------------------------
_data__ymag(const ParserChar * text,size_t textLength)5122 bool ColladaParserAutoGen14Private::_data__ymag( const ParserChar* text, size_t textLength )
5123 {
5124 if (!mLastIncompleteFragmentInCharacterData)
5125 {
5126     mLastIncompleteFragmentInCharacterData = (ParserChar*)mStackMemoryManager.newObject(textLength);
5127     memcpy(mLastIncompleteFragmentInCharacterData, text, textLength);
5128     mEndOfDataInCurrentObjectOnStack = mLastIncompleteFragmentInCharacterData + textLength;
5129 }
5130 else
5131 {
5132     ParserChar* tmp = (ParserChar*)mStackMemoryManager.growObject(textLength);
5133     if ( tmp != mLastIncompleteFragmentInCharacterData ) {
5134         mEndOfDataInCurrentObjectOnStack = (mEndOfDataInCurrentObjectOnStack - mLastIncompleteFragmentInCharacterData) + tmp;
5135         mLastIncompleteFragmentInCharacterData = tmp;
5136     }
5137     memcpy(mEndOfDataInCurrentObjectOnStack, text, textLength);
5138     mEndOfDataInCurrentObjectOnStack += textLength;
5139 }
5140 return true;
5141 }
5142 
5143 //---------------------------------------------------------------------
_preBegin__ymag(const ParserAttributes & attributes,void ** attributeDataPtr,void ** validationDataPtr)5144 bool ColladaParserAutoGen14Private::_preBegin__ymag( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
5145 {
5146 #ifdef GENERATEDSAXPARSER_VALIDATION
5147     if ( mValidate )
5148     {
5149 
5150         bool validationResult = _validateBegin__ymag( attributes, attributeDataPtr, validationDataPtr );
5151         if ( !validationResult ) return false;
5152 
5153     } // validation
5154 #endif
5155 
5156 ymag__AttributeData* attributeData = newData<ymag__AttributeData>(attributeDataPtr);
5157 
5158 const ParserChar** attributeArray = attributes.attributes;
5159 if ( attributeArray )
5160 {
5161     while (true)
5162     {
5163         const ParserChar * attribute = *attributeArray;
5164         if ( !attribute )
5165             break;
5166         StringHash hash = GeneratedSaxParser::Utils::calculateStringHash(attribute);
5167         attributeArray++;
5168         if ( !attributeArray )
5169             return false;
5170         const ParserChar* attributeValue = *attributeArray;
5171         attributeArray++;
5172 
5173 
5174     switch ( hash )
5175     {
5176     case HASH_ATTRIBUTE_sid:
5177     {
5178 
5179 attributeData->sid = attributeValue;
5180 #ifdef GENERATEDSAXPARSER_VALIDATION
5181     if ( mValidate )
5182     {
5183     ParserError::ErrorType simpleTypeValidationResult = validate__NCName(attributeData->sid, strlen(attributeData->sid));
5184     if (simpleTypeValidationResult != ParserError::SIMPLE_TYPE_VALIDATION_OK)
5185     {
5186         if( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL,
5187             simpleTypeValidationResult,
5188             HASH_ELEMENT_YMAG,
5189             HASH_ATTRIBUTE_sid,
5190             attributeValue) )
5191         {
5192             return false;
5193         }
5194     }
5195     } // validation
5196 #endif
5197 
5198     break;
5199     }
5200     default:
5201     {
5202         if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_UNKNOWN_ATTRIBUTE, HASH_ELEMENT_YMAG, attribute, attributeValue))
5203             {return false;}
5204     }
5205     }
5206     }
5207 }
5208 
5209 
5210     return true;
5211 }
5212 
5213 //---------------------------------------------------------------------
_preEnd__ymag()5214 bool ColladaParserAutoGen14Private::_preEnd__ymag()
5215 {
5216 #ifdef GENERATEDSAXPARSER_VALIDATION
5217     if ( mValidate )
5218     {
5219 
5220         bool validationResult = _validateEnd__ymag();
5221         if ( !validationResult ) return false;
5222 
5223     } // validation
5224 #endif
5225 
5226 bool failed;
5227 const ParserChar* ptrForErr = mLastIncompleteFragmentInCharacterData;
5228 DISABLE_WARNING_UNUSED(ptrForErr)
5229 float parameter = GeneratedSaxParser::Utils::toFloat((const ParserChar**)&mLastIncompleteFragmentInCharacterData, mEndOfDataInCurrentObjectOnStack, failed);
5230 bool returnValue;
5231 if (!failed)
5232 {
5233     returnValue = mImpl->data__ymag(parameter);
5234 }
5235 else
5236     returnValue = !handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_TEXTDATA_PARSING_FAILED, HASH_ELEMENT_YMAG, (const ParserChar*)0, mLastIncompleteFragmentInCharacterData);
5237 if (mLastIncompleteFragmentInCharacterData)
5238     mStackMemoryManager.deleteObject();
5239 mLastIncompleteFragmentInCharacterData = 0;
5240 mEndOfDataInCurrentObjectOnStack = 0;
5241 return returnValue;
5242 }
5243 
5244 //---------------------------------------------------------------------
_freeAttributes__ymag(void * attributeData)5245 bool ColladaParserAutoGen14Private::_freeAttributes__ymag( void* attributeData )
5246 {
5247     ymag__AttributeData* typedAttributeData = static_cast<ymag__AttributeData*>(attributeData);
5248 
5249     typedAttributeData->~ymag__AttributeData();
5250 
5251     return true;
5252 }
5253 
5254 //---------------------------------------------------------------------
5255 const aspect_ratio__AttributeData aspect_ratio__AttributeData::DEFAULT = {0};
5256 
5257 //---------------------------------------------------------------------
_data__aspect_ratio(const ParserChar * text,size_t textLength)5258 bool ColladaParserAutoGen14Private::_data__aspect_ratio( const ParserChar* text, size_t textLength )
5259 {
5260 if (!mLastIncompleteFragmentInCharacterData)
5261 {
5262     mLastIncompleteFragmentInCharacterData = (ParserChar*)mStackMemoryManager.newObject(textLength);
5263     memcpy(mLastIncompleteFragmentInCharacterData, text, textLength);
5264     mEndOfDataInCurrentObjectOnStack = mLastIncompleteFragmentInCharacterData + textLength;
5265 }
5266 else
5267 {
5268     ParserChar* tmp = (ParserChar*)mStackMemoryManager.growObject(textLength);
5269     if ( tmp != mLastIncompleteFragmentInCharacterData ) {
5270         mEndOfDataInCurrentObjectOnStack = (mEndOfDataInCurrentObjectOnStack - mLastIncompleteFragmentInCharacterData) + tmp;
5271         mLastIncompleteFragmentInCharacterData = tmp;
5272     }
5273     memcpy(mEndOfDataInCurrentObjectOnStack, text, textLength);
5274     mEndOfDataInCurrentObjectOnStack += textLength;
5275 }
5276 return true;
5277 }
5278 
5279 //---------------------------------------------------------------------
_preBegin__aspect_ratio(const ParserAttributes & attributes,void ** attributeDataPtr,void ** validationDataPtr)5280 bool ColladaParserAutoGen14Private::_preBegin__aspect_ratio( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
5281 {
5282 #ifdef GENERATEDSAXPARSER_VALIDATION
5283     if ( mValidate )
5284     {
5285 
5286         bool validationResult = _validateBegin__aspect_ratio( attributes, attributeDataPtr, validationDataPtr );
5287         if ( !validationResult ) return false;
5288 
5289     } // validation
5290 #endif
5291 
5292 aspect_ratio__AttributeData* attributeData = newData<aspect_ratio__AttributeData>(attributeDataPtr);
5293 
5294 const ParserChar** attributeArray = attributes.attributes;
5295 if ( attributeArray )
5296 {
5297     while (true)
5298     {
5299         const ParserChar * attribute = *attributeArray;
5300         if ( !attribute )
5301             break;
5302         StringHash hash = GeneratedSaxParser::Utils::calculateStringHash(attribute);
5303         attributeArray++;
5304         if ( !attributeArray )
5305             return false;
5306         const ParserChar* attributeValue = *attributeArray;
5307         attributeArray++;
5308 
5309 
5310     switch ( hash )
5311     {
5312     case HASH_ATTRIBUTE_sid:
5313     {
5314 
5315 attributeData->sid = attributeValue;
5316 #ifdef GENERATEDSAXPARSER_VALIDATION
5317     if ( mValidate )
5318     {
5319     ParserError::ErrorType simpleTypeValidationResult = validate__NCName(attributeData->sid, strlen(attributeData->sid));
5320     if (simpleTypeValidationResult != ParserError::SIMPLE_TYPE_VALIDATION_OK)
5321     {
5322         if( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL,
5323             simpleTypeValidationResult,
5324             HASH_ELEMENT_ASPECT_RATIO,
5325             HASH_ATTRIBUTE_sid,
5326             attributeValue) )
5327         {
5328             return false;
5329         }
5330     }
5331     } // validation
5332 #endif
5333 
5334     break;
5335     }
5336     default:
5337     {
5338         if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_UNKNOWN_ATTRIBUTE, HASH_ELEMENT_ASPECT_RATIO, attribute, attributeValue))
5339             {return false;}
5340     }
5341     }
5342     }
5343 }
5344 
5345 
5346     return true;
5347 }
5348 
5349 //---------------------------------------------------------------------
_preEnd__aspect_ratio()5350 bool ColladaParserAutoGen14Private::_preEnd__aspect_ratio()
5351 {
5352 #ifdef GENERATEDSAXPARSER_VALIDATION
5353     if ( mValidate )
5354     {
5355 
5356         bool validationResult = _validateEnd__aspect_ratio();
5357         if ( !validationResult ) return false;
5358 
5359     } // validation
5360 #endif
5361 
5362 bool failed;
5363 const ParserChar* ptrForErr = mLastIncompleteFragmentInCharacterData;
5364 DISABLE_WARNING_UNUSED(ptrForErr)
5365 float parameter = GeneratedSaxParser::Utils::toFloat((const ParserChar**)&mLastIncompleteFragmentInCharacterData, mEndOfDataInCurrentObjectOnStack, failed);
5366 bool returnValue;
5367 if (!failed)
5368 {
5369     returnValue = mImpl->data__aspect_ratio(parameter);
5370 }
5371 else
5372     returnValue = !handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_TEXTDATA_PARSING_FAILED, HASH_ELEMENT_ASPECT_RATIO, (const ParserChar*)0, mLastIncompleteFragmentInCharacterData);
5373 if (mLastIncompleteFragmentInCharacterData)
5374     mStackMemoryManager.deleteObject();
5375 mLastIncompleteFragmentInCharacterData = 0;
5376 mEndOfDataInCurrentObjectOnStack = 0;
5377 return returnValue;
5378 }
5379 
5380 //---------------------------------------------------------------------
_freeAttributes__aspect_ratio(void * attributeData)5381 bool ColladaParserAutoGen14Private::_freeAttributes__aspect_ratio( void* attributeData )
5382 {
5383     aspect_ratio__AttributeData* typedAttributeData = static_cast<aspect_ratio__AttributeData*>(attributeData);
5384 
5385     typedAttributeData->~aspect_ratio__AttributeData();
5386 
5387     return true;
5388 }
5389 
5390 //---------------------------------------------------------------------
5391 const znear__AttributeData znear__AttributeData::DEFAULT = {0};
5392 
5393 //---------------------------------------------------------------------
_data__znear(const ParserChar * text,size_t textLength)5394 bool ColladaParserAutoGen14Private::_data__znear( const ParserChar* text, size_t textLength )
5395 {
5396 if (!mLastIncompleteFragmentInCharacterData)
5397 {
5398     mLastIncompleteFragmentInCharacterData = (ParserChar*)mStackMemoryManager.newObject(textLength);
5399     memcpy(mLastIncompleteFragmentInCharacterData, text, textLength);
5400     mEndOfDataInCurrentObjectOnStack = mLastIncompleteFragmentInCharacterData + textLength;
5401 }
5402 else
5403 {
5404     ParserChar* tmp = (ParserChar*)mStackMemoryManager.growObject(textLength);
5405     if ( tmp != mLastIncompleteFragmentInCharacterData ) {
5406         mEndOfDataInCurrentObjectOnStack = (mEndOfDataInCurrentObjectOnStack - mLastIncompleteFragmentInCharacterData) + tmp;
5407         mLastIncompleteFragmentInCharacterData = tmp;
5408     }
5409     memcpy(mEndOfDataInCurrentObjectOnStack, text, textLength);
5410     mEndOfDataInCurrentObjectOnStack += textLength;
5411 }
5412 return true;
5413 }
5414 
5415 //---------------------------------------------------------------------
_preBegin__znear(const ParserAttributes & attributes,void ** attributeDataPtr,void ** validationDataPtr)5416 bool ColladaParserAutoGen14Private::_preBegin__znear( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
5417 {
5418 #ifdef GENERATEDSAXPARSER_VALIDATION
5419     if ( mValidate )
5420     {
5421 
5422         bool validationResult = _validateBegin__znear( attributes, attributeDataPtr, validationDataPtr );
5423         if ( !validationResult ) return false;
5424 
5425     } // validation
5426 #endif
5427 
5428 znear__AttributeData* attributeData = newData<znear__AttributeData>(attributeDataPtr);
5429 
5430 const ParserChar** attributeArray = attributes.attributes;
5431 if ( attributeArray )
5432 {
5433     while (true)
5434     {
5435         const ParserChar * attribute = *attributeArray;
5436         if ( !attribute )
5437             break;
5438         StringHash hash = GeneratedSaxParser::Utils::calculateStringHash(attribute);
5439         attributeArray++;
5440         if ( !attributeArray )
5441             return false;
5442         const ParserChar* attributeValue = *attributeArray;
5443         attributeArray++;
5444 
5445 
5446     switch ( hash )
5447     {
5448     case HASH_ATTRIBUTE_sid:
5449     {
5450 
5451 attributeData->sid = attributeValue;
5452 #ifdef GENERATEDSAXPARSER_VALIDATION
5453     if ( mValidate )
5454     {
5455     ParserError::ErrorType simpleTypeValidationResult = validate__NCName(attributeData->sid, strlen(attributeData->sid));
5456     if (simpleTypeValidationResult != ParserError::SIMPLE_TYPE_VALIDATION_OK)
5457     {
5458         if( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL,
5459             simpleTypeValidationResult,
5460             HASH_ELEMENT_ZNEAR,
5461             HASH_ATTRIBUTE_sid,
5462             attributeValue) )
5463         {
5464             return false;
5465         }
5466     }
5467     } // validation
5468 #endif
5469 
5470     break;
5471     }
5472     default:
5473     {
5474         if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_UNKNOWN_ATTRIBUTE, HASH_ELEMENT_ZNEAR, attribute, attributeValue))
5475             {return false;}
5476     }
5477     }
5478     }
5479 }
5480 
5481 
5482     return true;
5483 }
5484 
5485 //---------------------------------------------------------------------
_preEnd__znear()5486 bool ColladaParserAutoGen14Private::_preEnd__znear()
5487 {
5488 #ifdef GENERATEDSAXPARSER_VALIDATION
5489     if ( mValidate )
5490     {
5491 
5492         bool validationResult = _validateEnd__znear();
5493         if ( !validationResult ) return false;
5494 
5495     } // validation
5496 #endif
5497 
5498 bool failed;
5499 const ParserChar* ptrForErr = mLastIncompleteFragmentInCharacterData;
5500 DISABLE_WARNING_UNUSED(ptrForErr)
5501 float parameter = GeneratedSaxParser::Utils::toFloat((const ParserChar**)&mLastIncompleteFragmentInCharacterData, mEndOfDataInCurrentObjectOnStack, failed);
5502 bool returnValue;
5503 if (!failed)
5504 {
5505     returnValue = mImpl->data__znear(parameter);
5506 }
5507 else
5508     returnValue = !handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_TEXTDATA_PARSING_FAILED, HASH_ELEMENT_ZNEAR, (const ParserChar*)0, mLastIncompleteFragmentInCharacterData);
5509 if (mLastIncompleteFragmentInCharacterData)
5510     mStackMemoryManager.deleteObject();
5511 mLastIncompleteFragmentInCharacterData = 0;
5512 mEndOfDataInCurrentObjectOnStack = 0;
5513 return returnValue;
5514 }
5515 
5516 //---------------------------------------------------------------------
_freeAttributes__znear(void * attributeData)5517 bool ColladaParserAutoGen14Private::_freeAttributes__znear( void* attributeData )
5518 {
5519     znear__AttributeData* typedAttributeData = static_cast<znear__AttributeData*>(attributeData);
5520 
5521     typedAttributeData->~znear__AttributeData();
5522 
5523     return true;
5524 }
5525 
5526 //---------------------------------------------------------------------
5527 const zfar__AttributeData zfar__AttributeData::DEFAULT = {0};
5528 
5529 //---------------------------------------------------------------------
_data__zfar(const ParserChar * text,size_t textLength)5530 bool ColladaParserAutoGen14Private::_data__zfar( const ParserChar* text, size_t textLength )
5531 {
5532 if (!mLastIncompleteFragmentInCharacterData)
5533 {
5534     mLastIncompleteFragmentInCharacterData = (ParserChar*)mStackMemoryManager.newObject(textLength);
5535     memcpy(mLastIncompleteFragmentInCharacterData, text, textLength);
5536     mEndOfDataInCurrentObjectOnStack = mLastIncompleteFragmentInCharacterData + textLength;
5537 }
5538 else
5539 {
5540     ParserChar* tmp = (ParserChar*)mStackMemoryManager.growObject(textLength);
5541     if ( tmp != mLastIncompleteFragmentInCharacterData ) {
5542         mEndOfDataInCurrentObjectOnStack = (mEndOfDataInCurrentObjectOnStack - mLastIncompleteFragmentInCharacterData) + tmp;
5543         mLastIncompleteFragmentInCharacterData = tmp;
5544     }
5545     memcpy(mEndOfDataInCurrentObjectOnStack, text, textLength);
5546     mEndOfDataInCurrentObjectOnStack += textLength;
5547 }
5548 return true;
5549 }
5550 
5551 //---------------------------------------------------------------------
_preBegin__zfar(const ParserAttributes & attributes,void ** attributeDataPtr,void ** validationDataPtr)5552 bool ColladaParserAutoGen14Private::_preBegin__zfar( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
5553 {
5554 #ifdef GENERATEDSAXPARSER_VALIDATION
5555     if ( mValidate )
5556     {
5557 
5558         bool validationResult = _validateBegin__zfar( attributes, attributeDataPtr, validationDataPtr );
5559         if ( !validationResult ) return false;
5560 
5561     } // validation
5562 #endif
5563 
5564 zfar__AttributeData* attributeData = newData<zfar__AttributeData>(attributeDataPtr);
5565 
5566 const ParserChar** attributeArray = attributes.attributes;
5567 if ( attributeArray )
5568 {
5569     while (true)
5570     {
5571         const ParserChar * attribute = *attributeArray;
5572         if ( !attribute )
5573             break;
5574         StringHash hash = GeneratedSaxParser::Utils::calculateStringHash(attribute);
5575         attributeArray++;
5576         if ( !attributeArray )
5577             return false;
5578         const ParserChar* attributeValue = *attributeArray;
5579         attributeArray++;
5580 
5581 
5582     switch ( hash )
5583     {
5584     case HASH_ATTRIBUTE_sid:
5585     {
5586 
5587 attributeData->sid = attributeValue;
5588 #ifdef GENERATEDSAXPARSER_VALIDATION
5589     if ( mValidate )
5590     {
5591     ParserError::ErrorType simpleTypeValidationResult = validate__NCName(attributeData->sid, strlen(attributeData->sid));
5592     if (simpleTypeValidationResult != ParserError::SIMPLE_TYPE_VALIDATION_OK)
5593     {
5594         if( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL,
5595             simpleTypeValidationResult,
5596             HASH_ELEMENT_ZFAR,
5597             HASH_ATTRIBUTE_sid,
5598             attributeValue) )
5599         {
5600             return false;
5601         }
5602     }
5603     } // validation
5604 #endif
5605 
5606     break;
5607     }
5608     default:
5609     {
5610         if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_UNKNOWN_ATTRIBUTE, HASH_ELEMENT_ZFAR, attribute, attributeValue))
5611             {return false;}
5612     }
5613     }
5614     }
5615 }
5616 
5617 
5618     return true;
5619 }
5620 
5621 //---------------------------------------------------------------------
_preEnd__zfar()5622 bool ColladaParserAutoGen14Private::_preEnd__zfar()
5623 {
5624 #ifdef GENERATEDSAXPARSER_VALIDATION
5625     if ( mValidate )
5626     {
5627 
5628         bool validationResult = _validateEnd__zfar();
5629         if ( !validationResult ) return false;
5630 
5631     } // validation
5632 #endif
5633 
5634 bool failed;
5635 const ParserChar* ptrForErr = mLastIncompleteFragmentInCharacterData;
5636 DISABLE_WARNING_UNUSED(ptrForErr)
5637 float parameter = GeneratedSaxParser::Utils::toFloat((const ParserChar**)&mLastIncompleteFragmentInCharacterData, mEndOfDataInCurrentObjectOnStack, failed);
5638 bool returnValue;
5639 if (!failed)
5640 {
5641     returnValue = mImpl->data__zfar(parameter);
5642 }
5643 else
5644     returnValue = !handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_TEXTDATA_PARSING_FAILED, HASH_ELEMENT_ZFAR, (const ParserChar*)0, mLastIncompleteFragmentInCharacterData);
5645 if (mLastIncompleteFragmentInCharacterData)
5646     mStackMemoryManager.deleteObject();
5647 mLastIncompleteFragmentInCharacterData = 0;
5648 mEndOfDataInCurrentObjectOnStack = 0;
5649 return returnValue;
5650 }
5651 
5652 //---------------------------------------------------------------------
_freeAttributes__zfar(void * attributeData)5653 bool ColladaParserAutoGen14Private::_freeAttributes__zfar( void* attributeData )
5654 {
5655     zfar__AttributeData* typedAttributeData = static_cast<zfar__AttributeData*>(attributeData);
5656 
5657     typedAttributeData->~zfar__AttributeData();
5658 
5659     return true;
5660 }
5661 
5662 //---------------------------------------------------------------------
_data__perspective(const ParserChar * text,size_t textLength)5663 bool ColladaParserAutoGen14Private::_data__perspective( const ParserChar* text, size_t textLength )
5664 {
5665     return true;
5666 }
5667 
5668 //---------------------------------------------------------------------
_preBegin__perspective(const ParserAttributes & attributes,void ** attributeDataPtr,void ** validationDataPtr)5669 bool ColladaParserAutoGen14Private::_preBegin__perspective( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
5670 {
5671 #ifdef GENERATEDSAXPARSER_VALIDATION
5672     if ( mValidate )
5673     {
5674 
5675         bool validationResult = _validateBegin__perspective( attributes, attributeDataPtr, validationDataPtr );
5676         if ( !validationResult ) return false;
5677 
5678     } // validation
5679 #endif
5680 
5681     return true;
5682 }
5683 
5684 //---------------------------------------------------------------------
_preEnd__perspective()5685 bool ColladaParserAutoGen14Private::_preEnd__perspective()
5686 {
5687 #ifdef GENERATEDSAXPARSER_VALIDATION
5688     if ( mValidate )
5689     {
5690 
5691         bool validationResult = _validateEnd__perspective();
5692         if ( !validationResult ) return false;
5693 
5694     } // validation
5695 #endif
5696 
5697     return true;
5698 }
5699 
5700 //---------------------------------------------------------------------
_freeAttributes__perspective(void * attributeData)5701 bool ColladaParserAutoGen14Private::_freeAttributes__perspective( void* attributeData )
5702 {
5703     return true;
5704 }
5705 
5706 //---------------------------------------------------------------------
5707 const xfov__AttributeData xfov__AttributeData::DEFAULT = {0};
5708 
5709 //---------------------------------------------------------------------
_data__xfov(const ParserChar * text,size_t textLength)5710 bool ColladaParserAutoGen14Private::_data__xfov( const ParserChar* text, size_t textLength )
5711 {
5712 if (!mLastIncompleteFragmentInCharacterData)
5713 {
5714     mLastIncompleteFragmentInCharacterData = (ParserChar*)mStackMemoryManager.newObject(textLength);
5715     memcpy(mLastIncompleteFragmentInCharacterData, text, textLength);
5716     mEndOfDataInCurrentObjectOnStack = mLastIncompleteFragmentInCharacterData + textLength;
5717 }
5718 else
5719 {
5720     ParserChar* tmp = (ParserChar*)mStackMemoryManager.growObject(textLength);
5721     if ( tmp != mLastIncompleteFragmentInCharacterData ) {
5722         mEndOfDataInCurrentObjectOnStack = (mEndOfDataInCurrentObjectOnStack - mLastIncompleteFragmentInCharacterData) + tmp;
5723         mLastIncompleteFragmentInCharacterData = tmp;
5724     }
5725     memcpy(mEndOfDataInCurrentObjectOnStack, text, textLength);
5726     mEndOfDataInCurrentObjectOnStack += textLength;
5727 }
5728 return true;
5729 }
5730 
5731 //---------------------------------------------------------------------
_preBegin__xfov(const ParserAttributes & attributes,void ** attributeDataPtr,void ** validationDataPtr)5732 bool ColladaParserAutoGen14Private::_preBegin__xfov( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
5733 {
5734 #ifdef GENERATEDSAXPARSER_VALIDATION
5735     if ( mValidate )
5736     {
5737 
5738         bool validationResult = _validateBegin__xfov( attributes, attributeDataPtr, validationDataPtr );
5739         if ( !validationResult ) return false;
5740 
5741     } // validation
5742 #endif
5743 
5744 xfov__AttributeData* attributeData = newData<xfov__AttributeData>(attributeDataPtr);
5745 
5746 const ParserChar** attributeArray = attributes.attributes;
5747 if ( attributeArray )
5748 {
5749     while (true)
5750     {
5751         const ParserChar * attribute = *attributeArray;
5752         if ( !attribute )
5753             break;
5754         StringHash hash = GeneratedSaxParser::Utils::calculateStringHash(attribute);
5755         attributeArray++;
5756         if ( !attributeArray )
5757             return false;
5758         const ParserChar* attributeValue = *attributeArray;
5759         attributeArray++;
5760 
5761 
5762     switch ( hash )
5763     {
5764     case HASH_ATTRIBUTE_sid:
5765     {
5766 
5767 attributeData->sid = attributeValue;
5768 #ifdef GENERATEDSAXPARSER_VALIDATION
5769     if ( mValidate )
5770     {
5771     ParserError::ErrorType simpleTypeValidationResult = validate__NCName(attributeData->sid, strlen(attributeData->sid));
5772     if (simpleTypeValidationResult != ParserError::SIMPLE_TYPE_VALIDATION_OK)
5773     {
5774         if( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL,
5775             simpleTypeValidationResult,
5776             HASH_ELEMENT_XFOV,
5777             HASH_ATTRIBUTE_sid,
5778             attributeValue) )
5779         {
5780             return false;
5781         }
5782     }
5783     } // validation
5784 #endif
5785 
5786     break;
5787     }
5788     default:
5789     {
5790         if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_UNKNOWN_ATTRIBUTE, HASH_ELEMENT_XFOV, attribute, attributeValue))
5791             {return false;}
5792     }
5793     }
5794     }
5795 }
5796 
5797 
5798     return true;
5799 }
5800 
5801 //---------------------------------------------------------------------
_preEnd__xfov()5802 bool ColladaParserAutoGen14Private::_preEnd__xfov()
5803 {
5804 #ifdef GENERATEDSAXPARSER_VALIDATION
5805     if ( mValidate )
5806     {
5807 
5808         bool validationResult = _validateEnd__xfov();
5809         if ( !validationResult ) return false;
5810 
5811     } // validation
5812 #endif
5813 
5814 bool failed;
5815 const ParserChar* ptrForErr = mLastIncompleteFragmentInCharacterData;
5816 DISABLE_WARNING_UNUSED(ptrForErr)
5817 float parameter = GeneratedSaxParser::Utils::toFloat((const ParserChar**)&mLastIncompleteFragmentInCharacterData, mEndOfDataInCurrentObjectOnStack, failed);
5818 bool returnValue;
5819 if (!failed)
5820 {
5821     returnValue = mImpl->data__xfov(parameter);
5822 }
5823 else
5824     returnValue = !handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_TEXTDATA_PARSING_FAILED, HASH_ELEMENT_XFOV, (const ParserChar*)0, mLastIncompleteFragmentInCharacterData);
5825 if (mLastIncompleteFragmentInCharacterData)
5826     mStackMemoryManager.deleteObject();
5827 mLastIncompleteFragmentInCharacterData = 0;
5828 mEndOfDataInCurrentObjectOnStack = 0;
5829 return returnValue;
5830 }
5831 
5832 //---------------------------------------------------------------------
_freeAttributes__xfov(void * attributeData)5833 bool ColladaParserAutoGen14Private::_freeAttributes__xfov( void* attributeData )
5834 {
5835     xfov__AttributeData* typedAttributeData = static_cast<xfov__AttributeData*>(attributeData);
5836 
5837     typedAttributeData->~xfov__AttributeData();
5838 
5839     return true;
5840 }
5841 
5842 //---------------------------------------------------------------------
5843 const yfov__AttributeData yfov__AttributeData::DEFAULT = {0};
5844 
5845 //---------------------------------------------------------------------
_data__yfov(const ParserChar * text,size_t textLength)5846 bool ColladaParserAutoGen14Private::_data__yfov( const ParserChar* text, size_t textLength )
5847 {
5848 if (!mLastIncompleteFragmentInCharacterData)
5849 {
5850     mLastIncompleteFragmentInCharacterData = (ParserChar*)mStackMemoryManager.newObject(textLength);
5851     memcpy(mLastIncompleteFragmentInCharacterData, text, textLength);
5852     mEndOfDataInCurrentObjectOnStack = mLastIncompleteFragmentInCharacterData + textLength;
5853 }
5854 else
5855 {
5856     ParserChar* tmp = (ParserChar*)mStackMemoryManager.growObject(textLength);
5857     if ( tmp != mLastIncompleteFragmentInCharacterData ) {
5858         mEndOfDataInCurrentObjectOnStack = (mEndOfDataInCurrentObjectOnStack - mLastIncompleteFragmentInCharacterData) + tmp;
5859         mLastIncompleteFragmentInCharacterData = tmp;
5860     }
5861     memcpy(mEndOfDataInCurrentObjectOnStack, text, textLength);
5862     mEndOfDataInCurrentObjectOnStack += textLength;
5863 }
5864 return true;
5865 }
5866 
5867 //---------------------------------------------------------------------
_preBegin__yfov(const ParserAttributes & attributes,void ** attributeDataPtr,void ** validationDataPtr)5868 bool ColladaParserAutoGen14Private::_preBegin__yfov( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
5869 {
5870 #ifdef GENERATEDSAXPARSER_VALIDATION
5871     if ( mValidate )
5872     {
5873 
5874         bool validationResult = _validateBegin__yfov( attributes, attributeDataPtr, validationDataPtr );
5875         if ( !validationResult ) return false;
5876 
5877     } // validation
5878 #endif
5879 
5880 yfov__AttributeData* attributeData = newData<yfov__AttributeData>(attributeDataPtr);
5881 
5882 const ParserChar** attributeArray = attributes.attributes;
5883 if ( attributeArray )
5884 {
5885     while (true)
5886     {
5887         const ParserChar * attribute = *attributeArray;
5888         if ( !attribute )
5889             break;
5890         StringHash hash = GeneratedSaxParser::Utils::calculateStringHash(attribute);
5891         attributeArray++;
5892         if ( !attributeArray )
5893             return false;
5894         const ParserChar* attributeValue = *attributeArray;
5895         attributeArray++;
5896 
5897 
5898     switch ( hash )
5899     {
5900     case HASH_ATTRIBUTE_sid:
5901     {
5902 
5903 attributeData->sid = attributeValue;
5904 #ifdef GENERATEDSAXPARSER_VALIDATION
5905     if ( mValidate )
5906     {
5907     ParserError::ErrorType simpleTypeValidationResult = validate__NCName(attributeData->sid, strlen(attributeData->sid));
5908     if (simpleTypeValidationResult != ParserError::SIMPLE_TYPE_VALIDATION_OK)
5909     {
5910         if( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL,
5911             simpleTypeValidationResult,
5912             HASH_ELEMENT_YFOV,
5913             HASH_ATTRIBUTE_sid,
5914             attributeValue) )
5915         {
5916             return false;
5917         }
5918     }
5919     } // validation
5920 #endif
5921 
5922     break;
5923     }
5924     default:
5925     {
5926         if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_UNKNOWN_ATTRIBUTE, HASH_ELEMENT_YFOV, attribute, attributeValue))
5927             {return false;}
5928     }
5929     }
5930     }
5931 }
5932 
5933 
5934     return true;
5935 }
5936 
5937 //---------------------------------------------------------------------
_preEnd__yfov()5938 bool ColladaParserAutoGen14Private::_preEnd__yfov()
5939 {
5940 #ifdef GENERATEDSAXPARSER_VALIDATION
5941     if ( mValidate )
5942     {
5943 
5944         bool validationResult = _validateEnd__yfov();
5945         if ( !validationResult ) return false;
5946 
5947     } // validation
5948 #endif
5949 
5950 bool failed;
5951 const ParserChar* ptrForErr = mLastIncompleteFragmentInCharacterData;
5952 DISABLE_WARNING_UNUSED(ptrForErr)
5953 float parameter = GeneratedSaxParser::Utils::toFloat((const ParserChar**)&mLastIncompleteFragmentInCharacterData, mEndOfDataInCurrentObjectOnStack, failed);
5954 bool returnValue;
5955 if (!failed)
5956 {
5957     returnValue = mImpl->data__yfov(parameter);
5958 }
5959 else
5960     returnValue = !handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_TEXTDATA_PARSING_FAILED, HASH_ELEMENT_YFOV, (const ParserChar*)0, mLastIncompleteFragmentInCharacterData);
5961 if (mLastIncompleteFragmentInCharacterData)
5962     mStackMemoryManager.deleteObject();
5963 mLastIncompleteFragmentInCharacterData = 0;
5964 mEndOfDataInCurrentObjectOnStack = 0;
5965 return returnValue;
5966 }
5967 
5968 //---------------------------------------------------------------------
_freeAttributes__yfov(void * attributeData)5969 bool ColladaParserAutoGen14Private::_freeAttributes__yfov( void* attributeData )
5970 {
5971     yfov__AttributeData* typedAttributeData = static_cast<yfov__AttributeData*>(attributeData);
5972 
5973     typedAttributeData->~yfov__AttributeData();
5974 
5975     return true;
5976 }
5977 
5978 //---------------------------------------------------------------------
_data__imager(const ParserChar * text,size_t textLength)5979 bool ColladaParserAutoGen14Private::_data__imager( const ParserChar* text, size_t textLength )
5980 {
5981     return true;
5982 }
5983 
5984 //---------------------------------------------------------------------
_preBegin__imager(const ParserAttributes & attributes,void ** attributeDataPtr,void ** validationDataPtr)5985 bool ColladaParserAutoGen14Private::_preBegin__imager( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
5986 {
5987 #ifdef GENERATEDSAXPARSER_VALIDATION
5988     if ( mValidate )
5989     {
5990 
5991         bool validationResult = _validateBegin__imager( attributes, attributeDataPtr, validationDataPtr );
5992         if ( !validationResult ) return false;
5993 
5994     } // validation
5995 #endif
5996 
5997     return true;
5998 }
5999 
6000 //---------------------------------------------------------------------
_preEnd__imager()6001 bool ColladaParserAutoGen14Private::_preEnd__imager()
6002 {
6003 #ifdef GENERATEDSAXPARSER_VALIDATION
6004     if ( mValidate )
6005     {
6006 
6007         bool validationResult = _validateEnd__imager();
6008         if ( !validationResult ) return false;
6009 
6010     } // validation
6011 #endif
6012 
6013     return true;
6014 }
6015 
6016 //---------------------------------------------------------------------
_freeAttributes__imager(void * attributeData)6017 bool ColladaParserAutoGen14Private::_freeAttributes__imager( void* attributeData )
6018 {
6019     return true;
6020 }
6021 
6022 //---------------------------------------------------------------------
6023 const library_controllers__AttributeData library_controllers__AttributeData::DEFAULT = {0, 0};
6024 
6025 //---------------------------------------------------------------------
_data__library_controllers(const ParserChar * text,size_t textLength)6026 bool ColladaParserAutoGen14Private::_data__library_controllers( const ParserChar* text, size_t textLength )
6027 {
6028     return true;
6029 }
6030 
6031 //---------------------------------------------------------------------
_preBegin__library_controllers(const ParserAttributes & attributes,void ** attributeDataPtr,void ** validationDataPtr)6032 bool ColladaParserAutoGen14Private::_preBegin__library_controllers( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
6033 {
6034 #ifdef GENERATEDSAXPARSER_VALIDATION
6035     if ( mValidate )
6036     {
6037 
6038         bool validationResult = _validateBegin__library_controllers( attributes, attributeDataPtr, validationDataPtr );
6039         if ( !validationResult ) return false;
6040 
6041     } // validation
6042 #endif
6043 
6044 library_controllers__AttributeData* attributeData = newData<library_controllers__AttributeData>(attributeDataPtr);
6045 
6046 const ParserChar** attributeArray = attributes.attributes;
6047 if ( attributeArray )
6048 {
6049     while (true)
6050     {
6051         const ParserChar * attribute = *attributeArray;
6052         if ( !attribute )
6053             break;
6054         StringHash hash = GeneratedSaxParser::Utils::calculateStringHash(attribute);
6055         attributeArray++;
6056         if ( !attributeArray )
6057             return false;
6058         const ParserChar* attributeValue = *attributeArray;
6059         attributeArray++;
6060 
6061 
6062     switch ( hash )
6063     {
6064     case HASH_ATTRIBUTE_id:
6065     {
6066 
6067 attributeData->id = attributeValue;
6068 
6069     break;
6070     }
6071     case HASH_ATTRIBUTE_name:
6072     {
6073 
6074 attributeData->name = attributeValue;
6075 #ifdef GENERATEDSAXPARSER_VALIDATION
6076     if ( mValidate )
6077     {
6078     ParserError::ErrorType simpleTypeValidationResult = validate__NCName(attributeData->name, strlen(attributeData->name));
6079     if (simpleTypeValidationResult != ParserError::SIMPLE_TYPE_VALIDATION_OK)
6080     {
6081         if( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL,
6082             simpleTypeValidationResult,
6083             HASH_ELEMENT_LIBRARY_CONTROLLERS,
6084             HASH_ATTRIBUTE_name,
6085             attributeValue) )
6086         {
6087             return false;
6088         }
6089     }
6090     } // validation
6091 #endif
6092 
6093     break;
6094     }
6095     default:
6096     {
6097         if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_UNKNOWN_ATTRIBUTE, HASH_ELEMENT_LIBRARY_CONTROLLERS, attribute, attributeValue))
6098             {return false;}
6099     }
6100     }
6101     }
6102 }
6103 
6104 
6105     return true;
6106 }
6107 
6108 //---------------------------------------------------------------------
_preEnd__library_controllers()6109 bool ColladaParserAutoGen14Private::_preEnd__library_controllers()
6110 {
6111 #ifdef GENERATEDSAXPARSER_VALIDATION
6112     if ( mValidate )
6113     {
6114 
6115         bool validationResult = _validateEnd__library_controllers();
6116         if ( !validationResult ) return false;
6117 
6118     } // validation
6119 #endif
6120 
6121     return true;
6122 }
6123 
6124 //---------------------------------------------------------------------
_freeAttributes__library_controllers(void * attributeData)6125 bool ColladaParserAutoGen14Private::_freeAttributes__library_controllers( void* attributeData )
6126 {
6127     library_controllers__AttributeData* typedAttributeData = static_cast<library_controllers__AttributeData*>(attributeData);
6128 
6129     typedAttributeData->~library_controllers__AttributeData();
6130 
6131     return true;
6132 }
6133 
6134 //---------------------------------------------------------------------
6135 const controller__AttributeData controller__AttributeData::DEFAULT = {0, 0};
6136 
6137 //---------------------------------------------------------------------
_data__controller(const ParserChar * text,size_t textLength)6138 bool ColladaParserAutoGen14Private::_data__controller( const ParserChar* text, size_t textLength )
6139 {
6140     return true;
6141 }
6142 
6143 //---------------------------------------------------------------------
_preBegin__controller(const ParserAttributes & attributes,void ** attributeDataPtr,void ** validationDataPtr)6144 bool ColladaParserAutoGen14Private::_preBegin__controller( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
6145 {
6146 #ifdef GENERATEDSAXPARSER_VALIDATION
6147     if ( mValidate )
6148     {
6149 
6150         bool validationResult = _validateBegin__controller( attributes, attributeDataPtr, validationDataPtr );
6151         if ( !validationResult ) return false;
6152 
6153     } // validation
6154 #endif
6155 
6156 controller__AttributeData* attributeData = newData<controller__AttributeData>(attributeDataPtr);
6157 
6158 const ParserChar** attributeArray = attributes.attributes;
6159 if ( attributeArray )
6160 {
6161     while (true)
6162     {
6163         const ParserChar * attribute = *attributeArray;
6164         if ( !attribute )
6165             break;
6166         StringHash hash = GeneratedSaxParser::Utils::calculateStringHash(attribute);
6167         attributeArray++;
6168         if ( !attributeArray )
6169             return false;
6170         const ParserChar* attributeValue = *attributeArray;
6171         attributeArray++;
6172 
6173 
6174     switch ( hash )
6175     {
6176     case HASH_ATTRIBUTE_id:
6177     {
6178 
6179 attributeData->id = attributeValue;
6180 
6181     break;
6182     }
6183     case HASH_ATTRIBUTE_name:
6184     {
6185 
6186 attributeData->name = attributeValue;
6187 #ifdef GENERATEDSAXPARSER_VALIDATION
6188     if ( mValidate )
6189     {
6190     ParserError::ErrorType simpleTypeValidationResult = validate__NCName(attributeData->name, strlen(attributeData->name));
6191     if (simpleTypeValidationResult != ParserError::SIMPLE_TYPE_VALIDATION_OK)
6192     {
6193         if( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL,
6194             simpleTypeValidationResult,
6195             HASH_ELEMENT_CONTROLLER,
6196             HASH_ATTRIBUTE_name,
6197             attributeValue) )
6198         {
6199             return false;
6200         }
6201     }
6202     } // validation
6203 #endif
6204 
6205     break;
6206     }
6207     default:
6208     {
6209         if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_UNKNOWN_ATTRIBUTE, HASH_ELEMENT_CONTROLLER, attribute, attributeValue))
6210             {return false;}
6211     }
6212     }
6213     }
6214 }
6215 
6216 
6217     return true;
6218 }
6219 
6220 //---------------------------------------------------------------------
_preEnd__controller()6221 bool ColladaParserAutoGen14Private::_preEnd__controller()
6222 {
6223 #ifdef GENERATEDSAXPARSER_VALIDATION
6224     if ( mValidate )
6225     {
6226 
6227         bool validationResult = _validateEnd__controller();
6228         if ( !validationResult ) return false;
6229 
6230     } // validation
6231 #endif
6232 
6233     return true;
6234 }
6235 
6236 //---------------------------------------------------------------------
_freeAttributes__controller(void * attributeData)6237 bool ColladaParserAutoGen14Private::_freeAttributes__controller( void* attributeData )
6238 {
6239     controller__AttributeData* typedAttributeData = static_cast<controller__AttributeData*>(attributeData);
6240 
6241     typedAttributeData->~controller__AttributeData();
6242 
6243     return true;
6244 }
6245 
6246 //---------------------------------------------------------------------
6247 const skin__AttributeData skin__AttributeData::DEFAULT = {0, 0};
6248 
6249 //---------------------------------------------------------------------
_data__skin(const ParserChar * text,size_t textLength)6250 bool ColladaParserAutoGen14Private::_data__skin( const ParserChar* text, size_t textLength )
6251 {
6252     return true;
6253 }
6254 
6255 //---------------------------------------------------------------------
_preBegin__skin(const ParserAttributes & attributes,void ** attributeDataPtr,void ** validationDataPtr)6256 bool ColladaParserAutoGen14Private::_preBegin__skin( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
6257 {
6258 #ifdef GENERATEDSAXPARSER_VALIDATION
6259     if ( mValidate )
6260     {
6261 
6262         bool validationResult = _validateBegin__skin( attributes, attributeDataPtr, validationDataPtr );
6263         if ( !validationResult ) return false;
6264 
6265     } // validation
6266 #endif
6267 
6268 skin__AttributeData* attributeData = newData<skin__AttributeData>(attributeDataPtr);
6269 
6270 const ParserChar** attributeArray = attributes.attributes;
6271 if ( attributeArray )
6272 {
6273     while (true)
6274     {
6275         const ParserChar * attribute = *attributeArray;
6276         if ( !attribute )
6277             break;
6278         StringHash hash = GeneratedSaxParser::Utils::calculateStringHash(attribute);
6279         attributeArray++;
6280         if ( !attributeArray )
6281             return false;
6282         const ParserChar* attributeValue = *attributeArray;
6283         attributeArray++;
6284 
6285 
6286     switch ( hash )
6287     {
6288     case HASH_ATTRIBUTE_source:
6289     {
6290 bool failed;
6291 attributeData->source = GeneratedSaxParser::Utils::toURI(&attributeValue, failed);
6292 if ( failed && handleError(ParserError::SEVERITY_ERROR_NONCRITICAL,
6293         ParserError::ERROR_ATTRIBUTE_PARSING_FAILED,
6294         HASH_ELEMENT_SKIN,
6295         HASH_ATTRIBUTE_source,
6296         attributeValue))
6297 {
6298     return false;
6299 }
6300 if ( !failed )
6301     attributeData->present_attributes |= skin__AttributeData::ATTRIBUTE_SOURCE_PRESENT;
6302 
6303     break;
6304     }
6305     default:
6306     {
6307         if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_UNKNOWN_ATTRIBUTE, HASH_ELEMENT_SKIN, attribute, attributeValue))
6308             {return false;}
6309     }
6310     }
6311     }
6312 }
6313 if ((attributeData->present_attributes & skin__AttributeData::ATTRIBUTE_SOURCE_PRESENT) == 0)
6314 {
6315     attributeData->source = COLLADABU::URI("");
6316 }
6317 if ( (attributeData->present_attributes & skin__AttributeData::ATTRIBUTE_SOURCE_PRESENT) == 0 )
6318 {
6319     if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_REQUIRED_ATTRIBUTE_MISSING, HASH_ELEMENT_SKIN, HASH_ATTRIBUTE_source, 0 ) )
6320         return false;
6321 }
6322 
6323 
6324     return true;
6325 }
6326 
6327 //---------------------------------------------------------------------
_preEnd__skin()6328 bool ColladaParserAutoGen14Private::_preEnd__skin()
6329 {
6330 #ifdef GENERATEDSAXPARSER_VALIDATION
6331     if ( mValidate )
6332     {
6333 
6334         bool validationResult = _validateEnd__skin();
6335         if ( !validationResult ) return false;
6336 
6337     } // validation
6338 #endif
6339 
6340     return true;
6341 }
6342 
6343 //---------------------------------------------------------------------
_freeAttributes__skin(void * attributeData)6344 bool ColladaParserAutoGen14Private::_freeAttributes__skin( void* attributeData )
6345 {
6346     skin__AttributeData* typedAttributeData = static_cast<skin__AttributeData*>(attributeData);
6347 
6348     typedAttributeData->~skin__AttributeData();
6349 
6350     return true;
6351 }
6352 
6353 //---------------------------------------------------------------------
_data__bind_shape_matrix(const ParserChar * text,size_t textLength)6354 bool ColladaParserAutoGen14Private::_data__bind_shape_matrix( const ParserChar* text, size_t textLength )
6355 {
6356 #ifdef GENERATEDSAXPARSER_VALIDATION
6357     if ( mValidate )
6358     {
6359         bind_shape_matrix__ValidationData* validationData = (bind_shape_matrix__ValidationData*)mValidationDataStack.top();
6360         DISABLE_WARNING_UNUSED(validationData)
6361 return characterData2FloatData(text, textLength, &ColladaParserAutoGen14::data__bind_shape_matrix, &validate__float4x4__stream, &validationData->validationWholeSize, 0);
6362     }
6363     else
6364     {
6365 return characterData2FloatData(text, textLength, &ColladaParserAutoGen14::data__bind_shape_matrix);
6366     }
6367 #else
6368     {
6369 return characterData2FloatData(text, textLength, &ColladaParserAutoGen14::data__bind_shape_matrix);
6370     } // validation
6371 #endif
6372 
6373 }
6374 
6375 //---------------------------------------------------------------------
_preBegin__bind_shape_matrix(const ParserAttributes & attributes,void ** attributeDataPtr,void ** validationDataPtr)6376 bool ColladaParserAutoGen14Private::_preBegin__bind_shape_matrix( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
6377 {
6378 #ifdef GENERATEDSAXPARSER_VALIDATION
6379     if ( mValidate )
6380     {
6381 
6382         bool validationResult = _validateBegin__bind_shape_matrix( attributes, attributeDataPtr, validationDataPtr );
6383         if ( !validationResult ) return false;
6384 
6385     } // validation
6386 #endif
6387 
6388     return true;
6389 }
6390 
6391 //---------------------------------------------------------------------
_preEnd__bind_shape_matrix()6392 bool ColladaParserAutoGen14Private::_preEnd__bind_shape_matrix()
6393 {
6394 #ifdef GENERATEDSAXPARSER_VALIDATION
6395     if ( mValidate )
6396     {
6397 
6398         bool validationResult = _validateEnd__bind_shape_matrix();
6399         if ( !validationResult ) return false;
6400 
6401     } // validation
6402 #endif
6403 
6404 #ifdef GENERATEDSAXPARSER_VALIDATION
6405     if ( mValidate )
6406     {
6407         bind_shape_matrix__ValidationData* validationData = (bind_shape_matrix__ValidationData*)mValidationDataStack.top();
6408         DISABLE_WARNING_UNUSED(validationData)
6409 bool returnValue = floatDataEnd( &ColladaParserAutoGen14::data__bind_shape_matrix, &validate__float4x4__streamEnd, &validationData->validationWholeSize, 0 );
6410         ParserError::ErrorType simpleTypeValidationResult = validate__float4x4(0, (*(&validationData->validationWholeSize)));
6411         mValidationDataStack.deleteObject();
6412         if (simpleTypeValidationResult != ParserError::SIMPLE_TYPE_VALIDATION_OK)
6413         {
6414             if( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL,
6415                 simpleTypeValidationResult,
6416                 HASH_ELEMENT_BIND_SHAPE_MATRIX,
6417                 (ParserChar*)0, 0 ) )
6418             {
6419                 return false;
6420             }
6421         }
6422         return returnValue;
6423     }
6424     else
6425     {
6426 return floatDataEnd( &ColladaParserAutoGen14::data__bind_shape_matrix );
6427     }
6428 #else
6429     {
6430 return floatDataEnd( &ColladaParserAutoGen14::data__bind_shape_matrix );
6431     } // validation
6432 #endif
6433 
6434 }
6435 
6436 //---------------------------------------------------------------------
_freeAttributes__bind_shape_matrix(void * attributeData)6437 bool ColladaParserAutoGen14Private::_freeAttributes__bind_shape_matrix( void* attributeData )
6438 {
6439     return true;
6440 }
6441 
6442 //---------------------------------------------------------------------
_data__joints(const ParserChar * text,size_t textLength)6443 bool ColladaParserAutoGen14Private::_data__joints( const ParserChar* text, size_t textLength )
6444 {
6445     return true;
6446 }
6447 
6448 //---------------------------------------------------------------------
_preBegin__joints(const ParserAttributes & attributes,void ** attributeDataPtr,void ** validationDataPtr)6449 bool ColladaParserAutoGen14Private::_preBegin__joints( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
6450 {
6451 #ifdef GENERATEDSAXPARSER_VALIDATION
6452     if ( mValidate )
6453     {
6454 
6455         bool validationResult = _validateBegin__joints( attributes, attributeDataPtr, validationDataPtr );
6456         if ( !validationResult ) return false;
6457 
6458     } // validation
6459 #endif
6460 
6461     return true;
6462 }
6463 
6464 //---------------------------------------------------------------------
_preEnd__joints()6465 bool ColladaParserAutoGen14Private::_preEnd__joints()
6466 {
6467 #ifdef GENERATEDSAXPARSER_VALIDATION
6468     if ( mValidate )
6469     {
6470 
6471         bool validationResult = _validateEnd__joints();
6472         if ( !validationResult ) return false;
6473 
6474     } // validation
6475 #endif
6476 
6477     return true;
6478 }
6479 
6480 //---------------------------------------------------------------------
_freeAttributes__joints(void * attributeData)6481 bool ColladaParserAutoGen14Private::_freeAttributes__joints( void* attributeData )
6482 {
6483     return true;
6484 }
6485 
6486 //---------------------------------------------------------------------
6487 const vertex_weights__AttributeData vertex_weights__AttributeData::DEFAULT = {0, 0};
6488 
6489 //---------------------------------------------------------------------
_data__vertex_weights(const ParserChar * text,size_t textLength)6490 bool ColladaParserAutoGen14Private::_data__vertex_weights( const ParserChar* text, size_t textLength )
6491 {
6492     return true;
6493 }
6494 
6495 //---------------------------------------------------------------------
_preBegin__vertex_weights(const ParserAttributes & attributes,void ** attributeDataPtr,void ** validationDataPtr)6496 bool ColladaParserAutoGen14Private::_preBegin__vertex_weights( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
6497 {
6498 #ifdef GENERATEDSAXPARSER_VALIDATION
6499     if ( mValidate )
6500     {
6501 
6502         bool validationResult = _validateBegin__vertex_weights( attributes, attributeDataPtr, validationDataPtr );
6503         if ( !validationResult ) return false;
6504 
6505     } // validation
6506 #endif
6507 
6508 vertex_weights__AttributeData* attributeData = newData<vertex_weights__AttributeData>(attributeDataPtr);
6509 
6510 const ParserChar** attributeArray = attributes.attributes;
6511 if ( attributeArray )
6512 {
6513     while (true)
6514     {
6515         const ParserChar * attribute = *attributeArray;
6516         if ( !attribute )
6517             break;
6518         StringHash hash = GeneratedSaxParser::Utils::calculateStringHash(attribute);
6519         attributeArray++;
6520         if ( !attributeArray )
6521             return false;
6522         const ParserChar* attributeValue = *attributeArray;
6523         attributeArray++;
6524 
6525 
6526     switch ( hash )
6527     {
6528     case HASH_ATTRIBUTE_count:
6529     {
6530 bool failed;
6531 attributeData->count = GeneratedSaxParser::Utils::toUint64(attributeValue, failed);
6532 if ( failed && handleError(ParserError::SEVERITY_ERROR_NONCRITICAL,
6533         ParserError::ERROR_ATTRIBUTE_PARSING_FAILED,
6534         HASH_ELEMENT_VERTEX_WEIGHTS,
6535         HASH_ATTRIBUTE_count,
6536         attributeValue))
6537 {
6538     return false;
6539 }
6540 if ( !failed )
6541     attributeData->present_attributes |= vertex_weights__AttributeData::ATTRIBUTE_COUNT_PRESENT;
6542 
6543     break;
6544     }
6545     default:
6546     {
6547         if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_UNKNOWN_ATTRIBUTE, HASH_ELEMENT_VERTEX_WEIGHTS, attribute, attributeValue))
6548             {return false;}
6549     }
6550     }
6551     }
6552 }
6553 if ( (attributeData->present_attributes & vertex_weights__AttributeData::ATTRIBUTE_COUNT_PRESENT) == 0 )
6554 {
6555     if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_REQUIRED_ATTRIBUTE_MISSING, HASH_ELEMENT_VERTEX_WEIGHTS, HASH_ATTRIBUTE_count, 0 ) )
6556         return false;
6557 }
6558 
6559 
6560     return true;
6561 }
6562 
6563 //---------------------------------------------------------------------
_preEnd__vertex_weights()6564 bool ColladaParserAutoGen14Private::_preEnd__vertex_weights()
6565 {
6566 #ifdef GENERATEDSAXPARSER_VALIDATION
6567     if ( mValidate )
6568     {
6569 
6570         bool validationResult = _validateEnd__vertex_weights();
6571         if ( !validationResult ) return false;
6572 
6573     } // validation
6574 #endif
6575 
6576     return true;
6577 }
6578 
6579 //---------------------------------------------------------------------
_freeAttributes__vertex_weights(void * attributeData)6580 bool ColladaParserAutoGen14Private::_freeAttributes__vertex_weights( void* attributeData )
6581 {
6582     vertex_weights__AttributeData* typedAttributeData = static_cast<vertex_weights__AttributeData*>(attributeData);
6583 
6584     typedAttributeData->~vertex_weights__AttributeData();
6585 
6586     return true;
6587 }
6588 
6589 //---------------------------------------------------------------------
6590 const input____InputLocalOffset__AttributeData input____InputLocalOffset__AttributeData::DEFAULT = {0, 0, 0, 0, 0};
6591 
6592 //---------------------------------------------------------------------
_data__input____InputLocalOffset(const ParserChar * text,size_t textLength)6593 bool ColladaParserAutoGen14Private::_data__input____InputLocalOffset( const ParserChar* text, size_t textLength )
6594 {
6595     return true;
6596 }
6597 
6598 //---------------------------------------------------------------------
_preBegin__input____InputLocalOffset(const ParserAttributes & attributes,void ** attributeDataPtr,void ** validationDataPtr)6599 bool ColladaParserAutoGen14Private::_preBegin__input____InputLocalOffset( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
6600 {
6601 #ifdef GENERATEDSAXPARSER_VALIDATION
6602     if ( mValidate )
6603     {
6604 
6605         bool validationResult = _validateBegin__input____InputLocalOffset( attributes, attributeDataPtr, validationDataPtr );
6606         if ( !validationResult ) return false;
6607 
6608     } // validation
6609 #endif
6610 
6611 input____InputLocalOffset__AttributeData* attributeData = newData<input____InputLocalOffset__AttributeData>(attributeDataPtr);
6612 
6613 const ParserChar** attributeArray = attributes.attributes;
6614 if ( attributeArray )
6615 {
6616     while (true)
6617     {
6618         const ParserChar * attribute = *attributeArray;
6619         if ( !attribute )
6620             break;
6621         StringHash hash = GeneratedSaxParser::Utils::calculateStringHash(attribute);
6622         attributeArray++;
6623         if ( !attributeArray )
6624             return false;
6625         const ParserChar* attributeValue = *attributeArray;
6626         attributeArray++;
6627 
6628 
6629     switch ( hash )
6630     {
6631     case HASH_ATTRIBUTE_offset:
6632     {
6633 bool failed;
6634 attributeData->offset = GeneratedSaxParser::Utils::toUint64(attributeValue, failed);
6635 if ( failed && handleError(ParserError::SEVERITY_ERROR_NONCRITICAL,
6636         ParserError::ERROR_ATTRIBUTE_PARSING_FAILED,
6637         HASH_ELEMENT_INPUT,
6638         HASH_ATTRIBUTE_offset,
6639         attributeValue))
6640 {
6641     return false;
6642 }
6643 if ( !failed )
6644     attributeData->present_attributes |= input____InputLocalOffset__AttributeData::ATTRIBUTE_OFFSET_PRESENT;
6645 
6646     break;
6647     }
6648     case HASH_ATTRIBUTE_semantic:
6649     {
6650 
6651 attributeData->semantic = attributeValue;
6652 #ifdef GENERATEDSAXPARSER_VALIDATION
6653     if ( mValidate )
6654     {
6655     ParserError::ErrorType simpleTypeValidationResult = validate__NMTOKEN(attributeData->semantic, strlen(attributeData->semantic));
6656     if (simpleTypeValidationResult != ParserError::SIMPLE_TYPE_VALIDATION_OK)
6657     {
6658         if( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL,
6659             simpleTypeValidationResult,
6660             HASH_ELEMENT_INPUT,
6661             HASH_ATTRIBUTE_semantic,
6662             attributeValue) )
6663         {
6664             return false;
6665         }
6666     }
6667     } // validation
6668 #endif
6669 
6670     break;
6671     }
6672     case HASH_ATTRIBUTE_source:
6673     {
6674 
6675 attributeData->source = attributeValue;
6676 #ifdef GENERATEDSAXPARSER_VALIDATION
6677     if ( mValidate )
6678     {
6679     ParserError::ErrorType simpleTypeValidationResult = validate__URIFragmentType(attributeData->source, strlen(attributeData->source));
6680     if (simpleTypeValidationResult != ParserError::SIMPLE_TYPE_VALIDATION_OK)
6681     {
6682         if( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL,
6683             simpleTypeValidationResult,
6684             HASH_ELEMENT_INPUT,
6685             HASH_ATTRIBUTE_source,
6686             attributeValue) )
6687         {
6688             return false;
6689         }
6690     }
6691     } // validation
6692 #endif
6693 
6694     break;
6695     }
6696     case HASH_ATTRIBUTE_set:
6697     {
6698 bool failed;
6699 attributeData->set = GeneratedSaxParser::Utils::toUint64(attributeValue, failed);
6700 if ( failed && handleError(ParserError::SEVERITY_ERROR_NONCRITICAL,
6701         ParserError::ERROR_ATTRIBUTE_PARSING_FAILED,
6702         HASH_ELEMENT_INPUT,
6703         HASH_ATTRIBUTE_set,
6704         attributeValue))
6705 {
6706     return false;
6707 }
6708 if ( !failed )
6709     attributeData->present_attributes |= input____InputLocalOffset__AttributeData::ATTRIBUTE_SET_PRESENT;
6710 
6711     break;
6712     }
6713     default:
6714     {
6715         if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_UNKNOWN_ATTRIBUTE, HASH_ELEMENT_INPUT, attribute, attributeValue))
6716             {return false;}
6717     }
6718     }
6719     }
6720 }
6721 if ( (attributeData->present_attributes & input____InputLocalOffset__AttributeData::ATTRIBUTE_OFFSET_PRESENT) == 0 )
6722 {
6723     if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_REQUIRED_ATTRIBUTE_MISSING, HASH_ELEMENT_INPUT, HASH_ATTRIBUTE_offset, 0 ) )
6724         return false;
6725 }
6726 if ( !attributeData->semantic )
6727 {
6728     if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_REQUIRED_ATTRIBUTE_MISSING, HASH_ELEMENT_INPUT, HASH_ATTRIBUTE_semantic, 0 ) )
6729         return false;
6730 }
6731 if ( !attributeData->source )
6732 {
6733     if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_REQUIRED_ATTRIBUTE_MISSING, HASH_ELEMENT_INPUT, HASH_ATTRIBUTE_source, 0 ) )
6734         return false;
6735 }
6736 
6737 
6738     return true;
6739 }
6740 
6741 //---------------------------------------------------------------------
_preEnd__input____InputLocalOffset()6742 bool ColladaParserAutoGen14Private::_preEnd__input____InputLocalOffset()
6743 {
6744 #ifdef GENERATEDSAXPARSER_VALIDATION
6745     if ( mValidate )
6746     {
6747 
6748         bool validationResult = _validateEnd__input____InputLocalOffset();
6749         if ( !validationResult ) return false;
6750 
6751     } // validation
6752 #endif
6753 
6754     return true;
6755 }
6756 
6757 //---------------------------------------------------------------------
_freeAttributes__input____InputLocalOffset(void * attributeData)6758 bool ColladaParserAutoGen14Private::_freeAttributes__input____InputLocalOffset( void* attributeData )
6759 {
6760     input____InputLocalOffset__AttributeData* typedAttributeData = static_cast<input____InputLocalOffset__AttributeData*>(attributeData);
6761 
6762     typedAttributeData->~input____InputLocalOffset__AttributeData();
6763 
6764     return true;
6765 }
6766 
6767 //---------------------------------------------------------------------
_data__vcount(const ParserChar * text,size_t textLength)6768 bool ColladaParserAutoGen14Private::_data__vcount( const ParserChar* text, size_t textLength )
6769 {
6770 #ifdef GENERATEDSAXPARSER_VALIDATION
6771     if ( mValidate )
6772     {
6773 return characterData2Uint64Data(text, textLength, &ColladaParserAutoGen14::data__vcount, 0, 0, 0);
6774     }
6775     else
6776     {
6777 return characterData2Uint64Data(text, textLength, &ColladaParserAutoGen14::data__vcount);
6778     }
6779 #else
6780     {
6781 return characterData2Uint64Data(text, textLength, &ColladaParserAutoGen14::data__vcount);
6782     } // validation
6783 #endif
6784 
6785 }
6786 
6787 //---------------------------------------------------------------------
_preBegin__vcount(const ParserAttributes & attributes,void ** attributeDataPtr,void ** validationDataPtr)6788 bool ColladaParserAutoGen14Private::_preBegin__vcount( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
6789 {
6790 #ifdef GENERATEDSAXPARSER_VALIDATION
6791     if ( mValidate )
6792     {
6793 
6794         bool validationResult = _validateBegin__vcount( attributes, attributeDataPtr, validationDataPtr );
6795         if ( !validationResult ) return false;
6796 
6797     } // validation
6798 #endif
6799 
6800     return true;
6801 }
6802 
6803 //---------------------------------------------------------------------
_preEnd__vcount()6804 bool ColladaParserAutoGen14Private::_preEnd__vcount()
6805 {
6806 #ifdef GENERATEDSAXPARSER_VALIDATION
6807     if ( mValidate )
6808     {
6809 
6810         bool validationResult = _validateEnd__vcount();
6811         if ( !validationResult ) return false;
6812 
6813     } // validation
6814 #endif
6815 
6816 #ifdef GENERATEDSAXPARSER_VALIDATION
6817     if ( mValidate )
6818     {
6819 bool returnValue = uint64DataEnd( &ColladaParserAutoGen14::data__vcount, 0, 0, 0 );
6820         return returnValue;
6821     }
6822     else
6823     {
6824 return uint64DataEnd( &ColladaParserAutoGen14::data__vcount );
6825     }
6826 #else
6827     {
6828 return uint64DataEnd( &ColladaParserAutoGen14::data__vcount );
6829     } // validation
6830 #endif
6831 
6832 }
6833 
6834 //---------------------------------------------------------------------
_freeAttributes__vcount(void * attributeData)6835 bool ColladaParserAutoGen14Private::_freeAttributes__vcount( void* attributeData )
6836 {
6837     return true;
6838 }
6839 
6840 //---------------------------------------------------------------------
_data__v(const ParserChar * text,size_t textLength)6841 bool ColladaParserAutoGen14Private::_data__v( const ParserChar* text, size_t textLength )
6842 {
6843 #ifdef GENERATEDSAXPARSER_VALIDATION
6844     if ( mValidate )
6845     {
6846 return characterData2Sint64Data(text, textLength, &ColladaParserAutoGen14::data__v, 0, 0, 0);
6847     }
6848     else
6849     {
6850 return characterData2Sint64Data(text, textLength, &ColladaParserAutoGen14::data__v);
6851     }
6852 #else
6853     {
6854 return characterData2Sint64Data(text, textLength, &ColladaParserAutoGen14::data__v);
6855     } // validation
6856 #endif
6857 
6858 }
6859 
6860 //---------------------------------------------------------------------
_preBegin__v(const ParserAttributes & attributes,void ** attributeDataPtr,void ** validationDataPtr)6861 bool ColladaParserAutoGen14Private::_preBegin__v( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
6862 {
6863 #ifdef GENERATEDSAXPARSER_VALIDATION
6864     if ( mValidate )
6865     {
6866 
6867         bool validationResult = _validateBegin__v( attributes, attributeDataPtr, validationDataPtr );
6868         if ( !validationResult ) return false;
6869 
6870     } // validation
6871 #endif
6872 
6873     return true;
6874 }
6875 
6876 //---------------------------------------------------------------------
_preEnd__v()6877 bool ColladaParserAutoGen14Private::_preEnd__v()
6878 {
6879 #ifdef GENERATEDSAXPARSER_VALIDATION
6880     if ( mValidate )
6881     {
6882 
6883         bool validationResult = _validateEnd__v();
6884         if ( !validationResult ) return false;
6885 
6886     } // validation
6887 #endif
6888 
6889 #ifdef GENERATEDSAXPARSER_VALIDATION
6890     if ( mValidate )
6891     {
6892 bool returnValue = sint64DataEnd( &ColladaParserAutoGen14::data__v, 0, 0, 0 );
6893         return returnValue;
6894     }
6895     else
6896     {
6897 return sint64DataEnd( &ColladaParserAutoGen14::data__v );
6898     }
6899 #else
6900     {
6901 return sint64DataEnd( &ColladaParserAutoGen14::data__v );
6902     } // validation
6903 #endif
6904 
6905 }
6906 
6907 //---------------------------------------------------------------------
_freeAttributes__v(void * attributeData)6908 bool ColladaParserAutoGen14Private::_freeAttributes__v( void* attributeData )
6909 {
6910     return true;
6911 }
6912 
6913 //---------------------------------------------------------------------
6914 const morph__AttributeData morph__AttributeData::DEFAULT = {0, ENUM__MorphMethodType__NORMALIZED, 0};
6915 
6916 //---------------------------------------------------------------------
_data__morph(const ParserChar * text,size_t textLength)6917 bool ColladaParserAutoGen14Private::_data__morph( const ParserChar* text, size_t textLength )
6918 {
6919     return true;
6920 }
6921 
6922 //---------------------------------------------------------------------
_preBegin__morph(const ParserAttributes & attributes,void ** attributeDataPtr,void ** validationDataPtr)6923 bool ColladaParserAutoGen14Private::_preBegin__morph( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
6924 {
6925 #ifdef GENERATEDSAXPARSER_VALIDATION
6926     if ( mValidate )
6927     {
6928 
6929         bool validationResult = _validateBegin__morph( attributes, attributeDataPtr, validationDataPtr );
6930         if ( !validationResult ) return false;
6931 
6932     } // validation
6933 #endif
6934 
6935 morph__AttributeData* attributeData = newData<morph__AttributeData>(attributeDataPtr);
6936 
6937 const ParserChar** attributeArray = attributes.attributes;
6938 if ( attributeArray )
6939 {
6940     while (true)
6941     {
6942         const ParserChar * attribute = *attributeArray;
6943         if ( !attribute )
6944             break;
6945         StringHash hash = GeneratedSaxParser::Utils::calculateStringHash(attribute);
6946         attributeArray++;
6947         if ( !attributeArray )
6948             return false;
6949         const ParserChar* attributeValue = *attributeArray;
6950         attributeArray++;
6951 
6952 
6953     switch ( hash )
6954     {
6955     case HASH_ATTRIBUTE_method:
6956     {
6957 bool failed;
6958 attributeData->method = Utils::toEnum<ENUM__MorphMethodType, StringHash, ENUM__MorphMethodType__COUNT>(attributeValue, failed, ENUM__MorphMethodTypeMap, Utils::calculateStringHash);
6959 if ( failed && handleError(ParserError::SEVERITY_ERROR_NONCRITICAL,
6960         ParserError::ERROR_ATTRIBUTE_PARSING_FAILED,
6961         HASH_ELEMENT_MORPH,
6962         HASH_ATTRIBUTE_method,
6963         attributeValue))
6964 {
6965     return false;
6966 }
6967 
6968     break;
6969     }
6970     case HASH_ATTRIBUTE_source:
6971     {
6972 bool failed;
6973 attributeData->source = GeneratedSaxParser::Utils::toURI(&attributeValue, failed);
6974 if ( failed && handleError(ParserError::SEVERITY_ERROR_NONCRITICAL,
6975         ParserError::ERROR_ATTRIBUTE_PARSING_FAILED,
6976         HASH_ELEMENT_MORPH,
6977         HASH_ATTRIBUTE_source,
6978         attributeValue))
6979 {
6980     return false;
6981 }
6982 if ( !failed )
6983     attributeData->present_attributes |= morph__AttributeData::ATTRIBUTE_SOURCE_PRESENT;
6984 
6985     break;
6986     }
6987     default:
6988     {
6989         if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_UNKNOWN_ATTRIBUTE, HASH_ELEMENT_MORPH, attribute, attributeValue))
6990             {return false;}
6991     }
6992     }
6993     }
6994 }
6995 if ((attributeData->present_attributes & morph__AttributeData::ATTRIBUTE_SOURCE_PRESENT) == 0)
6996 {
6997     attributeData->source = COLLADABU::URI("");
6998 }
6999 if ( (attributeData->present_attributes & morph__AttributeData::ATTRIBUTE_SOURCE_PRESENT) == 0 )
7000 {
7001     if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_REQUIRED_ATTRIBUTE_MISSING, HASH_ELEMENT_MORPH, HASH_ATTRIBUTE_source, 0 ) )
7002         return false;
7003 }
7004 
7005 
7006     return true;
7007 }
7008 
7009 //---------------------------------------------------------------------
_preEnd__morph()7010 bool ColladaParserAutoGen14Private::_preEnd__morph()
7011 {
7012 #ifdef GENERATEDSAXPARSER_VALIDATION
7013     if ( mValidate )
7014     {
7015 
7016         bool validationResult = _validateEnd__morph();
7017         if ( !validationResult ) return false;
7018 
7019     } // validation
7020 #endif
7021 
7022     return true;
7023 }
7024 
7025 //---------------------------------------------------------------------
_freeAttributes__morph(void * attributeData)7026 bool ColladaParserAutoGen14Private::_freeAttributes__morph( void* attributeData )
7027 {
7028     morph__AttributeData* typedAttributeData = static_cast<morph__AttributeData*>(attributeData);
7029 
7030     typedAttributeData->~morph__AttributeData();
7031 
7032     return true;
7033 }
7034 
7035 //---------------------------------------------------------------------
toEnumDataPrefix_ENUM__MorphMethodType(const ParserChar * prefixedBuffer,const ParserChar * prefixedBufferEnd,const ParserChar ** buffer,const ParserChar * bufferEnd,bool & failed,const std::pair<StringHash,ENUM__MorphMethodType> * enumMap,StringHash (* baseConversionFunc)(const ParserChar **,const ParserChar *,bool &))7036 ENUM__MorphMethodType ColladaParserAutoGen14Private::toEnumDataPrefix_ENUM__MorphMethodType (
7037     const ParserChar* prefixedBuffer,
7038     const ParserChar* prefixedBufferEnd,
7039     const ParserChar** buffer,
7040     const ParserChar* bufferEnd,
7041     bool& failed,
7042     const std::pair<StringHash, ENUM__MorphMethodType>* enumMap,
7043     StringHash (*baseConversionFunc)( const ParserChar**, const ParserChar*, bool& )
7044 )
7045 {
7046     return toEnumDataPrefix<ENUM__MorphMethodType, StringHash, ENUM__MorphMethodType__COUNT, &toEnum_ENUM__MorphMethodType>(prefixedBuffer, prefixedBufferEnd, buffer, bufferEnd, failed, enumMap, baseConversionFunc);
7047 }
7048 
7049 //---------------------------------------------------------------------
characterData2EnumData_ENUM__MorphMethodType(const ParserChar * text,size_t textLength,bool (ColladaParserAutoGen14::* dataFunction)(const ENUM__MorphMethodType *,size_t),StringHash (* baseConversionFunc)(const ParserChar **,const ParserChar *,bool &))7050 bool ColladaParserAutoGen14Private::characterData2EnumData_ENUM__MorphMethodType (
7051     const ParserChar* text,
7052     size_t textLength,
7053     bool ( ColladaParserAutoGen14::*dataFunction )(const ENUM__MorphMethodType*, size_t ),
7054     StringHash (*baseConversionFunc)( const ParserChar**, const ParserChar*, bool& )
7055 )
7056 {
7057     return characterData2EnumData<ENUM__MorphMethodType, StringHash, ENUM__MorphMethodType__COUNT>(text, textLength, dataFunction, ENUM__MorphMethodTypeMap, baseConversionFunc, &toEnum_ENUM__MorphMethodType, &ColladaParserAutoGen14Private::toEnumDataPrefix_ENUM__MorphMethodType);
7058 }
7059 
7060 //---------------------------------------------------------------------
dataEnumEnd_ENUM__MorphMethodType(bool (ColladaParserAutoGen14::* dataFunction)(const ENUM__MorphMethodType *,size_t),const std::pair<StringHash,ENUM__MorphMethodType> * enumMap,StringHash (* baseConversionFunc)(const ParserChar **,const ParserChar *,bool &),ENUM__MorphMethodType (* toEnumFunc)(const ParserChar **,const ParserChar *,bool &,const std::pair<StringHash,ENUM__MorphMethodType> * enumMap,StringHash (* baseConversionFunc)(const ParserChar **,const ParserChar *,bool &)))7061 bool ColladaParserAutoGen14Private::dataEnumEnd_ENUM__MorphMethodType (
7062     bool ( ColladaParserAutoGen14::*dataFunction )(const ENUM__MorphMethodType*, size_t ),
7063     const std::pair<StringHash, ENUM__MorphMethodType>* enumMap,
7064     StringHash (*baseConversionFunc)( const ParserChar**, const ParserChar*, bool& ),
7065     ENUM__MorphMethodType (*toEnumFunc)( const ParserChar**, const ParserChar*, bool&, const std::pair<StringHash, ENUM__MorphMethodType>* enumMap, StringHash (*baseConversionFunc)( const ParserChar**, const ParserChar*, bool& ))
7066 )
7067 {
7068     return dataEnumEnd<ENUM__MorphMethodType, StringHash, ENUM__MorphMethodType__COUNT>(dataFunction, enumMap, baseConversionFunc, toEnumFunc);
7069 }
7070 
7071 //---------------------------------------------------------------------
_data__targets(const ParserChar * text,size_t textLength)7072 bool ColladaParserAutoGen14Private::_data__targets( const ParserChar* text, size_t textLength )
7073 {
7074     return true;
7075 }
7076 
7077 //---------------------------------------------------------------------
_preBegin__targets(const ParserAttributes & attributes,void ** attributeDataPtr,void ** validationDataPtr)7078 bool ColladaParserAutoGen14Private::_preBegin__targets( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
7079 {
7080 #ifdef GENERATEDSAXPARSER_VALIDATION
7081     if ( mValidate )
7082     {
7083 
7084         bool validationResult = _validateBegin__targets( attributes, attributeDataPtr, validationDataPtr );
7085         if ( !validationResult ) return false;
7086 
7087     } // validation
7088 #endif
7089 
7090     return true;
7091 }
7092 
7093 //---------------------------------------------------------------------
_preEnd__targets()7094 bool ColladaParserAutoGen14Private::_preEnd__targets()
7095 {
7096 #ifdef GENERATEDSAXPARSER_VALIDATION
7097     if ( mValidate )
7098     {
7099 
7100         bool validationResult = _validateEnd__targets();
7101         if ( !validationResult ) return false;
7102 
7103     } // validation
7104 #endif
7105 
7106     return true;
7107 }
7108 
7109 //---------------------------------------------------------------------
_freeAttributes__targets(void * attributeData)7110 bool ColladaParserAutoGen14Private::_freeAttributes__targets( void* attributeData )
7111 {
7112     return true;
7113 }
7114 
7115 //---------------------------------------------------------------------
7116 const library_geometries__AttributeData library_geometries__AttributeData::DEFAULT = {0, 0};
7117 
7118 //---------------------------------------------------------------------
_data__library_geometries(const ParserChar * text,size_t textLength)7119 bool ColladaParserAutoGen14Private::_data__library_geometries( const ParserChar* text, size_t textLength )
7120 {
7121     return true;
7122 }
7123 
7124 //---------------------------------------------------------------------
_preBegin__library_geometries(const ParserAttributes & attributes,void ** attributeDataPtr,void ** validationDataPtr)7125 bool ColladaParserAutoGen14Private::_preBegin__library_geometries( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
7126 {
7127 #ifdef GENERATEDSAXPARSER_VALIDATION
7128     if ( mValidate )
7129     {
7130 
7131         bool validationResult = _validateBegin__library_geometries( attributes, attributeDataPtr, validationDataPtr );
7132         if ( !validationResult ) return false;
7133 
7134     } // validation
7135 #endif
7136 
7137 library_geometries__AttributeData* attributeData = newData<library_geometries__AttributeData>(attributeDataPtr);
7138 
7139 const ParserChar** attributeArray = attributes.attributes;
7140 if ( attributeArray )
7141 {
7142     while (true)
7143     {
7144         const ParserChar * attribute = *attributeArray;
7145         if ( !attribute )
7146             break;
7147         StringHash hash = GeneratedSaxParser::Utils::calculateStringHash(attribute);
7148         attributeArray++;
7149         if ( !attributeArray )
7150             return false;
7151         const ParserChar* attributeValue = *attributeArray;
7152         attributeArray++;
7153 
7154 
7155     switch ( hash )
7156     {
7157     case HASH_ATTRIBUTE_id:
7158     {
7159 
7160 attributeData->id = attributeValue;
7161 
7162     break;
7163     }
7164     case HASH_ATTRIBUTE_name:
7165     {
7166 
7167 attributeData->name = attributeValue;
7168 #ifdef GENERATEDSAXPARSER_VALIDATION
7169     if ( mValidate )
7170     {
7171     ParserError::ErrorType simpleTypeValidationResult = validate__NCName(attributeData->name, strlen(attributeData->name));
7172     if (simpleTypeValidationResult != ParserError::SIMPLE_TYPE_VALIDATION_OK)
7173     {
7174         if( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL,
7175             simpleTypeValidationResult,
7176             HASH_ELEMENT_LIBRARY_GEOMETRIES,
7177             HASH_ATTRIBUTE_name,
7178             attributeValue) )
7179         {
7180             return false;
7181         }
7182     }
7183     } // validation
7184 #endif
7185 
7186     break;
7187     }
7188     default:
7189     {
7190         if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_UNKNOWN_ATTRIBUTE, HASH_ELEMENT_LIBRARY_GEOMETRIES, attribute, attributeValue))
7191             {return false;}
7192     }
7193     }
7194     }
7195 }
7196 
7197 
7198     return true;
7199 }
7200 
7201 //---------------------------------------------------------------------
_preEnd__library_geometries()7202 bool ColladaParserAutoGen14Private::_preEnd__library_geometries()
7203 {
7204 #ifdef GENERATEDSAXPARSER_VALIDATION
7205     if ( mValidate )
7206     {
7207 
7208         bool validationResult = _validateEnd__library_geometries();
7209         if ( !validationResult ) return false;
7210 
7211     } // validation
7212 #endif
7213 
7214     return true;
7215 }
7216 
7217 //---------------------------------------------------------------------
_freeAttributes__library_geometries(void * attributeData)7218 bool ColladaParserAutoGen14Private::_freeAttributes__library_geometries( void* attributeData )
7219 {
7220     library_geometries__AttributeData* typedAttributeData = static_cast<library_geometries__AttributeData*>(attributeData);
7221 
7222     typedAttributeData->~library_geometries__AttributeData();
7223 
7224     return true;
7225 }
7226 
7227 //---------------------------------------------------------------------
7228 const geometry__AttributeData geometry__AttributeData::DEFAULT = {0, 0};
7229 
7230 //---------------------------------------------------------------------
_data__geometry(const ParserChar * text,size_t textLength)7231 bool ColladaParserAutoGen14Private::_data__geometry( const ParserChar* text, size_t textLength )
7232 {
7233     return true;
7234 }
7235 
7236 //---------------------------------------------------------------------
_preBegin__geometry(const ParserAttributes & attributes,void ** attributeDataPtr,void ** validationDataPtr)7237 bool ColladaParserAutoGen14Private::_preBegin__geometry( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
7238 {
7239 #ifdef GENERATEDSAXPARSER_VALIDATION
7240     if ( mValidate )
7241     {
7242 
7243         bool validationResult = _validateBegin__geometry( attributes, attributeDataPtr, validationDataPtr );
7244         if ( !validationResult ) return false;
7245 
7246     } // validation
7247 #endif
7248 
7249 geometry__AttributeData* attributeData = newData<geometry__AttributeData>(attributeDataPtr);
7250 
7251 const ParserChar** attributeArray = attributes.attributes;
7252 if ( attributeArray )
7253 {
7254     while (true)
7255     {
7256         const ParserChar * attribute = *attributeArray;
7257         if ( !attribute )
7258             break;
7259         StringHash hash = GeneratedSaxParser::Utils::calculateStringHash(attribute);
7260         attributeArray++;
7261         if ( !attributeArray )
7262             return false;
7263         const ParserChar* attributeValue = *attributeArray;
7264         attributeArray++;
7265 
7266 
7267     switch ( hash )
7268     {
7269     case HASH_ATTRIBUTE_id:
7270     {
7271 
7272 attributeData->id = attributeValue;
7273 
7274     break;
7275     }
7276     case HASH_ATTRIBUTE_name:
7277     {
7278 
7279 attributeData->name = attributeValue;
7280 #ifdef GENERATEDSAXPARSER_VALIDATION
7281     if ( mValidate )
7282     {
7283     ParserError::ErrorType simpleTypeValidationResult = validate__NCName(attributeData->name, strlen(attributeData->name));
7284     if (simpleTypeValidationResult != ParserError::SIMPLE_TYPE_VALIDATION_OK)
7285     {
7286         if( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL,
7287             simpleTypeValidationResult,
7288             HASH_ELEMENT_GEOMETRY,
7289             HASH_ATTRIBUTE_name,
7290             attributeValue) )
7291         {
7292             return false;
7293         }
7294     }
7295     } // validation
7296 #endif
7297 
7298     break;
7299     }
7300     default:
7301     {
7302         if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_UNKNOWN_ATTRIBUTE, HASH_ELEMENT_GEOMETRY, attribute, attributeValue))
7303             {return false;}
7304     }
7305     }
7306     }
7307 }
7308 
7309 
7310     return true;
7311 }
7312 
7313 //---------------------------------------------------------------------
_preEnd__geometry()7314 bool ColladaParserAutoGen14Private::_preEnd__geometry()
7315 {
7316 #ifdef GENERATEDSAXPARSER_VALIDATION
7317     if ( mValidate )
7318     {
7319 
7320         bool validationResult = _validateEnd__geometry();
7321         if ( !validationResult ) return false;
7322 
7323     } // validation
7324 #endif
7325 
7326     return true;
7327 }
7328 
7329 //---------------------------------------------------------------------
_freeAttributes__geometry(void * attributeData)7330 bool ColladaParserAutoGen14Private::_freeAttributes__geometry( void* attributeData )
7331 {
7332     geometry__AttributeData* typedAttributeData = static_cast<geometry__AttributeData*>(attributeData);
7333 
7334     typedAttributeData->~geometry__AttributeData();
7335 
7336     return true;
7337 }
7338 
7339 //---------------------------------------------------------------------
7340 const convex_mesh__AttributeData convex_mesh__AttributeData::DEFAULT = {0, 0};
7341 
7342 //---------------------------------------------------------------------
_data__convex_mesh(const ParserChar * text,size_t textLength)7343 bool ColladaParserAutoGen14Private::_data__convex_mesh( const ParserChar* text, size_t textLength )
7344 {
7345     return true;
7346 }
7347 
7348 //---------------------------------------------------------------------
_preBegin__convex_mesh(const ParserAttributes & attributes,void ** attributeDataPtr,void ** validationDataPtr)7349 bool ColladaParserAutoGen14Private::_preBegin__convex_mesh( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
7350 {
7351 #ifdef GENERATEDSAXPARSER_VALIDATION
7352     if ( mValidate )
7353     {
7354 
7355         bool validationResult = _validateBegin__convex_mesh( attributes, attributeDataPtr, validationDataPtr );
7356         if ( !validationResult ) return false;
7357 
7358     } // validation
7359 #endif
7360 
7361 convex_mesh__AttributeData* attributeData = newData<convex_mesh__AttributeData>(attributeDataPtr);
7362 
7363 const ParserChar** attributeArray = attributes.attributes;
7364 if ( attributeArray )
7365 {
7366     while (true)
7367     {
7368         const ParserChar * attribute = *attributeArray;
7369         if ( !attribute )
7370             break;
7371         StringHash hash = GeneratedSaxParser::Utils::calculateStringHash(attribute);
7372         attributeArray++;
7373         if ( !attributeArray )
7374             return false;
7375         const ParserChar* attributeValue = *attributeArray;
7376         attributeArray++;
7377 
7378 
7379     switch ( hash )
7380     {
7381     case HASH_ATTRIBUTE_convex_hull_of:
7382     {
7383 bool failed;
7384 attributeData->convex_hull_of = GeneratedSaxParser::Utils::toURI(&attributeValue, failed);
7385 if ( failed && handleError(ParserError::SEVERITY_ERROR_NONCRITICAL,
7386         ParserError::ERROR_ATTRIBUTE_PARSING_FAILED,
7387         HASH_ELEMENT_CONVEX_MESH,
7388         HASH_ATTRIBUTE_convex_hull_of,
7389         attributeValue))
7390 {
7391     return false;
7392 }
7393 if ( !failed )
7394     attributeData->present_attributes |= convex_mesh__AttributeData::ATTRIBUTE_CONVEX_HULL_OF_PRESENT;
7395 
7396     break;
7397     }
7398     default:
7399     {
7400         if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_UNKNOWN_ATTRIBUTE, HASH_ELEMENT_CONVEX_MESH, attribute, attributeValue))
7401             {return false;}
7402     }
7403     }
7404     }
7405 }
7406 if ((attributeData->present_attributes & convex_mesh__AttributeData::ATTRIBUTE_CONVEX_HULL_OF_PRESENT) == 0)
7407 {
7408     attributeData->convex_hull_of = COLLADABU::URI("");
7409 }
7410 
7411 
7412     return true;
7413 }
7414 
7415 //---------------------------------------------------------------------
_preEnd__convex_mesh()7416 bool ColladaParserAutoGen14Private::_preEnd__convex_mesh()
7417 {
7418 #ifdef GENERATEDSAXPARSER_VALIDATION
7419     if ( mValidate )
7420     {
7421 
7422         bool validationResult = _validateEnd__convex_mesh();
7423         if ( !validationResult ) return false;
7424 
7425     } // validation
7426 #endif
7427 
7428     return true;
7429 }
7430 
7431 //---------------------------------------------------------------------
_freeAttributes__convex_mesh(void * attributeData)7432 bool ColladaParserAutoGen14Private::_freeAttributes__convex_mesh( void* attributeData )
7433 {
7434     convex_mesh__AttributeData* typedAttributeData = static_cast<convex_mesh__AttributeData*>(attributeData);
7435 
7436     typedAttributeData->~convex_mesh__AttributeData();
7437 
7438     return true;
7439 }
7440 
7441 //---------------------------------------------------------------------
7442 const vertices__AttributeData vertices__AttributeData::DEFAULT = {0, 0};
7443 
7444 //---------------------------------------------------------------------
_data__vertices(const ParserChar * text,size_t textLength)7445 bool ColladaParserAutoGen14Private::_data__vertices( const ParserChar* text, size_t textLength )
7446 {
7447     return true;
7448 }
7449 
7450 //---------------------------------------------------------------------
_preBegin__vertices(const ParserAttributes & attributes,void ** attributeDataPtr,void ** validationDataPtr)7451 bool ColladaParserAutoGen14Private::_preBegin__vertices( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
7452 {
7453 #ifdef GENERATEDSAXPARSER_VALIDATION
7454     if ( mValidate )
7455     {
7456 
7457         bool validationResult = _validateBegin__vertices( attributes, attributeDataPtr, validationDataPtr );
7458         if ( !validationResult ) return false;
7459 
7460     } // validation
7461 #endif
7462 
7463 vertices__AttributeData* attributeData = newData<vertices__AttributeData>(attributeDataPtr);
7464 
7465 const ParserChar** attributeArray = attributes.attributes;
7466 if ( attributeArray )
7467 {
7468     while (true)
7469     {
7470         const ParserChar * attribute = *attributeArray;
7471         if ( !attribute )
7472             break;
7473         StringHash hash = GeneratedSaxParser::Utils::calculateStringHash(attribute);
7474         attributeArray++;
7475         if ( !attributeArray )
7476             return false;
7477         const ParserChar* attributeValue = *attributeArray;
7478         attributeArray++;
7479 
7480 
7481     switch ( hash )
7482     {
7483     case HASH_ATTRIBUTE_id:
7484     {
7485 
7486 attributeData->id = attributeValue;
7487 
7488     break;
7489     }
7490     case HASH_ATTRIBUTE_name:
7491     {
7492 
7493 attributeData->name = attributeValue;
7494 #ifdef GENERATEDSAXPARSER_VALIDATION
7495     if ( mValidate )
7496     {
7497     ParserError::ErrorType simpleTypeValidationResult = validate__NCName(attributeData->name, strlen(attributeData->name));
7498     if (simpleTypeValidationResult != ParserError::SIMPLE_TYPE_VALIDATION_OK)
7499     {
7500         if( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL,
7501             simpleTypeValidationResult,
7502             HASH_ELEMENT_VERTICES,
7503             HASH_ATTRIBUTE_name,
7504             attributeValue) )
7505         {
7506             return false;
7507         }
7508     }
7509     } // validation
7510 #endif
7511 
7512     break;
7513     }
7514     default:
7515     {
7516         if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_UNKNOWN_ATTRIBUTE, HASH_ELEMENT_VERTICES, attribute, attributeValue))
7517             {return false;}
7518     }
7519     }
7520     }
7521 }
7522 if ( !attributeData->id )
7523 {
7524     if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_REQUIRED_ATTRIBUTE_MISSING, HASH_ELEMENT_VERTICES, HASH_ATTRIBUTE_id, 0 ) )
7525         return false;
7526 }
7527 
7528 
7529     return true;
7530 }
7531 
7532 //---------------------------------------------------------------------
_preEnd__vertices()7533 bool ColladaParserAutoGen14Private::_preEnd__vertices()
7534 {
7535 #ifdef GENERATEDSAXPARSER_VALIDATION
7536     if ( mValidate )
7537     {
7538 
7539         bool validationResult = _validateEnd__vertices();
7540         if ( !validationResult ) return false;
7541 
7542     } // validation
7543 #endif
7544 
7545     return true;
7546 }
7547 
7548 //---------------------------------------------------------------------
_freeAttributes__vertices(void * attributeData)7549 bool ColladaParserAutoGen14Private::_freeAttributes__vertices( void* attributeData )
7550 {
7551     vertices__AttributeData* typedAttributeData = static_cast<vertices__AttributeData*>(attributeData);
7552 
7553     typedAttributeData->~vertices__AttributeData();
7554 
7555     return true;
7556 }
7557 
7558 //---------------------------------------------------------------------
7559 const lines__AttributeData lines__AttributeData::DEFAULT = {0, 0, 0, 0};
7560 
7561 //---------------------------------------------------------------------
_data__lines(const ParserChar * text,size_t textLength)7562 bool ColladaParserAutoGen14Private::_data__lines( const ParserChar* text, size_t textLength )
7563 {
7564     return true;
7565 }
7566 
7567 //---------------------------------------------------------------------
_preBegin__lines(const ParserAttributes & attributes,void ** attributeDataPtr,void ** validationDataPtr)7568 bool ColladaParserAutoGen14Private::_preBegin__lines( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
7569 {
7570 #ifdef GENERATEDSAXPARSER_VALIDATION
7571     if ( mValidate )
7572     {
7573 
7574         bool validationResult = _validateBegin__lines( attributes, attributeDataPtr, validationDataPtr );
7575         if ( !validationResult ) return false;
7576 
7577     } // validation
7578 #endif
7579 
7580 lines__AttributeData* attributeData = newData<lines__AttributeData>(attributeDataPtr);
7581 
7582 const ParserChar** attributeArray = attributes.attributes;
7583 if ( attributeArray )
7584 {
7585     while (true)
7586     {
7587         const ParserChar * attribute = *attributeArray;
7588         if ( !attribute )
7589             break;
7590         StringHash hash = GeneratedSaxParser::Utils::calculateStringHash(attribute);
7591         attributeArray++;
7592         if ( !attributeArray )
7593             return false;
7594         const ParserChar* attributeValue = *attributeArray;
7595         attributeArray++;
7596 
7597 
7598     switch ( hash )
7599     {
7600     case HASH_ATTRIBUTE_name:
7601     {
7602 
7603 attributeData->name = attributeValue;
7604 #ifdef GENERATEDSAXPARSER_VALIDATION
7605     if ( mValidate )
7606     {
7607     ParserError::ErrorType simpleTypeValidationResult = validate__NCName(attributeData->name, strlen(attributeData->name));
7608     if (simpleTypeValidationResult != ParserError::SIMPLE_TYPE_VALIDATION_OK)
7609     {
7610         if( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL,
7611             simpleTypeValidationResult,
7612             HASH_ELEMENT_LINES,
7613             HASH_ATTRIBUTE_name,
7614             attributeValue) )
7615         {
7616             return false;
7617         }
7618     }
7619     } // validation
7620 #endif
7621 
7622     break;
7623     }
7624     case HASH_ATTRIBUTE_count:
7625     {
7626 bool failed;
7627 attributeData->count = GeneratedSaxParser::Utils::toUint64(attributeValue, failed);
7628 if ( failed && handleError(ParserError::SEVERITY_ERROR_NONCRITICAL,
7629         ParserError::ERROR_ATTRIBUTE_PARSING_FAILED,
7630         HASH_ELEMENT_LINES,
7631         HASH_ATTRIBUTE_count,
7632         attributeValue))
7633 {
7634     return false;
7635 }
7636 if ( !failed )
7637     attributeData->present_attributes |= lines__AttributeData::ATTRIBUTE_COUNT_PRESENT;
7638 
7639     break;
7640     }
7641     case HASH_ATTRIBUTE_material:
7642     {
7643 
7644 attributeData->material = attributeValue;
7645 #ifdef GENERATEDSAXPARSER_VALIDATION
7646     if ( mValidate )
7647     {
7648     ParserError::ErrorType simpleTypeValidationResult = validate__NCName(attributeData->material, strlen(attributeData->material));
7649     if (simpleTypeValidationResult != ParserError::SIMPLE_TYPE_VALIDATION_OK)
7650     {
7651         if( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL,
7652             simpleTypeValidationResult,
7653             HASH_ELEMENT_LINES,
7654             HASH_ATTRIBUTE_material,
7655             attributeValue) )
7656         {
7657             return false;
7658         }
7659     }
7660     } // validation
7661 #endif
7662 
7663     break;
7664     }
7665     default:
7666     {
7667         if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_UNKNOWN_ATTRIBUTE, HASH_ELEMENT_LINES, attribute, attributeValue))
7668             {return false;}
7669     }
7670     }
7671     }
7672 }
7673 if ( (attributeData->present_attributes & lines__AttributeData::ATTRIBUTE_COUNT_PRESENT) == 0 )
7674 {
7675     if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_REQUIRED_ATTRIBUTE_MISSING, HASH_ELEMENT_LINES, HASH_ATTRIBUTE_count, 0 ) )
7676         return false;
7677 }
7678 
7679 
7680     return true;
7681 }
7682 
7683 //---------------------------------------------------------------------
_preEnd__lines()7684 bool ColladaParserAutoGen14Private::_preEnd__lines()
7685 {
7686 #ifdef GENERATEDSAXPARSER_VALIDATION
7687     if ( mValidate )
7688     {
7689 
7690         bool validationResult = _validateEnd__lines();
7691         if ( !validationResult ) return false;
7692 
7693     } // validation
7694 #endif
7695 
7696     return true;
7697 }
7698 
7699 //---------------------------------------------------------------------
_freeAttributes__lines(void * attributeData)7700 bool ColladaParserAutoGen14Private::_freeAttributes__lines( void* attributeData )
7701 {
7702     lines__AttributeData* typedAttributeData = static_cast<lines__AttributeData*>(attributeData);
7703 
7704     typedAttributeData->~lines__AttributeData();
7705 
7706     return true;
7707 }
7708 
7709 //---------------------------------------------------------------------
_data__p(const ParserChar * text,size_t textLength)7710 bool ColladaParserAutoGen14Private::_data__p( const ParserChar* text, size_t textLength )
7711 {
7712 #ifdef GENERATEDSAXPARSER_VALIDATION
7713     if ( mValidate )
7714     {
7715 return characterData2Uint64Data(text, textLength, &ColladaParserAutoGen14::data__p, 0, 0, 0);
7716     }
7717     else
7718     {
7719 return characterData2Uint64Data(text, textLength, &ColladaParserAutoGen14::data__p);
7720     }
7721 #else
7722     {
7723 return characterData2Uint64Data(text, textLength, &ColladaParserAutoGen14::data__p);
7724     } // validation
7725 #endif
7726 
7727 }
7728 
7729 //---------------------------------------------------------------------
_preBegin__p(const ParserAttributes & attributes,void ** attributeDataPtr,void ** validationDataPtr)7730 bool ColladaParserAutoGen14Private::_preBegin__p( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
7731 {
7732 #ifdef GENERATEDSAXPARSER_VALIDATION
7733     if ( mValidate )
7734     {
7735 
7736         bool validationResult = _validateBegin__p( attributes, attributeDataPtr, validationDataPtr );
7737         if ( !validationResult ) return false;
7738 
7739     } // validation
7740 #endif
7741 
7742     return true;
7743 }
7744 
7745 //---------------------------------------------------------------------
_preEnd__p()7746 bool ColladaParserAutoGen14Private::_preEnd__p()
7747 {
7748 #ifdef GENERATEDSAXPARSER_VALIDATION
7749     if ( mValidate )
7750     {
7751 
7752         bool validationResult = _validateEnd__p();
7753         if ( !validationResult ) return false;
7754 
7755     } // validation
7756 #endif
7757 
7758 #ifdef GENERATEDSAXPARSER_VALIDATION
7759     if ( mValidate )
7760     {
7761 bool returnValue = uint64DataEnd( &ColladaParserAutoGen14::data__p, 0, 0, 0 );
7762         return returnValue;
7763     }
7764     else
7765     {
7766 return uint64DataEnd( &ColladaParserAutoGen14::data__p );
7767     }
7768 #else
7769     {
7770 return uint64DataEnd( &ColladaParserAutoGen14::data__p );
7771     } // validation
7772 #endif
7773 
7774 }
7775 
7776 //---------------------------------------------------------------------
_freeAttributes__p(void * attributeData)7777 bool ColladaParserAutoGen14Private::_freeAttributes__p( void* attributeData )
7778 {
7779     return true;
7780 }
7781 
7782 //---------------------------------------------------------------------
7783 const linestrips__AttributeData linestrips__AttributeData::DEFAULT = {0, 0, 0, 0};
7784 
7785 //---------------------------------------------------------------------
_data__linestrips(const ParserChar * text,size_t textLength)7786 bool ColladaParserAutoGen14Private::_data__linestrips( const ParserChar* text, size_t textLength )
7787 {
7788     return true;
7789 }
7790 
7791 //---------------------------------------------------------------------
_preBegin__linestrips(const ParserAttributes & attributes,void ** attributeDataPtr,void ** validationDataPtr)7792 bool ColladaParserAutoGen14Private::_preBegin__linestrips( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
7793 {
7794 #ifdef GENERATEDSAXPARSER_VALIDATION
7795     if ( mValidate )
7796     {
7797 
7798         bool validationResult = _validateBegin__linestrips( attributes, attributeDataPtr, validationDataPtr );
7799         if ( !validationResult ) return false;
7800 
7801     } // validation
7802 #endif
7803 
7804 linestrips__AttributeData* attributeData = newData<linestrips__AttributeData>(attributeDataPtr);
7805 
7806 const ParserChar** attributeArray = attributes.attributes;
7807 if ( attributeArray )
7808 {
7809     while (true)
7810     {
7811         const ParserChar * attribute = *attributeArray;
7812         if ( !attribute )
7813             break;
7814         StringHash hash = GeneratedSaxParser::Utils::calculateStringHash(attribute);
7815         attributeArray++;
7816         if ( !attributeArray )
7817             return false;
7818         const ParserChar* attributeValue = *attributeArray;
7819         attributeArray++;
7820 
7821 
7822     switch ( hash )
7823     {
7824     case HASH_ATTRIBUTE_name:
7825     {
7826 
7827 attributeData->name = attributeValue;
7828 #ifdef GENERATEDSAXPARSER_VALIDATION
7829     if ( mValidate )
7830     {
7831     ParserError::ErrorType simpleTypeValidationResult = validate__NCName(attributeData->name, strlen(attributeData->name));
7832     if (simpleTypeValidationResult != ParserError::SIMPLE_TYPE_VALIDATION_OK)
7833     {
7834         if( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL,
7835             simpleTypeValidationResult,
7836             HASH_ELEMENT_LINESTRIPS,
7837             HASH_ATTRIBUTE_name,
7838             attributeValue) )
7839         {
7840             return false;
7841         }
7842     }
7843     } // validation
7844 #endif
7845 
7846     break;
7847     }
7848     case HASH_ATTRIBUTE_count:
7849     {
7850 bool failed;
7851 attributeData->count = GeneratedSaxParser::Utils::toUint64(attributeValue, failed);
7852 if ( failed && handleError(ParserError::SEVERITY_ERROR_NONCRITICAL,
7853         ParserError::ERROR_ATTRIBUTE_PARSING_FAILED,
7854         HASH_ELEMENT_LINESTRIPS,
7855         HASH_ATTRIBUTE_count,
7856         attributeValue))
7857 {
7858     return false;
7859 }
7860 if ( !failed )
7861     attributeData->present_attributes |= linestrips__AttributeData::ATTRIBUTE_COUNT_PRESENT;
7862 
7863     break;
7864     }
7865     case HASH_ATTRIBUTE_material:
7866     {
7867 
7868 attributeData->material = attributeValue;
7869 #ifdef GENERATEDSAXPARSER_VALIDATION
7870     if ( mValidate )
7871     {
7872     ParserError::ErrorType simpleTypeValidationResult = validate__NCName(attributeData->material, strlen(attributeData->material));
7873     if (simpleTypeValidationResult != ParserError::SIMPLE_TYPE_VALIDATION_OK)
7874     {
7875         if( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL,
7876             simpleTypeValidationResult,
7877             HASH_ELEMENT_LINESTRIPS,
7878             HASH_ATTRIBUTE_material,
7879             attributeValue) )
7880         {
7881             return false;
7882         }
7883     }
7884     } // validation
7885 #endif
7886 
7887     break;
7888     }
7889     default:
7890     {
7891         if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_UNKNOWN_ATTRIBUTE, HASH_ELEMENT_LINESTRIPS, attribute, attributeValue))
7892             {return false;}
7893     }
7894     }
7895     }
7896 }
7897 if ( (attributeData->present_attributes & linestrips__AttributeData::ATTRIBUTE_COUNT_PRESENT) == 0 )
7898 {
7899     if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_REQUIRED_ATTRIBUTE_MISSING, HASH_ELEMENT_LINESTRIPS, HASH_ATTRIBUTE_count, 0 ) )
7900         return false;
7901 }
7902 
7903 
7904     return true;
7905 }
7906 
7907 //---------------------------------------------------------------------
_preEnd__linestrips()7908 bool ColladaParserAutoGen14Private::_preEnd__linestrips()
7909 {
7910 #ifdef GENERATEDSAXPARSER_VALIDATION
7911     if ( mValidate )
7912     {
7913 
7914         bool validationResult = _validateEnd__linestrips();
7915         if ( !validationResult ) return false;
7916 
7917     } // validation
7918 #endif
7919 
7920     return true;
7921 }
7922 
7923 //---------------------------------------------------------------------
_freeAttributes__linestrips(void * attributeData)7924 bool ColladaParserAutoGen14Private::_freeAttributes__linestrips( void* attributeData )
7925 {
7926     linestrips__AttributeData* typedAttributeData = static_cast<linestrips__AttributeData*>(attributeData);
7927 
7928     typedAttributeData->~linestrips__AttributeData();
7929 
7930     return true;
7931 }
7932 
7933 //---------------------------------------------------------------------
7934 const polygons__AttributeData polygons__AttributeData::DEFAULT = {0, 0, 0, 0};
7935 
7936 //---------------------------------------------------------------------
_data__polygons(const ParserChar * text,size_t textLength)7937 bool ColladaParserAutoGen14Private::_data__polygons( const ParserChar* text, size_t textLength )
7938 {
7939     return true;
7940 }
7941 
7942 //---------------------------------------------------------------------
_preBegin__polygons(const ParserAttributes & attributes,void ** attributeDataPtr,void ** validationDataPtr)7943 bool ColladaParserAutoGen14Private::_preBegin__polygons( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
7944 {
7945 #ifdef GENERATEDSAXPARSER_VALIDATION
7946     if ( mValidate )
7947     {
7948 
7949         bool validationResult = _validateBegin__polygons( attributes, attributeDataPtr, validationDataPtr );
7950         if ( !validationResult ) return false;
7951 
7952     } // validation
7953 #endif
7954 
7955 polygons__AttributeData* attributeData = newData<polygons__AttributeData>(attributeDataPtr);
7956 
7957 const ParserChar** attributeArray = attributes.attributes;
7958 if ( attributeArray )
7959 {
7960     while (true)
7961     {
7962         const ParserChar * attribute = *attributeArray;
7963         if ( !attribute )
7964             break;
7965         StringHash hash = GeneratedSaxParser::Utils::calculateStringHash(attribute);
7966         attributeArray++;
7967         if ( !attributeArray )
7968             return false;
7969         const ParserChar* attributeValue = *attributeArray;
7970         attributeArray++;
7971 
7972 
7973     switch ( hash )
7974     {
7975     case HASH_ATTRIBUTE_name:
7976     {
7977 
7978 attributeData->name = attributeValue;
7979 #ifdef GENERATEDSAXPARSER_VALIDATION
7980     if ( mValidate )
7981     {
7982     ParserError::ErrorType simpleTypeValidationResult = validate__NCName(attributeData->name, strlen(attributeData->name));
7983     if (simpleTypeValidationResult != ParserError::SIMPLE_TYPE_VALIDATION_OK)
7984     {
7985         if( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL,
7986             simpleTypeValidationResult,
7987             HASH_ELEMENT_POLYGONS,
7988             HASH_ATTRIBUTE_name,
7989             attributeValue) )
7990         {
7991             return false;
7992         }
7993     }
7994     } // validation
7995 #endif
7996 
7997     break;
7998     }
7999     case HASH_ATTRIBUTE_count:
8000     {
8001 bool failed;
8002 attributeData->count = GeneratedSaxParser::Utils::toUint64(attributeValue, failed);
8003 if ( failed && handleError(ParserError::SEVERITY_ERROR_NONCRITICAL,
8004         ParserError::ERROR_ATTRIBUTE_PARSING_FAILED,
8005         HASH_ELEMENT_POLYGONS,
8006         HASH_ATTRIBUTE_count,
8007         attributeValue))
8008 {
8009     return false;
8010 }
8011 if ( !failed )
8012     attributeData->present_attributes |= polygons__AttributeData::ATTRIBUTE_COUNT_PRESENT;
8013 
8014     break;
8015     }
8016     case HASH_ATTRIBUTE_material:
8017     {
8018 
8019 attributeData->material = attributeValue;
8020 #ifdef GENERATEDSAXPARSER_VALIDATION
8021     if ( mValidate )
8022     {
8023     ParserError::ErrorType simpleTypeValidationResult = validate__NCName(attributeData->material, strlen(attributeData->material));
8024     if (simpleTypeValidationResult != ParserError::SIMPLE_TYPE_VALIDATION_OK)
8025     {
8026         if( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL,
8027             simpleTypeValidationResult,
8028             HASH_ELEMENT_POLYGONS,
8029             HASH_ATTRIBUTE_material,
8030             attributeValue) )
8031         {
8032             return false;
8033         }
8034     }
8035     } // validation
8036 #endif
8037 
8038     break;
8039     }
8040     default:
8041     {
8042         if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_UNKNOWN_ATTRIBUTE, HASH_ELEMENT_POLYGONS, attribute, attributeValue))
8043             {return false;}
8044     }
8045     }
8046     }
8047 }
8048 if ( (attributeData->present_attributes & polygons__AttributeData::ATTRIBUTE_COUNT_PRESENT) == 0 )
8049 {
8050     if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_REQUIRED_ATTRIBUTE_MISSING, HASH_ELEMENT_POLYGONS, HASH_ATTRIBUTE_count, 0 ) )
8051         return false;
8052 }
8053 
8054 
8055     return true;
8056 }
8057 
8058 //---------------------------------------------------------------------
_preEnd__polygons()8059 bool ColladaParserAutoGen14Private::_preEnd__polygons()
8060 {
8061 #ifdef GENERATEDSAXPARSER_VALIDATION
8062     if ( mValidate )
8063     {
8064 
8065         bool validationResult = _validateEnd__polygons();
8066         if ( !validationResult ) return false;
8067 
8068     } // validation
8069 #endif
8070 
8071     return true;
8072 }
8073 
8074 //---------------------------------------------------------------------
_freeAttributes__polygons(void * attributeData)8075 bool ColladaParserAutoGen14Private::_freeAttributes__polygons( void* attributeData )
8076 {
8077     polygons__AttributeData* typedAttributeData = static_cast<polygons__AttributeData*>(attributeData);
8078 
8079     typedAttributeData->~polygons__AttributeData();
8080 
8081     return true;
8082 }
8083 
8084 //---------------------------------------------------------------------
_data__ph(const ParserChar * text,size_t textLength)8085 bool ColladaParserAutoGen14Private::_data__ph( const ParserChar* text, size_t textLength )
8086 {
8087     return true;
8088 }
8089 
8090 //---------------------------------------------------------------------
_preBegin__ph(const ParserAttributes & attributes,void ** attributeDataPtr,void ** validationDataPtr)8091 bool ColladaParserAutoGen14Private::_preBegin__ph( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
8092 {
8093 #ifdef GENERATEDSAXPARSER_VALIDATION
8094     if ( mValidate )
8095     {
8096 
8097         bool validationResult = _validateBegin__ph( attributes, attributeDataPtr, validationDataPtr );
8098         if ( !validationResult ) return false;
8099 
8100     } // validation
8101 #endif
8102 
8103     return true;
8104 }
8105 
8106 //---------------------------------------------------------------------
_preEnd__ph()8107 bool ColladaParserAutoGen14Private::_preEnd__ph()
8108 {
8109 #ifdef GENERATEDSAXPARSER_VALIDATION
8110     if ( mValidate )
8111     {
8112 
8113         bool validationResult = _validateEnd__ph();
8114         if ( !validationResult ) return false;
8115 
8116     } // validation
8117 #endif
8118 
8119     return true;
8120 }
8121 
8122 //---------------------------------------------------------------------
_freeAttributes__ph(void * attributeData)8123 bool ColladaParserAutoGen14Private::_freeAttributes__ph( void* attributeData )
8124 {
8125     return true;
8126 }
8127 
8128 //---------------------------------------------------------------------
_data__h(const ParserChar * text,size_t textLength)8129 bool ColladaParserAutoGen14Private::_data__h( const ParserChar* text, size_t textLength )
8130 {
8131 #ifdef GENERATEDSAXPARSER_VALIDATION
8132     if ( mValidate )
8133     {
8134 return characterData2Uint64Data(text, textLength, &ColladaParserAutoGen14::data__h, 0, 0, 0);
8135     }
8136     else
8137     {
8138 return characterData2Uint64Data(text, textLength, &ColladaParserAutoGen14::data__h);
8139     }
8140 #else
8141     {
8142 return characterData2Uint64Data(text, textLength, &ColladaParserAutoGen14::data__h);
8143     } // validation
8144 #endif
8145 
8146 }
8147 
8148 //---------------------------------------------------------------------
_preBegin__h(const ParserAttributes & attributes,void ** attributeDataPtr,void ** validationDataPtr)8149 bool ColladaParserAutoGen14Private::_preBegin__h( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
8150 {
8151 #ifdef GENERATEDSAXPARSER_VALIDATION
8152     if ( mValidate )
8153     {
8154 
8155         bool validationResult = _validateBegin__h( attributes, attributeDataPtr, validationDataPtr );
8156         if ( !validationResult ) return false;
8157 
8158     } // validation
8159 #endif
8160 
8161     return true;
8162 }
8163 
8164 //---------------------------------------------------------------------
_preEnd__h()8165 bool ColladaParserAutoGen14Private::_preEnd__h()
8166 {
8167 #ifdef GENERATEDSAXPARSER_VALIDATION
8168     if ( mValidate )
8169     {
8170 
8171         bool validationResult = _validateEnd__h();
8172         if ( !validationResult ) return false;
8173 
8174     } // validation
8175 #endif
8176 
8177 #ifdef GENERATEDSAXPARSER_VALIDATION
8178     if ( mValidate )
8179     {
8180 bool returnValue = uint64DataEnd( &ColladaParserAutoGen14::data__h, 0, 0, 0 );
8181         return returnValue;
8182     }
8183     else
8184     {
8185 return uint64DataEnd( &ColladaParserAutoGen14::data__h );
8186     }
8187 #else
8188     {
8189 return uint64DataEnd( &ColladaParserAutoGen14::data__h );
8190     } // validation
8191 #endif
8192 
8193 }
8194 
8195 //---------------------------------------------------------------------
_freeAttributes__h(void * attributeData)8196 bool ColladaParserAutoGen14Private::_freeAttributes__h( void* attributeData )
8197 {
8198     return true;
8199 }
8200 
8201 //---------------------------------------------------------------------
8202 const polylist__AttributeData polylist__AttributeData::DEFAULT = {0, 0, 0, 0};
8203 
8204 //---------------------------------------------------------------------
_data__polylist(const ParserChar * text,size_t textLength)8205 bool ColladaParserAutoGen14Private::_data__polylist( const ParserChar* text, size_t textLength )
8206 {
8207     return true;
8208 }
8209 
8210 //---------------------------------------------------------------------
_preBegin__polylist(const ParserAttributes & attributes,void ** attributeDataPtr,void ** validationDataPtr)8211 bool ColladaParserAutoGen14Private::_preBegin__polylist( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
8212 {
8213 #ifdef GENERATEDSAXPARSER_VALIDATION
8214     if ( mValidate )
8215     {
8216 
8217         bool validationResult = _validateBegin__polylist( attributes, attributeDataPtr, validationDataPtr );
8218         if ( !validationResult ) return false;
8219 
8220     } // validation
8221 #endif
8222 
8223 polylist__AttributeData* attributeData = newData<polylist__AttributeData>(attributeDataPtr);
8224 
8225 const ParserChar** attributeArray = attributes.attributes;
8226 if ( attributeArray )
8227 {
8228     while (true)
8229     {
8230         const ParserChar * attribute = *attributeArray;
8231         if ( !attribute )
8232             break;
8233         StringHash hash = GeneratedSaxParser::Utils::calculateStringHash(attribute);
8234         attributeArray++;
8235         if ( !attributeArray )
8236             return false;
8237         const ParserChar* attributeValue = *attributeArray;
8238         attributeArray++;
8239 
8240 
8241     switch ( hash )
8242     {
8243     case HASH_ATTRIBUTE_name:
8244     {
8245 
8246 attributeData->name = attributeValue;
8247 #ifdef GENERATEDSAXPARSER_VALIDATION
8248     if ( mValidate )
8249     {
8250     ParserError::ErrorType simpleTypeValidationResult = validate__NCName(attributeData->name, strlen(attributeData->name));
8251     if (simpleTypeValidationResult != ParserError::SIMPLE_TYPE_VALIDATION_OK)
8252     {
8253         if( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL,
8254             simpleTypeValidationResult,
8255             HASH_ELEMENT_POLYLIST,
8256             HASH_ATTRIBUTE_name,
8257             attributeValue) )
8258         {
8259             return false;
8260         }
8261     }
8262     } // validation
8263 #endif
8264 
8265     break;
8266     }
8267     case HASH_ATTRIBUTE_count:
8268     {
8269 bool failed;
8270 attributeData->count = GeneratedSaxParser::Utils::toUint64(attributeValue, failed);
8271 if ( failed && handleError(ParserError::SEVERITY_ERROR_NONCRITICAL,
8272         ParserError::ERROR_ATTRIBUTE_PARSING_FAILED,
8273         HASH_ELEMENT_POLYLIST,
8274         HASH_ATTRIBUTE_count,
8275         attributeValue))
8276 {
8277     return false;
8278 }
8279 if ( !failed )
8280     attributeData->present_attributes |= polylist__AttributeData::ATTRIBUTE_COUNT_PRESENT;
8281 
8282     break;
8283     }
8284     case HASH_ATTRIBUTE_material:
8285     {
8286 
8287 attributeData->material = attributeValue;
8288 #ifdef GENERATEDSAXPARSER_VALIDATION
8289     if ( mValidate )
8290     {
8291     ParserError::ErrorType simpleTypeValidationResult = validate__NCName(attributeData->material, strlen(attributeData->material));
8292     if (simpleTypeValidationResult != ParserError::SIMPLE_TYPE_VALIDATION_OK)
8293     {
8294         if( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL,
8295             simpleTypeValidationResult,
8296             HASH_ELEMENT_POLYLIST,
8297             HASH_ATTRIBUTE_material,
8298             attributeValue) )
8299         {
8300             return false;
8301         }
8302     }
8303     } // validation
8304 #endif
8305 
8306     break;
8307     }
8308     default:
8309     {
8310         if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_UNKNOWN_ATTRIBUTE, HASH_ELEMENT_POLYLIST, attribute, attributeValue))
8311             {return false;}
8312     }
8313     }
8314     }
8315 }
8316 if ( (attributeData->present_attributes & polylist__AttributeData::ATTRIBUTE_COUNT_PRESENT) == 0 )
8317 {
8318     if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_REQUIRED_ATTRIBUTE_MISSING, HASH_ELEMENT_POLYLIST, HASH_ATTRIBUTE_count, 0 ) )
8319         return false;
8320 }
8321 
8322 
8323     return true;
8324 }
8325 
8326 //---------------------------------------------------------------------
_preEnd__polylist()8327 bool ColladaParserAutoGen14Private::_preEnd__polylist()
8328 {
8329 #ifdef GENERATEDSAXPARSER_VALIDATION
8330     if ( mValidate )
8331     {
8332 
8333         bool validationResult = _validateEnd__polylist();
8334         if ( !validationResult ) return false;
8335 
8336     } // validation
8337 #endif
8338 
8339     return true;
8340 }
8341 
8342 //---------------------------------------------------------------------
_freeAttributes__polylist(void * attributeData)8343 bool ColladaParserAutoGen14Private::_freeAttributes__polylist( void* attributeData )
8344 {
8345     polylist__AttributeData* typedAttributeData = static_cast<polylist__AttributeData*>(attributeData);
8346 
8347     typedAttributeData->~polylist__AttributeData();
8348 
8349     return true;
8350 }
8351 
8352 //---------------------------------------------------------------------
8353 const triangles__AttributeData triangles__AttributeData::DEFAULT = {0, 0, 0, 0};
8354 
8355 //---------------------------------------------------------------------
_data__triangles(const ParserChar * text,size_t textLength)8356 bool ColladaParserAutoGen14Private::_data__triangles( const ParserChar* text, size_t textLength )
8357 {
8358     return true;
8359 }
8360 
8361 //---------------------------------------------------------------------
_preBegin__triangles(const ParserAttributes & attributes,void ** attributeDataPtr,void ** validationDataPtr)8362 bool ColladaParserAutoGen14Private::_preBegin__triangles( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
8363 {
8364 #ifdef GENERATEDSAXPARSER_VALIDATION
8365     if ( mValidate )
8366     {
8367 
8368         bool validationResult = _validateBegin__triangles( attributes, attributeDataPtr, validationDataPtr );
8369         if ( !validationResult ) return false;
8370 
8371     } // validation
8372 #endif
8373 
8374 triangles__AttributeData* attributeData = newData<triangles__AttributeData>(attributeDataPtr);
8375 
8376 const ParserChar** attributeArray = attributes.attributes;
8377 if ( attributeArray )
8378 {
8379     while (true)
8380     {
8381         const ParserChar * attribute = *attributeArray;
8382         if ( !attribute )
8383             break;
8384         StringHash hash = GeneratedSaxParser::Utils::calculateStringHash(attribute);
8385         attributeArray++;
8386         if ( !attributeArray )
8387             return false;
8388         const ParserChar* attributeValue = *attributeArray;
8389         attributeArray++;
8390 
8391 
8392     switch ( hash )
8393     {
8394     case HASH_ATTRIBUTE_name:
8395     {
8396 
8397 attributeData->name = attributeValue;
8398 #ifdef GENERATEDSAXPARSER_VALIDATION
8399     if ( mValidate )
8400     {
8401     ParserError::ErrorType simpleTypeValidationResult = validate__NCName(attributeData->name, strlen(attributeData->name));
8402     if (simpleTypeValidationResult != ParserError::SIMPLE_TYPE_VALIDATION_OK)
8403     {
8404         if( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL,
8405             simpleTypeValidationResult,
8406             HASH_ELEMENT_TRIANGLES,
8407             HASH_ATTRIBUTE_name,
8408             attributeValue) )
8409         {
8410             return false;
8411         }
8412     }
8413     } // validation
8414 #endif
8415 
8416     break;
8417     }
8418     case HASH_ATTRIBUTE_count:
8419     {
8420 bool failed;
8421 attributeData->count = GeneratedSaxParser::Utils::toUint64(attributeValue, failed);
8422 if ( failed && handleError(ParserError::SEVERITY_ERROR_NONCRITICAL,
8423         ParserError::ERROR_ATTRIBUTE_PARSING_FAILED,
8424         HASH_ELEMENT_TRIANGLES,
8425         HASH_ATTRIBUTE_count,
8426         attributeValue))
8427 {
8428     return false;
8429 }
8430 if ( !failed )
8431     attributeData->present_attributes |= triangles__AttributeData::ATTRIBUTE_COUNT_PRESENT;
8432 
8433     break;
8434     }
8435     case HASH_ATTRIBUTE_material:
8436     {
8437 
8438 attributeData->material = attributeValue;
8439 #ifdef GENERATEDSAXPARSER_VALIDATION
8440     if ( mValidate )
8441     {
8442     ParserError::ErrorType simpleTypeValidationResult = validate__NCName(attributeData->material, strlen(attributeData->material));
8443     if (simpleTypeValidationResult != ParserError::SIMPLE_TYPE_VALIDATION_OK)
8444     {
8445         if( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL,
8446             simpleTypeValidationResult,
8447             HASH_ELEMENT_TRIANGLES,
8448             HASH_ATTRIBUTE_material,
8449             attributeValue) )
8450         {
8451             return false;
8452         }
8453     }
8454     } // validation
8455 #endif
8456 
8457     break;
8458     }
8459     default:
8460     {
8461         if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_UNKNOWN_ATTRIBUTE, HASH_ELEMENT_TRIANGLES, attribute, attributeValue))
8462             {return false;}
8463     }
8464     }
8465     }
8466 }
8467 if ( (attributeData->present_attributes & triangles__AttributeData::ATTRIBUTE_COUNT_PRESENT) == 0 )
8468 {
8469     if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_REQUIRED_ATTRIBUTE_MISSING, HASH_ELEMENT_TRIANGLES, HASH_ATTRIBUTE_count, 0 ) )
8470         return false;
8471 }
8472 
8473 
8474     return true;
8475 }
8476 
8477 //---------------------------------------------------------------------
_preEnd__triangles()8478 bool ColladaParserAutoGen14Private::_preEnd__triangles()
8479 {
8480 #ifdef GENERATEDSAXPARSER_VALIDATION
8481     if ( mValidate )
8482     {
8483 
8484         bool validationResult = _validateEnd__triangles();
8485         if ( !validationResult ) return false;
8486 
8487     } // validation
8488 #endif
8489 
8490     return true;
8491 }
8492 
8493 //---------------------------------------------------------------------
_freeAttributes__triangles(void * attributeData)8494 bool ColladaParserAutoGen14Private::_freeAttributes__triangles( void* attributeData )
8495 {
8496     triangles__AttributeData* typedAttributeData = static_cast<triangles__AttributeData*>(attributeData);
8497 
8498     typedAttributeData->~triangles__AttributeData();
8499 
8500     return true;
8501 }
8502 
8503 //---------------------------------------------------------------------
8504 const trifans__AttributeData trifans__AttributeData::DEFAULT = {0, 0, 0, 0};
8505 
8506 //---------------------------------------------------------------------
_data__trifans(const ParserChar * text,size_t textLength)8507 bool ColladaParserAutoGen14Private::_data__trifans( const ParserChar* text, size_t textLength )
8508 {
8509     return true;
8510 }
8511 
8512 //---------------------------------------------------------------------
_preBegin__trifans(const ParserAttributes & attributes,void ** attributeDataPtr,void ** validationDataPtr)8513 bool ColladaParserAutoGen14Private::_preBegin__trifans( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
8514 {
8515 #ifdef GENERATEDSAXPARSER_VALIDATION
8516     if ( mValidate )
8517     {
8518 
8519         bool validationResult = _validateBegin__trifans( attributes, attributeDataPtr, validationDataPtr );
8520         if ( !validationResult ) return false;
8521 
8522     } // validation
8523 #endif
8524 
8525 trifans__AttributeData* attributeData = newData<trifans__AttributeData>(attributeDataPtr);
8526 
8527 const ParserChar** attributeArray = attributes.attributes;
8528 if ( attributeArray )
8529 {
8530     while (true)
8531     {
8532         const ParserChar * attribute = *attributeArray;
8533         if ( !attribute )
8534             break;
8535         StringHash hash = GeneratedSaxParser::Utils::calculateStringHash(attribute);
8536         attributeArray++;
8537         if ( !attributeArray )
8538             return false;
8539         const ParserChar* attributeValue = *attributeArray;
8540         attributeArray++;
8541 
8542 
8543     switch ( hash )
8544     {
8545     case HASH_ATTRIBUTE_name:
8546     {
8547 
8548 attributeData->name = attributeValue;
8549 #ifdef GENERATEDSAXPARSER_VALIDATION
8550     if ( mValidate )
8551     {
8552     ParserError::ErrorType simpleTypeValidationResult = validate__NCName(attributeData->name, strlen(attributeData->name));
8553     if (simpleTypeValidationResult != ParserError::SIMPLE_TYPE_VALIDATION_OK)
8554     {
8555         if( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL,
8556             simpleTypeValidationResult,
8557             HASH_ELEMENT_TRIFANS,
8558             HASH_ATTRIBUTE_name,
8559             attributeValue) )
8560         {
8561             return false;
8562         }
8563     }
8564     } // validation
8565 #endif
8566 
8567     break;
8568     }
8569     case HASH_ATTRIBUTE_count:
8570     {
8571 bool failed;
8572 attributeData->count = GeneratedSaxParser::Utils::toUint64(attributeValue, failed);
8573 if ( failed && handleError(ParserError::SEVERITY_ERROR_NONCRITICAL,
8574         ParserError::ERROR_ATTRIBUTE_PARSING_FAILED,
8575         HASH_ELEMENT_TRIFANS,
8576         HASH_ATTRIBUTE_count,
8577         attributeValue))
8578 {
8579     return false;
8580 }
8581 if ( !failed )
8582     attributeData->present_attributes |= trifans__AttributeData::ATTRIBUTE_COUNT_PRESENT;
8583 
8584     break;
8585     }
8586     case HASH_ATTRIBUTE_material:
8587     {
8588 
8589 attributeData->material = attributeValue;
8590 #ifdef GENERATEDSAXPARSER_VALIDATION
8591     if ( mValidate )
8592     {
8593     ParserError::ErrorType simpleTypeValidationResult = validate__NCName(attributeData->material, strlen(attributeData->material));
8594     if (simpleTypeValidationResult != ParserError::SIMPLE_TYPE_VALIDATION_OK)
8595     {
8596         if( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL,
8597             simpleTypeValidationResult,
8598             HASH_ELEMENT_TRIFANS,
8599             HASH_ATTRIBUTE_material,
8600             attributeValue) )
8601         {
8602             return false;
8603         }
8604     }
8605     } // validation
8606 #endif
8607 
8608     break;
8609     }
8610     default:
8611     {
8612         if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_UNKNOWN_ATTRIBUTE, HASH_ELEMENT_TRIFANS, attribute, attributeValue))
8613             {return false;}
8614     }
8615     }
8616     }
8617 }
8618 if ( (attributeData->present_attributes & trifans__AttributeData::ATTRIBUTE_COUNT_PRESENT) == 0 )
8619 {
8620     if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_REQUIRED_ATTRIBUTE_MISSING, HASH_ELEMENT_TRIFANS, HASH_ATTRIBUTE_count, 0 ) )
8621         return false;
8622 }
8623 
8624 
8625     return true;
8626 }
8627 
8628 //---------------------------------------------------------------------
_preEnd__trifans()8629 bool ColladaParserAutoGen14Private::_preEnd__trifans()
8630 {
8631 #ifdef GENERATEDSAXPARSER_VALIDATION
8632     if ( mValidate )
8633     {
8634 
8635         bool validationResult = _validateEnd__trifans();
8636         if ( !validationResult ) return false;
8637 
8638     } // validation
8639 #endif
8640 
8641     return true;
8642 }
8643 
8644 //---------------------------------------------------------------------
_freeAttributes__trifans(void * attributeData)8645 bool ColladaParserAutoGen14Private::_freeAttributes__trifans( void* attributeData )
8646 {
8647     trifans__AttributeData* typedAttributeData = static_cast<trifans__AttributeData*>(attributeData);
8648 
8649     typedAttributeData->~trifans__AttributeData();
8650 
8651     return true;
8652 }
8653 
8654 //---------------------------------------------------------------------
8655 const tristrips__AttributeData tristrips__AttributeData::DEFAULT = {0, 0, 0, 0};
8656 
8657 //---------------------------------------------------------------------
_data__tristrips(const ParserChar * text,size_t textLength)8658 bool ColladaParserAutoGen14Private::_data__tristrips( const ParserChar* text, size_t textLength )
8659 {
8660     return true;
8661 }
8662 
8663 //---------------------------------------------------------------------
_preBegin__tristrips(const ParserAttributes & attributes,void ** attributeDataPtr,void ** validationDataPtr)8664 bool ColladaParserAutoGen14Private::_preBegin__tristrips( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
8665 {
8666 #ifdef GENERATEDSAXPARSER_VALIDATION
8667     if ( mValidate )
8668     {
8669 
8670         bool validationResult = _validateBegin__tristrips( attributes, attributeDataPtr, validationDataPtr );
8671         if ( !validationResult ) return false;
8672 
8673     } // validation
8674 #endif
8675 
8676 tristrips__AttributeData* attributeData = newData<tristrips__AttributeData>(attributeDataPtr);
8677 
8678 const ParserChar** attributeArray = attributes.attributes;
8679 if ( attributeArray )
8680 {
8681     while (true)
8682     {
8683         const ParserChar * attribute = *attributeArray;
8684         if ( !attribute )
8685             break;
8686         StringHash hash = GeneratedSaxParser::Utils::calculateStringHash(attribute);
8687         attributeArray++;
8688         if ( !attributeArray )
8689             return false;
8690         const ParserChar* attributeValue = *attributeArray;
8691         attributeArray++;
8692 
8693 
8694     switch ( hash )
8695     {
8696     case HASH_ATTRIBUTE_name:
8697     {
8698 
8699 attributeData->name = attributeValue;
8700 #ifdef GENERATEDSAXPARSER_VALIDATION
8701     if ( mValidate )
8702     {
8703     ParserError::ErrorType simpleTypeValidationResult = validate__NCName(attributeData->name, strlen(attributeData->name));
8704     if (simpleTypeValidationResult != ParserError::SIMPLE_TYPE_VALIDATION_OK)
8705     {
8706         if( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL,
8707             simpleTypeValidationResult,
8708             HASH_ELEMENT_TRISTRIPS,
8709             HASH_ATTRIBUTE_name,
8710             attributeValue) )
8711         {
8712             return false;
8713         }
8714     }
8715     } // validation
8716 #endif
8717 
8718     break;
8719     }
8720     case HASH_ATTRIBUTE_count:
8721     {
8722 bool failed;
8723 attributeData->count = GeneratedSaxParser::Utils::toUint64(attributeValue, failed);
8724 if ( failed && handleError(ParserError::SEVERITY_ERROR_NONCRITICAL,
8725         ParserError::ERROR_ATTRIBUTE_PARSING_FAILED,
8726         HASH_ELEMENT_TRISTRIPS,
8727         HASH_ATTRIBUTE_count,
8728         attributeValue))
8729 {
8730     return false;
8731 }
8732 if ( !failed )
8733     attributeData->present_attributes |= tristrips__AttributeData::ATTRIBUTE_COUNT_PRESENT;
8734 
8735     break;
8736     }
8737     case HASH_ATTRIBUTE_material:
8738     {
8739 
8740 attributeData->material = attributeValue;
8741 #ifdef GENERATEDSAXPARSER_VALIDATION
8742     if ( mValidate )
8743     {
8744     ParserError::ErrorType simpleTypeValidationResult = validate__NCName(attributeData->material, strlen(attributeData->material));
8745     if (simpleTypeValidationResult != ParserError::SIMPLE_TYPE_VALIDATION_OK)
8746     {
8747         if( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL,
8748             simpleTypeValidationResult,
8749             HASH_ELEMENT_TRISTRIPS,
8750             HASH_ATTRIBUTE_material,
8751             attributeValue) )
8752         {
8753             return false;
8754         }
8755     }
8756     } // validation
8757 #endif
8758 
8759     break;
8760     }
8761     default:
8762     {
8763         if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_UNKNOWN_ATTRIBUTE, HASH_ELEMENT_TRISTRIPS, attribute, attributeValue))
8764             {return false;}
8765     }
8766     }
8767     }
8768 }
8769 if ( (attributeData->present_attributes & tristrips__AttributeData::ATTRIBUTE_COUNT_PRESENT) == 0 )
8770 {
8771     if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_REQUIRED_ATTRIBUTE_MISSING, HASH_ELEMENT_TRISTRIPS, HASH_ATTRIBUTE_count, 0 ) )
8772         return false;
8773 }
8774 
8775 
8776     return true;
8777 }
8778 
8779 //---------------------------------------------------------------------
_preEnd__tristrips()8780 bool ColladaParserAutoGen14Private::_preEnd__tristrips()
8781 {
8782 #ifdef GENERATEDSAXPARSER_VALIDATION
8783     if ( mValidate )
8784     {
8785 
8786         bool validationResult = _validateEnd__tristrips();
8787         if ( !validationResult ) return false;
8788 
8789     } // validation
8790 #endif
8791 
8792     return true;
8793 }
8794 
8795 //---------------------------------------------------------------------
_freeAttributes__tristrips(void * attributeData)8796 bool ColladaParserAutoGen14Private::_freeAttributes__tristrips( void* attributeData )
8797 {
8798     tristrips__AttributeData* typedAttributeData = static_cast<tristrips__AttributeData*>(attributeData);
8799 
8800     typedAttributeData->~tristrips__AttributeData();
8801 
8802     return true;
8803 }
8804 
8805 //---------------------------------------------------------------------
_data__mesh(const ParserChar * text,size_t textLength)8806 bool ColladaParserAutoGen14Private::_data__mesh( const ParserChar* text, size_t textLength )
8807 {
8808     return true;
8809 }
8810 
8811 //---------------------------------------------------------------------
_preBegin__mesh(const ParserAttributes & attributes,void ** attributeDataPtr,void ** validationDataPtr)8812 bool ColladaParserAutoGen14Private::_preBegin__mesh( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
8813 {
8814 #ifdef GENERATEDSAXPARSER_VALIDATION
8815     if ( mValidate )
8816     {
8817 
8818         bool validationResult = _validateBegin__mesh( attributes, attributeDataPtr, validationDataPtr );
8819         if ( !validationResult ) return false;
8820 
8821     } // validation
8822 #endif
8823 
8824     return true;
8825 }
8826 
8827 //---------------------------------------------------------------------
_preEnd__mesh()8828 bool ColladaParserAutoGen14Private::_preEnd__mesh()
8829 {
8830 #ifdef GENERATEDSAXPARSER_VALIDATION
8831     if ( mValidate )
8832     {
8833 
8834         bool validationResult = _validateEnd__mesh();
8835         if ( !validationResult ) return false;
8836 
8837     } // validation
8838 #endif
8839 
8840     return true;
8841 }
8842 
8843 //---------------------------------------------------------------------
_freeAttributes__mesh(void * attributeData)8844 bool ColladaParserAutoGen14Private::_freeAttributes__mesh( void* attributeData )
8845 {
8846     return true;
8847 }
8848 
8849 //---------------------------------------------------------------------
8850 const spline__AttributeData spline__AttributeData::DEFAULT = {false};
8851 
8852 //---------------------------------------------------------------------
_data__spline(const ParserChar * text,size_t textLength)8853 bool ColladaParserAutoGen14Private::_data__spline( const ParserChar* text, size_t textLength )
8854 {
8855     return true;
8856 }
8857 
8858 //---------------------------------------------------------------------
_preBegin__spline(const ParserAttributes & attributes,void ** attributeDataPtr,void ** validationDataPtr)8859 bool ColladaParserAutoGen14Private::_preBegin__spline( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
8860 {
8861 #ifdef GENERATEDSAXPARSER_VALIDATION
8862     if ( mValidate )
8863     {
8864 
8865         bool validationResult = _validateBegin__spline( attributes, attributeDataPtr, validationDataPtr );
8866         if ( !validationResult ) return false;
8867 
8868     } // validation
8869 #endif
8870 
8871 spline__AttributeData* attributeData = newData<spline__AttributeData>(attributeDataPtr);
8872 
8873 const ParserChar** attributeArray = attributes.attributes;
8874 if ( attributeArray )
8875 {
8876     while (true)
8877     {
8878         const ParserChar * attribute = *attributeArray;
8879         if ( !attribute )
8880             break;
8881         StringHash hash = GeneratedSaxParser::Utils::calculateStringHash(attribute);
8882         attributeArray++;
8883         if ( !attributeArray )
8884             return false;
8885         const ParserChar* attributeValue = *attributeArray;
8886         attributeArray++;
8887 
8888 
8889     switch ( hash )
8890     {
8891     case HASH_ATTRIBUTE_closed:
8892     {
8893 bool failed;
8894 attributeData->closed = GeneratedSaxParser::Utils::toBool(attributeValue, failed);
8895 if ( failed && handleError(ParserError::SEVERITY_ERROR_NONCRITICAL,
8896         ParserError::ERROR_ATTRIBUTE_PARSING_FAILED,
8897         HASH_ELEMENT_SPLINE,
8898         HASH_ATTRIBUTE_closed,
8899         attributeValue))
8900 {
8901     return false;
8902 }
8903 
8904     break;
8905     }
8906     default:
8907     {
8908         if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_UNKNOWN_ATTRIBUTE, HASH_ELEMENT_SPLINE, attribute, attributeValue))
8909             {return false;}
8910     }
8911     }
8912     }
8913 }
8914 
8915 
8916     return true;
8917 }
8918 
8919 //---------------------------------------------------------------------
_preEnd__spline()8920 bool ColladaParserAutoGen14Private::_preEnd__spline()
8921 {
8922 #ifdef GENERATEDSAXPARSER_VALIDATION
8923     if ( mValidate )
8924     {
8925 
8926         bool validationResult = _validateEnd__spline();
8927         if ( !validationResult ) return false;
8928 
8929     } // validation
8930 #endif
8931 
8932     return true;
8933 }
8934 
8935 //---------------------------------------------------------------------
_freeAttributes__spline(void * attributeData)8936 bool ColladaParserAutoGen14Private::_freeAttributes__spline( void* attributeData )
8937 {
8938     spline__AttributeData* typedAttributeData = static_cast<spline__AttributeData*>(attributeData);
8939 
8940     typedAttributeData->~spline__AttributeData();
8941 
8942     return true;
8943 }
8944 
8945 //---------------------------------------------------------------------
_data__control_vertices(const ParserChar * text,size_t textLength)8946 bool ColladaParserAutoGen14Private::_data__control_vertices( const ParserChar* text, size_t textLength )
8947 {
8948     return true;
8949 }
8950 
8951 //---------------------------------------------------------------------
_preBegin__control_vertices(const ParserAttributes & attributes,void ** attributeDataPtr,void ** validationDataPtr)8952 bool ColladaParserAutoGen14Private::_preBegin__control_vertices( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
8953 {
8954 #ifdef GENERATEDSAXPARSER_VALIDATION
8955     if ( mValidate )
8956     {
8957 
8958         bool validationResult = _validateBegin__control_vertices( attributes, attributeDataPtr, validationDataPtr );
8959         if ( !validationResult ) return false;
8960 
8961     } // validation
8962 #endif
8963 
8964     return true;
8965 }
8966 
8967 //---------------------------------------------------------------------
_preEnd__control_vertices()8968 bool ColladaParserAutoGen14Private::_preEnd__control_vertices()
8969 {
8970 #ifdef GENERATEDSAXPARSER_VALIDATION
8971     if ( mValidate )
8972     {
8973 
8974         bool validationResult = _validateEnd__control_vertices();
8975         if ( !validationResult ) return false;
8976 
8977     } // validation
8978 #endif
8979 
8980     return true;
8981 }
8982 
8983 //---------------------------------------------------------------------
_freeAttributes__control_vertices(void * attributeData)8984 bool ColladaParserAutoGen14Private::_freeAttributes__control_vertices( void* attributeData )
8985 {
8986     return true;
8987 }
8988 
8989 //---------------------------------------------------------------------
8990 const library_effects__AttributeData library_effects__AttributeData::DEFAULT = {0, 0};
8991 
8992 //---------------------------------------------------------------------
_data__library_effects(const ParserChar * text,size_t textLength)8993 bool ColladaParserAutoGen14Private::_data__library_effects( const ParserChar* text, size_t textLength )
8994 {
8995     return true;
8996 }
8997 
8998 //---------------------------------------------------------------------
_preBegin__library_effects(const ParserAttributes & attributes,void ** attributeDataPtr,void ** validationDataPtr)8999 bool ColladaParserAutoGen14Private::_preBegin__library_effects( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
9000 {
9001 #ifdef GENERATEDSAXPARSER_VALIDATION
9002     if ( mValidate )
9003     {
9004 
9005         bool validationResult = _validateBegin__library_effects( attributes, attributeDataPtr, validationDataPtr );
9006         if ( !validationResult ) return false;
9007 
9008     } // validation
9009 #endif
9010 
9011 library_effects__AttributeData* attributeData = newData<library_effects__AttributeData>(attributeDataPtr);
9012 
9013 const ParserChar** attributeArray = attributes.attributes;
9014 if ( attributeArray )
9015 {
9016     while (true)
9017     {
9018         const ParserChar * attribute = *attributeArray;
9019         if ( !attribute )
9020             break;
9021         StringHash hash = GeneratedSaxParser::Utils::calculateStringHash(attribute);
9022         attributeArray++;
9023         if ( !attributeArray )
9024             return false;
9025         const ParserChar* attributeValue = *attributeArray;
9026         attributeArray++;
9027 
9028 
9029     switch ( hash )
9030     {
9031     case HASH_ATTRIBUTE_id:
9032     {
9033 
9034 attributeData->id = attributeValue;
9035 
9036     break;
9037     }
9038     case HASH_ATTRIBUTE_name:
9039     {
9040 
9041 attributeData->name = attributeValue;
9042 #ifdef GENERATEDSAXPARSER_VALIDATION
9043     if ( mValidate )
9044     {
9045     ParserError::ErrorType simpleTypeValidationResult = validate__NCName(attributeData->name, strlen(attributeData->name));
9046     if (simpleTypeValidationResult != ParserError::SIMPLE_TYPE_VALIDATION_OK)
9047     {
9048         if( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL,
9049             simpleTypeValidationResult,
9050             HASH_ELEMENT_LIBRARY_EFFECTS,
9051             HASH_ATTRIBUTE_name,
9052             attributeValue) )
9053         {
9054             return false;
9055         }
9056     }
9057     } // validation
9058 #endif
9059 
9060     break;
9061     }
9062     default:
9063     {
9064         if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_UNKNOWN_ATTRIBUTE, HASH_ELEMENT_LIBRARY_EFFECTS, attribute, attributeValue))
9065             {return false;}
9066     }
9067     }
9068     }
9069 }
9070 
9071 
9072     return true;
9073 }
9074 
9075 //---------------------------------------------------------------------
_preEnd__library_effects()9076 bool ColladaParserAutoGen14Private::_preEnd__library_effects()
9077 {
9078 #ifdef GENERATEDSAXPARSER_VALIDATION
9079     if ( mValidate )
9080     {
9081 
9082         bool validationResult = _validateEnd__library_effects();
9083         if ( !validationResult ) return false;
9084 
9085     } // validation
9086 #endif
9087 
9088     return true;
9089 }
9090 
9091 //---------------------------------------------------------------------
_freeAttributes__library_effects(void * attributeData)9092 bool ColladaParserAutoGen14Private::_freeAttributes__library_effects( void* attributeData )
9093 {
9094     library_effects__AttributeData* typedAttributeData = static_cast<library_effects__AttributeData*>(attributeData);
9095 
9096     typedAttributeData->~library_effects__AttributeData();
9097 
9098     return true;
9099 }
9100 
9101 //---------------------------------------------------------------------
9102 const effect__AttributeData effect__AttributeData::DEFAULT = {0, 0};
9103 
9104 //---------------------------------------------------------------------
_data__effect(const ParserChar * text,size_t textLength)9105 bool ColladaParserAutoGen14Private::_data__effect( const ParserChar* text, size_t textLength )
9106 {
9107     return true;
9108 }
9109 
9110 //---------------------------------------------------------------------
_preBegin__effect(const ParserAttributes & attributes,void ** attributeDataPtr,void ** validationDataPtr)9111 bool ColladaParserAutoGen14Private::_preBegin__effect( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
9112 {
9113 #ifdef GENERATEDSAXPARSER_VALIDATION
9114     if ( mValidate )
9115     {
9116 
9117         bool validationResult = _validateBegin__effect( attributes, attributeDataPtr, validationDataPtr );
9118         if ( !validationResult ) return false;
9119 
9120     } // validation
9121 #endif
9122 
9123 effect__AttributeData* attributeData = newData<effect__AttributeData>(attributeDataPtr);
9124 
9125 const ParserChar** attributeArray = attributes.attributes;
9126 if ( attributeArray )
9127 {
9128     while (true)
9129     {
9130         const ParserChar * attribute = *attributeArray;
9131         if ( !attribute )
9132             break;
9133         StringHash hash = GeneratedSaxParser::Utils::calculateStringHash(attribute);
9134         attributeArray++;
9135         if ( !attributeArray )
9136             return false;
9137         const ParserChar* attributeValue = *attributeArray;
9138         attributeArray++;
9139 
9140 
9141     switch ( hash )
9142     {
9143     case HASH_ATTRIBUTE_id:
9144     {
9145 
9146 attributeData->id = attributeValue;
9147 
9148     break;
9149     }
9150     case HASH_ATTRIBUTE_name:
9151     {
9152 
9153 attributeData->name = attributeValue;
9154 #ifdef GENERATEDSAXPARSER_VALIDATION
9155     if ( mValidate )
9156     {
9157     ParserError::ErrorType simpleTypeValidationResult = validate__NCName(attributeData->name, strlen(attributeData->name));
9158     if (simpleTypeValidationResult != ParserError::SIMPLE_TYPE_VALIDATION_OK)
9159     {
9160         if( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL,
9161             simpleTypeValidationResult,
9162             HASH_ELEMENT_EFFECT,
9163             HASH_ATTRIBUTE_name,
9164             attributeValue) )
9165         {
9166             return false;
9167         }
9168     }
9169     } // validation
9170 #endif
9171 
9172     break;
9173     }
9174     default:
9175     {
9176         if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_UNKNOWN_ATTRIBUTE, HASH_ELEMENT_EFFECT, attribute, attributeValue))
9177             {return false;}
9178     }
9179     }
9180     }
9181 }
9182 if ( !attributeData->id )
9183 {
9184     if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_REQUIRED_ATTRIBUTE_MISSING, HASH_ELEMENT_EFFECT, HASH_ATTRIBUTE_id, 0 ) )
9185         return false;
9186 }
9187 
9188 
9189     return true;
9190 }
9191 
9192 //---------------------------------------------------------------------
_preEnd__effect()9193 bool ColladaParserAutoGen14Private::_preEnd__effect()
9194 {
9195 #ifdef GENERATEDSAXPARSER_VALIDATION
9196     if ( mValidate )
9197     {
9198 
9199         bool validationResult = _validateEnd__effect();
9200         if ( !validationResult ) return false;
9201 
9202     } // validation
9203 #endif
9204 
9205     return true;
9206 }
9207 
9208 //---------------------------------------------------------------------
_freeAttributes__effect(void * attributeData)9209 bool ColladaParserAutoGen14Private::_freeAttributes__effect( void* attributeData )
9210 {
9211     effect__AttributeData* typedAttributeData = static_cast<effect__AttributeData*>(attributeData);
9212 
9213     typedAttributeData->~effect__AttributeData();
9214 
9215     return true;
9216 }
9217 
9218 //---------------------------------------------------------------------
9219 const annotate__AttributeData annotate__AttributeData::DEFAULT = {0};
9220 
9221 //---------------------------------------------------------------------
_data__annotate(const ParserChar * text,size_t textLength)9222 bool ColladaParserAutoGen14Private::_data__annotate( const ParserChar* text, size_t textLength )
9223 {
9224     return true;
9225 }
9226 
9227 //---------------------------------------------------------------------
_preBegin__annotate(const ParserAttributes & attributes,void ** attributeDataPtr,void ** validationDataPtr)9228 bool ColladaParserAutoGen14Private::_preBegin__annotate( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
9229 {
9230 #ifdef GENERATEDSAXPARSER_VALIDATION
9231     if ( mValidate )
9232     {
9233 
9234         bool validationResult = _validateBegin__annotate( attributes, attributeDataPtr, validationDataPtr );
9235         if ( !validationResult ) return false;
9236 
9237     } // validation
9238 #endif
9239 
9240 annotate__AttributeData* attributeData = newData<annotate__AttributeData>(attributeDataPtr);
9241 
9242 const ParserChar** attributeArray = attributes.attributes;
9243 if ( attributeArray )
9244 {
9245     while (true)
9246     {
9247         const ParserChar * attribute = *attributeArray;
9248         if ( !attribute )
9249             break;
9250         StringHash hash = GeneratedSaxParser::Utils::calculateStringHash(attribute);
9251         attributeArray++;
9252         if ( !attributeArray )
9253             return false;
9254         const ParserChar* attributeValue = *attributeArray;
9255         attributeArray++;
9256 
9257 
9258     switch ( hash )
9259     {
9260     case HASH_ATTRIBUTE_name:
9261     {
9262 
9263 attributeData->name = attributeValue;
9264 #ifdef GENERATEDSAXPARSER_VALIDATION
9265     if ( mValidate )
9266     {
9267     ParserError::ErrorType simpleTypeValidationResult = validate__NCName(attributeData->name, strlen(attributeData->name));
9268     if (simpleTypeValidationResult != ParserError::SIMPLE_TYPE_VALIDATION_OK)
9269     {
9270         if( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL,
9271             simpleTypeValidationResult,
9272             HASH_ELEMENT_ANNOTATE,
9273             HASH_ATTRIBUTE_name,
9274             attributeValue) )
9275         {
9276             return false;
9277         }
9278     }
9279     } // validation
9280 #endif
9281 
9282     break;
9283     }
9284     default:
9285     {
9286         if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_UNKNOWN_ATTRIBUTE, HASH_ELEMENT_ANNOTATE, attribute, attributeValue))
9287             {return false;}
9288     }
9289     }
9290     }
9291 }
9292 if ( !attributeData->name )
9293 {
9294     if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_REQUIRED_ATTRIBUTE_MISSING, HASH_ELEMENT_ANNOTATE, HASH_ATTRIBUTE_name, 0 ) )
9295         return false;
9296 }
9297 
9298 
9299     return true;
9300 }
9301 
9302 //---------------------------------------------------------------------
_preEnd__annotate()9303 bool ColladaParserAutoGen14Private::_preEnd__annotate()
9304 {
9305 #ifdef GENERATEDSAXPARSER_VALIDATION
9306     if ( mValidate )
9307     {
9308 
9309         bool validationResult = _validateEnd__annotate();
9310         if ( !validationResult ) return false;
9311 
9312     } // validation
9313 #endif
9314 
9315     return true;
9316 }
9317 
9318 //---------------------------------------------------------------------
_freeAttributes__annotate(void * attributeData)9319 bool ColladaParserAutoGen14Private::_freeAttributes__annotate( void* attributeData )
9320 {
9321     annotate__AttributeData* typedAttributeData = static_cast<annotate__AttributeData*>(attributeData);
9322 
9323     typedAttributeData->~annotate__AttributeData();
9324 
9325     return true;
9326 }
9327 
9328 //---------------------------------------------------------------------
_data__bool____bool(const ParserChar * text,size_t textLength)9329 bool ColladaParserAutoGen14Private::_data__bool____bool( const ParserChar* text, size_t textLength )
9330 {
9331 if (!mLastIncompleteFragmentInCharacterData)
9332 {
9333     mLastIncompleteFragmentInCharacterData = (ParserChar*)mStackMemoryManager.newObject(textLength);
9334     memcpy(mLastIncompleteFragmentInCharacterData, text, textLength);
9335     mEndOfDataInCurrentObjectOnStack = mLastIncompleteFragmentInCharacterData + textLength;
9336 }
9337 else
9338 {
9339     ParserChar* tmp = (ParserChar*)mStackMemoryManager.growObject(textLength);
9340     if ( tmp != mLastIncompleteFragmentInCharacterData ) {
9341         mEndOfDataInCurrentObjectOnStack = (mEndOfDataInCurrentObjectOnStack - mLastIncompleteFragmentInCharacterData) + tmp;
9342         mLastIncompleteFragmentInCharacterData = tmp;
9343     }
9344     memcpy(mEndOfDataInCurrentObjectOnStack, text, textLength);
9345     mEndOfDataInCurrentObjectOnStack += textLength;
9346 }
9347 return true;
9348 }
9349 
9350 //---------------------------------------------------------------------
_preBegin__bool____bool(const ParserAttributes & attributes,void ** attributeDataPtr,void ** validationDataPtr)9351 bool ColladaParserAutoGen14Private::_preBegin__bool____bool( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
9352 {
9353 #ifdef GENERATEDSAXPARSER_VALIDATION
9354     if ( mValidate )
9355     {
9356 
9357         bool validationResult = _validateBegin__bool____bool( attributes, attributeDataPtr, validationDataPtr );
9358         if ( !validationResult ) return false;
9359 
9360     } // validation
9361 #endif
9362 
9363     return true;
9364 }
9365 
9366 //---------------------------------------------------------------------
_preEnd__bool____bool()9367 bool ColladaParserAutoGen14Private::_preEnd__bool____bool()
9368 {
9369 #ifdef GENERATEDSAXPARSER_VALIDATION
9370     if ( mValidate )
9371     {
9372 
9373         bool validationResult = _validateEnd__bool____bool();
9374         if ( !validationResult ) return false;
9375 
9376     } // validation
9377 #endif
9378 
9379 bool failed;
9380 const ParserChar* ptrForErr = mLastIncompleteFragmentInCharacterData;
9381 DISABLE_WARNING_UNUSED(ptrForErr)
9382 bool parameter = GeneratedSaxParser::Utils::toBool((const ParserChar**)&mLastIncompleteFragmentInCharacterData, mEndOfDataInCurrentObjectOnStack, failed);
9383 bool returnValue;
9384 if (!failed)
9385 {
9386     returnValue = mImpl->data__bool____bool(parameter);
9387 }
9388 else
9389     returnValue = !handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_TEXTDATA_PARSING_FAILED, HASH_ELEMENT_BOOL, (const ParserChar*)0, mLastIncompleteFragmentInCharacterData);
9390 if (mLastIncompleteFragmentInCharacterData)
9391     mStackMemoryManager.deleteObject();
9392 mLastIncompleteFragmentInCharacterData = 0;
9393 mEndOfDataInCurrentObjectOnStack = 0;
9394 return returnValue;
9395 }
9396 
9397 //---------------------------------------------------------------------
_freeAttributes__bool____bool(void * attributeData)9398 bool ColladaParserAutoGen14Private::_freeAttributes__bool____bool( void* attributeData )
9399 {
9400     return true;
9401 }
9402 
9403 //---------------------------------------------------------------------
_data__bool2____bool2(const ParserChar * text,size_t textLength)9404 bool ColladaParserAutoGen14Private::_data__bool2____bool2( const ParserChar* text, size_t textLength )
9405 {
9406 #ifdef GENERATEDSAXPARSER_VALIDATION
9407     if ( mValidate )
9408     {
9409         bool2____bool2__ValidationData* validationData = (bool2____bool2__ValidationData*)mValidationDataStack.top();
9410         DISABLE_WARNING_UNUSED(validationData)
9411 return characterData2BoolData(text, textLength, &ColladaParserAutoGen14::data__bool2____bool2, &validate__bool2__stream, &validationData->validationWholeSize, 0);
9412     }
9413     else
9414     {
9415 return characterData2BoolData(text, textLength, &ColladaParserAutoGen14::data__bool2____bool2);
9416     }
9417 #else
9418     {
9419 return characterData2BoolData(text, textLength, &ColladaParserAutoGen14::data__bool2____bool2);
9420     } // validation
9421 #endif
9422 
9423 }
9424 
9425 //---------------------------------------------------------------------
_preBegin__bool2____bool2(const ParserAttributes & attributes,void ** attributeDataPtr,void ** validationDataPtr)9426 bool ColladaParserAutoGen14Private::_preBegin__bool2____bool2( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
9427 {
9428 #ifdef GENERATEDSAXPARSER_VALIDATION
9429     if ( mValidate )
9430     {
9431 
9432         bool validationResult = _validateBegin__bool2____bool2( attributes, attributeDataPtr, validationDataPtr );
9433         if ( !validationResult ) return false;
9434 
9435     } // validation
9436 #endif
9437 
9438     return true;
9439 }
9440 
9441 //---------------------------------------------------------------------
_preEnd__bool2____bool2()9442 bool ColladaParserAutoGen14Private::_preEnd__bool2____bool2()
9443 {
9444 #ifdef GENERATEDSAXPARSER_VALIDATION
9445     if ( mValidate )
9446     {
9447 
9448         bool validationResult = _validateEnd__bool2____bool2();
9449         if ( !validationResult ) return false;
9450 
9451     } // validation
9452 #endif
9453 
9454 #ifdef GENERATEDSAXPARSER_VALIDATION
9455     if ( mValidate )
9456     {
9457         bool2____bool2__ValidationData* validationData = (bool2____bool2__ValidationData*)mValidationDataStack.top();
9458         DISABLE_WARNING_UNUSED(validationData)
9459 bool returnValue = boolDataEnd( &ColladaParserAutoGen14::data__bool2____bool2, &validate__bool2__streamEnd, &validationData->validationWholeSize, 0 );
9460         ParserError::ErrorType simpleTypeValidationResult = validate__bool2(0, (*(&validationData->validationWholeSize)));
9461         mValidationDataStack.deleteObject();
9462         if (simpleTypeValidationResult != ParserError::SIMPLE_TYPE_VALIDATION_OK)
9463         {
9464             if( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL,
9465                 simpleTypeValidationResult,
9466                 HASH_ELEMENT_BOOL2,
9467                 (ParserChar*)0, 0 ) )
9468             {
9469                 return false;
9470             }
9471         }
9472         return returnValue;
9473     }
9474     else
9475     {
9476 return boolDataEnd( &ColladaParserAutoGen14::data__bool2____bool2 );
9477     }
9478 #else
9479     {
9480 return boolDataEnd( &ColladaParserAutoGen14::data__bool2____bool2 );
9481     } // validation
9482 #endif
9483 
9484 }
9485 
9486 //---------------------------------------------------------------------
_freeAttributes__bool2____bool2(void * attributeData)9487 bool ColladaParserAutoGen14Private::_freeAttributes__bool2____bool2( void* attributeData )
9488 {
9489     return true;
9490 }
9491 
9492 //---------------------------------------------------------------------
_data__bool3____bool3(const ParserChar * text,size_t textLength)9493 bool ColladaParserAutoGen14Private::_data__bool3____bool3( const ParserChar* text, size_t textLength )
9494 {
9495 #ifdef GENERATEDSAXPARSER_VALIDATION
9496     if ( mValidate )
9497     {
9498         bool3____bool3__ValidationData* validationData = (bool3____bool3__ValidationData*)mValidationDataStack.top();
9499         DISABLE_WARNING_UNUSED(validationData)
9500 return characterData2BoolData(text, textLength, &ColladaParserAutoGen14::data__bool3____bool3, &validate__bool3__stream, &validationData->validationWholeSize, 0);
9501     }
9502     else
9503     {
9504 return characterData2BoolData(text, textLength, &ColladaParserAutoGen14::data__bool3____bool3);
9505     }
9506 #else
9507     {
9508 return characterData2BoolData(text, textLength, &ColladaParserAutoGen14::data__bool3____bool3);
9509     } // validation
9510 #endif
9511 
9512 }
9513 
9514 //---------------------------------------------------------------------
_preBegin__bool3____bool3(const ParserAttributes & attributes,void ** attributeDataPtr,void ** validationDataPtr)9515 bool ColladaParserAutoGen14Private::_preBegin__bool3____bool3( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
9516 {
9517 #ifdef GENERATEDSAXPARSER_VALIDATION
9518     if ( mValidate )
9519     {
9520 
9521         bool validationResult = _validateBegin__bool3____bool3( attributes, attributeDataPtr, validationDataPtr );
9522         if ( !validationResult ) return false;
9523 
9524     } // validation
9525 #endif
9526 
9527     return true;
9528 }
9529 
9530 //---------------------------------------------------------------------
_preEnd__bool3____bool3()9531 bool ColladaParserAutoGen14Private::_preEnd__bool3____bool3()
9532 {
9533 #ifdef GENERATEDSAXPARSER_VALIDATION
9534     if ( mValidate )
9535     {
9536 
9537         bool validationResult = _validateEnd__bool3____bool3();
9538         if ( !validationResult ) return false;
9539 
9540     } // validation
9541 #endif
9542 
9543 #ifdef GENERATEDSAXPARSER_VALIDATION
9544     if ( mValidate )
9545     {
9546         bool3____bool3__ValidationData* validationData = (bool3____bool3__ValidationData*)mValidationDataStack.top();
9547         DISABLE_WARNING_UNUSED(validationData)
9548 bool returnValue = boolDataEnd( &ColladaParserAutoGen14::data__bool3____bool3, &validate__bool3__streamEnd, &validationData->validationWholeSize, 0 );
9549         ParserError::ErrorType simpleTypeValidationResult = validate__bool3(0, (*(&validationData->validationWholeSize)));
9550         mValidationDataStack.deleteObject();
9551         if (simpleTypeValidationResult != ParserError::SIMPLE_TYPE_VALIDATION_OK)
9552         {
9553             if( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL,
9554                 simpleTypeValidationResult,
9555                 HASH_ELEMENT_BOOL3,
9556                 (ParserChar*)0, 0 ) )
9557             {
9558                 return false;
9559             }
9560         }
9561         return returnValue;
9562     }
9563     else
9564     {
9565 return boolDataEnd( &ColladaParserAutoGen14::data__bool3____bool3 );
9566     }
9567 #else
9568     {
9569 return boolDataEnd( &ColladaParserAutoGen14::data__bool3____bool3 );
9570     } // validation
9571 #endif
9572 
9573 }
9574 
9575 //---------------------------------------------------------------------
_freeAttributes__bool3____bool3(void * attributeData)9576 bool ColladaParserAutoGen14Private::_freeAttributes__bool3____bool3( void* attributeData )
9577 {
9578     return true;
9579 }
9580 
9581 //---------------------------------------------------------------------
_data__bool4____bool4(const ParserChar * text,size_t textLength)9582 bool ColladaParserAutoGen14Private::_data__bool4____bool4( const ParserChar* text, size_t textLength )
9583 {
9584 #ifdef GENERATEDSAXPARSER_VALIDATION
9585     if ( mValidate )
9586     {
9587         bool4____bool4__ValidationData* validationData = (bool4____bool4__ValidationData*)mValidationDataStack.top();
9588         DISABLE_WARNING_UNUSED(validationData)
9589 return characterData2BoolData(text, textLength, &ColladaParserAutoGen14::data__bool4____bool4, &validate__bool4__stream, &validationData->validationWholeSize, 0);
9590     }
9591     else
9592     {
9593 return characterData2BoolData(text, textLength, &ColladaParserAutoGen14::data__bool4____bool4);
9594     }
9595 #else
9596     {
9597 return characterData2BoolData(text, textLength, &ColladaParserAutoGen14::data__bool4____bool4);
9598     } // validation
9599 #endif
9600 
9601 }
9602 
9603 //---------------------------------------------------------------------
_preBegin__bool4____bool4(const ParserAttributes & attributes,void ** attributeDataPtr,void ** validationDataPtr)9604 bool ColladaParserAutoGen14Private::_preBegin__bool4____bool4( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
9605 {
9606 #ifdef GENERATEDSAXPARSER_VALIDATION
9607     if ( mValidate )
9608     {
9609 
9610         bool validationResult = _validateBegin__bool4____bool4( attributes, attributeDataPtr, validationDataPtr );
9611         if ( !validationResult ) return false;
9612 
9613     } // validation
9614 #endif
9615 
9616     return true;
9617 }
9618 
9619 //---------------------------------------------------------------------
_preEnd__bool4____bool4()9620 bool ColladaParserAutoGen14Private::_preEnd__bool4____bool4()
9621 {
9622 #ifdef GENERATEDSAXPARSER_VALIDATION
9623     if ( mValidate )
9624     {
9625 
9626         bool validationResult = _validateEnd__bool4____bool4();
9627         if ( !validationResult ) return false;
9628 
9629     } // validation
9630 #endif
9631 
9632 #ifdef GENERATEDSAXPARSER_VALIDATION
9633     if ( mValidate )
9634     {
9635         bool4____bool4__ValidationData* validationData = (bool4____bool4__ValidationData*)mValidationDataStack.top();
9636         DISABLE_WARNING_UNUSED(validationData)
9637 bool returnValue = boolDataEnd( &ColladaParserAutoGen14::data__bool4____bool4, &validate__bool4__streamEnd, &validationData->validationWholeSize, 0 );
9638         ParserError::ErrorType simpleTypeValidationResult = validate__bool4(0, (*(&validationData->validationWholeSize)));
9639         mValidationDataStack.deleteObject();
9640         if (simpleTypeValidationResult != ParserError::SIMPLE_TYPE_VALIDATION_OK)
9641         {
9642             if( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL,
9643                 simpleTypeValidationResult,
9644                 HASH_ELEMENT_BOOL4,
9645                 (ParserChar*)0, 0 ) )
9646             {
9647                 return false;
9648             }
9649         }
9650         return returnValue;
9651     }
9652     else
9653     {
9654 return boolDataEnd( &ColladaParserAutoGen14::data__bool4____bool4 );
9655     }
9656 #else
9657     {
9658 return boolDataEnd( &ColladaParserAutoGen14::data__bool4____bool4 );
9659     } // validation
9660 #endif
9661 
9662 }
9663 
9664 //---------------------------------------------------------------------
_freeAttributes__bool4____bool4(void * attributeData)9665 bool ColladaParserAutoGen14Private::_freeAttributes__bool4____bool4( void* attributeData )
9666 {
9667     return true;
9668 }
9669 
9670 //---------------------------------------------------------------------
_data__int____int(const ParserChar * text,size_t textLength)9671 bool ColladaParserAutoGen14Private::_data__int____int( const ParserChar* text, size_t textLength )
9672 {
9673 if (!mLastIncompleteFragmentInCharacterData)
9674 {
9675     mLastIncompleteFragmentInCharacterData = (ParserChar*)mStackMemoryManager.newObject(textLength);
9676     memcpy(mLastIncompleteFragmentInCharacterData, text, textLength);
9677     mEndOfDataInCurrentObjectOnStack = mLastIncompleteFragmentInCharacterData + textLength;
9678 }
9679 else
9680 {
9681     ParserChar* tmp = (ParserChar*)mStackMemoryManager.growObject(textLength);
9682     if ( tmp != mLastIncompleteFragmentInCharacterData ) {
9683         mEndOfDataInCurrentObjectOnStack = (mEndOfDataInCurrentObjectOnStack - mLastIncompleteFragmentInCharacterData) + tmp;
9684         mLastIncompleteFragmentInCharacterData = tmp;
9685     }
9686     memcpy(mEndOfDataInCurrentObjectOnStack, text, textLength);
9687     mEndOfDataInCurrentObjectOnStack += textLength;
9688 }
9689 return true;
9690 }
9691 
9692 //---------------------------------------------------------------------
_preBegin__int____int(const ParserAttributes & attributes,void ** attributeDataPtr,void ** validationDataPtr)9693 bool ColladaParserAutoGen14Private::_preBegin__int____int( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
9694 {
9695 #ifdef GENERATEDSAXPARSER_VALIDATION
9696     if ( mValidate )
9697     {
9698 
9699         bool validationResult = _validateBegin__int____int( attributes, attributeDataPtr, validationDataPtr );
9700         if ( !validationResult ) return false;
9701 
9702     } // validation
9703 #endif
9704 
9705     return true;
9706 }
9707 
9708 //---------------------------------------------------------------------
_preEnd__int____int()9709 bool ColladaParserAutoGen14Private::_preEnd__int____int()
9710 {
9711 #ifdef GENERATEDSAXPARSER_VALIDATION
9712     if ( mValidate )
9713     {
9714 
9715         bool validationResult = _validateEnd__int____int();
9716         if ( !validationResult ) return false;
9717 
9718     } // validation
9719 #endif
9720 
9721 bool failed;
9722 const ParserChar* ptrForErr = mLastIncompleteFragmentInCharacterData;
9723 DISABLE_WARNING_UNUSED(ptrForErr)
9724 sint64 parameter = GeneratedSaxParser::Utils::toSint64((const ParserChar**)&mLastIncompleteFragmentInCharacterData, mEndOfDataInCurrentObjectOnStack, failed);
9725 bool returnValue;
9726 if (!failed)
9727 {
9728     returnValue = mImpl->data__int____int(parameter);
9729 }
9730 else
9731     returnValue = !handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_TEXTDATA_PARSING_FAILED, HASH_ELEMENT_INT, (const ParserChar*)0, mLastIncompleteFragmentInCharacterData);
9732 if (mLastIncompleteFragmentInCharacterData)
9733     mStackMemoryManager.deleteObject();
9734 mLastIncompleteFragmentInCharacterData = 0;
9735 mEndOfDataInCurrentObjectOnStack = 0;
9736 return returnValue;
9737 }
9738 
9739 //---------------------------------------------------------------------
_freeAttributes__int____int(void * attributeData)9740 bool ColladaParserAutoGen14Private::_freeAttributes__int____int( void* attributeData )
9741 {
9742     return true;
9743 }
9744 
9745 //---------------------------------------------------------------------
_data__int2____int2(const ParserChar * text,size_t textLength)9746 bool ColladaParserAutoGen14Private::_data__int2____int2( const ParserChar* text, size_t textLength )
9747 {
9748 #ifdef GENERATEDSAXPARSER_VALIDATION
9749     if ( mValidate )
9750     {
9751         int2____int2__ValidationData* validationData = (int2____int2__ValidationData*)mValidationDataStack.top();
9752         DISABLE_WARNING_UNUSED(validationData)
9753 return characterData2Sint64Data(text, textLength, &ColladaParserAutoGen14::data__int2____int2, &validate__int2__stream, &validationData->validationWholeSize, 0);
9754     }
9755     else
9756     {
9757 return characterData2Sint64Data(text, textLength, &ColladaParserAutoGen14::data__int2____int2);
9758     }
9759 #else
9760     {
9761 return characterData2Sint64Data(text, textLength, &ColladaParserAutoGen14::data__int2____int2);
9762     } // validation
9763 #endif
9764 
9765 }
9766 
9767 //---------------------------------------------------------------------
_preBegin__int2____int2(const ParserAttributes & attributes,void ** attributeDataPtr,void ** validationDataPtr)9768 bool ColladaParserAutoGen14Private::_preBegin__int2____int2( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
9769 {
9770 #ifdef GENERATEDSAXPARSER_VALIDATION
9771     if ( mValidate )
9772     {
9773 
9774         bool validationResult = _validateBegin__int2____int2( attributes, attributeDataPtr, validationDataPtr );
9775         if ( !validationResult ) return false;
9776 
9777     } // validation
9778 #endif
9779 
9780     return true;
9781 }
9782 
9783 //---------------------------------------------------------------------
_preEnd__int2____int2()9784 bool ColladaParserAutoGen14Private::_preEnd__int2____int2()
9785 {
9786 #ifdef GENERATEDSAXPARSER_VALIDATION
9787     if ( mValidate )
9788     {
9789 
9790         bool validationResult = _validateEnd__int2____int2();
9791         if ( !validationResult ) return false;
9792 
9793     } // validation
9794 #endif
9795 
9796 #ifdef GENERATEDSAXPARSER_VALIDATION
9797     if ( mValidate )
9798     {
9799         int2____int2__ValidationData* validationData = (int2____int2__ValidationData*)mValidationDataStack.top();
9800         DISABLE_WARNING_UNUSED(validationData)
9801 bool returnValue = sint64DataEnd( &ColladaParserAutoGen14::data__int2____int2, &validate__int2__streamEnd, &validationData->validationWholeSize, 0 );
9802         ParserError::ErrorType simpleTypeValidationResult = validate__int2(0, (*(&validationData->validationWholeSize)));
9803         mValidationDataStack.deleteObject();
9804         if (simpleTypeValidationResult != ParserError::SIMPLE_TYPE_VALIDATION_OK)
9805         {
9806             if( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL,
9807                 simpleTypeValidationResult,
9808                 HASH_ELEMENT_INT2,
9809                 (ParserChar*)0, 0 ) )
9810             {
9811                 return false;
9812             }
9813         }
9814         return returnValue;
9815     }
9816     else
9817     {
9818 return sint64DataEnd( &ColladaParserAutoGen14::data__int2____int2 );
9819     }
9820 #else
9821     {
9822 return sint64DataEnd( &ColladaParserAutoGen14::data__int2____int2 );
9823     } // validation
9824 #endif
9825 
9826 }
9827 
9828 //---------------------------------------------------------------------
_freeAttributes__int2____int2(void * attributeData)9829 bool ColladaParserAutoGen14Private::_freeAttributes__int2____int2( void* attributeData )
9830 {
9831     return true;
9832 }
9833 
9834 //---------------------------------------------------------------------
_data__int3____int3(const ParserChar * text,size_t textLength)9835 bool ColladaParserAutoGen14Private::_data__int3____int3( const ParserChar* text, size_t textLength )
9836 {
9837 #ifdef GENERATEDSAXPARSER_VALIDATION
9838     if ( mValidate )
9839     {
9840         int3____int3__ValidationData* validationData = (int3____int3__ValidationData*)mValidationDataStack.top();
9841         DISABLE_WARNING_UNUSED(validationData)
9842 return characterData2Sint64Data(text, textLength, &ColladaParserAutoGen14::data__int3____int3, &validate__int3__stream, &validationData->validationWholeSize, 0);
9843     }
9844     else
9845     {
9846 return characterData2Sint64Data(text, textLength, &ColladaParserAutoGen14::data__int3____int3);
9847     }
9848 #else
9849     {
9850 return characterData2Sint64Data(text, textLength, &ColladaParserAutoGen14::data__int3____int3);
9851     } // validation
9852 #endif
9853 
9854 }
9855 
9856 //---------------------------------------------------------------------
_preBegin__int3____int3(const ParserAttributes & attributes,void ** attributeDataPtr,void ** validationDataPtr)9857 bool ColladaParserAutoGen14Private::_preBegin__int3____int3( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
9858 {
9859 #ifdef GENERATEDSAXPARSER_VALIDATION
9860     if ( mValidate )
9861     {
9862 
9863         bool validationResult = _validateBegin__int3____int3( attributes, attributeDataPtr, validationDataPtr );
9864         if ( !validationResult ) return false;
9865 
9866     } // validation
9867 #endif
9868 
9869     return true;
9870 }
9871 
9872 //---------------------------------------------------------------------
_preEnd__int3____int3()9873 bool ColladaParserAutoGen14Private::_preEnd__int3____int3()
9874 {
9875 #ifdef GENERATEDSAXPARSER_VALIDATION
9876     if ( mValidate )
9877     {
9878 
9879         bool validationResult = _validateEnd__int3____int3();
9880         if ( !validationResult ) return false;
9881 
9882     } // validation
9883 #endif
9884 
9885 #ifdef GENERATEDSAXPARSER_VALIDATION
9886     if ( mValidate )
9887     {
9888         int3____int3__ValidationData* validationData = (int3____int3__ValidationData*)mValidationDataStack.top();
9889         DISABLE_WARNING_UNUSED(validationData)
9890 bool returnValue = sint64DataEnd( &ColladaParserAutoGen14::data__int3____int3, &validate__int3__streamEnd, &validationData->validationWholeSize, 0 );
9891         ParserError::ErrorType simpleTypeValidationResult = validate__int3(0, (*(&validationData->validationWholeSize)));
9892         mValidationDataStack.deleteObject();
9893         if (simpleTypeValidationResult != ParserError::SIMPLE_TYPE_VALIDATION_OK)
9894         {
9895             if( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL,
9896                 simpleTypeValidationResult,
9897                 HASH_ELEMENT_INT3,
9898                 (ParserChar*)0, 0 ) )
9899             {
9900                 return false;
9901             }
9902         }
9903         return returnValue;
9904     }
9905     else
9906     {
9907 return sint64DataEnd( &ColladaParserAutoGen14::data__int3____int3 );
9908     }
9909 #else
9910     {
9911 return sint64DataEnd( &ColladaParserAutoGen14::data__int3____int3 );
9912     } // validation
9913 #endif
9914 
9915 }
9916 
9917 //---------------------------------------------------------------------
_freeAttributes__int3____int3(void * attributeData)9918 bool ColladaParserAutoGen14Private::_freeAttributes__int3____int3( void* attributeData )
9919 {
9920     return true;
9921 }
9922 
9923 //---------------------------------------------------------------------
_data__int4____int4(const ParserChar * text,size_t textLength)9924 bool ColladaParserAutoGen14Private::_data__int4____int4( const ParserChar* text, size_t textLength )
9925 {
9926 #ifdef GENERATEDSAXPARSER_VALIDATION
9927     if ( mValidate )
9928     {
9929         int4____int4__ValidationData* validationData = (int4____int4__ValidationData*)mValidationDataStack.top();
9930         DISABLE_WARNING_UNUSED(validationData)
9931 return characterData2Sint64Data(text, textLength, &ColladaParserAutoGen14::data__int4____int4, &validate__int4__stream, &validationData->validationWholeSize, 0);
9932     }
9933     else
9934     {
9935 return characterData2Sint64Data(text, textLength, &ColladaParserAutoGen14::data__int4____int4);
9936     }
9937 #else
9938     {
9939 return characterData2Sint64Data(text, textLength, &ColladaParserAutoGen14::data__int4____int4);
9940     } // validation
9941 #endif
9942 
9943 }
9944 
9945 //---------------------------------------------------------------------
_preBegin__int4____int4(const ParserAttributes & attributes,void ** attributeDataPtr,void ** validationDataPtr)9946 bool ColladaParserAutoGen14Private::_preBegin__int4____int4( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
9947 {
9948 #ifdef GENERATEDSAXPARSER_VALIDATION
9949     if ( mValidate )
9950     {
9951 
9952         bool validationResult = _validateBegin__int4____int4( attributes, attributeDataPtr, validationDataPtr );
9953         if ( !validationResult ) return false;
9954 
9955     } // validation
9956 #endif
9957 
9958     return true;
9959 }
9960 
9961 //---------------------------------------------------------------------
_preEnd__int4____int4()9962 bool ColladaParserAutoGen14Private::_preEnd__int4____int4()
9963 {
9964 #ifdef GENERATEDSAXPARSER_VALIDATION
9965     if ( mValidate )
9966     {
9967 
9968         bool validationResult = _validateEnd__int4____int4();
9969         if ( !validationResult ) return false;
9970 
9971     } // validation
9972 #endif
9973 
9974 #ifdef GENERATEDSAXPARSER_VALIDATION
9975     if ( mValidate )
9976     {
9977         int4____int4__ValidationData* validationData = (int4____int4__ValidationData*)mValidationDataStack.top();
9978         DISABLE_WARNING_UNUSED(validationData)
9979 bool returnValue = sint64DataEnd( &ColladaParserAutoGen14::data__int4____int4, &validate__int4__streamEnd, &validationData->validationWholeSize, 0 );
9980         ParserError::ErrorType simpleTypeValidationResult = validate__int4(0, (*(&validationData->validationWholeSize)));
9981         mValidationDataStack.deleteObject();
9982         if (simpleTypeValidationResult != ParserError::SIMPLE_TYPE_VALIDATION_OK)
9983         {
9984             if( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL,
9985                 simpleTypeValidationResult,
9986                 HASH_ELEMENT_INT4,
9987                 (ParserChar*)0, 0 ) )
9988             {
9989                 return false;
9990             }
9991         }
9992         return returnValue;
9993     }
9994     else
9995     {
9996 return sint64DataEnd( &ColladaParserAutoGen14::data__int4____int4 );
9997     }
9998 #else
9999     {
10000 return sint64DataEnd( &ColladaParserAutoGen14::data__int4____int4 );
10001     } // validation
10002 #endif
10003 
10004 }
10005 
10006 //---------------------------------------------------------------------
_freeAttributes__int4____int4(void * attributeData)10007 bool ColladaParserAutoGen14Private::_freeAttributes__int4____int4( void* attributeData )
10008 {
10009     return true;
10010 }
10011 
10012 //---------------------------------------------------------------------
_data__float____float(const ParserChar * text,size_t textLength)10013 bool ColladaParserAutoGen14Private::_data__float____float( const ParserChar* text, size_t textLength )
10014 {
10015 if (!mLastIncompleteFragmentInCharacterData)
10016 {
10017     mLastIncompleteFragmentInCharacterData = (ParserChar*)mStackMemoryManager.newObject(textLength);
10018     memcpy(mLastIncompleteFragmentInCharacterData, text, textLength);
10019     mEndOfDataInCurrentObjectOnStack = mLastIncompleteFragmentInCharacterData + textLength;
10020 }
10021 else
10022 {
10023     ParserChar* tmp = (ParserChar*)mStackMemoryManager.growObject(textLength);
10024     if ( tmp != mLastIncompleteFragmentInCharacterData ) {
10025         mEndOfDataInCurrentObjectOnStack = (mEndOfDataInCurrentObjectOnStack - mLastIncompleteFragmentInCharacterData) + tmp;
10026         mLastIncompleteFragmentInCharacterData = tmp;
10027     }
10028     memcpy(mEndOfDataInCurrentObjectOnStack, text, textLength);
10029     mEndOfDataInCurrentObjectOnStack += textLength;
10030 }
10031 return true;
10032 }
10033 
10034 //---------------------------------------------------------------------
_preBegin__float____float(const ParserAttributes & attributes,void ** attributeDataPtr,void ** validationDataPtr)10035 bool ColladaParserAutoGen14Private::_preBegin__float____float( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
10036 {
10037 #ifdef GENERATEDSAXPARSER_VALIDATION
10038     if ( mValidate )
10039     {
10040 
10041         bool validationResult = _validateBegin__float____float( attributes, attributeDataPtr, validationDataPtr );
10042         if ( !validationResult ) return false;
10043 
10044     } // validation
10045 #endif
10046 
10047     return true;
10048 }
10049 
10050 //---------------------------------------------------------------------
_preEnd__float____float()10051 bool ColladaParserAutoGen14Private::_preEnd__float____float()
10052 {
10053 #ifdef GENERATEDSAXPARSER_VALIDATION
10054     if ( mValidate )
10055     {
10056 
10057         bool validationResult = _validateEnd__float____float();
10058         if ( !validationResult ) return false;
10059 
10060     } // validation
10061 #endif
10062 
10063 bool failed;
10064 const ParserChar* ptrForErr = mLastIncompleteFragmentInCharacterData;
10065 DISABLE_WARNING_UNUSED(ptrForErr)
10066 float parameter = GeneratedSaxParser::Utils::toFloat((const ParserChar**)&mLastIncompleteFragmentInCharacterData, mEndOfDataInCurrentObjectOnStack, failed);
10067 bool returnValue;
10068 if (!failed)
10069 {
10070     returnValue = mImpl->data__float____float(parameter);
10071 }
10072 else
10073     returnValue = !handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_TEXTDATA_PARSING_FAILED, HASH_ELEMENT_FLOAT, (const ParserChar*)0, mLastIncompleteFragmentInCharacterData);
10074 if (mLastIncompleteFragmentInCharacterData)
10075     mStackMemoryManager.deleteObject();
10076 mLastIncompleteFragmentInCharacterData = 0;
10077 mEndOfDataInCurrentObjectOnStack = 0;
10078 return returnValue;
10079 }
10080 
10081 //---------------------------------------------------------------------
_freeAttributes__float____float(void * attributeData)10082 bool ColladaParserAutoGen14Private::_freeAttributes__float____float( void* attributeData )
10083 {
10084     return true;
10085 }
10086 
10087 //---------------------------------------------------------------------
_data__float2____float2(const ParserChar * text,size_t textLength)10088 bool ColladaParserAutoGen14Private::_data__float2____float2( const ParserChar* text, size_t textLength )
10089 {
10090 #ifdef GENERATEDSAXPARSER_VALIDATION
10091     if ( mValidate )
10092     {
10093         float2____float2__ValidationData* validationData = (float2____float2__ValidationData*)mValidationDataStack.top();
10094         DISABLE_WARNING_UNUSED(validationData)
10095 return characterData2FloatData(text, textLength, &ColladaParserAutoGen14::data__float2____float2, &validate__float2__stream, &validationData->validationWholeSize, 0);
10096     }
10097     else
10098     {
10099 return characterData2FloatData(text, textLength, &ColladaParserAutoGen14::data__float2____float2);
10100     }
10101 #else
10102     {
10103 return characterData2FloatData(text, textLength, &ColladaParserAutoGen14::data__float2____float2);
10104     } // validation
10105 #endif
10106 
10107 }
10108 
10109 //---------------------------------------------------------------------
_preBegin__float2____float2(const ParserAttributes & attributes,void ** attributeDataPtr,void ** validationDataPtr)10110 bool ColladaParserAutoGen14Private::_preBegin__float2____float2( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
10111 {
10112 #ifdef GENERATEDSAXPARSER_VALIDATION
10113     if ( mValidate )
10114     {
10115 
10116         bool validationResult = _validateBegin__float2____float2( attributes, attributeDataPtr, validationDataPtr );
10117         if ( !validationResult ) return false;
10118 
10119     } // validation
10120 #endif
10121 
10122     return true;
10123 }
10124 
10125 //---------------------------------------------------------------------
_preEnd__float2____float2()10126 bool ColladaParserAutoGen14Private::_preEnd__float2____float2()
10127 {
10128 #ifdef GENERATEDSAXPARSER_VALIDATION
10129     if ( mValidate )
10130     {
10131 
10132         bool validationResult = _validateEnd__float2____float2();
10133         if ( !validationResult ) return false;
10134 
10135     } // validation
10136 #endif
10137 
10138 #ifdef GENERATEDSAXPARSER_VALIDATION
10139     if ( mValidate )
10140     {
10141         float2____float2__ValidationData* validationData = (float2____float2__ValidationData*)mValidationDataStack.top();
10142         DISABLE_WARNING_UNUSED(validationData)
10143 bool returnValue = floatDataEnd( &ColladaParserAutoGen14::data__float2____float2, &validate__float2__streamEnd, &validationData->validationWholeSize, 0 );
10144         ParserError::ErrorType simpleTypeValidationResult = validate__float2(0, (*(&validationData->validationWholeSize)));
10145         mValidationDataStack.deleteObject();
10146         if (simpleTypeValidationResult != ParserError::SIMPLE_TYPE_VALIDATION_OK)
10147         {
10148             if( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL,
10149                 simpleTypeValidationResult,
10150                 HASH_ELEMENT_FLOAT2,
10151                 (ParserChar*)0, 0 ) )
10152             {
10153                 return false;
10154             }
10155         }
10156         return returnValue;
10157     }
10158     else
10159     {
10160 return floatDataEnd( &ColladaParserAutoGen14::data__float2____float2 );
10161     }
10162 #else
10163     {
10164 return floatDataEnd( &ColladaParserAutoGen14::data__float2____float2 );
10165     } // validation
10166 #endif
10167 
10168 }
10169 
10170 //---------------------------------------------------------------------
_freeAttributes__float2____float2(void * attributeData)10171 bool ColladaParserAutoGen14Private::_freeAttributes__float2____float2( void* attributeData )
10172 {
10173     return true;
10174 }
10175 
10176 //---------------------------------------------------------------------
_data__float3____float3(const ParserChar * text,size_t textLength)10177 bool ColladaParserAutoGen14Private::_data__float3____float3( const ParserChar* text, size_t textLength )
10178 {
10179 #ifdef GENERATEDSAXPARSER_VALIDATION
10180     if ( mValidate )
10181     {
10182         float3____float3__ValidationData* validationData = (float3____float3__ValidationData*)mValidationDataStack.top();
10183         DISABLE_WARNING_UNUSED(validationData)
10184 return characterData2FloatData(text, textLength, &ColladaParserAutoGen14::data__float3____float3, &validate__float3__stream, &validationData->validationWholeSize, 0);
10185     }
10186     else
10187     {
10188 return characterData2FloatData(text, textLength, &ColladaParserAutoGen14::data__float3____float3);
10189     }
10190 #else
10191     {
10192 return characterData2FloatData(text, textLength, &ColladaParserAutoGen14::data__float3____float3);
10193     } // validation
10194 #endif
10195 
10196 }
10197 
10198 //---------------------------------------------------------------------
_preBegin__float3____float3(const ParserAttributes & attributes,void ** attributeDataPtr,void ** validationDataPtr)10199 bool ColladaParserAutoGen14Private::_preBegin__float3____float3( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
10200 {
10201 #ifdef GENERATEDSAXPARSER_VALIDATION
10202     if ( mValidate )
10203     {
10204 
10205         bool validationResult = _validateBegin__float3____float3( attributes, attributeDataPtr, validationDataPtr );
10206         if ( !validationResult ) return false;
10207 
10208     } // validation
10209 #endif
10210 
10211     return true;
10212 }
10213 
10214 //---------------------------------------------------------------------
_preEnd__float3____float3()10215 bool ColladaParserAutoGen14Private::_preEnd__float3____float3()
10216 {
10217 #ifdef GENERATEDSAXPARSER_VALIDATION
10218     if ( mValidate )
10219     {
10220 
10221         bool validationResult = _validateEnd__float3____float3();
10222         if ( !validationResult ) return false;
10223 
10224     } // validation
10225 #endif
10226 
10227 #ifdef GENERATEDSAXPARSER_VALIDATION
10228     if ( mValidate )
10229     {
10230         float3____float3__ValidationData* validationData = (float3____float3__ValidationData*)mValidationDataStack.top();
10231         DISABLE_WARNING_UNUSED(validationData)
10232 bool returnValue = floatDataEnd( &ColladaParserAutoGen14::data__float3____float3, &validate__float3__streamEnd, &validationData->validationWholeSize, 0 );
10233         ParserError::ErrorType simpleTypeValidationResult = validate__float3(0, (*(&validationData->validationWholeSize)));
10234         mValidationDataStack.deleteObject();
10235         if (simpleTypeValidationResult != ParserError::SIMPLE_TYPE_VALIDATION_OK)
10236         {
10237             if( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL,
10238                 simpleTypeValidationResult,
10239                 HASH_ELEMENT_FLOAT3,
10240                 (ParserChar*)0, 0 ) )
10241             {
10242                 return false;
10243             }
10244         }
10245         return returnValue;
10246     }
10247     else
10248     {
10249 return floatDataEnd( &ColladaParserAutoGen14::data__float3____float3 );
10250     }
10251 #else
10252     {
10253 return floatDataEnd( &ColladaParserAutoGen14::data__float3____float3 );
10254     } // validation
10255 #endif
10256 
10257 }
10258 
10259 //---------------------------------------------------------------------
_freeAttributes__float3____float3(void * attributeData)10260 bool ColladaParserAutoGen14Private::_freeAttributes__float3____float3( void* attributeData )
10261 {
10262     return true;
10263 }
10264 
10265 //---------------------------------------------------------------------
_data__float4____float4(const ParserChar * text,size_t textLength)10266 bool ColladaParserAutoGen14Private::_data__float4____float4( const ParserChar* text, size_t textLength )
10267 {
10268 #ifdef GENERATEDSAXPARSER_VALIDATION
10269     if ( mValidate )
10270     {
10271         float4____float4__ValidationData* validationData = (float4____float4__ValidationData*)mValidationDataStack.top();
10272         DISABLE_WARNING_UNUSED(validationData)
10273 return characterData2FloatData(text, textLength, &ColladaParserAutoGen14::data__float4____float4, &validate__float4__stream, &validationData->validationWholeSize, 0);
10274     }
10275     else
10276     {
10277 return characterData2FloatData(text, textLength, &ColladaParserAutoGen14::data__float4____float4);
10278     }
10279 #else
10280     {
10281 return characterData2FloatData(text, textLength, &ColladaParserAutoGen14::data__float4____float4);
10282     } // validation
10283 #endif
10284 
10285 }
10286 
10287 //---------------------------------------------------------------------
_preBegin__float4____float4(const ParserAttributes & attributes,void ** attributeDataPtr,void ** validationDataPtr)10288 bool ColladaParserAutoGen14Private::_preBegin__float4____float4( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
10289 {
10290 #ifdef GENERATEDSAXPARSER_VALIDATION
10291     if ( mValidate )
10292     {
10293 
10294         bool validationResult = _validateBegin__float4____float4( attributes, attributeDataPtr, validationDataPtr );
10295         if ( !validationResult ) return false;
10296 
10297     } // validation
10298 #endif
10299 
10300     return true;
10301 }
10302 
10303 //---------------------------------------------------------------------
_preEnd__float4____float4()10304 bool ColladaParserAutoGen14Private::_preEnd__float4____float4()
10305 {
10306 #ifdef GENERATEDSAXPARSER_VALIDATION
10307     if ( mValidate )
10308     {
10309 
10310         bool validationResult = _validateEnd__float4____float4();
10311         if ( !validationResult ) return false;
10312 
10313     } // validation
10314 #endif
10315 
10316 #ifdef GENERATEDSAXPARSER_VALIDATION
10317     if ( mValidate )
10318     {
10319         float4____float4__ValidationData* validationData = (float4____float4__ValidationData*)mValidationDataStack.top();
10320         DISABLE_WARNING_UNUSED(validationData)
10321 bool returnValue = floatDataEnd( &ColladaParserAutoGen14::data__float4____float4, &validate__float4__streamEnd, &validationData->validationWholeSize, 0 );
10322         ParserError::ErrorType simpleTypeValidationResult = validate__float4(0, (*(&validationData->validationWholeSize)));
10323         mValidationDataStack.deleteObject();
10324         if (simpleTypeValidationResult != ParserError::SIMPLE_TYPE_VALIDATION_OK)
10325         {
10326             if( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL,
10327                 simpleTypeValidationResult,
10328                 HASH_ELEMENT_FLOAT4,
10329                 (ParserChar*)0, 0 ) )
10330             {
10331                 return false;
10332             }
10333         }
10334         return returnValue;
10335     }
10336     else
10337     {
10338 return floatDataEnd( &ColladaParserAutoGen14::data__float4____float4 );
10339     }
10340 #else
10341     {
10342 return floatDataEnd( &ColladaParserAutoGen14::data__float4____float4 );
10343     } // validation
10344 #endif
10345 
10346 }
10347 
10348 //---------------------------------------------------------------------
_freeAttributes__float4____float4(void * attributeData)10349 bool ColladaParserAutoGen14Private::_freeAttributes__float4____float4( void* attributeData )
10350 {
10351     return true;
10352 }
10353 
10354 //---------------------------------------------------------------------
_data__float2x2____float2x2(const ParserChar * text,size_t textLength)10355 bool ColladaParserAutoGen14Private::_data__float2x2____float2x2( const ParserChar* text, size_t textLength )
10356 {
10357 #ifdef GENERATEDSAXPARSER_VALIDATION
10358     if ( mValidate )
10359     {
10360         float2x2____float2x2__ValidationData* validationData = (float2x2____float2x2__ValidationData*)mValidationDataStack.top();
10361         DISABLE_WARNING_UNUSED(validationData)
10362 return characterData2FloatData(text, textLength, &ColladaParserAutoGen14::data__float2x2____float2x2, &validate__float2x2__stream, &validationData->validationWholeSize, 0);
10363     }
10364     else
10365     {
10366 return characterData2FloatData(text, textLength, &ColladaParserAutoGen14::data__float2x2____float2x2);
10367     }
10368 #else
10369     {
10370 return characterData2FloatData(text, textLength, &ColladaParserAutoGen14::data__float2x2____float2x2);
10371     } // validation
10372 #endif
10373 
10374 }
10375 
10376 //---------------------------------------------------------------------
_preBegin__float2x2____float2x2(const ParserAttributes & attributes,void ** attributeDataPtr,void ** validationDataPtr)10377 bool ColladaParserAutoGen14Private::_preBegin__float2x2____float2x2( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
10378 {
10379 #ifdef GENERATEDSAXPARSER_VALIDATION
10380     if ( mValidate )
10381     {
10382 
10383         bool validationResult = _validateBegin__float2x2____float2x2( attributes, attributeDataPtr, validationDataPtr );
10384         if ( !validationResult ) return false;
10385 
10386     } // validation
10387 #endif
10388 
10389     return true;
10390 }
10391 
10392 //---------------------------------------------------------------------
_preEnd__float2x2____float2x2()10393 bool ColladaParserAutoGen14Private::_preEnd__float2x2____float2x2()
10394 {
10395 #ifdef GENERATEDSAXPARSER_VALIDATION
10396     if ( mValidate )
10397     {
10398 
10399         bool validationResult = _validateEnd__float2x2____float2x2();
10400         if ( !validationResult ) return false;
10401 
10402     } // validation
10403 #endif
10404 
10405 #ifdef GENERATEDSAXPARSER_VALIDATION
10406     if ( mValidate )
10407     {
10408         float2x2____float2x2__ValidationData* validationData = (float2x2____float2x2__ValidationData*)mValidationDataStack.top();
10409         DISABLE_WARNING_UNUSED(validationData)
10410 bool returnValue = floatDataEnd( &ColladaParserAutoGen14::data__float2x2____float2x2, &validate__float2x2__streamEnd, &validationData->validationWholeSize, 0 );
10411         ParserError::ErrorType simpleTypeValidationResult = validate__float2x2(0, (*(&validationData->validationWholeSize)));
10412         mValidationDataStack.deleteObject();
10413         if (simpleTypeValidationResult != ParserError::SIMPLE_TYPE_VALIDATION_OK)
10414         {
10415             if( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL,
10416                 simpleTypeValidationResult,
10417                 HASH_ELEMENT_FLOAT2X2,
10418                 (ParserChar*)0, 0 ) )
10419             {
10420                 return false;
10421             }
10422         }
10423         return returnValue;
10424     }
10425     else
10426     {
10427 return floatDataEnd( &ColladaParserAutoGen14::data__float2x2____float2x2 );
10428     }
10429 #else
10430     {
10431 return floatDataEnd( &ColladaParserAutoGen14::data__float2x2____float2x2 );
10432     } // validation
10433 #endif
10434 
10435 }
10436 
10437 //---------------------------------------------------------------------
_freeAttributes__float2x2____float2x2(void * attributeData)10438 bool ColladaParserAutoGen14Private::_freeAttributes__float2x2____float2x2( void* attributeData )
10439 {
10440     return true;
10441 }
10442 
10443 //---------------------------------------------------------------------
_data__float3x3____float3x3(const ParserChar * text,size_t textLength)10444 bool ColladaParserAutoGen14Private::_data__float3x3____float3x3( const ParserChar* text, size_t textLength )
10445 {
10446 #ifdef GENERATEDSAXPARSER_VALIDATION
10447     if ( mValidate )
10448     {
10449         float3x3____float3x3__ValidationData* validationData = (float3x3____float3x3__ValidationData*)mValidationDataStack.top();
10450         DISABLE_WARNING_UNUSED(validationData)
10451 return characterData2FloatData(text, textLength, &ColladaParserAutoGen14::data__float3x3____float3x3, &validate__float3x3__stream, &validationData->validationWholeSize, 0);
10452     }
10453     else
10454     {
10455 return characterData2FloatData(text, textLength, &ColladaParserAutoGen14::data__float3x3____float3x3);
10456     }
10457 #else
10458     {
10459 return characterData2FloatData(text, textLength, &ColladaParserAutoGen14::data__float3x3____float3x3);
10460     } // validation
10461 #endif
10462 
10463 }
10464 
10465 //---------------------------------------------------------------------
_preBegin__float3x3____float3x3(const ParserAttributes & attributes,void ** attributeDataPtr,void ** validationDataPtr)10466 bool ColladaParserAutoGen14Private::_preBegin__float3x3____float3x3( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
10467 {
10468 #ifdef GENERATEDSAXPARSER_VALIDATION
10469     if ( mValidate )
10470     {
10471 
10472         bool validationResult = _validateBegin__float3x3____float3x3( attributes, attributeDataPtr, validationDataPtr );
10473         if ( !validationResult ) return false;
10474 
10475     } // validation
10476 #endif
10477 
10478     return true;
10479 }
10480 
10481 //---------------------------------------------------------------------
_preEnd__float3x3____float3x3()10482 bool ColladaParserAutoGen14Private::_preEnd__float3x3____float3x3()
10483 {
10484 #ifdef GENERATEDSAXPARSER_VALIDATION
10485     if ( mValidate )
10486     {
10487 
10488         bool validationResult = _validateEnd__float3x3____float3x3();
10489         if ( !validationResult ) return false;
10490 
10491     } // validation
10492 #endif
10493 
10494 #ifdef GENERATEDSAXPARSER_VALIDATION
10495     if ( mValidate )
10496     {
10497         float3x3____float3x3__ValidationData* validationData = (float3x3____float3x3__ValidationData*)mValidationDataStack.top();
10498         DISABLE_WARNING_UNUSED(validationData)
10499 bool returnValue = floatDataEnd( &ColladaParserAutoGen14::data__float3x3____float3x3, &validate__float3x3__streamEnd, &validationData->validationWholeSize, 0 );
10500         ParserError::ErrorType simpleTypeValidationResult = validate__float3x3(0, (*(&validationData->validationWholeSize)));
10501         mValidationDataStack.deleteObject();
10502         if (simpleTypeValidationResult != ParserError::SIMPLE_TYPE_VALIDATION_OK)
10503         {
10504             if( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL,
10505                 simpleTypeValidationResult,
10506                 HASH_ELEMENT_FLOAT3X3,
10507                 (ParserChar*)0, 0 ) )
10508             {
10509                 return false;
10510             }
10511         }
10512         return returnValue;
10513     }
10514     else
10515     {
10516 return floatDataEnd( &ColladaParserAutoGen14::data__float3x3____float3x3 );
10517     }
10518 #else
10519     {
10520 return floatDataEnd( &ColladaParserAutoGen14::data__float3x3____float3x3 );
10521     } // validation
10522 #endif
10523 
10524 }
10525 
10526 //---------------------------------------------------------------------
_freeAttributes__float3x3____float3x3(void * attributeData)10527 bool ColladaParserAutoGen14Private::_freeAttributes__float3x3____float3x3( void* attributeData )
10528 {
10529     return true;
10530 }
10531 
10532 //---------------------------------------------------------------------
_data__float4x4____float4x4(const ParserChar * text,size_t textLength)10533 bool ColladaParserAutoGen14Private::_data__float4x4____float4x4( const ParserChar* text, size_t textLength )
10534 {
10535 #ifdef GENERATEDSAXPARSER_VALIDATION
10536     if ( mValidate )
10537     {
10538         bind_shape_matrix__ValidationData* validationData = (bind_shape_matrix__ValidationData*)mValidationDataStack.top();
10539         DISABLE_WARNING_UNUSED(validationData)
10540 return characterData2FloatData(text, textLength, &ColladaParserAutoGen14::data__float4x4____float4x4, &validate__float4x4__stream, &validationData->validationWholeSize, 0);
10541     }
10542     else
10543     {
10544 return characterData2FloatData(text, textLength, &ColladaParserAutoGen14::data__float4x4____float4x4);
10545     }
10546 #else
10547     {
10548 return characterData2FloatData(text, textLength, &ColladaParserAutoGen14::data__float4x4____float4x4);
10549     } // validation
10550 #endif
10551 
10552 }
10553 
10554 //---------------------------------------------------------------------
_preBegin__float4x4____float4x4(const ParserAttributes & attributes,void ** attributeDataPtr,void ** validationDataPtr)10555 bool ColladaParserAutoGen14Private::_preBegin__float4x4____float4x4( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
10556 {
10557 #ifdef GENERATEDSAXPARSER_VALIDATION
10558     if ( mValidate )
10559     {
10560 
10561         bool validationResult = _validateBegin__float4x4____float4x4( attributes, attributeDataPtr, validationDataPtr );
10562         if ( !validationResult ) return false;
10563 
10564     } // validation
10565 #endif
10566 
10567     return true;
10568 }
10569 
10570 //---------------------------------------------------------------------
_preEnd__float4x4____float4x4()10571 bool ColladaParserAutoGen14Private::_preEnd__float4x4____float4x4()
10572 {
10573 #ifdef GENERATEDSAXPARSER_VALIDATION
10574     if ( mValidate )
10575     {
10576 
10577         bool validationResult = _validateEnd__float4x4____float4x4();
10578         if ( !validationResult ) return false;
10579 
10580     } // validation
10581 #endif
10582 
10583 #ifdef GENERATEDSAXPARSER_VALIDATION
10584     if ( mValidate )
10585     {
10586         bind_shape_matrix__ValidationData* validationData = (bind_shape_matrix__ValidationData*)mValidationDataStack.top();
10587         DISABLE_WARNING_UNUSED(validationData)
10588 bool returnValue = floatDataEnd( &ColladaParserAutoGen14::data__float4x4____float4x4, &validate__float4x4__streamEnd, &validationData->validationWholeSize, 0 );
10589         ParserError::ErrorType simpleTypeValidationResult = validate__float4x4(0, (*(&validationData->validationWholeSize)));
10590         mValidationDataStack.deleteObject();
10591         if (simpleTypeValidationResult != ParserError::SIMPLE_TYPE_VALIDATION_OK)
10592         {
10593             if( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL,
10594                 simpleTypeValidationResult,
10595                 HASH_ELEMENT_FLOAT4X4,
10596                 (ParserChar*)0, 0 ) )
10597             {
10598                 return false;
10599             }
10600         }
10601         return returnValue;
10602     }
10603     else
10604     {
10605 return floatDataEnd( &ColladaParserAutoGen14::data__float4x4____float4x4 );
10606     }
10607 #else
10608     {
10609 return floatDataEnd( &ColladaParserAutoGen14::data__float4x4____float4x4 );
10610     } // validation
10611 #endif
10612 
10613 }
10614 
10615 //---------------------------------------------------------------------
_freeAttributes__float4x4____float4x4(void * attributeData)10616 bool ColladaParserAutoGen14Private::_freeAttributes__float4x4____float4x4( void* attributeData )
10617 {
10618     return true;
10619 }
10620 
10621 //---------------------------------------------------------------------
_data__string(const ParserChar * text,size_t textLength)10622 bool ColladaParserAutoGen14Private::_data__string( const ParserChar* text, size_t textLength )
10623 {
10624 
10625 return mImpl->data__string(text, textLength);
10626 }
10627 
10628 //---------------------------------------------------------------------
_preBegin__string(const ParserAttributes & attributes,void ** attributeDataPtr,void ** validationDataPtr)10629 bool ColladaParserAutoGen14Private::_preBegin__string( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
10630 {
10631 #ifdef GENERATEDSAXPARSER_VALIDATION
10632     if ( mValidate )
10633     {
10634 
10635         bool validationResult = _validateBegin__string( attributes, attributeDataPtr, validationDataPtr );
10636         if ( !validationResult ) return false;
10637 
10638     } // validation
10639 #endif
10640 
10641     return true;
10642 }
10643 
10644 //---------------------------------------------------------------------
_preEnd__string()10645 bool ColladaParserAutoGen14Private::_preEnd__string()
10646 {
10647 #ifdef GENERATEDSAXPARSER_VALIDATION
10648     if ( mValidate )
10649     {
10650 
10651         bool validationResult = _validateEnd__string();
10652         if ( !validationResult ) return false;
10653 
10654     } // validation
10655 #endif
10656 
10657     return true;
10658 }
10659 
10660 //---------------------------------------------------------------------
_freeAttributes__string(void * attributeData)10661 bool ColladaParserAutoGen14Private::_freeAttributes__string( void* attributeData )
10662 {
10663     return true;
10664 }
10665 
10666 //---------------------------------------------------------------------
10667 const image__AttributeData image__AttributeData::DEFAULT = {0, 0, 0, 0, 0, 0, 1};
10668 
10669 //---------------------------------------------------------------------
_data__image(const ParserChar * text,size_t textLength)10670 bool ColladaParserAutoGen14Private::_data__image( const ParserChar* text, size_t textLength )
10671 {
10672     return true;
10673 }
10674 
10675 //---------------------------------------------------------------------
_preBegin__image(const ParserAttributes & attributes,void ** attributeDataPtr,void ** validationDataPtr)10676 bool ColladaParserAutoGen14Private::_preBegin__image( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
10677 {
10678 #ifdef GENERATEDSAXPARSER_VALIDATION
10679     if ( mValidate )
10680     {
10681 
10682         bool validationResult = _validateBegin__image( attributes, attributeDataPtr, validationDataPtr );
10683         if ( !validationResult ) return false;
10684 
10685     } // validation
10686 #endif
10687 
10688 image__AttributeData* attributeData = newData<image__AttributeData>(attributeDataPtr);
10689 
10690 const ParserChar** attributeArray = attributes.attributes;
10691 if ( attributeArray )
10692 {
10693     while (true)
10694     {
10695         const ParserChar * attribute = *attributeArray;
10696         if ( !attribute )
10697             break;
10698         StringHash hash = GeneratedSaxParser::Utils::calculateStringHash(attribute);
10699         attributeArray++;
10700         if ( !attributeArray )
10701             return false;
10702         const ParserChar* attributeValue = *attributeArray;
10703         attributeArray++;
10704 
10705 
10706     switch ( hash )
10707     {
10708     case HASH_ATTRIBUTE_id:
10709     {
10710 
10711 attributeData->id = attributeValue;
10712 
10713     break;
10714     }
10715     case HASH_ATTRIBUTE_name:
10716     {
10717 
10718 attributeData->name = attributeValue;
10719 #ifdef GENERATEDSAXPARSER_VALIDATION
10720     if ( mValidate )
10721     {
10722     ParserError::ErrorType simpleTypeValidationResult = validate__NCName(attributeData->name, strlen(attributeData->name));
10723     if (simpleTypeValidationResult != ParserError::SIMPLE_TYPE_VALIDATION_OK)
10724     {
10725         if( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL,
10726             simpleTypeValidationResult,
10727             HASH_ELEMENT_IMAGE,
10728             HASH_ATTRIBUTE_name,
10729             attributeValue) )
10730         {
10731             return false;
10732         }
10733     }
10734     } // validation
10735 #endif
10736 
10737     break;
10738     }
10739     case HASH_ATTRIBUTE_format:
10740     {
10741 
10742 attributeData->format = attributeValue;
10743 
10744     break;
10745     }
10746     case HASH_ATTRIBUTE_height:
10747     {
10748 bool failed;
10749 attributeData->height = GeneratedSaxParser::Utils::toUint64(attributeValue, failed);
10750 if ( failed && handleError(ParserError::SEVERITY_ERROR_NONCRITICAL,
10751         ParserError::ERROR_ATTRIBUTE_PARSING_FAILED,
10752         HASH_ELEMENT_IMAGE,
10753         HASH_ATTRIBUTE_height,
10754         attributeValue))
10755 {
10756     return false;
10757 }
10758 if ( !failed )
10759     attributeData->present_attributes |= image__AttributeData::ATTRIBUTE_HEIGHT_PRESENT;
10760 
10761     break;
10762     }
10763     case HASH_ATTRIBUTE_width:
10764     {
10765 bool failed;
10766 attributeData->width = GeneratedSaxParser::Utils::toUint64(attributeValue, failed);
10767 if ( failed && handleError(ParserError::SEVERITY_ERROR_NONCRITICAL,
10768         ParserError::ERROR_ATTRIBUTE_PARSING_FAILED,
10769         HASH_ELEMENT_IMAGE,
10770         HASH_ATTRIBUTE_width,
10771         attributeValue))
10772 {
10773     return false;
10774 }
10775 if ( !failed )
10776     attributeData->present_attributes |= image__AttributeData::ATTRIBUTE_WIDTH_PRESENT;
10777 
10778     break;
10779     }
10780     case HASH_ATTRIBUTE_depth:
10781     {
10782 bool failed;
10783 attributeData->depth = GeneratedSaxParser::Utils::toUint64(attributeValue, failed);
10784 if ( failed && handleError(ParserError::SEVERITY_ERROR_NONCRITICAL,
10785         ParserError::ERROR_ATTRIBUTE_PARSING_FAILED,
10786         HASH_ELEMENT_IMAGE,
10787         HASH_ATTRIBUTE_depth,
10788         attributeValue))
10789 {
10790     return false;
10791 }
10792 
10793     break;
10794     }
10795     default:
10796     {
10797         if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_UNKNOWN_ATTRIBUTE, HASH_ELEMENT_IMAGE, attribute, attributeValue))
10798             {return false;}
10799     }
10800     }
10801     }
10802 }
10803 
10804 
10805     return true;
10806 }
10807 
10808 //---------------------------------------------------------------------
_preEnd__image()10809 bool ColladaParserAutoGen14Private::_preEnd__image()
10810 {
10811 #ifdef GENERATEDSAXPARSER_VALIDATION
10812     if ( mValidate )
10813     {
10814 
10815         bool validationResult = _validateEnd__image();
10816         if ( !validationResult ) return false;
10817 
10818     } // validation
10819 #endif
10820 
10821     return true;
10822 }
10823 
10824 //---------------------------------------------------------------------
_freeAttributes__image(void * attributeData)10825 bool ColladaParserAutoGen14Private::_freeAttributes__image( void* attributeData )
10826 {
10827     image__AttributeData* typedAttributeData = static_cast<image__AttributeData*>(attributeData);
10828 
10829     typedAttributeData->~image__AttributeData();
10830 
10831     return true;
10832 }
10833 
10834 //---------------------------------------------------------------------
_data__data(const ParserChar * text,size_t textLength)10835 bool ColladaParserAutoGen14Private::_data__data( const ParserChar* text, size_t textLength )
10836 {
10837 #ifdef GENERATEDSAXPARSER_VALIDATION
10838     if ( mValidate )
10839     {
10840 return characterData2Uint8Data(text, textLength, &ColladaParserAutoGen14::data__data, 0, 0, 0);
10841     }
10842     else
10843     {
10844 return characterData2Uint8Data(text, textLength, &ColladaParserAutoGen14::data__data);
10845     }
10846 #else
10847     {
10848 return characterData2Uint8Data(text, textLength, &ColladaParserAutoGen14::data__data);
10849     } // validation
10850 #endif
10851 
10852 }
10853 
10854 //---------------------------------------------------------------------
_preBegin__data(const ParserAttributes & attributes,void ** attributeDataPtr,void ** validationDataPtr)10855 bool ColladaParserAutoGen14Private::_preBegin__data( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
10856 {
10857 #ifdef GENERATEDSAXPARSER_VALIDATION
10858     if ( mValidate )
10859     {
10860 
10861         bool validationResult = _validateBegin__data( attributes, attributeDataPtr, validationDataPtr );
10862         if ( !validationResult ) return false;
10863 
10864     } // validation
10865 #endif
10866 
10867     return true;
10868 }
10869 
10870 //---------------------------------------------------------------------
_preEnd__data()10871 bool ColladaParserAutoGen14Private::_preEnd__data()
10872 {
10873 #ifdef GENERATEDSAXPARSER_VALIDATION
10874     if ( mValidate )
10875     {
10876 
10877         bool validationResult = _validateEnd__data();
10878         if ( !validationResult ) return false;
10879 
10880     } // validation
10881 #endif
10882 
10883 #ifdef GENERATEDSAXPARSER_VALIDATION
10884     if ( mValidate )
10885     {
10886 bool returnValue = uint8DataEnd( &ColladaParserAutoGen14::data__data, 0, 0, 0 );
10887         return returnValue;
10888     }
10889     else
10890     {
10891 return uint8DataEnd( &ColladaParserAutoGen14::data__data );
10892     }
10893 #else
10894     {
10895 return uint8DataEnd( &ColladaParserAutoGen14::data__data );
10896     } // validation
10897 #endif
10898 
10899 }
10900 
10901 //---------------------------------------------------------------------
_freeAttributes__data(void * attributeData)10902 bool ColladaParserAutoGen14Private::_freeAttributes__data( void* attributeData )
10903 {
10904     return true;
10905 }
10906 
10907 //---------------------------------------------------------------------
_data__init_from____anyURI(const ParserChar * text,size_t textLength)10908 bool ColladaParserAutoGen14Private::_data__init_from____anyURI( const ParserChar* text, size_t textLength )
10909 {
10910 if (!mLastIncompleteFragmentInCharacterData)
10911 {
10912     mLastIncompleteFragmentInCharacterData = (ParserChar*)mStackMemoryManager.newObject(textLength);
10913     memcpy(mLastIncompleteFragmentInCharacterData, text, textLength);
10914     mEndOfDataInCurrentObjectOnStack = mLastIncompleteFragmentInCharacterData + textLength;
10915 }
10916 else
10917 {
10918     ParserChar* tmp = (ParserChar*)mStackMemoryManager.growObject(textLength);
10919     if ( tmp != mLastIncompleteFragmentInCharacterData ) {
10920         mEndOfDataInCurrentObjectOnStack = (mEndOfDataInCurrentObjectOnStack - mLastIncompleteFragmentInCharacterData) + tmp;
10921         mLastIncompleteFragmentInCharacterData = tmp;
10922     }
10923     memcpy(mEndOfDataInCurrentObjectOnStack, text, textLength);
10924     mEndOfDataInCurrentObjectOnStack += textLength;
10925 }
10926 return true;
10927 }
10928 
10929 //---------------------------------------------------------------------
_preBegin__init_from____anyURI(const ParserAttributes & attributes,void ** attributeDataPtr,void ** validationDataPtr)10930 bool ColladaParserAutoGen14Private::_preBegin__init_from____anyURI( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
10931 {
10932 #ifdef GENERATEDSAXPARSER_VALIDATION
10933     if ( mValidate )
10934     {
10935 
10936         bool validationResult = _validateBegin__init_from____anyURI( attributes, attributeDataPtr, validationDataPtr );
10937         if ( !validationResult ) return false;
10938 
10939     } // validation
10940 #endif
10941 
10942     return true;
10943 }
10944 
10945 //---------------------------------------------------------------------
_preEnd__init_from____anyURI()10946 bool ColladaParserAutoGen14Private::_preEnd__init_from____anyURI()
10947 {
10948 #ifdef GENERATEDSAXPARSER_VALIDATION
10949     if ( mValidate )
10950     {
10951 
10952         bool validationResult = _validateEnd__init_from____anyURI();
10953         if ( !validationResult ) return false;
10954 
10955     } // validation
10956 #endif
10957 
10958 bool failed;
10959 const ParserChar* ptrForErr = mLastIncompleteFragmentInCharacterData;
10960 DISABLE_WARNING_UNUSED(ptrForErr)
10961 COLLADABU::URI parameter = GeneratedSaxParser::Utils::toURI((const ParserChar**)&mLastIncompleteFragmentInCharacterData, mEndOfDataInCurrentObjectOnStack, failed);
10962 bool returnValue;
10963 if (!failed)
10964 {
10965     returnValue = mImpl->data__init_from____anyURI(parameter);
10966 }
10967 else
10968     returnValue = !handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_TEXTDATA_PARSING_FAILED, HASH_ELEMENT_INIT_FROM, (const ParserChar*)0, mLastIncompleteFragmentInCharacterData);
10969 if (mLastIncompleteFragmentInCharacterData)
10970     mStackMemoryManager.deleteObject();
10971 mLastIncompleteFragmentInCharacterData = 0;
10972 mEndOfDataInCurrentObjectOnStack = 0;
10973 return returnValue;
10974 }
10975 
10976 //---------------------------------------------------------------------
_freeAttributes__init_from____anyURI(void * attributeData)10977 bool ColladaParserAutoGen14Private::_freeAttributes__init_from____anyURI( void* attributeData )
10978 {
10979     return true;
10980 }
10981 
10982 //---------------------------------------------------------------------
10983 const newparam____fx_newparam_common__AttributeData newparam____fx_newparam_common__AttributeData::DEFAULT = {0};
10984 
10985 //---------------------------------------------------------------------
_data__newparam____fx_newparam_common(const ParserChar * text,size_t textLength)10986 bool ColladaParserAutoGen14Private::_data__newparam____fx_newparam_common( const ParserChar* text, size_t textLength )
10987 {
10988     return true;
10989 }
10990 
10991 //---------------------------------------------------------------------
_preBegin__newparam____fx_newparam_common(const ParserAttributes & attributes,void ** attributeDataPtr,void ** validationDataPtr)10992 bool ColladaParserAutoGen14Private::_preBegin__newparam____fx_newparam_common( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
10993 {
10994 #ifdef GENERATEDSAXPARSER_VALIDATION
10995     if ( mValidate )
10996     {
10997 
10998         bool validationResult = _validateBegin__newparam____fx_newparam_common( attributes, attributeDataPtr, validationDataPtr );
10999         if ( !validationResult ) return false;
11000 
11001     } // validation
11002 #endif
11003 
11004 newparam____fx_newparam_common__AttributeData* attributeData = newData<newparam____fx_newparam_common__AttributeData>(attributeDataPtr);
11005 
11006 const ParserChar** attributeArray = attributes.attributes;
11007 if ( attributeArray )
11008 {
11009     while (true)
11010     {
11011         const ParserChar * attribute = *attributeArray;
11012         if ( !attribute )
11013             break;
11014         StringHash hash = GeneratedSaxParser::Utils::calculateStringHash(attribute);
11015         attributeArray++;
11016         if ( !attributeArray )
11017             return false;
11018         const ParserChar* attributeValue = *attributeArray;
11019         attributeArray++;
11020 
11021 
11022     switch ( hash )
11023     {
11024     case HASH_ATTRIBUTE_sid:
11025     {
11026 
11027 attributeData->sid = attributeValue;
11028 #ifdef GENERATEDSAXPARSER_VALIDATION
11029     if ( mValidate )
11030     {
11031     ParserError::ErrorType simpleTypeValidationResult = validate__NCName(attributeData->sid, strlen(attributeData->sid));
11032     if (simpleTypeValidationResult != ParserError::SIMPLE_TYPE_VALIDATION_OK)
11033     {
11034         if( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL,
11035             simpleTypeValidationResult,
11036             HASH_ELEMENT_NEWPARAM,
11037             HASH_ATTRIBUTE_sid,
11038             attributeValue) )
11039         {
11040             return false;
11041         }
11042     }
11043     } // validation
11044 #endif
11045 
11046     break;
11047     }
11048     default:
11049     {
11050         if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_UNKNOWN_ATTRIBUTE, HASH_ELEMENT_NEWPARAM, attribute, attributeValue))
11051             {return false;}
11052     }
11053     }
11054     }
11055 }
11056 if ( !attributeData->sid )
11057 {
11058     if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_REQUIRED_ATTRIBUTE_MISSING, HASH_ELEMENT_NEWPARAM, HASH_ATTRIBUTE_sid, 0 ) )
11059         return false;
11060 }
11061 
11062 
11063     return true;
11064 }
11065 
11066 //---------------------------------------------------------------------
_preEnd__newparam____fx_newparam_common()11067 bool ColladaParserAutoGen14Private::_preEnd__newparam____fx_newparam_common()
11068 {
11069 #ifdef GENERATEDSAXPARSER_VALIDATION
11070     if ( mValidate )
11071     {
11072 
11073         bool validationResult = _validateEnd__newparam____fx_newparam_common();
11074         if ( !validationResult ) return false;
11075 
11076     } // validation
11077 #endif
11078 
11079     return true;
11080 }
11081 
11082 //---------------------------------------------------------------------
_freeAttributes__newparam____fx_newparam_common(void * attributeData)11083 bool ColladaParserAutoGen14Private::_freeAttributes__newparam____fx_newparam_common( void* attributeData )
11084 {
11085     newparam____fx_newparam_common__AttributeData* typedAttributeData = static_cast<newparam____fx_newparam_common__AttributeData*>(attributeData);
11086 
11087     typedAttributeData->~newparam____fx_newparam_common__AttributeData();
11088 
11089     return true;
11090 }
11091 
11092 //---------------------------------------------------------------------
_data__semantic(const ParserChar * text,size_t textLength)11093 bool ColladaParserAutoGen14Private::_data__semantic( const ParserChar* text, size_t textLength )
11094 {
11095 if (!mLastIncompleteFragmentInCharacterData)
11096 {
11097     mLastIncompleteFragmentInCharacterData = (ParserChar*)mStackMemoryManager.newObject(textLength);
11098     memcpy(mLastIncompleteFragmentInCharacterData, text, textLength);
11099     mEndOfDataInCurrentObjectOnStack = mLastIncompleteFragmentInCharacterData + textLength;
11100 }
11101 else
11102 {
11103     ParserChar* tmp = (ParserChar*)mStackMemoryManager.growObject(textLength);
11104     if ( tmp != mLastIncompleteFragmentInCharacterData ) {
11105         mEndOfDataInCurrentObjectOnStack = (mEndOfDataInCurrentObjectOnStack - mLastIncompleteFragmentInCharacterData) + tmp;
11106         mLastIncompleteFragmentInCharacterData = tmp;
11107     }
11108     memcpy(mEndOfDataInCurrentObjectOnStack, text, textLength);
11109     mEndOfDataInCurrentObjectOnStack += textLength;
11110 }
11111 return true;
11112 }
11113 
11114 //---------------------------------------------------------------------
_preBegin__semantic(const ParserAttributes & attributes,void ** attributeDataPtr,void ** validationDataPtr)11115 bool ColladaParserAutoGen14Private::_preBegin__semantic( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
11116 {
11117 #ifdef GENERATEDSAXPARSER_VALIDATION
11118     if ( mValidate )
11119     {
11120 
11121         bool validationResult = _validateBegin__semantic( attributes, attributeDataPtr, validationDataPtr );
11122         if ( !validationResult ) return false;
11123 
11124     } // validation
11125 #endif
11126 
11127     return true;
11128 }
11129 
11130 //---------------------------------------------------------------------
_preEnd__semantic()11131 bool ColladaParserAutoGen14Private::_preEnd__semantic()
11132 {
11133 #ifdef GENERATEDSAXPARSER_VALIDATION
11134     if ( mValidate )
11135     {
11136 
11137         bool validationResult = _validateEnd__semantic();
11138         if ( !validationResult ) return false;
11139 
11140     } // validation
11141 #endif
11142 
11143 bool returnValue = true;
11144 #ifdef GENERATEDSAXPARSER_VALIDATION
11145     if ( mValidate )
11146     {
11147 ParserError::ErrorType simpleTypeValidationResult = validate__NCName(mLastIncompleteFragmentInCharacterData, mEndOfDataInCurrentObjectOnStack - mLastIncompleteFragmentInCharacterData);
11148 if (simpleTypeValidationResult != ParserError::SIMPLE_TYPE_VALIDATION_OK)
11149 {
11150     ParserChar msg[21];
11151     Utils::fillErrorMsg(msg, mLastIncompleteFragmentInCharacterData, 20);
11152     if( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL,
11153         simpleTypeValidationResult,
11154         0,
11155         msg) )
11156     {
11157         returnValue =  false;
11158     }
11159 }
11160 if (!returnValue)
11161 {
11162     mStackMemoryManager.deleteObject();
11163     mLastIncompleteFragmentInCharacterData = 0;
11164     mEndOfDataInCurrentObjectOnStack = 0;
11165     return returnValue;
11166 }
11167     } // validation
11168 #endif
11169 returnValue = mImpl->data__semantic(mLastIncompleteFragmentInCharacterData, mEndOfDataInCurrentObjectOnStack - mLastIncompleteFragmentInCharacterData);
11170 mStackMemoryManager.deleteObject();
11171 mLastIncompleteFragmentInCharacterData = 0;
11172 mEndOfDataInCurrentObjectOnStack = 0;
11173 return returnValue;
11174 
11175 }
11176 
11177 //---------------------------------------------------------------------
_freeAttributes__semantic(void * attributeData)11178 bool ColladaParserAutoGen14Private::_freeAttributes__semantic( void* attributeData )
11179 {
11180     return true;
11181 }
11182 
11183 //---------------------------------------------------------------------
_data__modifier(const ParserChar * text,size_t textLength)11184 bool ColladaParserAutoGen14Private::_data__modifier( const ParserChar* text, size_t textLength )
11185 {
11186 if (!mLastIncompleteFragmentInCharacterData)
11187 {
11188     mLastIncompleteFragmentInCharacterData = (ParserChar*)mStackMemoryManager.newObject(textLength);
11189     memcpy(mLastIncompleteFragmentInCharacterData, text, textLength);
11190     mEndOfDataInCurrentObjectOnStack = mLastIncompleteFragmentInCharacterData + textLength;
11191 }
11192 else
11193 {
11194     ParserChar* tmp = (ParserChar*)mStackMemoryManager.growObject(textLength);
11195     if ( tmp != mLastIncompleteFragmentInCharacterData ) {
11196         mEndOfDataInCurrentObjectOnStack = (mEndOfDataInCurrentObjectOnStack - mLastIncompleteFragmentInCharacterData) + tmp;
11197         mLastIncompleteFragmentInCharacterData = tmp;
11198     }
11199     memcpy(mEndOfDataInCurrentObjectOnStack, text, textLength);
11200     mEndOfDataInCurrentObjectOnStack += textLength;
11201 }
11202 return true;
11203 }
11204 
11205 //---------------------------------------------------------------------
_preBegin__modifier(const ParserAttributes & attributes,void ** attributeDataPtr,void ** validationDataPtr)11206 bool ColladaParserAutoGen14Private::_preBegin__modifier( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
11207 {
11208 #ifdef GENERATEDSAXPARSER_VALIDATION
11209     if ( mValidate )
11210     {
11211 
11212         bool validationResult = _validateBegin__modifier( attributes, attributeDataPtr, validationDataPtr );
11213         if ( !validationResult ) return false;
11214 
11215     } // validation
11216 #endif
11217 
11218     return true;
11219 }
11220 
11221 //---------------------------------------------------------------------
_preEnd__modifier()11222 bool ColladaParserAutoGen14Private::_preEnd__modifier()
11223 {
11224 #ifdef GENERATEDSAXPARSER_VALIDATION
11225     if ( mValidate )
11226     {
11227 
11228         bool validationResult = _validateEnd__modifier();
11229         if ( !validationResult ) return false;
11230 
11231     } // validation
11232 #endif
11233 
11234 bool failed;
11235 ENUM__fx_modifier_enum_common parameter = Utils::toEnum<ENUM__fx_modifier_enum_common, StringHash, ENUM__fx_modifier_enum_common__COUNT>((const ParserChar**)&mLastIncompleteFragmentInCharacterData, mEndOfDataInCurrentObjectOnStack, failed, ENUM__fx_modifier_enum_commonMap, Utils::calculateStringHash);
11236 bool returnValue;
11237 if (!failed)
11238 {
11239     returnValue = mImpl->data__modifier(parameter);
11240 }
11241 else
11242     returnValue = !handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_TEXTDATA_PARSING_FAILED, HASH_ELEMENT_MODIFIER, (const ParserChar*)0, mLastIncompleteFragmentInCharacterData);
11243 if (mLastIncompleteFragmentInCharacterData)
11244     mStackMemoryManager.deleteObject();
11245 mLastIncompleteFragmentInCharacterData = 0;
11246 mEndOfDataInCurrentObjectOnStack = 0;
11247 return returnValue;
11248 
11249 }
11250 
11251 //---------------------------------------------------------------------
_freeAttributes__modifier(void * attributeData)11252 bool ColladaParserAutoGen14Private::_freeAttributes__modifier( void* attributeData )
11253 {
11254     return true;
11255 }
11256 
11257 //---------------------------------------------------------------------
toEnumDataPrefix_ENUM__fx_modifier_enum_common(const ParserChar * prefixedBuffer,const ParserChar * prefixedBufferEnd,const ParserChar ** buffer,const ParserChar * bufferEnd,bool & failed,const std::pair<StringHash,ENUM__fx_modifier_enum_common> * enumMap,StringHash (* baseConversionFunc)(const ParserChar **,const ParserChar *,bool &))11258 ENUM__fx_modifier_enum_common ColladaParserAutoGen14Private::toEnumDataPrefix_ENUM__fx_modifier_enum_common (
11259     const ParserChar* prefixedBuffer,
11260     const ParserChar* prefixedBufferEnd,
11261     const ParserChar** buffer,
11262     const ParserChar* bufferEnd,
11263     bool& failed,
11264     const std::pair<StringHash, ENUM__fx_modifier_enum_common>* enumMap,
11265     StringHash (*baseConversionFunc)( const ParserChar**, const ParserChar*, bool& )
11266 )
11267 {
11268     return toEnumDataPrefix<ENUM__fx_modifier_enum_common, StringHash, ENUM__fx_modifier_enum_common__COUNT, &toEnum_ENUM__fx_modifier_enum_common>(prefixedBuffer, prefixedBufferEnd, buffer, bufferEnd, failed, enumMap, baseConversionFunc);
11269 }
11270 
11271 //---------------------------------------------------------------------
characterData2EnumData_ENUM__fx_modifier_enum_common(const ParserChar * text,size_t textLength,bool (ColladaParserAutoGen14::* dataFunction)(const ENUM__fx_modifier_enum_common *,size_t),StringHash (* baseConversionFunc)(const ParserChar **,const ParserChar *,bool &))11272 bool ColladaParserAutoGen14Private::characterData2EnumData_ENUM__fx_modifier_enum_common (
11273     const ParserChar* text,
11274     size_t textLength,
11275     bool ( ColladaParserAutoGen14::*dataFunction )(const ENUM__fx_modifier_enum_common*, size_t ),
11276     StringHash (*baseConversionFunc)( const ParserChar**, const ParserChar*, bool& )
11277 )
11278 {
11279     return characterData2EnumData<ENUM__fx_modifier_enum_common, StringHash, ENUM__fx_modifier_enum_common__COUNT>(text, textLength, dataFunction, ENUM__fx_modifier_enum_commonMap, baseConversionFunc, &toEnum_ENUM__fx_modifier_enum_common, &ColladaParserAutoGen14Private::toEnumDataPrefix_ENUM__fx_modifier_enum_common);
11280 }
11281 
11282 //---------------------------------------------------------------------
dataEnumEnd_ENUM__fx_modifier_enum_common(bool (ColladaParserAutoGen14::* dataFunction)(const ENUM__fx_modifier_enum_common *,size_t),const std::pair<StringHash,ENUM__fx_modifier_enum_common> * enumMap,StringHash (* baseConversionFunc)(const ParserChar **,const ParserChar *,bool &),ENUM__fx_modifier_enum_common (* toEnumFunc)(const ParserChar **,const ParserChar *,bool &,const std::pair<StringHash,ENUM__fx_modifier_enum_common> * enumMap,StringHash (* baseConversionFunc)(const ParserChar **,const ParserChar *,bool &)))11283 bool ColladaParserAutoGen14Private::dataEnumEnd_ENUM__fx_modifier_enum_common (
11284     bool ( ColladaParserAutoGen14::*dataFunction )(const ENUM__fx_modifier_enum_common*, size_t ),
11285     const std::pair<StringHash, ENUM__fx_modifier_enum_common>* enumMap,
11286     StringHash (*baseConversionFunc)( const ParserChar**, const ParserChar*, bool& ),
11287     ENUM__fx_modifier_enum_common (*toEnumFunc)( const ParserChar**, const ParserChar*, bool&, const std::pair<StringHash, ENUM__fx_modifier_enum_common>* enumMap, StringHash (*baseConversionFunc)( const ParserChar**, const ParserChar*, bool& ))
11288 )
11289 {
11290     return dataEnumEnd<ENUM__fx_modifier_enum_common, StringHash, ENUM__fx_modifier_enum_common__COUNT>(dataFunction, enumMap, baseConversionFunc, toEnumFunc);
11291 }
11292 
11293 //---------------------------------------------------------------------
_data__float1x1____float(const ParserChar * text,size_t textLength)11294 bool ColladaParserAutoGen14Private::_data__float1x1____float( const ParserChar* text, size_t textLength )
11295 {
11296 if (!mLastIncompleteFragmentInCharacterData)
11297 {
11298     mLastIncompleteFragmentInCharacterData = (ParserChar*)mStackMemoryManager.newObject(textLength);
11299     memcpy(mLastIncompleteFragmentInCharacterData, text, textLength);
11300     mEndOfDataInCurrentObjectOnStack = mLastIncompleteFragmentInCharacterData + textLength;
11301 }
11302 else
11303 {
11304     ParserChar* tmp = (ParserChar*)mStackMemoryManager.growObject(textLength);
11305     if ( tmp != mLastIncompleteFragmentInCharacterData ) {
11306         mEndOfDataInCurrentObjectOnStack = (mEndOfDataInCurrentObjectOnStack - mLastIncompleteFragmentInCharacterData) + tmp;
11307         mLastIncompleteFragmentInCharacterData = tmp;
11308     }
11309     memcpy(mEndOfDataInCurrentObjectOnStack, text, textLength);
11310     mEndOfDataInCurrentObjectOnStack += textLength;
11311 }
11312 return true;
11313 }
11314 
11315 //---------------------------------------------------------------------
_preBegin__float1x1____float(const ParserAttributes & attributes,void ** attributeDataPtr,void ** validationDataPtr)11316 bool ColladaParserAutoGen14Private::_preBegin__float1x1____float( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
11317 {
11318 #ifdef GENERATEDSAXPARSER_VALIDATION
11319     if ( mValidate )
11320     {
11321 
11322         bool validationResult = _validateBegin__float1x1____float( attributes, attributeDataPtr, validationDataPtr );
11323         if ( !validationResult ) return false;
11324 
11325     } // validation
11326 #endif
11327 
11328     return true;
11329 }
11330 
11331 //---------------------------------------------------------------------
_preEnd__float1x1____float()11332 bool ColladaParserAutoGen14Private::_preEnd__float1x1____float()
11333 {
11334 #ifdef GENERATEDSAXPARSER_VALIDATION
11335     if ( mValidate )
11336     {
11337 
11338         bool validationResult = _validateEnd__float1x1____float();
11339         if ( !validationResult ) return false;
11340 
11341     } // validation
11342 #endif
11343 
11344 bool failed;
11345 const ParserChar* ptrForErr = mLastIncompleteFragmentInCharacterData;
11346 DISABLE_WARNING_UNUSED(ptrForErr)
11347 float parameter = GeneratedSaxParser::Utils::toFloat((const ParserChar**)&mLastIncompleteFragmentInCharacterData, mEndOfDataInCurrentObjectOnStack, failed);
11348 bool returnValue;
11349 if (!failed)
11350 {
11351     returnValue = mImpl->data__float1x1____float(parameter);
11352 }
11353 else
11354     returnValue = !handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_TEXTDATA_PARSING_FAILED, HASH_ELEMENT_FLOAT1X1, (const ParserChar*)0, mLastIncompleteFragmentInCharacterData);
11355 if (mLastIncompleteFragmentInCharacterData)
11356     mStackMemoryManager.deleteObject();
11357 mLastIncompleteFragmentInCharacterData = 0;
11358 mEndOfDataInCurrentObjectOnStack = 0;
11359 return returnValue;
11360 }
11361 
11362 //---------------------------------------------------------------------
_freeAttributes__float1x1____float(void * attributeData)11363 bool ColladaParserAutoGen14Private::_freeAttributes__float1x1____float( void* attributeData )
11364 {
11365     return true;
11366 }
11367 
11368 //---------------------------------------------------------------------
_data__float1x2____float2(const ParserChar * text,size_t textLength)11369 bool ColladaParserAutoGen14Private::_data__float1x2____float2( const ParserChar* text, size_t textLength )
11370 {
11371 #ifdef GENERATEDSAXPARSER_VALIDATION
11372     if ( mValidate )
11373     {
11374         float2____float2__ValidationData* validationData = (float2____float2__ValidationData*)mValidationDataStack.top();
11375         DISABLE_WARNING_UNUSED(validationData)
11376 return characterData2FloatData(text, textLength, &ColladaParserAutoGen14::data__float1x2____float2, &validate__float2__stream, &validationData->validationWholeSize, 0);
11377     }
11378     else
11379     {
11380 return characterData2FloatData(text, textLength, &ColladaParserAutoGen14::data__float1x2____float2);
11381     }
11382 #else
11383     {
11384 return characterData2FloatData(text, textLength, &ColladaParserAutoGen14::data__float1x2____float2);
11385     } // validation
11386 #endif
11387 
11388 }
11389 
11390 //---------------------------------------------------------------------
_preBegin__float1x2____float2(const ParserAttributes & attributes,void ** attributeDataPtr,void ** validationDataPtr)11391 bool ColladaParserAutoGen14Private::_preBegin__float1x2____float2( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
11392 {
11393 #ifdef GENERATEDSAXPARSER_VALIDATION
11394     if ( mValidate )
11395     {
11396 
11397         bool validationResult = _validateBegin__float1x2____float2( attributes, attributeDataPtr, validationDataPtr );
11398         if ( !validationResult ) return false;
11399 
11400     } // validation
11401 #endif
11402 
11403     return true;
11404 }
11405 
11406 //---------------------------------------------------------------------
_preEnd__float1x2____float2()11407 bool ColladaParserAutoGen14Private::_preEnd__float1x2____float2()
11408 {
11409 #ifdef GENERATEDSAXPARSER_VALIDATION
11410     if ( mValidate )
11411     {
11412 
11413         bool validationResult = _validateEnd__float1x2____float2();
11414         if ( !validationResult ) return false;
11415 
11416     } // validation
11417 #endif
11418 
11419 #ifdef GENERATEDSAXPARSER_VALIDATION
11420     if ( mValidate )
11421     {
11422         float2____float2__ValidationData* validationData = (float2____float2__ValidationData*)mValidationDataStack.top();
11423         DISABLE_WARNING_UNUSED(validationData)
11424 bool returnValue = floatDataEnd( &ColladaParserAutoGen14::data__float1x2____float2, &validate__float2__streamEnd, &validationData->validationWholeSize, 0 );
11425         ParserError::ErrorType simpleTypeValidationResult = validate__float2(0, (*(&validationData->validationWholeSize)));
11426         mValidationDataStack.deleteObject();
11427         if (simpleTypeValidationResult != ParserError::SIMPLE_TYPE_VALIDATION_OK)
11428         {
11429             if( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL,
11430                 simpleTypeValidationResult,
11431                 HASH_ELEMENT_FLOAT1X2,
11432                 (ParserChar*)0, 0 ) )
11433             {
11434                 return false;
11435             }
11436         }
11437         return returnValue;
11438     }
11439     else
11440     {
11441 return floatDataEnd( &ColladaParserAutoGen14::data__float1x2____float2 );
11442     }
11443 #else
11444     {
11445 return floatDataEnd( &ColladaParserAutoGen14::data__float1x2____float2 );
11446     } // validation
11447 #endif
11448 
11449 }
11450 
11451 //---------------------------------------------------------------------
_freeAttributes__float1x2____float2(void * attributeData)11452 bool ColladaParserAutoGen14Private::_freeAttributes__float1x2____float2( void* attributeData )
11453 {
11454     return true;
11455 }
11456 
11457 //---------------------------------------------------------------------
_data__float1x3____float3(const ParserChar * text,size_t textLength)11458 bool ColladaParserAutoGen14Private::_data__float1x3____float3( const ParserChar* text, size_t textLength )
11459 {
11460 #ifdef GENERATEDSAXPARSER_VALIDATION
11461     if ( mValidate )
11462     {
11463         float3____float3__ValidationData* validationData = (float3____float3__ValidationData*)mValidationDataStack.top();
11464         DISABLE_WARNING_UNUSED(validationData)
11465 return characterData2FloatData(text, textLength, &ColladaParserAutoGen14::data__float1x3____float3, &validate__float3__stream, &validationData->validationWholeSize, 0);
11466     }
11467     else
11468     {
11469 return characterData2FloatData(text, textLength, &ColladaParserAutoGen14::data__float1x3____float3);
11470     }
11471 #else
11472     {
11473 return characterData2FloatData(text, textLength, &ColladaParserAutoGen14::data__float1x3____float3);
11474     } // validation
11475 #endif
11476 
11477 }
11478 
11479 //---------------------------------------------------------------------
_preBegin__float1x3____float3(const ParserAttributes & attributes,void ** attributeDataPtr,void ** validationDataPtr)11480 bool ColladaParserAutoGen14Private::_preBegin__float1x3____float3( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
11481 {
11482 #ifdef GENERATEDSAXPARSER_VALIDATION
11483     if ( mValidate )
11484     {
11485 
11486         bool validationResult = _validateBegin__float1x3____float3( attributes, attributeDataPtr, validationDataPtr );
11487         if ( !validationResult ) return false;
11488 
11489     } // validation
11490 #endif
11491 
11492     return true;
11493 }
11494 
11495 //---------------------------------------------------------------------
_preEnd__float1x3____float3()11496 bool ColladaParserAutoGen14Private::_preEnd__float1x3____float3()
11497 {
11498 #ifdef GENERATEDSAXPARSER_VALIDATION
11499     if ( mValidate )
11500     {
11501 
11502         bool validationResult = _validateEnd__float1x3____float3();
11503         if ( !validationResult ) return false;
11504 
11505     } // validation
11506 #endif
11507 
11508 #ifdef GENERATEDSAXPARSER_VALIDATION
11509     if ( mValidate )
11510     {
11511         float3____float3__ValidationData* validationData = (float3____float3__ValidationData*)mValidationDataStack.top();
11512         DISABLE_WARNING_UNUSED(validationData)
11513 bool returnValue = floatDataEnd( &ColladaParserAutoGen14::data__float1x3____float3, &validate__float3__streamEnd, &validationData->validationWholeSize, 0 );
11514         ParserError::ErrorType simpleTypeValidationResult = validate__float3(0, (*(&validationData->validationWholeSize)));
11515         mValidationDataStack.deleteObject();
11516         if (simpleTypeValidationResult != ParserError::SIMPLE_TYPE_VALIDATION_OK)
11517         {
11518             if( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL,
11519                 simpleTypeValidationResult,
11520                 HASH_ELEMENT_FLOAT1X3,
11521                 (ParserChar*)0, 0 ) )
11522             {
11523                 return false;
11524             }
11525         }
11526         return returnValue;
11527     }
11528     else
11529     {
11530 return floatDataEnd( &ColladaParserAutoGen14::data__float1x3____float3 );
11531     }
11532 #else
11533     {
11534 return floatDataEnd( &ColladaParserAutoGen14::data__float1x3____float3 );
11535     } // validation
11536 #endif
11537 
11538 }
11539 
11540 //---------------------------------------------------------------------
_freeAttributes__float1x3____float3(void * attributeData)11541 bool ColladaParserAutoGen14Private::_freeAttributes__float1x3____float3( void* attributeData )
11542 {
11543     return true;
11544 }
11545 
11546 //---------------------------------------------------------------------
_data__float1x4____float4(const ParserChar * text,size_t textLength)11547 bool ColladaParserAutoGen14Private::_data__float1x4____float4( const ParserChar* text, size_t textLength )
11548 {
11549 #ifdef GENERATEDSAXPARSER_VALIDATION
11550     if ( mValidate )
11551     {
11552         float4____float4__ValidationData* validationData = (float4____float4__ValidationData*)mValidationDataStack.top();
11553         DISABLE_WARNING_UNUSED(validationData)
11554 return characterData2FloatData(text, textLength, &ColladaParserAutoGen14::data__float1x4____float4, &validate__float4__stream, &validationData->validationWholeSize, 0);
11555     }
11556     else
11557     {
11558 return characterData2FloatData(text, textLength, &ColladaParserAutoGen14::data__float1x4____float4);
11559     }
11560 #else
11561     {
11562 return characterData2FloatData(text, textLength, &ColladaParserAutoGen14::data__float1x4____float4);
11563     } // validation
11564 #endif
11565 
11566 }
11567 
11568 //---------------------------------------------------------------------
_preBegin__float1x4____float4(const ParserAttributes & attributes,void ** attributeDataPtr,void ** validationDataPtr)11569 bool ColladaParserAutoGen14Private::_preBegin__float1x4____float4( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
11570 {
11571 #ifdef GENERATEDSAXPARSER_VALIDATION
11572     if ( mValidate )
11573     {
11574 
11575         bool validationResult = _validateBegin__float1x4____float4( attributes, attributeDataPtr, validationDataPtr );
11576         if ( !validationResult ) return false;
11577 
11578     } // validation
11579 #endif
11580 
11581     return true;
11582 }
11583 
11584 //---------------------------------------------------------------------
_preEnd__float1x4____float4()11585 bool ColladaParserAutoGen14Private::_preEnd__float1x4____float4()
11586 {
11587 #ifdef GENERATEDSAXPARSER_VALIDATION
11588     if ( mValidate )
11589     {
11590 
11591         bool validationResult = _validateEnd__float1x4____float4();
11592         if ( !validationResult ) return false;
11593 
11594     } // validation
11595 #endif
11596 
11597 #ifdef GENERATEDSAXPARSER_VALIDATION
11598     if ( mValidate )
11599     {
11600         float4____float4__ValidationData* validationData = (float4____float4__ValidationData*)mValidationDataStack.top();
11601         DISABLE_WARNING_UNUSED(validationData)
11602 bool returnValue = floatDataEnd( &ColladaParserAutoGen14::data__float1x4____float4, &validate__float4__streamEnd, &validationData->validationWholeSize, 0 );
11603         ParserError::ErrorType simpleTypeValidationResult = validate__float4(0, (*(&validationData->validationWholeSize)));
11604         mValidationDataStack.deleteObject();
11605         if (simpleTypeValidationResult != ParserError::SIMPLE_TYPE_VALIDATION_OK)
11606         {
11607             if( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL,
11608                 simpleTypeValidationResult,
11609                 HASH_ELEMENT_FLOAT1X4,
11610                 (ParserChar*)0, 0 ) )
11611             {
11612                 return false;
11613             }
11614         }
11615         return returnValue;
11616     }
11617     else
11618     {
11619 return floatDataEnd( &ColladaParserAutoGen14::data__float1x4____float4 );
11620     }
11621 #else
11622     {
11623 return floatDataEnd( &ColladaParserAutoGen14::data__float1x4____float4 );
11624     } // validation
11625 #endif
11626 
11627 }
11628 
11629 //---------------------------------------------------------------------
_freeAttributes__float1x4____float4(void * attributeData)11630 bool ColladaParserAutoGen14Private::_freeAttributes__float1x4____float4( void* attributeData )
11631 {
11632     return true;
11633 }
11634 
11635 //---------------------------------------------------------------------
_data__float2x1____float2(const ParserChar * text,size_t textLength)11636 bool ColladaParserAutoGen14Private::_data__float2x1____float2( const ParserChar* text, size_t textLength )
11637 {
11638 #ifdef GENERATEDSAXPARSER_VALIDATION
11639     if ( mValidate )
11640     {
11641         float2____float2__ValidationData* validationData = (float2____float2__ValidationData*)mValidationDataStack.top();
11642         DISABLE_WARNING_UNUSED(validationData)
11643 return characterData2FloatData(text, textLength, &ColladaParserAutoGen14::data__float2x1____float2, &validate__float2__stream, &validationData->validationWholeSize, 0);
11644     }
11645     else
11646     {
11647 return characterData2FloatData(text, textLength, &ColladaParserAutoGen14::data__float2x1____float2);
11648     }
11649 #else
11650     {
11651 return characterData2FloatData(text, textLength, &ColladaParserAutoGen14::data__float2x1____float2);
11652     } // validation
11653 #endif
11654 
11655 }
11656 
11657 //---------------------------------------------------------------------
_preBegin__float2x1____float2(const ParserAttributes & attributes,void ** attributeDataPtr,void ** validationDataPtr)11658 bool ColladaParserAutoGen14Private::_preBegin__float2x1____float2( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
11659 {
11660 #ifdef GENERATEDSAXPARSER_VALIDATION
11661     if ( mValidate )
11662     {
11663 
11664         bool validationResult = _validateBegin__float2x1____float2( attributes, attributeDataPtr, validationDataPtr );
11665         if ( !validationResult ) return false;
11666 
11667     } // validation
11668 #endif
11669 
11670     return true;
11671 }
11672 
11673 //---------------------------------------------------------------------
_preEnd__float2x1____float2()11674 bool ColladaParserAutoGen14Private::_preEnd__float2x1____float2()
11675 {
11676 #ifdef GENERATEDSAXPARSER_VALIDATION
11677     if ( mValidate )
11678     {
11679 
11680         bool validationResult = _validateEnd__float2x1____float2();
11681         if ( !validationResult ) return false;
11682 
11683     } // validation
11684 #endif
11685 
11686 #ifdef GENERATEDSAXPARSER_VALIDATION
11687     if ( mValidate )
11688     {
11689         float2____float2__ValidationData* validationData = (float2____float2__ValidationData*)mValidationDataStack.top();
11690         DISABLE_WARNING_UNUSED(validationData)
11691 bool returnValue = floatDataEnd( &ColladaParserAutoGen14::data__float2x1____float2, &validate__float2__streamEnd, &validationData->validationWholeSize, 0 );
11692         ParserError::ErrorType simpleTypeValidationResult = validate__float2(0, (*(&validationData->validationWholeSize)));
11693         mValidationDataStack.deleteObject();
11694         if (simpleTypeValidationResult != ParserError::SIMPLE_TYPE_VALIDATION_OK)
11695         {
11696             if( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL,
11697                 simpleTypeValidationResult,
11698                 HASH_ELEMENT_FLOAT2X1,
11699                 (ParserChar*)0, 0 ) )
11700             {
11701                 return false;
11702             }
11703         }
11704         return returnValue;
11705     }
11706     else
11707     {
11708 return floatDataEnd( &ColladaParserAutoGen14::data__float2x1____float2 );
11709     }
11710 #else
11711     {
11712 return floatDataEnd( &ColladaParserAutoGen14::data__float2x1____float2 );
11713     } // validation
11714 #endif
11715 
11716 }
11717 
11718 //---------------------------------------------------------------------
_freeAttributes__float2x1____float2(void * attributeData)11719 bool ColladaParserAutoGen14Private::_freeAttributes__float2x1____float2( void* attributeData )
11720 {
11721     return true;
11722 }
11723 
11724 //---------------------------------------------------------------------
_data__float2x3____float2x3(const ParserChar * text,size_t textLength)11725 bool ColladaParserAutoGen14Private::_data__float2x3____float2x3( const ParserChar* text, size_t textLength )
11726 {
11727 #ifdef GENERATEDSAXPARSER_VALIDATION
11728     if ( mValidate )
11729     {
11730         float2x3____float2x3__ValidationData* validationData = (float2x3____float2x3__ValidationData*)mValidationDataStack.top();
11731         DISABLE_WARNING_UNUSED(validationData)
11732 return characterData2FloatData(text, textLength, &ColladaParserAutoGen14::data__float2x3____float2x3, &validate__float2x3__stream, &validationData->validationWholeSize, 0);
11733     }
11734     else
11735     {
11736 return characterData2FloatData(text, textLength, &ColladaParserAutoGen14::data__float2x3____float2x3);
11737     }
11738 #else
11739     {
11740 return characterData2FloatData(text, textLength, &ColladaParserAutoGen14::data__float2x3____float2x3);
11741     } // validation
11742 #endif
11743 
11744 }
11745 
11746 //---------------------------------------------------------------------
_preBegin__float2x3____float2x3(const ParserAttributes & attributes,void ** attributeDataPtr,void ** validationDataPtr)11747 bool ColladaParserAutoGen14Private::_preBegin__float2x3____float2x3( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
11748 {
11749 #ifdef GENERATEDSAXPARSER_VALIDATION
11750     if ( mValidate )
11751     {
11752 
11753         bool validationResult = _validateBegin__float2x3____float2x3( attributes, attributeDataPtr, validationDataPtr );
11754         if ( !validationResult ) return false;
11755 
11756     } // validation
11757 #endif
11758 
11759     return true;
11760 }
11761 
11762 //---------------------------------------------------------------------
_preEnd__float2x3____float2x3()11763 bool ColladaParserAutoGen14Private::_preEnd__float2x3____float2x3()
11764 {
11765 #ifdef GENERATEDSAXPARSER_VALIDATION
11766     if ( mValidate )
11767     {
11768 
11769         bool validationResult = _validateEnd__float2x3____float2x3();
11770         if ( !validationResult ) return false;
11771 
11772     } // validation
11773 #endif
11774 
11775 #ifdef GENERATEDSAXPARSER_VALIDATION
11776     if ( mValidate )
11777     {
11778         float2x3____float2x3__ValidationData* validationData = (float2x3____float2x3__ValidationData*)mValidationDataStack.top();
11779         DISABLE_WARNING_UNUSED(validationData)
11780 bool returnValue = floatDataEnd( &ColladaParserAutoGen14::data__float2x3____float2x3, &validate__float2x3__streamEnd, &validationData->validationWholeSize, 0 );
11781         ParserError::ErrorType simpleTypeValidationResult = validate__float2x3(0, (*(&validationData->validationWholeSize)));
11782         mValidationDataStack.deleteObject();
11783         if (simpleTypeValidationResult != ParserError::SIMPLE_TYPE_VALIDATION_OK)
11784         {
11785             if( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL,
11786                 simpleTypeValidationResult,
11787                 HASH_ELEMENT_FLOAT2X3,
11788                 (ParserChar*)0, 0 ) )
11789             {
11790                 return false;
11791             }
11792         }
11793         return returnValue;
11794     }
11795     else
11796     {
11797 return floatDataEnd( &ColladaParserAutoGen14::data__float2x3____float2x3 );
11798     }
11799 #else
11800     {
11801 return floatDataEnd( &ColladaParserAutoGen14::data__float2x3____float2x3 );
11802     } // validation
11803 #endif
11804 
11805 }
11806 
11807 //---------------------------------------------------------------------
_freeAttributes__float2x3____float2x3(void * attributeData)11808 bool ColladaParserAutoGen14Private::_freeAttributes__float2x3____float2x3( void* attributeData )
11809 {
11810     return true;
11811 }
11812 
11813 //---------------------------------------------------------------------
_data__float2x4____float2x4(const ParserChar * text,size_t textLength)11814 bool ColladaParserAutoGen14Private::_data__float2x4____float2x4( const ParserChar* text, size_t textLength )
11815 {
11816 #ifdef GENERATEDSAXPARSER_VALIDATION
11817     if ( mValidate )
11818     {
11819         float2x4____float2x4__ValidationData* validationData = (float2x4____float2x4__ValidationData*)mValidationDataStack.top();
11820         DISABLE_WARNING_UNUSED(validationData)
11821 return characterData2FloatData(text, textLength, &ColladaParserAutoGen14::data__float2x4____float2x4, &validate__float2x4__stream, &validationData->validationWholeSize, 0);
11822     }
11823     else
11824     {
11825 return characterData2FloatData(text, textLength, &ColladaParserAutoGen14::data__float2x4____float2x4);
11826     }
11827 #else
11828     {
11829 return characterData2FloatData(text, textLength, &ColladaParserAutoGen14::data__float2x4____float2x4);
11830     } // validation
11831 #endif
11832 
11833 }
11834 
11835 //---------------------------------------------------------------------
_preBegin__float2x4____float2x4(const ParserAttributes & attributes,void ** attributeDataPtr,void ** validationDataPtr)11836 bool ColladaParserAutoGen14Private::_preBegin__float2x4____float2x4( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
11837 {
11838 #ifdef GENERATEDSAXPARSER_VALIDATION
11839     if ( mValidate )
11840     {
11841 
11842         bool validationResult = _validateBegin__float2x4____float2x4( attributes, attributeDataPtr, validationDataPtr );
11843         if ( !validationResult ) return false;
11844 
11845     } // validation
11846 #endif
11847 
11848     return true;
11849 }
11850 
11851 //---------------------------------------------------------------------
_preEnd__float2x4____float2x4()11852 bool ColladaParserAutoGen14Private::_preEnd__float2x4____float2x4()
11853 {
11854 #ifdef GENERATEDSAXPARSER_VALIDATION
11855     if ( mValidate )
11856     {
11857 
11858         bool validationResult = _validateEnd__float2x4____float2x4();
11859         if ( !validationResult ) return false;
11860 
11861     } // validation
11862 #endif
11863 
11864 #ifdef GENERATEDSAXPARSER_VALIDATION
11865     if ( mValidate )
11866     {
11867         float2x4____float2x4__ValidationData* validationData = (float2x4____float2x4__ValidationData*)mValidationDataStack.top();
11868         DISABLE_WARNING_UNUSED(validationData)
11869 bool returnValue = floatDataEnd( &ColladaParserAutoGen14::data__float2x4____float2x4, &validate__float2x4__streamEnd, &validationData->validationWholeSize, 0 );
11870         ParserError::ErrorType simpleTypeValidationResult = validate__float2x4(0, (*(&validationData->validationWholeSize)));
11871         mValidationDataStack.deleteObject();
11872         if (simpleTypeValidationResult != ParserError::SIMPLE_TYPE_VALIDATION_OK)
11873         {
11874             if( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL,
11875                 simpleTypeValidationResult,
11876                 HASH_ELEMENT_FLOAT2X4,
11877                 (ParserChar*)0, 0 ) )
11878             {
11879                 return false;
11880             }
11881         }
11882         return returnValue;
11883     }
11884     else
11885     {
11886 return floatDataEnd( &ColladaParserAutoGen14::data__float2x4____float2x4 );
11887     }
11888 #else
11889     {
11890 return floatDataEnd( &ColladaParserAutoGen14::data__float2x4____float2x4 );
11891     } // validation
11892 #endif
11893 
11894 }
11895 
11896 //---------------------------------------------------------------------
_freeAttributes__float2x4____float2x4(void * attributeData)11897 bool ColladaParserAutoGen14Private::_freeAttributes__float2x4____float2x4( void* attributeData )
11898 {
11899     return true;
11900 }
11901 
11902 //---------------------------------------------------------------------
_data__float3x1____float3(const ParserChar * text,size_t textLength)11903 bool ColladaParserAutoGen14Private::_data__float3x1____float3( const ParserChar* text, size_t textLength )
11904 {
11905 #ifdef GENERATEDSAXPARSER_VALIDATION
11906     if ( mValidate )
11907     {
11908         float3____float3__ValidationData* validationData = (float3____float3__ValidationData*)mValidationDataStack.top();
11909         DISABLE_WARNING_UNUSED(validationData)
11910 return characterData2FloatData(text, textLength, &ColladaParserAutoGen14::data__float3x1____float3, &validate__float3__stream, &validationData->validationWholeSize, 0);
11911     }
11912     else
11913     {
11914 return characterData2FloatData(text, textLength, &ColladaParserAutoGen14::data__float3x1____float3);
11915     }
11916 #else
11917     {
11918 return characterData2FloatData(text, textLength, &ColladaParserAutoGen14::data__float3x1____float3);
11919     } // validation
11920 #endif
11921 
11922 }
11923 
11924 //---------------------------------------------------------------------
_preBegin__float3x1____float3(const ParserAttributes & attributes,void ** attributeDataPtr,void ** validationDataPtr)11925 bool ColladaParserAutoGen14Private::_preBegin__float3x1____float3( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
11926 {
11927 #ifdef GENERATEDSAXPARSER_VALIDATION
11928     if ( mValidate )
11929     {
11930 
11931         bool validationResult = _validateBegin__float3x1____float3( attributes, attributeDataPtr, validationDataPtr );
11932         if ( !validationResult ) return false;
11933 
11934     } // validation
11935 #endif
11936 
11937     return true;
11938 }
11939 
11940 //---------------------------------------------------------------------
_preEnd__float3x1____float3()11941 bool ColladaParserAutoGen14Private::_preEnd__float3x1____float3()
11942 {
11943 #ifdef GENERATEDSAXPARSER_VALIDATION
11944     if ( mValidate )
11945     {
11946 
11947         bool validationResult = _validateEnd__float3x1____float3();
11948         if ( !validationResult ) return false;
11949 
11950     } // validation
11951 #endif
11952 
11953 #ifdef GENERATEDSAXPARSER_VALIDATION
11954     if ( mValidate )
11955     {
11956         float3____float3__ValidationData* validationData = (float3____float3__ValidationData*)mValidationDataStack.top();
11957         DISABLE_WARNING_UNUSED(validationData)
11958 bool returnValue = floatDataEnd( &ColladaParserAutoGen14::data__float3x1____float3, &validate__float3__streamEnd, &validationData->validationWholeSize, 0 );
11959         ParserError::ErrorType simpleTypeValidationResult = validate__float3(0, (*(&validationData->validationWholeSize)));
11960         mValidationDataStack.deleteObject();
11961         if (simpleTypeValidationResult != ParserError::SIMPLE_TYPE_VALIDATION_OK)
11962         {
11963             if( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL,
11964                 simpleTypeValidationResult,
11965                 HASH_ELEMENT_FLOAT3X1,
11966                 (ParserChar*)0, 0 ) )
11967             {
11968                 return false;
11969             }
11970         }
11971         return returnValue;
11972     }
11973     else
11974     {
11975 return floatDataEnd( &ColladaParserAutoGen14::data__float3x1____float3 );
11976     }
11977 #else
11978     {
11979 return floatDataEnd( &ColladaParserAutoGen14::data__float3x1____float3 );
11980     } // validation
11981 #endif
11982 
11983 }
11984 
11985 //---------------------------------------------------------------------
_freeAttributes__float3x1____float3(void * attributeData)11986 bool ColladaParserAutoGen14Private::_freeAttributes__float3x1____float3( void* attributeData )
11987 {
11988     return true;
11989 }
11990 
11991 //---------------------------------------------------------------------
_data__float3x2____float3x2(const ParserChar * text,size_t textLength)11992 bool ColladaParserAutoGen14Private::_data__float3x2____float3x2( const ParserChar* text, size_t textLength )
11993 {
11994 #ifdef GENERATEDSAXPARSER_VALIDATION
11995     if ( mValidate )
11996     {
11997         float3x2____float3x2__ValidationData* validationData = (float3x2____float3x2__ValidationData*)mValidationDataStack.top();
11998         DISABLE_WARNING_UNUSED(validationData)
11999 return characterData2FloatData(text, textLength, &ColladaParserAutoGen14::data__float3x2____float3x2, &validate__float3x2__stream, &validationData->validationWholeSize, 0);
12000     }
12001     else
12002     {
12003 return characterData2FloatData(text, textLength, &ColladaParserAutoGen14::data__float3x2____float3x2);
12004     }
12005 #else
12006     {
12007 return characterData2FloatData(text, textLength, &ColladaParserAutoGen14::data__float3x2____float3x2);
12008     } // validation
12009 #endif
12010 
12011 }
12012 
12013 //---------------------------------------------------------------------
_preBegin__float3x2____float3x2(const ParserAttributes & attributes,void ** attributeDataPtr,void ** validationDataPtr)12014 bool ColladaParserAutoGen14Private::_preBegin__float3x2____float3x2( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
12015 {
12016 #ifdef GENERATEDSAXPARSER_VALIDATION
12017     if ( mValidate )
12018     {
12019 
12020         bool validationResult = _validateBegin__float3x2____float3x2( attributes, attributeDataPtr, validationDataPtr );
12021         if ( !validationResult ) return false;
12022 
12023     } // validation
12024 #endif
12025 
12026     return true;
12027 }
12028 
12029 //---------------------------------------------------------------------
_preEnd__float3x2____float3x2()12030 bool ColladaParserAutoGen14Private::_preEnd__float3x2____float3x2()
12031 {
12032 #ifdef GENERATEDSAXPARSER_VALIDATION
12033     if ( mValidate )
12034     {
12035 
12036         bool validationResult = _validateEnd__float3x2____float3x2();
12037         if ( !validationResult ) return false;
12038 
12039     } // validation
12040 #endif
12041 
12042 #ifdef GENERATEDSAXPARSER_VALIDATION
12043     if ( mValidate )
12044     {
12045         float3x2____float3x2__ValidationData* validationData = (float3x2____float3x2__ValidationData*)mValidationDataStack.top();
12046         DISABLE_WARNING_UNUSED(validationData)
12047 bool returnValue = floatDataEnd( &ColladaParserAutoGen14::data__float3x2____float3x2, &validate__float3x2__streamEnd, &validationData->validationWholeSize, 0 );
12048         ParserError::ErrorType simpleTypeValidationResult = validate__float3x2(0, (*(&validationData->validationWholeSize)));
12049         mValidationDataStack.deleteObject();
12050         if (simpleTypeValidationResult != ParserError::SIMPLE_TYPE_VALIDATION_OK)
12051         {
12052             if( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL,
12053                 simpleTypeValidationResult,
12054                 HASH_ELEMENT_FLOAT3X2,
12055                 (ParserChar*)0, 0 ) )
12056             {
12057                 return false;
12058             }
12059         }
12060         return returnValue;
12061     }
12062     else
12063     {
12064 return floatDataEnd( &ColladaParserAutoGen14::data__float3x2____float3x2 );
12065     }
12066 #else
12067     {
12068 return floatDataEnd( &ColladaParserAutoGen14::data__float3x2____float3x2 );
12069     } // validation
12070 #endif
12071 
12072 }
12073 
12074 //---------------------------------------------------------------------
_freeAttributes__float3x2____float3x2(void * attributeData)12075 bool ColladaParserAutoGen14Private::_freeAttributes__float3x2____float3x2( void* attributeData )
12076 {
12077     return true;
12078 }
12079 
12080 //---------------------------------------------------------------------
_data__float3x4____float3x4(const ParserChar * text,size_t textLength)12081 bool ColladaParserAutoGen14Private::_data__float3x4____float3x4( const ParserChar* text, size_t textLength )
12082 {
12083 #ifdef GENERATEDSAXPARSER_VALIDATION
12084     if ( mValidate )
12085     {
12086         float3x4____float3x4__ValidationData* validationData = (float3x4____float3x4__ValidationData*)mValidationDataStack.top();
12087         DISABLE_WARNING_UNUSED(validationData)
12088 return characterData2FloatData(text, textLength, &ColladaParserAutoGen14::data__float3x4____float3x4, &validate__float3x4__stream, &validationData->validationWholeSize, 0);
12089     }
12090     else
12091     {
12092 return characterData2FloatData(text, textLength, &ColladaParserAutoGen14::data__float3x4____float3x4);
12093     }
12094 #else
12095     {
12096 return characterData2FloatData(text, textLength, &ColladaParserAutoGen14::data__float3x4____float3x4);
12097     } // validation
12098 #endif
12099 
12100 }
12101 
12102 //---------------------------------------------------------------------
_preBegin__float3x4____float3x4(const ParserAttributes & attributes,void ** attributeDataPtr,void ** validationDataPtr)12103 bool ColladaParserAutoGen14Private::_preBegin__float3x4____float3x4( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
12104 {
12105 #ifdef GENERATEDSAXPARSER_VALIDATION
12106     if ( mValidate )
12107     {
12108 
12109         bool validationResult = _validateBegin__float3x4____float3x4( attributes, attributeDataPtr, validationDataPtr );
12110         if ( !validationResult ) return false;
12111 
12112     } // validation
12113 #endif
12114 
12115     return true;
12116 }
12117 
12118 //---------------------------------------------------------------------
_preEnd__float3x4____float3x4()12119 bool ColladaParserAutoGen14Private::_preEnd__float3x4____float3x4()
12120 {
12121 #ifdef GENERATEDSAXPARSER_VALIDATION
12122     if ( mValidate )
12123     {
12124 
12125         bool validationResult = _validateEnd__float3x4____float3x4();
12126         if ( !validationResult ) return false;
12127 
12128     } // validation
12129 #endif
12130 
12131 #ifdef GENERATEDSAXPARSER_VALIDATION
12132     if ( mValidate )
12133     {
12134         float3x4____float3x4__ValidationData* validationData = (float3x4____float3x4__ValidationData*)mValidationDataStack.top();
12135         DISABLE_WARNING_UNUSED(validationData)
12136 bool returnValue = floatDataEnd( &ColladaParserAutoGen14::data__float3x4____float3x4, &validate__float3x4__streamEnd, &validationData->validationWholeSize, 0 );
12137         ParserError::ErrorType simpleTypeValidationResult = validate__float3x4(0, (*(&validationData->validationWholeSize)));
12138         mValidationDataStack.deleteObject();
12139         if (simpleTypeValidationResult != ParserError::SIMPLE_TYPE_VALIDATION_OK)
12140         {
12141             if( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL,
12142                 simpleTypeValidationResult,
12143                 HASH_ELEMENT_FLOAT3X4,
12144                 (ParserChar*)0, 0 ) )
12145             {
12146                 return false;
12147             }
12148         }
12149         return returnValue;
12150     }
12151     else
12152     {
12153 return floatDataEnd( &ColladaParserAutoGen14::data__float3x4____float3x4 );
12154     }
12155 #else
12156     {
12157 return floatDataEnd( &ColladaParserAutoGen14::data__float3x4____float3x4 );
12158     } // validation
12159 #endif
12160 
12161 }
12162 
12163 //---------------------------------------------------------------------
_freeAttributes__float3x4____float3x4(void * attributeData)12164 bool ColladaParserAutoGen14Private::_freeAttributes__float3x4____float3x4( void* attributeData )
12165 {
12166     return true;
12167 }
12168 
12169 //---------------------------------------------------------------------
_data__float4x1____float4(const ParserChar * text,size_t textLength)12170 bool ColladaParserAutoGen14Private::_data__float4x1____float4( const ParserChar* text, size_t textLength )
12171 {
12172 #ifdef GENERATEDSAXPARSER_VALIDATION
12173     if ( mValidate )
12174     {
12175         float4____float4__ValidationData* validationData = (float4____float4__ValidationData*)mValidationDataStack.top();
12176         DISABLE_WARNING_UNUSED(validationData)
12177 return characterData2FloatData(text, textLength, &ColladaParserAutoGen14::data__float4x1____float4, &validate__float4__stream, &validationData->validationWholeSize, 0);
12178     }
12179     else
12180     {
12181 return characterData2FloatData(text, textLength, &ColladaParserAutoGen14::data__float4x1____float4);
12182     }
12183 #else
12184     {
12185 return characterData2FloatData(text, textLength, &ColladaParserAutoGen14::data__float4x1____float4);
12186     } // validation
12187 #endif
12188 
12189 }
12190 
12191 //---------------------------------------------------------------------
_preBegin__float4x1____float4(const ParserAttributes & attributes,void ** attributeDataPtr,void ** validationDataPtr)12192 bool ColladaParserAutoGen14Private::_preBegin__float4x1____float4( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
12193 {
12194 #ifdef GENERATEDSAXPARSER_VALIDATION
12195     if ( mValidate )
12196     {
12197 
12198         bool validationResult = _validateBegin__float4x1____float4( attributes, attributeDataPtr, validationDataPtr );
12199         if ( !validationResult ) return false;
12200 
12201     } // validation
12202 #endif
12203 
12204     return true;
12205 }
12206 
12207 //---------------------------------------------------------------------
_preEnd__float4x1____float4()12208 bool ColladaParserAutoGen14Private::_preEnd__float4x1____float4()
12209 {
12210 #ifdef GENERATEDSAXPARSER_VALIDATION
12211     if ( mValidate )
12212     {
12213 
12214         bool validationResult = _validateEnd__float4x1____float4();
12215         if ( !validationResult ) return false;
12216 
12217     } // validation
12218 #endif
12219 
12220 #ifdef GENERATEDSAXPARSER_VALIDATION
12221     if ( mValidate )
12222     {
12223         float4____float4__ValidationData* validationData = (float4____float4__ValidationData*)mValidationDataStack.top();
12224         DISABLE_WARNING_UNUSED(validationData)
12225 bool returnValue = floatDataEnd( &ColladaParserAutoGen14::data__float4x1____float4, &validate__float4__streamEnd, &validationData->validationWholeSize, 0 );
12226         ParserError::ErrorType simpleTypeValidationResult = validate__float4(0, (*(&validationData->validationWholeSize)));
12227         mValidationDataStack.deleteObject();
12228         if (simpleTypeValidationResult != ParserError::SIMPLE_TYPE_VALIDATION_OK)
12229         {
12230             if( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL,
12231                 simpleTypeValidationResult,
12232                 HASH_ELEMENT_FLOAT4X1,
12233                 (ParserChar*)0, 0 ) )
12234             {
12235                 return false;
12236             }
12237         }
12238         return returnValue;
12239     }
12240     else
12241     {
12242 return floatDataEnd( &ColladaParserAutoGen14::data__float4x1____float4 );
12243     }
12244 #else
12245     {
12246 return floatDataEnd( &ColladaParserAutoGen14::data__float4x1____float4 );
12247     } // validation
12248 #endif
12249 
12250 }
12251 
12252 //---------------------------------------------------------------------
_freeAttributes__float4x1____float4(void * attributeData)12253 bool ColladaParserAutoGen14Private::_freeAttributes__float4x1____float4( void* attributeData )
12254 {
12255     return true;
12256 }
12257 
12258 //---------------------------------------------------------------------
_data__float4x2____float4x2(const ParserChar * text,size_t textLength)12259 bool ColladaParserAutoGen14Private::_data__float4x2____float4x2( const ParserChar* text, size_t textLength )
12260 {
12261 #ifdef GENERATEDSAXPARSER_VALIDATION
12262     if ( mValidate )
12263     {
12264         float4x2____float4x2__ValidationData* validationData = (float4x2____float4x2__ValidationData*)mValidationDataStack.top();
12265         DISABLE_WARNING_UNUSED(validationData)
12266 return characterData2FloatData(text, textLength, &ColladaParserAutoGen14::data__float4x2____float4x2, &validate__float4x2__stream, &validationData->validationWholeSize, 0);
12267     }
12268     else
12269     {
12270 return characterData2FloatData(text, textLength, &ColladaParserAutoGen14::data__float4x2____float4x2);
12271     }
12272 #else
12273     {
12274 return characterData2FloatData(text, textLength, &ColladaParserAutoGen14::data__float4x2____float4x2);
12275     } // validation
12276 #endif
12277 
12278 }
12279 
12280 //---------------------------------------------------------------------
_preBegin__float4x2____float4x2(const ParserAttributes & attributes,void ** attributeDataPtr,void ** validationDataPtr)12281 bool ColladaParserAutoGen14Private::_preBegin__float4x2____float4x2( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
12282 {
12283 #ifdef GENERATEDSAXPARSER_VALIDATION
12284     if ( mValidate )
12285     {
12286 
12287         bool validationResult = _validateBegin__float4x2____float4x2( attributes, attributeDataPtr, validationDataPtr );
12288         if ( !validationResult ) return false;
12289 
12290     } // validation
12291 #endif
12292 
12293     return true;
12294 }
12295 
12296 //---------------------------------------------------------------------
_preEnd__float4x2____float4x2()12297 bool ColladaParserAutoGen14Private::_preEnd__float4x2____float4x2()
12298 {
12299 #ifdef GENERATEDSAXPARSER_VALIDATION
12300     if ( mValidate )
12301     {
12302 
12303         bool validationResult = _validateEnd__float4x2____float4x2();
12304         if ( !validationResult ) return false;
12305 
12306     } // validation
12307 #endif
12308 
12309 #ifdef GENERATEDSAXPARSER_VALIDATION
12310     if ( mValidate )
12311     {
12312         float4x2____float4x2__ValidationData* validationData = (float4x2____float4x2__ValidationData*)mValidationDataStack.top();
12313         DISABLE_WARNING_UNUSED(validationData)
12314 bool returnValue = floatDataEnd( &ColladaParserAutoGen14::data__float4x2____float4x2, &validate__float4x2__streamEnd, &validationData->validationWholeSize, 0 );
12315         ParserError::ErrorType simpleTypeValidationResult = validate__float4x2(0, (*(&validationData->validationWholeSize)));
12316         mValidationDataStack.deleteObject();
12317         if (simpleTypeValidationResult != ParserError::SIMPLE_TYPE_VALIDATION_OK)
12318         {
12319             if( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL,
12320                 simpleTypeValidationResult,
12321                 HASH_ELEMENT_FLOAT4X2,
12322                 (ParserChar*)0, 0 ) )
12323             {
12324                 return false;
12325             }
12326         }
12327         return returnValue;
12328     }
12329     else
12330     {
12331 return floatDataEnd( &ColladaParserAutoGen14::data__float4x2____float4x2 );
12332     }
12333 #else
12334     {
12335 return floatDataEnd( &ColladaParserAutoGen14::data__float4x2____float4x2 );
12336     } // validation
12337 #endif
12338 
12339 }
12340 
12341 //---------------------------------------------------------------------
_freeAttributes__float4x2____float4x2(void * attributeData)12342 bool ColladaParserAutoGen14Private::_freeAttributes__float4x2____float4x2( void* attributeData )
12343 {
12344     return true;
12345 }
12346 
12347 //---------------------------------------------------------------------
_data__float4x3____float4x3(const ParserChar * text,size_t textLength)12348 bool ColladaParserAutoGen14Private::_data__float4x3____float4x3( const ParserChar* text, size_t textLength )
12349 {
12350 #ifdef GENERATEDSAXPARSER_VALIDATION
12351     if ( mValidate )
12352     {
12353         float4x3____float4x3__ValidationData* validationData = (float4x3____float4x3__ValidationData*)mValidationDataStack.top();
12354         DISABLE_WARNING_UNUSED(validationData)
12355 return characterData2FloatData(text, textLength, &ColladaParserAutoGen14::data__float4x3____float4x3, &validate__float4x3__stream, &validationData->validationWholeSize, 0);
12356     }
12357     else
12358     {
12359 return characterData2FloatData(text, textLength, &ColladaParserAutoGen14::data__float4x3____float4x3);
12360     }
12361 #else
12362     {
12363 return characterData2FloatData(text, textLength, &ColladaParserAutoGen14::data__float4x3____float4x3);
12364     } // validation
12365 #endif
12366 
12367 }
12368 
12369 //---------------------------------------------------------------------
_preBegin__float4x3____float4x3(const ParserAttributes & attributes,void ** attributeDataPtr,void ** validationDataPtr)12370 bool ColladaParserAutoGen14Private::_preBegin__float4x3____float4x3( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
12371 {
12372 #ifdef GENERATEDSAXPARSER_VALIDATION
12373     if ( mValidate )
12374     {
12375 
12376         bool validationResult = _validateBegin__float4x3____float4x3( attributes, attributeDataPtr, validationDataPtr );
12377         if ( !validationResult ) return false;
12378 
12379     } // validation
12380 #endif
12381 
12382     return true;
12383 }
12384 
12385 //---------------------------------------------------------------------
_preEnd__float4x3____float4x3()12386 bool ColladaParserAutoGen14Private::_preEnd__float4x3____float4x3()
12387 {
12388 #ifdef GENERATEDSAXPARSER_VALIDATION
12389     if ( mValidate )
12390     {
12391 
12392         bool validationResult = _validateEnd__float4x3____float4x3();
12393         if ( !validationResult ) return false;
12394 
12395     } // validation
12396 #endif
12397 
12398 #ifdef GENERATEDSAXPARSER_VALIDATION
12399     if ( mValidate )
12400     {
12401         float4x3____float4x3__ValidationData* validationData = (float4x3____float4x3__ValidationData*)mValidationDataStack.top();
12402         DISABLE_WARNING_UNUSED(validationData)
12403 bool returnValue = floatDataEnd( &ColladaParserAutoGen14::data__float4x3____float4x3, &validate__float4x3__streamEnd, &validationData->validationWholeSize, 0 );
12404         ParserError::ErrorType simpleTypeValidationResult = validate__float4x3(0, (*(&validationData->validationWholeSize)));
12405         mValidationDataStack.deleteObject();
12406         if (simpleTypeValidationResult != ParserError::SIMPLE_TYPE_VALIDATION_OK)
12407         {
12408             if( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL,
12409                 simpleTypeValidationResult,
12410                 HASH_ELEMENT_FLOAT4X3,
12411                 (ParserChar*)0, 0 ) )
12412             {
12413                 return false;
12414             }
12415         }
12416         return returnValue;
12417     }
12418     else
12419     {
12420 return floatDataEnd( &ColladaParserAutoGen14::data__float4x3____float4x3 );
12421     }
12422 #else
12423     {
12424 return floatDataEnd( &ColladaParserAutoGen14::data__float4x3____float4x3 );
12425     } // validation
12426 #endif
12427 
12428 }
12429 
12430 //---------------------------------------------------------------------
_freeAttributes__float4x3____float4x3(void * attributeData)12431 bool ColladaParserAutoGen14Private::_freeAttributes__float4x3____float4x3( void* attributeData )
12432 {
12433     return true;
12434 }
12435 
12436 //---------------------------------------------------------------------
12437 const surface____fx_surface_common__AttributeData surface____fx_surface_common__AttributeData::DEFAULT = {ENUM__fx_surface_type_enum__NOT_PRESENT};
12438 
12439 //---------------------------------------------------------------------
_data__surface____fx_surface_common(const ParserChar * text,size_t textLength)12440 bool ColladaParserAutoGen14Private::_data__surface____fx_surface_common( const ParserChar* text, size_t textLength )
12441 {
12442     return true;
12443 }
12444 
12445 //---------------------------------------------------------------------
_preBegin__surface____fx_surface_common(const ParserAttributes & attributes,void ** attributeDataPtr,void ** validationDataPtr)12446 bool ColladaParserAutoGen14Private::_preBegin__surface____fx_surface_common( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
12447 {
12448 #ifdef GENERATEDSAXPARSER_VALIDATION
12449     if ( mValidate )
12450     {
12451 
12452         bool validationResult = _validateBegin__surface____fx_surface_common( attributes, attributeDataPtr, validationDataPtr );
12453         if ( !validationResult ) return false;
12454 
12455     } // validation
12456 #endif
12457 
12458 surface____fx_surface_common__AttributeData* attributeData = newData<surface____fx_surface_common__AttributeData>(attributeDataPtr);
12459 
12460 const ParserChar** attributeArray = attributes.attributes;
12461 if ( attributeArray )
12462 {
12463     while (true)
12464     {
12465         const ParserChar * attribute = *attributeArray;
12466         if ( !attribute )
12467             break;
12468         StringHash hash = GeneratedSaxParser::Utils::calculateStringHash(attribute);
12469         attributeArray++;
12470         if ( !attributeArray )
12471             return false;
12472         const ParserChar* attributeValue = *attributeArray;
12473         attributeArray++;
12474 
12475 
12476     switch ( hash )
12477     {
12478     case HASH_ATTRIBUTE_type:
12479     {
12480 bool failed;
12481 attributeData->type = Utils::toEnum<ENUM__fx_surface_type_enum, StringHash, ENUM__fx_surface_type_enum__COUNT>(attributeValue, failed, ENUM__fx_surface_type_enumMap, Utils::calculateStringHash);
12482 if ( failed && handleError(ParserError::SEVERITY_ERROR_NONCRITICAL,
12483         ParserError::ERROR_ATTRIBUTE_PARSING_FAILED,
12484         HASH_ELEMENT_SURFACE,
12485         HASH_ATTRIBUTE_type,
12486         attributeValue))
12487 {
12488     return false;
12489 }
12490 
12491     break;
12492     }
12493     default:
12494     {
12495         if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_UNKNOWN_ATTRIBUTE, HASH_ELEMENT_SURFACE, attribute, attributeValue))
12496             {return false;}
12497     }
12498     }
12499     }
12500 }
12501 if ( attributeData->type == ENUM__fx_surface_type_enum__NOT_PRESENT )
12502 {
12503     if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_REQUIRED_ATTRIBUTE_MISSING, HASH_ELEMENT_SURFACE, HASH_ATTRIBUTE_type, 0 ) )
12504         return false;
12505 }
12506 
12507 
12508     return true;
12509 }
12510 
12511 //---------------------------------------------------------------------
_preEnd__surface____fx_surface_common()12512 bool ColladaParserAutoGen14Private::_preEnd__surface____fx_surface_common()
12513 {
12514 #ifdef GENERATEDSAXPARSER_VALIDATION
12515     if ( mValidate )
12516     {
12517 
12518         bool validationResult = _validateEnd__surface____fx_surface_common();
12519         if ( !validationResult ) return false;
12520 
12521     } // validation
12522 #endif
12523 
12524     return true;
12525 }
12526 
12527 //---------------------------------------------------------------------
_freeAttributes__surface____fx_surface_common(void * attributeData)12528 bool ColladaParserAutoGen14Private::_freeAttributes__surface____fx_surface_common( void* attributeData )
12529 {
12530     surface____fx_surface_common__AttributeData* typedAttributeData = static_cast<surface____fx_surface_common__AttributeData*>(attributeData);
12531 
12532     typedAttributeData->~surface____fx_surface_common__AttributeData();
12533 
12534     return true;
12535 }
12536 
12537 //---------------------------------------------------------------------
toEnumDataPrefix_ENUM__fx_surface_type_enum(const ParserChar * prefixedBuffer,const ParserChar * prefixedBufferEnd,const ParserChar ** buffer,const ParserChar * bufferEnd,bool & failed,const std::pair<StringHash,ENUM__fx_surface_type_enum> * enumMap,StringHash (* baseConversionFunc)(const ParserChar **,const ParserChar *,bool &))12538 ENUM__fx_surface_type_enum ColladaParserAutoGen14Private::toEnumDataPrefix_ENUM__fx_surface_type_enum (
12539     const ParserChar* prefixedBuffer,
12540     const ParserChar* prefixedBufferEnd,
12541     const ParserChar** buffer,
12542     const ParserChar* bufferEnd,
12543     bool& failed,
12544     const std::pair<StringHash, ENUM__fx_surface_type_enum>* enumMap,
12545     StringHash (*baseConversionFunc)( const ParserChar**, const ParserChar*, bool& )
12546 )
12547 {
12548     return toEnumDataPrefix<ENUM__fx_surface_type_enum, StringHash, ENUM__fx_surface_type_enum__COUNT, &toEnum_ENUM__fx_surface_type_enum>(prefixedBuffer, prefixedBufferEnd, buffer, bufferEnd, failed, enumMap, baseConversionFunc);
12549 }
12550 
12551 //---------------------------------------------------------------------
characterData2EnumData_ENUM__fx_surface_type_enum(const ParserChar * text,size_t textLength,bool (ColladaParserAutoGen14::* dataFunction)(const ENUM__fx_surface_type_enum *,size_t),StringHash (* baseConversionFunc)(const ParserChar **,const ParserChar *,bool &))12552 bool ColladaParserAutoGen14Private::characterData2EnumData_ENUM__fx_surface_type_enum (
12553     const ParserChar* text,
12554     size_t textLength,
12555     bool ( ColladaParserAutoGen14::*dataFunction )(const ENUM__fx_surface_type_enum*, size_t ),
12556     StringHash (*baseConversionFunc)( const ParserChar**, const ParserChar*, bool& )
12557 )
12558 {
12559     return characterData2EnumData<ENUM__fx_surface_type_enum, StringHash, ENUM__fx_surface_type_enum__COUNT>(text, textLength, dataFunction, ENUM__fx_surface_type_enumMap, baseConversionFunc, &toEnum_ENUM__fx_surface_type_enum, &ColladaParserAutoGen14Private::toEnumDataPrefix_ENUM__fx_surface_type_enum);
12560 }
12561 
12562 //---------------------------------------------------------------------
dataEnumEnd_ENUM__fx_surface_type_enum(bool (ColladaParserAutoGen14::* dataFunction)(const ENUM__fx_surface_type_enum *,size_t),const std::pair<StringHash,ENUM__fx_surface_type_enum> * enumMap,StringHash (* baseConversionFunc)(const ParserChar **,const ParserChar *,bool &),ENUM__fx_surface_type_enum (* toEnumFunc)(const ParserChar **,const ParserChar *,bool &,const std::pair<StringHash,ENUM__fx_surface_type_enum> * enumMap,StringHash (* baseConversionFunc)(const ParserChar **,const ParserChar *,bool &)))12563 bool ColladaParserAutoGen14Private::dataEnumEnd_ENUM__fx_surface_type_enum (
12564     bool ( ColladaParserAutoGen14::*dataFunction )(const ENUM__fx_surface_type_enum*, size_t ),
12565     const std::pair<StringHash, ENUM__fx_surface_type_enum>* enumMap,
12566     StringHash (*baseConversionFunc)( const ParserChar**, const ParserChar*, bool& ),
12567     ENUM__fx_surface_type_enum (*toEnumFunc)( const ParserChar**, const ParserChar*, bool&, const std::pair<StringHash, ENUM__fx_surface_type_enum>* enumMap, StringHash (*baseConversionFunc)( const ParserChar**, const ParserChar*, bool& ))
12568 )
12569 {
12570     return dataEnumEnd<ENUM__fx_surface_type_enum, StringHash, ENUM__fx_surface_type_enum__COUNT>(dataFunction, enumMap, baseConversionFunc, toEnumFunc);
12571 }
12572 
12573 //---------------------------------------------------------------------
12574 const init_as_null__AttributeData init_as_null__AttributeData::DEFAULT = {GeneratedSaxParser::XSList<const ParserChar*>()};
12575 
12576 //---------------------------------------------------------------------
_data__init_as_null(const ParserChar * text,size_t textLength)12577 bool ColladaParserAutoGen14Private::_data__init_as_null( const ParserChar* text, size_t textLength )
12578 {
12579 
12580 return mImpl->data__init_as_null(text, textLength);
12581 }
12582 
12583 //---------------------------------------------------------------------
_preBegin__init_as_null(const ParserAttributes & attributes,void ** attributeDataPtr,void ** validationDataPtr)12584 bool ColladaParserAutoGen14Private::_preBegin__init_as_null( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
12585 {
12586 #ifdef GENERATEDSAXPARSER_VALIDATION
12587     if ( mValidate )
12588     {
12589 
12590         bool validationResult = _validateBegin__init_as_null( attributes, attributeDataPtr, validationDataPtr );
12591         if ( !validationResult ) return false;
12592 
12593     } // validation
12594 #endif
12595 
12596 init_as_null__AttributeData* attributeData = newData<init_as_null__AttributeData>(attributeDataPtr);
12597 
12598 const ParserChar** attributeArray = attributes.attributes;
12599 if ( attributeArray )
12600 {
12601     while (true)
12602     {
12603         const ParserChar * attribute = *attributeArray;
12604         if ( !attribute )
12605             break;
12606         attributeArray++;
12607         if ( !attributeArray )
12608             return false;
12609         const ParserChar* attributeValue = *attributeArray;
12610         attributeArray++;
12611 
12612 
12613         if ( !attributeData->unknownAttributes.data )
12614             attributeData->unknownAttributes.data = (const ParserChar**)mStackMemoryManager.newObject( 2 * sizeof( const ParserChar* ) );
12615         else
12616             attributeData->unknownAttributes.data = (const ParserChar**)mStackMemoryManager.growObject( 2 * sizeof( const ParserChar* ) );
12617         attributeData->unknownAttributes.data[ attributeData->unknownAttributes.size ] = attribute;
12618         attributeData->unknownAttributes.data[ attributeData->unknownAttributes.size+1 ] = attributeValue;
12619         attributeData->unknownAttributes.size += 2;
12620 
12621     }
12622 }
12623 
12624 
12625     return true;
12626 }
12627 
12628 //---------------------------------------------------------------------
_preEnd__init_as_null()12629 bool ColladaParserAutoGen14Private::_preEnd__init_as_null()
12630 {
12631 #ifdef GENERATEDSAXPARSER_VALIDATION
12632     if ( mValidate )
12633     {
12634 
12635         bool validationResult = _validateEnd__init_as_null();
12636         if ( !validationResult ) return false;
12637 
12638     } // validation
12639 #endif
12640 
12641     return true;
12642 }
12643 
12644 //---------------------------------------------------------------------
_freeAttributes__init_as_null(void * attributeData)12645 bool ColladaParserAutoGen14Private::_freeAttributes__init_as_null( void* attributeData )
12646 {
12647     init_as_null__AttributeData* typedAttributeData = static_cast<init_as_null__AttributeData*>(attributeData);
12648     if (typedAttributeData->unknownAttributes.data)
12649     {
12650         mStackMemoryManager.deleteObject();
12651     }
12652 
12653 
12654     typedAttributeData->~init_as_null__AttributeData();
12655 
12656     return true;
12657 }
12658 
12659 //---------------------------------------------------------------------
12660 const init_as_target__AttributeData init_as_target__AttributeData::DEFAULT = {GeneratedSaxParser::XSList<const ParserChar*>()};
12661 
12662 //---------------------------------------------------------------------
_data__init_as_target(const ParserChar * text,size_t textLength)12663 bool ColladaParserAutoGen14Private::_data__init_as_target( const ParserChar* text, size_t textLength )
12664 {
12665 
12666 return mImpl->data__init_as_target(text, textLength);
12667 }
12668 
12669 //---------------------------------------------------------------------
_preBegin__init_as_target(const ParserAttributes & attributes,void ** attributeDataPtr,void ** validationDataPtr)12670 bool ColladaParserAutoGen14Private::_preBegin__init_as_target( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
12671 {
12672 #ifdef GENERATEDSAXPARSER_VALIDATION
12673     if ( mValidate )
12674     {
12675 
12676         bool validationResult = _validateBegin__init_as_target( attributes, attributeDataPtr, validationDataPtr );
12677         if ( !validationResult ) return false;
12678 
12679     } // validation
12680 #endif
12681 
12682 init_as_target__AttributeData* attributeData = newData<init_as_target__AttributeData>(attributeDataPtr);
12683 
12684 const ParserChar** attributeArray = attributes.attributes;
12685 if ( attributeArray )
12686 {
12687     while (true)
12688     {
12689         const ParserChar * attribute = *attributeArray;
12690         if ( !attribute )
12691             break;
12692         attributeArray++;
12693         if ( !attributeArray )
12694             return false;
12695         const ParserChar* attributeValue = *attributeArray;
12696         attributeArray++;
12697 
12698 
12699         if ( !attributeData->unknownAttributes.data )
12700             attributeData->unknownAttributes.data = (const ParserChar**)mStackMemoryManager.newObject( 2 * sizeof( const ParserChar* ) );
12701         else
12702             attributeData->unknownAttributes.data = (const ParserChar**)mStackMemoryManager.growObject( 2 * sizeof( const ParserChar* ) );
12703         attributeData->unknownAttributes.data[ attributeData->unknownAttributes.size ] = attribute;
12704         attributeData->unknownAttributes.data[ attributeData->unknownAttributes.size+1 ] = attributeValue;
12705         attributeData->unknownAttributes.size += 2;
12706 
12707     }
12708 }
12709 
12710 
12711     return true;
12712 }
12713 
12714 //---------------------------------------------------------------------
_preEnd__init_as_target()12715 bool ColladaParserAutoGen14Private::_preEnd__init_as_target()
12716 {
12717 #ifdef GENERATEDSAXPARSER_VALIDATION
12718     if ( mValidate )
12719     {
12720 
12721         bool validationResult = _validateEnd__init_as_target();
12722         if ( !validationResult ) return false;
12723 
12724     } // validation
12725 #endif
12726 
12727     return true;
12728 }
12729 
12730 //---------------------------------------------------------------------
_freeAttributes__init_as_target(void * attributeData)12731 bool ColladaParserAutoGen14Private::_freeAttributes__init_as_target( void* attributeData )
12732 {
12733     init_as_target__AttributeData* typedAttributeData = static_cast<init_as_target__AttributeData*>(attributeData);
12734     if (typedAttributeData->unknownAttributes.data)
12735     {
12736         mStackMemoryManager.deleteObject();
12737     }
12738 
12739 
12740     typedAttributeData->~init_as_target__AttributeData();
12741 
12742     return true;
12743 }
12744 
12745 //---------------------------------------------------------------------
_data__init_cube(const ParserChar * text,size_t textLength)12746 bool ColladaParserAutoGen14Private::_data__init_cube( const ParserChar* text, size_t textLength )
12747 {
12748     return true;
12749 }
12750 
12751 //---------------------------------------------------------------------
_preBegin__init_cube(const ParserAttributes & attributes,void ** attributeDataPtr,void ** validationDataPtr)12752 bool ColladaParserAutoGen14Private::_preBegin__init_cube( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
12753 {
12754 #ifdef GENERATEDSAXPARSER_VALIDATION
12755     if ( mValidate )
12756     {
12757 
12758         bool validationResult = _validateBegin__init_cube( attributes, attributeDataPtr, validationDataPtr );
12759         if ( !validationResult ) return false;
12760 
12761     } // validation
12762 #endif
12763 
12764     return true;
12765 }
12766 
12767 //---------------------------------------------------------------------
_preEnd__init_cube()12768 bool ColladaParserAutoGen14Private::_preEnd__init_cube()
12769 {
12770 #ifdef GENERATEDSAXPARSER_VALIDATION
12771     if ( mValidate )
12772     {
12773 
12774         bool validationResult = _validateEnd__init_cube();
12775         if ( !validationResult ) return false;
12776 
12777     } // validation
12778 #endif
12779 
12780     return true;
12781 }
12782 
12783 //---------------------------------------------------------------------
_freeAttributes__init_cube(void * attributeData)12784 bool ColladaParserAutoGen14Private::_freeAttributes__init_cube( void* attributeData )
12785 {
12786     return true;
12787 }
12788 
12789 //---------------------------------------------------------------------
12790 const fx_surface_init_cube_common____all__AttributeData fx_surface_init_cube_common____all__AttributeData::DEFAULT = {0};
12791 
12792 //---------------------------------------------------------------------
_data__fx_surface_init_cube_common____all(const ParserChar * text,size_t textLength)12793 bool ColladaParserAutoGen14Private::_data__fx_surface_init_cube_common____all( const ParserChar* text, size_t textLength )
12794 {
12795     return true;
12796 }
12797 
12798 //---------------------------------------------------------------------
_preBegin__fx_surface_init_cube_common____all(const ParserAttributes & attributes,void ** attributeDataPtr,void ** validationDataPtr)12799 bool ColladaParserAutoGen14Private::_preBegin__fx_surface_init_cube_common____all( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
12800 {
12801 #ifdef GENERATEDSAXPARSER_VALIDATION
12802     if ( mValidate )
12803     {
12804 
12805         bool validationResult = _validateBegin__fx_surface_init_cube_common____all( attributes, attributeDataPtr, validationDataPtr );
12806         if ( !validationResult ) return false;
12807 
12808     } // validation
12809 #endif
12810 
12811 fx_surface_init_cube_common____all__AttributeData* attributeData = newData<fx_surface_init_cube_common____all__AttributeData>(attributeDataPtr);
12812 
12813 const ParserChar** attributeArray = attributes.attributes;
12814 if ( attributeArray )
12815 {
12816     while (true)
12817     {
12818         const ParserChar * attribute = *attributeArray;
12819         if ( !attribute )
12820             break;
12821         StringHash hash = GeneratedSaxParser::Utils::calculateStringHash(attribute);
12822         attributeArray++;
12823         if ( !attributeArray )
12824             return false;
12825         const ParserChar* attributeValue = *attributeArray;
12826         attributeArray++;
12827 
12828 
12829     switch ( hash )
12830     {
12831     case HASH_ATTRIBUTE_ref:
12832     {
12833 
12834 attributeData->ref = attributeValue;
12835 
12836     break;
12837     }
12838     default:
12839     {
12840         if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_UNKNOWN_ATTRIBUTE, HASH_ELEMENT_ALL, attribute, attributeValue))
12841             {return false;}
12842     }
12843     }
12844     }
12845 }
12846 if ( !attributeData->ref )
12847 {
12848     if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_REQUIRED_ATTRIBUTE_MISSING, HASH_ELEMENT_ALL, HASH_ATTRIBUTE_ref, 0 ) )
12849         return false;
12850 }
12851 
12852 
12853     return true;
12854 }
12855 
12856 //---------------------------------------------------------------------
_preEnd__fx_surface_init_cube_common____all()12857 bool ColladaParserAutoGen14Private::_preEnd__fx_surface_init_cube_common____all()
12858 {
12859 #ifdef GENERATEDSAXPARSER_VALIDATION
12860     if ( mValidate )
12861     {
12862 
12863         bool validationResult = _validateEnd__fx_surface_init_cube_common____all();
12864         if ( !validationResult ) return false;
12865 
12866     } // validation
12867 #endif
12868 
12869     return true;
12870 }
12871 
12872 //---------------------------------------------------------------------
_freeAttributes__fx_surface_init_cube_common____all(void * attributeData)12873 bool ColladaParserAutoGen14Private::_freeAttributes__fx_surface_init_cube_common____all( void* attributeData )
12874 {
12875     fx_surface_init_cube_common____all__AttributeData* typedAttributeData = static_cast<fx_surface_init_cube_common____all__AttributeData*>(attributeData);
12876 
12877     typedAttributeData->~fx_surface_init_cube_common____all__AttributeData();
12878 
12879     return true;
12880 }
12881 
12882 //---------------------------------------------------------------------
12883 const fx_surface_init_cube_common____primary__AttributeData fx_surface_init_cube_common____primary__AttributeData::DEFAULT = {0};
12884 
12885 //---------------------------------------------------------------------
_data__fx_surface_init_cube_common____primary(const ParserChar * text,size_t textLength)12886 bool ColladaParserAutoGen14Private::_data__fx_surface_init_cube_common____primary( const ParserChar* text, size_t textLength )
12887 {
12888     return true;
12889 }
12890 
12891 //---------------------------------------------------------------------
_preBegin__fx_surface_init_cube_common____primary(const ParserAttributes & attributes,void ** attributeDataPtr,void ** validationDataPtr)12892 bool ColladaParserAutoGen14Private::_preBegin__fx_surface_init_cube_common____primary( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
12893 {
12894 #ifdef GENERATEDSAXPARSER_VALIDATION
12895     if ( mValidate )
12896     {
12897 
12898         bool validationResult = _validateBegin__fx_surface_init_cube_common____primary( attributes, attributeDataPtr, validationDataPtr );
12899         if ( !validationResult ) return false;
12900 
12901     } // validation
12902 #endif
12903 
12904 fx_surface_init_cube_common____primary__AttributeData* attributeData = newData<fx_surface_init_cube_common____primary__AttributeData>(attributeDataPtr);
12905 
12906 const ParserChar** attributeArray = attributes.attributes;
12907 if ( attributeArray )
12908 {
12909     while (true)
12910     {
12911         const ParserChar * attribute = *attributeArray;
12912         if ( !attribute )
12913             break;
12914         StringHash hash = GeneratedSaxParser::Utils::calculateStringHash(attribute);
12915         attributeArray++;
12916         if ( !attributeArray )
12917             return false;
12918         const ParserChar* attributeValue = *attributeArray;
12919         attributeArray++;
12920 
12921 
12922     switch ( hash )
12923     {
12924     case HASH_ATTRIBUTE_ref:
12925     {
12926 
12927 attributeData->ref = attributeValue;
12928 
12929     break;
12930     }
12931     default:
12932     {
12933         if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_UNKNOWN_ATTRIBUTE, HASH_ELEMENT_PRIMARY, attribute, attributeValue))
12934             {return false;}
12935     }
12936     }
12937     }
12938 }
12939 if ( !attributeData->ref )
12940 {
12941     if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_REQUIRED_ATTRIBUTE_MISSING, HASH_ELEMENT_PRIMARY, HASH_ATTRIBUTE_ref, 0 ) )
12942         return false;
12943 }
12944 
12945 
12946     return true;
12947 }
12948 
12949 //---------------------------------------------------------------------
_preEnd__fx_surface_init_cube_common____primary()12950 bool ColladaParserAutoGen14Private::_preEnd__fx_surface_init_cube_common____primary()
12951 {
12952 #ifdef GENERATEDSAXPARSER_VALIDATION
12953     if ( mValidate )
12954     {
12955 
12956         bool validationResult = _validateEnd__fx_surface_init_cube_common____primary();
12957         if ( !validationResult ) return false;
12958 
12959     } // validation
12960 #endif
12961 
12962     return true;
12963 }
12964 
12965 //---------------------------------------------------------------------
_freeAttributes__fx_surface_init_cube_common____primary(void * attributeData)12966 bool ColladaParserAutoGen14Private::_freeAttributes__fx_surface_init_cube_common____primary( void* attributeData )
12967 {
12968     fx_surface_init_cube_common____primary__AttributeData* typedAttributeData = static_cast<fx_surface_init_cube_common____primary__AttributeData*>(attributeData);
12969 
12970     typedAttributeData->~fx_surface_init_cube_common____primary__AttributeData();
12971 
12972     return true;
12973 }
12974 
12975 //---------------------------------------------------------------------
_data__order(const ParserChar * text,size_t textLength)12976 bool ColladaParserAutoGen14Private::_data__order( const ParserChar* text, size_t textLength )
12977 {
12978 if (!mLastIncompleteFragmentInCharacterData)
12979 {
12980     mLastIncompleteFragmentInCharacterData = (ParserChar*)mStackMemoryManager.newObject(textLength);
12981     memcpy(mLastIncompleteFragmentInCharacterData, text, textLength);
12982     mEndOfDataInCurrentObjectOnStack = mLastIncompleteFragmentInCharacterData + textLength;
12983 }
12984 else
12985 {
12986     ParserChar* tmp = (ParserChar*)mStackMemoryManager.growObject(textLength);
12987     if ( tmp != mLastIncompleteFragmentInCharacterData ) {
12988         mEndOfDataInCurrentObjectOnStack = (mEndOfDataInCurrentObjectOnStack - mLastIncompleteFragmentInCharacterData) + tmp;
12989         mLastIncompleteFragmentInCharacterData = tmp;
12990     }
12991     memcpy(mEndOfDataInCurrentObjectOnStack, text, textLength);
12992     mEndOfDataInCurrentObjectOnStack += textLength;
12993 }
12994 return true;
12995 }
12996 
12997 //---------------------------------------------------------------------
_preBegin__order(const ParserAttributes & attributes,void ** attributeDataPtr,void ** validationDataPtr)12998 bool ColladaParserAutoGen14Private::_preBegin__order( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
12999 {
13000 #ifdef GENERATEDSAXPARSER_VALIDATION
13001     if ( mValidate )
13002     {
13003 
13004         bool validationResult = _validateBegin__order( attributes, attributeDataPtr, validationDataPtr );
13005         if ( !validationResult ) return false;
13006 
13007     } // validation
13008 #endif
13009 
13010     return true;
13011 }
13012 
13013 //---------------------------------------------------------------------
_preEnd__order()13014 bool ColladaParserAutoGen14Private::_preEnd__order()
13015 {
13016 #ifdef GENERATEDSAXPARSER_VALIDATION
13017     if ( mValidate )
13018     {
13019 
13020         bool validationResult = _validateEnd__order();
13021         if ( !validationResult ) return false;
13022 
13023     } // validation
13024 #endif
13025 
13026 bool failed;
13027 ENUM__fx_surface_face_enum parameter = Utils::toEnum<ENUM__fx_surface_face_enum, StringHash, ENUM__fx_surface_face_enum__COUNT>((const ParserChar**)&mLastIncompleteFragmentInCharacterData, mEndOfDataInCurrentObjectOnStack, failed, ENUM__fx_surface_face_enumMap, Utils::calculateStringHash);
13028 bool returnValue;
13029 if (!failed)
13030 {
13031     returnValue = mImpl->data__order(parameter);
13032 }
13033 else
13034     returnValue = !handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_TEXTDATA_PARSING_FAILED, HASH_ELEMENT_ORDER, (const ParserChar*)0, mLastIncompleteFragmentInCharacterData);
13035 if (mLastIncompleteFragmentInCharacterData)
13036     mStackMemoryManager.deleteObject();
13037 mLastIncompleteFragmentInCharacterData = 0;
13038 mEndOfDataInCurrentObjectOnStack = 0;
13039 return returnValue;
13040 
13041 }
13042 
13043 //---------------------------------------------------------------------
_freeAttributes__order(void * attributeData)13044 bool ColladaParserAutoGen14Private::_freeAttributes__order( void* attributeData )
13045 {
13046     return true;
13047 }
13048 
13049 //---------------------------------------------------------------------
toEnumDataPrefix_ENUM__fx_surface_face_enum(const ParserChar * prefixedBuffer,const ParserChar * prefixedBufferEnd,const ParserChar ** buffer,const ParserChar * bufferEnd,bool & failed,const std::pair<StringHash,ENUM__fx_surface_face_enum> * enumMap,StringHash (* baseConversionFunc)(const ParserChar **,const ParserChar *,bool &))13050 ENUM__fx_surface_face_enum ColladaParserAutoGen14Private::toEnumDataPrefix_ENUM__fx_surface_face_enum (
13051     const ParserChar* prefixedBuffer,
13052     const ParserChar* prefixedBufferEnd,
13053     const ParserChar** buffer,
13054     const ParserChar* bufferEnd,
13055     bool& failed,
13056     const std::pair<StringHash, ENUM__fx_surface_face_enum>* enumMap,
13057     StringHash (*baseConversionFunc)( const ParserChar**, const ParserChar*, bool& )
13058 )
13059 {
13060     return toEnumDataPrefix<ENUM__fx_surface_face_enum, StringHash, ENUM__fx_surface_face_enum__COUNT, &toEnum_ENUM__fx_surface_face_enum>(prefixedBuffer, prefixedBufferEnd, buffer, bufferEnd, failed, enumMap, baseConversionFunc);
13061 }
13062 
13063 //---------------------------------------------------------------------
characterData2EnumData_ENUM__fx_surface_face_enum(const ParserChar * text,size_t textLength,bool (ColladaParserAutoGen14::* dataFunction)(const ENUM__fx_surface_face_enum *,size_t),StringHash (* baseConversionFunc)(const ParserChar **,const ParserChar *,bool &))13064 bool ColladaParserAutoGen14Private::characterData2EnumData_ENUM__fx_surface_face_enum (
13065     const ParserChar* text,
13066     size_t textLength,
13067     bool ( ColladaParserAutoGen14::*dataFunction )(const ENUM__fx_surface_face_enum*, size_t ),
13068     StringHash (*baseConversionFunc)( const ParserChar**, const ParserChar*, bool& )
13069 )
13070 {
13071     return characterData2EnumData<ENUM__fx_surface_face_enum, StringHash, ENUM__fx_surface_face_enum__COUNT>(text, textLength, dataFunction, ENUM__fx_surface_face_enumMap, baseConversionFunc, &toEnum_ENUM__fx_surface_face_enum, &ColladaParserAutoGen14Private::toEnumDataPrefix_ENUM__fx_surface_face_enum);
13072 }
13073 
13074 //---------------------------------------------------------------------
dataEnumEnd_ENUM__fx_surface_face_enum(bool (ColladaParserAutoGen14::* dataFunction)(const ENUM__fx_surface_face_enum *,size_t),const std::pair<StringHash,ENUM__fx_surface_face_enum> * enumMap,StringHash (* baseConversionFunc)(const ParserChar **,const ParserChar *,bool &),ENUM__fx_surface_face_enum (* toEnumFunc)(const ParserChar **,const ParserChar *,bool &,const std::pair<StringHash,ENUM__fx_surface_face_enum> * enumMap,StringHash (* baseConversionFunc)(const ParserChar **,const ParserChar *,bool &)))13075 bool ColladaParserAutoGen14Private::dataEnumEnd_ENUM__fx_surface_face_enum (
13076     bool ( ColladaParserAutoGen14::*dataFunction )(const ENUM__fx_surface_face_enum*, size_t ),
13077     const std::pair<StringHash, ENUM__fx_surface_face_enum>* enumMap,
13078     StringHash (*baseConversionFunc)( const ParserChar**, const ParserChar*, bool& ),
13079     ENUM__fx_surface_face_enum (*toEnumFunc)( const ParserChar**, const ParserChar*, bool&, const std::pair<StringHash, ENUM__fx_surface_face_enum>* enumMap, StringHash (*baseConversionFunc)( const ParserChar**, const ParserChar*, bool& ))
13080 )
13081 {
13082     return dataEnumEnd<ENUM__fx_surface_face_enum, StringHash, ENUM__fx_surface_face_enum__COUNT>(dataFunction, enumMap, baseConversionFunc, toEnumFunc);
13083 }
13084 
13085 //---------------------------------------------------------------------
13086 const fx_surface_init_cube_common____face__AttributeData fx_surface_init_cube_common____face__AttributeData::DEFAULT = {0};
13087 
13088 //---------------------------------------------------------------------
_data__fx_surface_init_cube_common____face(const ParserChar * text,size_t textLength)13089 bool ColladaParserAutoGen14Private::_data__fx_surface_init_cube_common____face( const ParserChar* text, size_t textLength )
13090 {
13091     return true;
13092 }
13093 
13094 //---------------------------------------------------------------------
_preBegin__fx_surface_init_cube_common____face(const ParserAttributes & attributes,void ** attributeDataPtr,void ** validationDataPtr)13095 bool ColladaParserAutoGen14Private::_preBegin__fx_surface_init_cube_common____face( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
13096 {
13097 #ifdef GENERATEDSAXPARSER_VALIDATION
13098     if ( mValidate )
13099     {
13100 
13101         bool validationResult = _validateBegin__fx_surface_init_cube_common____face( attributes, attributeDataPtr, validationDataPtr );
13102         if ( !validationResult ) return false;
13103 
13104     } // validation
13105 #endif
13106 
13107 fx_surface_init_cube_common____face__AttributeData* attributeData = newData<fx_surface_init_cube_common____face__AttributeData>(attributeDataPtr);
13108 
13109 const ParserChar** attributeArray = attributes.attributes;
13110 if ( attributeArray )
13111 {
13112     while (true)
13113     {
13114         const ParserChar * attribute = *attributeArray;
13115         if ( !attribute )
13116             break;
13117         StringHash hash = GeneratedSaxParser::Utils::calculateStringHash(attribute);
13118         attributeArray++;
13119         if ( !attributeArray )
13120             return false;
13121         const ParserChar* attributeValue = *attributeArray;
13122         attributeArray++;
13123 
13124 
13125     switch ( hash )
13126     {
13127     case HASH_ATTRIBUTE_ref:
13128     {
13129 
13130 attributeData->ref = attributeValue;
13131 
13132     break;
13133     }
13134     default:
13135     {
13136         if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_UNKNOWN_ATTRIBUTE, HASH_ELEMENT_FACE, attribute, attributeValue))
13137             {return false;}
13138     }
13139     }
13140     }
13141 }
13142 if ( !attributeData->ref )
13143 {
13144     if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_REQUIRED_ATTRIBUTE_MISSING, HASH_ELEMENT_FACE, HASH_ATTRIBUTE_ref, 0 ) )
13145         return false;
13146 }
13147 
13148 
13149     return true;
13150 }
13151 
13152 //---------------------------------------------------------------------
_preEnd__fx_surface_init_cube_common____face()13153 bool ColladaParserAutoGen14Private::_preEnd__fx_surface_init_cube_common____face()
13154 {
13155 #ifdef GENERATEDSAXPARSER_VALIDATION
13156     if ( mValidate )
13157     {
13158 
13159         bool validationResult = _validateEnd__fx_surface_init_cube_common____face();
13160         if ( !validationResult ) return false;
13161 
13162     } // validation
13163 #endif
13164 
13165     return true;
13166 }
13167 
13168 //---------------------------------------------------------------------
_freeAttributes__fx_surface_init_cube_common____face(void * attributeData)13169 bool ColladaParserAutoGen14Private::_freeAttributes__fx_surface_init_cube_common____face( void* attributeData )
13170 {
13171     fx_surface_init_cube_common____face__AttributeData* typedAttributeData = static_cast<fx_surface_init_cube_common____face__AttributeData*>(attributeData);
13172 
13173     typedAttributeData->~fx_surface_init_cube_common____face__AttributeData();
13174 
13175     return true;
13176 }
13177 
13178 //---------------------------------------------------------------------
_data__init_volume(const ParserChar * text,size_t textLength)13179 bool ColladaParserAutoGen14Private::_data__init_volume( const ParserChar* text, size_t textLength )
13180 {
13181     return true;
13182 }
13183 
13184 //---------------------------------------------------------------------
_preBegin__init_volume(const ParserAttributes & attributes,void ** attributeDataPtr,void ** validationDataPtr)13185 bool ColladaParserAutoGen14Private::_preBegin__init_volume( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
13186 {
13187 #ifdef GENERATEDSAXPARSER_VALIDATION
13188     if ( mValidate )
13189     {
13190 
13191         bool validationResult = _validateBegin__init_volume( attributes, attributeDataPtr, validationDataPtr );
13192         if ( !validationResult ) return false;
13193 
13194     } // validation
13195 #endif
13196 
13197     return true;
13198 }
13199 
13200 //---------------------------------------------------------------------
_preEnd__init_volume()13201 bool ColladaParserAutoGen14Private::_preEnd__init_volume()
13202 {
13203 #ifdef GENERATEDSAXPARSER_VALIDATION
13204     if ( mValidate )
13205     {
13206 
13207         bool validationResult = _validateEnd__init_volume();
13208         if ( !validationResult ) return false;
13209 
13210     } // validation
13211 #endif
13212 
13213     return true;
13214 }
13215 
13216 //---------------------------------------------------------------------
_freeAttributes__init_volume(void * attributeData)13217 bool ColladaParserAutoGen14Private::_freeAttributes__init_volume( void* attributeData )
13218 {
13219     return true;
13220 }
13221 
13222 //---------------------------------------------------------------------
13223 const fx_surface_init_volume_common____all__AttributeData fx_surface_init_volume_common____all__AttributeData::DEFAULT = {0};
13224 
13225 //---------------------------------------------------------------------
_data__fx_surface_init_volume_common____all(const ParserChar * text,size_t textLength)13226 bool ColladaParserAutoGen14Private::_data__fx_surface_init_volume_common____all( const ParserChar* text, size_t textLength )
13227 {
13228     return true;
13229 }
13230 
13231 //---------------------------------------------------------------------
_preBegin__fx_surface_init_volume_common____all(const ParserAttributes & attributes,void ** attributeDataPtr,void ** validationDataPtr)13232 bool ColladaParserAutoGen14Private::_preBegin__fx_surface_init_volume_common____all( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
13233 {
13234 #ifdef GENERATEDSAXPARSER_VALIDATION
13235     if ( mValidate )
13236     {
13237 
13238         bool validationResult = _validateBegin__fx_surface_init_volume_common____all( attributes, attributeDataPtr, validationDataPtr );
13239         if ( !validationResult ) return false;
13240 
13241     } // validation
13242 #endif
13243 
13244 fx_surface_init_volume_common____all__AttributeData* attributeData = newData<fx_surface_init_volume_common____all__AttributeData>(attributeDataPtr);
13245 
13246 const ParserChar** attributeArray = attributes.attributes;
13247 if ( attributeArray )
13248 {
13249     while (true)
13250     {
13251         const ParserChar * attribute = *attributeArray;
13252         if ( !attribute )
13253             break;
13254         StringHash hash = GeneratedSaxParser::Utils::calculateStringHash(attribute);
13255         attributeArray++;
13256         if ( !attributeArray )
13257             return false;
13258         const ParserChar* attributeValue = *attributeArray;
13259         attributeArray++;
13260 
13261 
13262     switch ( hash )
13263     {
13264     case HASH_ATTRIBUTE_ref:
13265     {
13266 
13267 attributeData->ref = attributeValue;
13268 
13269     break;
13270     }
13271     default:
13272     {
13273         if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_UNKNOWN_ATTRIBUTE, HASH_ELEMENT_ALL, attribute, attributeValue))
13274             {return false;}
13275     }
13276     }
13277     }
13278 }
13279 if ( !attributeData->ref )
13280 {
13281     if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_REQUIRED_ATTRIBUTE_MISSING, HASH_ELEMENT_ALL, HASH_ATTRIBUTE_ref, 0 ) )
13282         return false;
13283 }
13284 
13285 
13286     return true;
13287 }
13288 
13289 //---------------------------------------------------------------------
_preEnd__fx_surface_init_volume_common____all()13290 bool ColladaParserAutoGen14Private::_preEnd__fx_surface_init_volume_common____all()
13291 {
13292 #ifdef GENERATEDSAXPARSER_VALIDATION
13293     if ( mValidate )
13294     {
13295 
13296         bool validationResult = _validateEnd__fx_surface_init_volume_common____all();
13297         if ( !validationResult ) return false;
13298 
13299     } // validation
13300 #endif
13301 
13302     return true;
13303 }
13304 
13305 //---------------------------------------------------------------------
_freeAttributes__fx_surface_init_volume_common____all(void * attributeData)13306 bool ColladaParserAutoGen14Private::_freeAttributes__fx_surface_init_volume_common____all( void* attributeData )
13307 {
13308     fx_surface_init_volume_common____all__AttributeData* typedAttributeData = static_cast<fx_surface_init_volume_common____all__AttributeData*>(attributeData);
13309 
13310     typedAttributeData->~fx_surface_init_volume_common____all__AttributeData();
13311 
13312     return true;
13313 }
13314 
13315 //---------------------------------------------------------------------
13316 const fx_surface_init_volume_common____primary__AttributeData fx_surface_init_volume_common____primary__AttributeData::DEFAULT = {0};
13317 
13318 //---------------------------------------------------------------------
_data__fx_surface_init_volume_common____primary(const ParserChar * text,size_t textLength)13319 bool ColladaParserAutoGen14Private::_data__fx_surface_init_volume_common____primary( const ParserChar* text, size_t textLength )
13320 {
13321     return true;
13322 }
13323 
13324 //---------------------------------------------------------------------
_preBegin__fx_surface_init_volume_common____primary(const ParserAttributes & attributes,void ** attributeDataPtr,void ** validationDataPtr)13325 bool ColladaParserAutoGen14Private::_preBegin__fx_surface_init_volume_common____primary( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
13326 {
13327 #ifdef GENERATEDSAXPARSER_VALIDATION
13328     if ( mValidate )
13329     {
13330 
13331         bool validationResult = _validateBegin__fx_surface_init_volume_common____primary( attributes, attributeDataPtr, validationDataPtr );
13332         if ( !validationResult ) return false;
13333 
13334     } // validation
13335 #endif
13336 
13337 fx_surface_init_volume_common____primary__AttributeData* attributeData = newData<fx_surface_init_volume_common____primary__AttributeData>(attributeDataPtr);
13338 
13339 const ParserChar** attributeArray = attributes.attributes;
13340 if ( attributeArray )
13341 {
13342     while (true)
13343     {
13344         const ParserChar * attribute = *attributeArray;
13345         if ( !attribute )
13346             break;
13347         StringHash hash = GeneratedSaxParser::Utils::calculateStringHash(attribute);
13348         attributeArray++;
13349         if ( !attributeArray )
13350             return false;
13351         const ParserChar* attributeValue = *attributeArray;
13352         attributeArray++;
13353 
13354 
13355     switch ( hash )
13356     {
13357     case HASH_ATTRIBUTE_ref:
13358     {
13359 
13360 attributeData->ref = attributeValue;
13361 
13362     break;
13363     }
13364     default:
13365     {
13366         if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_UNKNOWN_ATTRIBUTE, HASH_ELEMENT_PRIMARY, attribute, attributeValue))
13367             {return false;}
13368     }
13369     }
13370     }
13371 }
13372 if ( !attributeData->ref )
13373 {
13374     if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_REQUIRED_ATTRIBUTE_MISSING, HASH_ELEMENT_PRIMARY, HASH_ATTRIBUTE_ref, 0 ) )
13375         return false;
13376 }
13377 
13378 
13379     return true;
13380 }
13381 
13382 //---------------------------------------------------------------------
_preEnd__fx_surface_init_volume_common____primary()13383 bool ColladaParserAutoGen14Private::_preEnd__fx_surface_init_volume_common____primary()
13384 {
13385 #ifdef GENERATEDSAXPARSER_VALIDATION
13386     if ( mValidate )
13387     {
13388 
13389         bool validationResult = _validateEnd__fx_surface_init_volume_common____primary();
13390         if ( !validationResult ) return false;
13391 
13392     } // validation
13393 #endif
13394 
13395     return true;
13396 }
13397 
13398 //---------------------------------------------------------------------
_freeAttributes__fx_surface_init_volume_common____primary(void * attributeData)13399 bool ColladaParserAutoGen14Private::_freeAttributes__fx_surface_init_volume_common____primary( void* attributeData )
13400 {
13401     fx_surface_init_volume_common____primary__AttributeData* typedAttributeData = static_cast<fx_surface_init_volume_common____primary__AttributeData*>(attributeData);
13402 
13403     typedAttributeData->~fx_surface_init_volume_common____primary__AttributeData();
13404 
13405     return true;
13406 }
13407 
13408 //---------------------------------------------------------------------
_data__init_planar(const ParserChar * text,size_t textLength)13409 bool ColladaParserAutoGen14Private::_data__init_planar( const ParserChar* text, size_t textLength )
13410 {
13411     return true;
13412 }
13413 
13414 //---------------------------------------------------------------------
_preBegin__init_planar(const ParserAttributes & attributes,void ** attributeDataPtr,void ** validationDataPtr)13415 bool ColladaParserAutoGen14Private::_preBegin__init_planar( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
13416 {
13417 #ifdef GENERATEDSAXPARSER_VALIDATION
13418     if ( mValidate )
13419     {
13420 
13421         bool validationResult = _validateBegin__init_planar( attributes, attributeDataPtr, validationDataPtr );
13422         if ( !validationResult ) return false;
13423 
13424     } // validation
13425 #endif
13426 
13427     return true;
13428 }
13429 
13430 //---------------------------------------------------------------------
_preEnd__init_planar()13431 bool ColladaParserAutoGen14Private::_preEnd__init_planar()
13432 {
13433 #ifdef GENERATEDSAXPARSER_VALIDATION
13434     if ( mValidate )
13435     {
13436 
13437         bool validationResult = _validateEnd__init_planar();
13438         if ( !validationResult ) return false;
13439 
13440     } // validation
13441 #endif
13442 
13443     return true;
13444 }
13445 
13446 //---------------------------------------------------------------------
_freeAttributes__init_planar(void * attributeData)13447 bool ColladaParserAutoGen14Private::_freeAttributes__init_planar( void* attributeData )
13448 {
13449     return true;
13450 }
13451 
13452 //---------------------------------------------------------------------
13453 const fx_surface_init_planar_common____all__AttributeData fx_surface_init_planar_common____all__AttributeData::DEFAULT = {0};
13454 
13455 //---------------------------------------------------------------------
_data__fx_surface_init_planar_common____all(const ParserChar * text,size_t textLength)13456 bool ColladaParserAutoGen14Private::_data__fx_surface_init_planar_common____all( const ParserChar* text, size_t textLength )
13457 {
13458     return true;
13459 }
13460 
13461 //---------------------------------------------------------------------
_preBegin__fx_surface_init_planar_common____all(const ParserAttributes & attributes,void ** attributeDataPtr,void ** validationDataPtr)13462 bool ColladaParserAutoGen14Private::_preBegin__fx_surface_init_planar_common____all( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
13463 {
13464 #ifdef GENERATEDSAXPARSER_VALIDATION
13465     if ( mValidate )
13466     {
13467 
13468         bool validationResult = _validateBegin__fx_surface_init_planar_common____all( attributes, attributeDataPtr, validationDataPtr );
13469         if ( !validationResult ) return false;
13470 
13471     } // validation
13472 #endif
13473 
13474 fx_surface_init_planar_common____all__AttributeData* attributeData = newData<fx_surface_init_planar_common____all__AttributeData>(attributeDataPtr);
13475 
13476 const ParserChar** attributeArray = attributes.attributes;
13477 if ( attributeArray )
13478 {
13479     while (true)
13480     {
13481         const ParserChar * attribute = *attributeArray;
13482         if ( !attribute )
13483             break;
13484         StringHash hash = GeneratedSaxParser::Utils::calculateStringHash(attribute);
13485         attributeArray++;
13486         if ( !attributeArray )
13487             return false;
13488         const ParserChar* attributeValue = *attributeArray;
13489         attributeArray++;
13490 
13491 
13492     switch ( hash )
13493     {
13494     case HASH_ATTRIBUTE_ref:
13495     {
13496 
13497 attributeData->ref = attributeValue;
13498 
13499     break;
13500     }
13501     default:
13502     {
13503         if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_UNKNOWN_ATTRIBUTE, HASH_ELEMENT_ALL, attribute, attributeValue))
13504             {return false;}
13505     }
13506     }
13507     }
13508 }
13509 if ( !attributeData->ref )
13510 {
13511     if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_REQUIRED_ATTRIBUTE_MISSING, HASH_ELEMENT_ALL, HASH_ATTRIBUTE_ref, 0 ) )
13512         return false;
13513 }
13514 
13515 
13516     return true;
13517 }
13518 
13519 //---------------------------------------------------------------------
_preEnd__fx_surface_init_planar_common____all()13520 bool ColladaParserAutoGen14Private::_preEnd__fx_surface_init_planar_common____all()
13521 {
13522 #ifdef GENERATEDSAXPARSER_VALIDATION
13523     if ( mValidate )
13524     {
13525 
13526         bool validationResult = _validateEnd__fx_surface_init_planar_common____all();
13527         if ( !validationResult ) return false;
13528 
13529     } // validation
13530 #endif
13531 
13532     return true;
13533 }
13534 
13535 //---------------------------------------------------------------------
_freeAttributes__fx_surface_init_planar_common____all(void * attributeData)13536 bool ColladaParserAutoGen14Private::_freeAttributes__fx_surface_init_planar_common____all( void* attributeData )
13537 {
13538     fx_surface_init_planar_common____all__AttributeData* typedAttributeData = static_cast<fx_surface_init_planar_common____all__AttributeData*>(attributeData);
13539 
13540     typedAttributeData->~fx_surface_init_planar_common____all__AttributeData();
13541 
13542     return true;
13543 }
13544 
13545 //---------------------------------------------------------------------
13546 const init_from____fx_surface_init_from_common__AttributeData init_from____fx_surface_init_from_common__AttributeData::DEFAULT = {0, 0, ENUM__fx_surface_face_enum__POSITIVE_X};
13547 
13548 //---------------------------------------------------------------------
_data__init_from____fx_surface_init_from_common(const ParserChar * text,size_t textLength)13549 bool ColladaParserAutoGen14Private::_data__init_from____fx_surface_init_from_common( const ParserChar* text, size_t textLength )
13550 {
13551 
13552 return mImpl->data__init_from____fx_surface_init_from_common(text, textLength);
13553 }
13554 
13555 //---------------------------------------------------------------------
_preBegin__init_from____fx_surface_init_from_common(const ParserAttributes & attributes,void ** attributeDataPtr,void ** validationDataPtr)13556 bool ColladaParserAutoGen14Private::_preBegin__init_from____fx_surface_init_from_common( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
13557 {
13558 #ifdef GENERATEDSAXPARSER_VALIDATION
13559     if ( mValidate )
13560     {
13561 
13562         bool validationResult = _validateBegin__init_from____fx_surface_init_from_common( attributes, attributeDataPtr, validationDataPtr );
13563         if ( !validationResult ) return false;
13564 
13565     } // validation
13566 #endif
13567 
13568 init_from____fx_surface_init_from_common__AttributeData* attributeData = newData<init_from____fx_surface_init_from_common__AttributeData>(attributeDataPtr);
13569 
13570 const ParserChar** attributeArray = attributes.attributes;
13571 if ( attributeArray )
13572 {
13573     while (true)
13574     {
13575         const ParserChar * attribute = *attributeArray;
13576         if ( !attribute )
13577             break;
13578         StringHash hash = GeneratedSaxParser::Utils::calculateStringHash(attribute);
13579         attributeArray++;
13580         if ( !attributeArray )
13581             return false;
13582         const ParserChar* attributeValue = *attributeArray;
13583         attributeArray++;
13584 
13585 
13586     switch ( hash )
13587     {
13588     case HASH_ATTRIBUTE_mip:
13589     {
13590 bool failed;
13591 attributeData->mip = GeneratedSaxParser::Utils::toUint32(attributeValue, failed);
13592 if ( failed && handleError(ParserError::SEVERITY_ERROR_NONCRITICAL,
13593         ParserError::ERROR_ATTRIBUTE_PARSING_FAILED,
13594         HASH_ELEMENT_INIT_FROM,
13595         HASH_ATTRIBUTE_mip,
13596         attributeValue))
13597 {
13598     return false;
13599 }
13600 #ifdef GENERATEDSAXPARSER_VALIDATION
13601     if ( mValidate )
13602     {
13603     ParserError::ErrorType simpleTypeValidationResult = validate__unsignedInt(attributeData->mip);
13604     if (simpleTypeValidationResult != ParserError::SIMPLE_TYPE_VALIDATION_OK)
13605     {
13606         if( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL,
13607             simpleTypeValidationResult,
13608             HASH_ELEMENT_INIT_FROM,
13609             HASH_ATTRIBUTE_mip,
13610             attributeValue) )
13611         {
13612             return false;
13613         }
13614     }
13615     } // validation
13616 #endif
13617 
13618     break;
13619     }
13620     case HASH_ATTRIBUTE_slice:
13621     {
13622 bool failed;
13623 attributeData->slice = GeneratedSaxParser::Utils::toUint32(attributeValue, failed);
13624 if ( failed && handleError(ParserError::SEVERITY_ERROR_NONCRITICAL,
13625         ParserError::ERROR_ATTRIBUTE_PARSING_FAILED,
13626         HASH_ELEMENT_INIT_FROM,
13627         HASH_ATTRIBUTE_slice,
13628         attributeValue))
13629 {
13630     return false;
13631 }
13632 #ifdef GENERATEDSAXPARSER_VALIDATION
13633     if ( mValidate )
13634     {
13635     ParserError::ErrorType simpleTypeValidationResult = validate__unsignedInt(attributeData->slice);
13636     if (simpleTypeValidationResult != ParserError::SIMPLE_TYPE_VALIDATION_OK)
13637     {
13638         if( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL,
13639             simpleTypeValidationResult,
13640             HASH_ELEMENT_INIT_FROM,
13641             HASH_ATTRIBUTE_slice,
13642             attributeValue) )
13643         {
13644             return false;
13645         }
13646     }
13647     } // validation
13648 #endif
13649 
13650     break;
13651     }
13652     case HASH_ATTRIBUTE_face:
13653     {
13654 bool failed;
13655 attributeData->face = Utils::toEnum<ENUM__fx_surface_face_enum, StringHash, ENUM__fx_surface_face_enum__COUNT>(attributeValue, failed, ENUM__fx_surface_face_enumMap, Utils::calculateStringHash);
13656 if ( failed && handleError(ParserError::SEVERITY_ERROR_NONCRITICAL,
13657         ParserError::ERROR_ATTRIBUTE_PARSING_FAILED,
13658         HASH_ELEMENT_INIT_FROM,
13659         HASH_ATTRIBUTE_face,
13660         attributeValue))
13661 {
13662     return false;
13663 }
13664 
13665     break;
13666     }
13667     default:
13668     {
13669         if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_UNKNOWN_ATTRIBUTE, HASH_ELEMENT_INIT_FROM, attribute, attributeValue))
13670             {return false;}
13671     }
13672     }
13673     }
13674 }
13675 
13676 
13677     return true;
13678 }
13679 
13680 //---------------------------------------------------------------------
_preEnd__init_from____fx_surface_init_from_common()13681 bool ColladaParserAutoGen14Private::_preEnd__init_from____fx_surface_init_from_common()
13682 {
13683 #ifdef GENERATEDSAXPARSER_VALIDATION
13684     if ( mValidate )
13685     {
13686 
13687         bool validationResult = _validateEnd__init_from____fx_surface_init_from_common();
13688         if ( !validationResult ) return false;
13689 
13690     } // validation
13691 #endif
13692 
13693     return true;
13694 }
13695 
13696 //---------------------------------------------------------------------
_freeAttributes__init_from____fx_surface_init_from_common(void * attributeData)13697 bool ColladaParserAutoGen14Private::_freeAttributes__init_from____fx_surface_init_from_common( void* attributeData )
13698 {
13699     init_from____fx_surface_init_from_common__AttributeData* typedAttributeData = static_cast<init_from____fx_surface_init_from_common__AttributeData*>(attributeData);
13700 
13701     typedAttributeData->~init_from____fx_surface_init_from_common__AttributeData();
13702 
13703     return true;
13704 }
13705 
13706 //---------------------------------------------------------------------
_data__format(const ParserChar * text,size_t textLength)13707 bool ColladaParserAutoGen14Private::_data__format( const ParserChar* text, size_t textLength )
13708 {
13709 
13710 return mImpl->data__format(text, textLength);
13711 }
13712 
13713 //---------------------------------------------------------------------
_preBegin__format(const ParserAttributes & attributes,void ** attributeDataPtr,void ** validationDataPtr)13714 bool ColladaParserAutoGen14Private::_preBegin__format( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
13715 {
13716 #ifdef GENERATEDSAXPARSER_VALIDATION
13717     if ( mValidate )
13718     {
13719 
13720         bool validationResult = _validateBegin__format( attributes, attributeDataPtr, validationDataPtr );
13721         if ( !validationResult ) return false;
13722 
13723     } // validation
13724 #endif
13725 
13726     return true;
13727 }
13728 
13729 //---------------------------------------------------------------------
_preEnd__format()13730 bool ColladaParserAutoGen14Private::_preEnd__format()
13731 {
13732 #ifdef GENERATEDSAXPARSER_VALIDATION
13733     if ( mValidate )
13734     {
13735 
13736         bool validationResult = _validateEnd__format();
13737         if ( !validationResult ) return false;
13738 
13739     } // validation
13740 #endif
13741 
13742     return true;
13743 }
13744 
13745 //---------------------------------------------------------------------
_freeAttributes__format(void * attributeData)13746 bool ColladaParserAutoGen14Private::_freeAttributes__format( void* attributeData )
13747 {
13748     return true;
13749 }
13750 
13751 //---------------------------------------------------------------------
_data__format_hint(const ParserChar * text,size_t textLength)13752 bool ColladaParserAutoGen14Private::_data__format_hint( const ParserChar* text, size_t textLength )
13753 {
13754     return true;
13755 }
13756 
13757 //---------------------------------------------------------------------
_preBegin__format_hint(const ParserAttributes & attributes,void ** attributeDataPtr,void ** validationDataPtr)13758 bool ColladaParserAutoGen14Private::_preBegin__format_hint( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
13759 {
13760 #ifdef GENERATEDSAXPARSER_VALIDATION
13761     if ( mValidate )
13762     {
13763 
13764         bool validationResult = _validateBegin__format_hint( attributes, attributeDataPtr, validationDataPtr );
13765         if ( !validationResult ) return false;
13766 
13767     } // validation
13768 #endif
13769 
13770     return true;
13771 }
13772 
13773 //---------------------------------------------------------------------
_preEnd__format_hint()13774 bool ColladaParserAutoGen14Private::_preEnd__format_hint()
13775 {
13776 #ifdef GENERATEDSAXPARSER_VALIDATION
13777     if ( mValidate )
13778     {
13779 
13780         bool validationResult = _validateEnd__format_hint();
13781         if ( !validationResult ) return false;
13782 
13783     } // validation
13784 #endif
13785 
13786     return true;
13787 }
13788 
13789 //---------------------------------------------------------------------
_freeAttributes__format_hint(void * attributeData)13790 bool ColladaParserAutoGen14Private::_freeAttributes__format_hint( void* attributeData )
13791 {
13792     return true;
13793 }
13794 
13795 //---------------------------------------------------------------------
_data__channels(const ParserChar * text,size_t textLength)13796 bool ColladaParserAutoGen14Private::_data__channels( const ParserChar* text, size_t textLength )
13797 {
13798 if (!mLastIncompleteFragmentInCharacterData)
13799 {
13800     mLastIncompleteFragmentInCharacterData = (ParserChar*)mStackMemoryManager.newObject(textLength);
13801     memcpy(mLastIncompleteFragmentInCharacterData, text, textLength);
13802     mEndOfDataInCurrentObjectOnStack = mLastIncompleteFragmentInCharacterData + textLength;
13803 }
13804 else
13805 {
13806     ParserChar* tmp = (ParserChar*)mStackMemoryManager.growObject(textLength);
13807     if ( tmp != mLastIncompleteFragmentInCharacterData ) {
13808         mEndOfDataInCurrentObjectOnStack = (mEndOfDataInCurrentObjectOnStack - mLastIncompleteFragmentInCharacterData) + tmp;
13809         mLastIncompleteFragmentInCharacterData = tmp;
13810     }
13811     memcpy(mEndOfDataInCurrentObjectOnStack, text, textLength);
13812     mEndOfDataInCurrentObjectOnStack += textLength;
13813 }
13814 return true;
13815 }
13816 
13817 //---------------------------------------------------------------------
_preBegin__channels(const ParserAttributes & attributes,void ** attributeDataPtr,void ** validationDataPtr)13818 bool ColladaParserAutoGen14Private::_preBegin__channels( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
13819 {
13820 #ifdef GENERATEDSAXPARSER_VALIDATION
13821     if ( mValidate )
13822     {
13823 
13824         bool validationResult = _validateBegin__channels( attributes, attributeDataPtr, validationDataPtr );
13825         if ( !validationResult ) return false;
13826 
13827     } // validation
13828 #endif
13829 
13830     return true;
13831 }
13832 
13833 //---------------------------------------------------------------------
_preEnd__channels()13834 bool ColladaParserAutoGen14Private::_preEnd__channels()
13835 {
13836 #ifdef GENERATEDSAXPARSER_VALIDATION
13837     if ( mValidate )
13838     {
13839 
13840         bool validationResult = _validateEnd__channels();
13841         if ( !validationResult ) return false;
13842 
13843     } // validation
13844 #endif
13845 
13846 bool failed;
13847 ENUM__fx_surface_format_hint_channels_enum parameter = Utils::toEnum<ENUM__fx_surface_format_hint_channels_enum, StringHash, ENUM__fx_surface_format_hint_channels_enum__COUNT>((const ParserChar**)&mLastIncompleteFragmentInCharacterData, mEndOfDataInCurrentObjectOnStack, failed, ENUM__fx_surface_format_hint_channels_enumMap, Utils::calculateStringHash);
13848 bool returnValue;
13849 if (!failed)
13850 {
13851     returnValue = mImpl->data__channels(parameter);
13852 }
13853 else
13854     returnValue = !handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_TEXTDATA_PARSING_FAILED, HASH_ELEMENT_CHANNELS, (const ParserChar*)0, mLastIncompleteFragmentInCharacterData);
13855 if (mLastIncompleteFragmentInCharacterData)
13856     mStackMemoryManager.deleteObject();
13857 mLastIncompleteFragmentInCharacterData = 0;
13858 mEndOfDataInCurrentObjectOnStack = 0;
13859 return returnValue;
13860 
13861 }
13862 
13863 //---------------------------------------------------------------------
_freeAttributes__channels(void * attributeData)13864 bool ColladaParserAutoGen14Private::_freeAttributes__channels( void* attributeData )
13865 {
13866     return true;
13867 }
13868 
13869 //---------------------------------------------------------------------
toEnumDataPrefix_ENUM__fx_surface_format_hint_channels_enum(const ParserChar * prefixedBuffer,const ParserChar * prefixedBufferEnd,const ParserChar ** buffer,const ParserChar * bufferEnd,bool & failed,const std::pair<StringHash,ENUM__fx_surface_format_hint_channels_enum> * enumMap,StringHash (* baseConversionFunc)(const ParserChar **,const ParserChar *,bool &))13870 ENUM__fx_surface_format_hint_channels_enum ColladaParserAutoGen14Private::toEnumDataPrefix_ENUM__fx_surface_format_hint_channels_enum (
13871     const ParserChar* prefixedBuffer,
13872     const ParserChar* prefixedBufferEnd,
13873     const ParserChar** buffer,
13874     const ParserChar* bufferEnd,
13875     bool& failed,
13876     const std::pair<StringHash, ENUM__fx_surface_format_hint_channels_enum>* enumMap,
13877     StringHash (*baseConversionFunc)( const ParserChar**, const ParserChar*, bool& )
13878 )
13879 {
13880     return toEnumDataPrefix<ENUM__fx_surface_format_hint_channels_enum, StringHash, ENUM__fx_surface_format_hint_channels_enum__COUNT, &toEnum_ENUM__fx_surface_format_hint_channels_enum>(prefixedBuffer, prefixedBufferEnd, buffer, bufferEnd, failed, enumMap, baseConversionFunc);
13881 }
13882 
13883 //---------------------------------------------------------------------
characterData2EnumData_ENUM__fx_surface_format_hint_channels_enum(const ParserChar * text,size_t textLength,bool (ColladaParserAutoGen14::* dataFunction)(const ENUM__fx_surface_format_hint_channels_enum *,size_t),StringHash (* baseConversionFunc)(const ParserChar **,const ParserChar *,bool &))13884 bool ColladaParserAutoGen14Private::characterData2EnumData_ENUM__fx_surface_format_hint_channels_enum (
13885     const ParserChar* text,
13886     size_t textLength,
13887     bool ( ColladaParserAutoGen14::*dataFunction )(const ENUM__fx_surface_format_hint_channels_enum*, size_t ),
13888     StringHash (*baseConversionFunc)( const ParserChar**, const ParserChar*, bool& )
13889 )
13890 {
13891     return characterData2EnumData<ENUM__fx_surface_format_hint_channels_enum, StringHash, ENUM__fx_surface_format_hint_channels_enum__COUNT>(text, textLength, dataFunction, ENUM__fx_surface_format_hint_channels_enumMap, baseConversionFunc, &toEnum_ENUM__fx_surface_format_hint_channels_enum, &ColladaParserAutoGen14Private::toEnumDataPrefix_ENUM__fx_surface_format_hint_channels_enum);
13892 }
13893 
13894 //---------------------------------------------------------------------
dataEnumEnd_ENUM__fx_surface_format_hint_channels_enum(bool (ColladaParserAutoGen14::* dataFunction)(const ENUM__fx_surface_format_hint_channels_enum *,size_t),const std::pair<StringHash,ENUM__fx_surface_format_hint_channels_enum> * enumMap,StringHash (* baseConversionFunc)(const ParserChar **,const ParserChar *,bool &),ENUM__fx_surface_format_hint_channels_enum (* toEnumFunc)(const ParserChar **,const ParserChar *,bool &,const std::pair<StringHash,ENUM__fx_surface_format_hint_channels_enum> * enumMap,StringHash (* baseConversionFunc)(const ParserChar **,const ParserChar *,bool &)))13895 bool ColladaParserAutoGen14Private::dataEnumEnd_ENUM__fx_surface_format_hint_channels_enum (
13896     bool ( ColladaParserAutoGen14::*dataFunction )(const ENUM__fx_surface_format_hint_channels_enum*, size_t ),
13897     const std::pair<StringHash, ENUM__fx_surface_format_hint_channels_enum>* enumMap,
13898     StringHash (*baseConversionFunc)( const ParserChar**, const ParserChar*, bool& ),
13899     ENUM__fx_surface_format_hint_channels_enum (*toEnumFunc)( const ParserChar**, const ParserChar*, bool&, const std::pair<StringHash, ENUM__fx_surface_format_hint_channels_enum>* enumMap, StringHash (*baseConversionFunc)( const ParserChar**, const ParserChar*, bool& ))
13900 )
13901 {
13902     return dataEnumEnd<ENUM__fx_surface_format_hint_channels_enum, StringHash, ENUM__fx_surface_format_hint_channels_enum__COUNT>(dataFunction, enumMap, baseConversionFunc, toEnumFunc);
13903 }
13904 
13905 //---------------------------------------------------------------------
_data__range(const ParserChar * text,size_t textLength)13906 bool ColladaParserAutoGen14Private::_data__range( const ParserChar* text, size_t textLength )
13907 {
13908 if (!mLastIncompleteFragmentInCharacterData)
13909 {
13910     mLastIncompleteFragmentInCharacterData = (ParserChar*)mStackMemoryManager.newObject(textLength);
13911     memcpy(mLastIncompleteFragmentInCharacterData, text, textLength);
13912     mEndOfDataInCurrentObjectOnStack = mLastIncompleteFragmentInCharacterData + textLength;
13913 }
13914 else
13915 {
13916     ParserChar* tmp = (ParserChar*)mStackMemoryManager.growObject(textLength);
13917     if ( tmp != mLastIncompleteFragmentInCharacterData ) {
13918         mEndOfDataInCurrentObjectOnStack = (mEndOfDataInCurrentObjectOnStack - mLastIncompleteFragmentInCharacterData) + tmp;
13919         mLastIncompleteFragmentInCharacterData = tmp;
13920     }
13921     memcpy(mEndOfDataInCurrentObjectOnStack, text, textLength);
13922     mEndOfDataInCurrentObjectOnStack += textLength;
13923 }
13924 return true;
13925 }
13926 
13927 //---------------------------------------------------------------------
_preBegin__range(const ParserAttributes & attributes,void ** attributeDataPtr,void ** validationDataPtr)13928 bool ColladaParserAutoGen14Private::_preBegin__range( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
13929 {
13930 #ifdef GENERATEDSAXPARSER_VALIDATION
13931     if ( mValidate )
13932     {
13933 
13934         bool validationResult = _validateBegin__range( attributes, attributeDataPtr, validationDataPtr );
13935         if ( !validationResult ) return false;
13936 
13937     } // validation
13938 #endif
13939 
13940     return true;
13941 }
13942 
13943 //---------------------------------------------------------------------
_preEnd__range()13944 bool ColladaParserAutoGen14Private::_preEnd__range()
13945 {
13946 #ifdef GENERATEDSAXPARSER_VALIDATION
13947     if ( mValidate )
13948     {
13949 
13950         bool validationResult = _validateEnd__range();
13951         if ( !validationResult ) return false;
13952 
13953     } // validation
13954 #endif
13955 
13956 bool failed;
13957 ENUM__fx_surface_format_hint_range_enum parameter = Utils::toEnum<ENUM__fx_surface_format_hint_range_enum, StringHash, ENUM__fx_surface_format_hint_range_enum__COUNT>((const ParserChar**)&mLastIncompleteFragmentInCharacterData, mEndOfDataInCurrentObjectOnStack, failed, ENUM__fx_surface_format_hint_range_enumMap, Utils::calculateStringHash);
13958 bool returnValue;
13959 if (!failed)
13960 {
13961     returnValue = mImpl->data__range(parameter);
13962 }
13963 else
13964     returnValue = !handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_TEXTDATA_PARSING_FAILED, HASH_ELEMENT_RANGE, (const ParserChar*)0, mLastIncompleteFragmentInCharacterData);
13965 if (mLastIncompleteFragmentInCharacterData)
13966     mStackMemoryManager.deleteObject();
13967 mLastIncompleteFragmentInCharacterData = 0;
13968 mEndOfDataInCurrentObjectOnStack = 0;
13969 return returnValue;
13970 
13971 }
13972 
13973 //---------------------------------------------------------------------
_freeAttributes__range(void * attributeData)13974 bool ColladaParserAutoGen14Private::_freeAttributes__range( void* attributeData )
13975 {
13976     return true;
13977 }
13978 
13979 //---------------------------------------------------------------------
toEnumDataPrefix_ENUM__fx_surface_format_hint_range_enum(const ParserChar * prefixedBuffer,const ParserChar * prefixedBufferEnd,const ParserChar ** buffer,const ParserChar * bufferEnd,bool & failed,const std::pair<StringHash,ENUM__fx_surface_format_hint_range_enum> * enumMap,StringHash (* baseConversionFunc)(const ParserChar **,const ParserChar *,bool &))13980 ENUM__fx_surface_format_hint_range_enum ColladaParserAutoGen14Private::toEnumDataPrefix_ENUM__fx_surface_format_hint_range_enum (
13981     const ParserChar* prefixedBuffer,
13982     const ParserChar* prefixedBufferEnd,
13983     const ParserChar** buffer,
13984     const ParserChar* bufferEnd,
13985     bool& failed,
13986     const std::pair<StringHash, ENUM__fx_surface_format_hint_range_enum>* enumMap,
13987     StringHash (*baseConversionFunc)( const ParserChar**, const ParserChar*, bool& )
13988 )
13989 {
13990     return toEnumDataPrefix<ENUM__fx_surface_format_hint_range_enum, StringHash, ENUM__fx_surface_format_hint_range_enum__COUNT, &toEnum_ENUM__fx_surface_format_hint_range_enum>(prefixedBuffer, prefixedBufferEnd, buffer, bufferEnd, failed, enumMap, baseConversionFunc);
13991 }
13992 
13993 //---------------------------------------------------------------------
characterData2EnumData_ENUM__fx_surface_format_hint_range_enum(const ParserChar * text,size_t textLength,bool (ColladaParserAutoGen14::* dataFunction)(const ENUM__fx_surface_format_hint_range_enum *,size_t),StringHash (* baseConversionFunc)(const ParserChar **,const ParserChar *,bool &))13994 bool ColladaParserAutoGen14Private::characterData2EnumData_ENUM__fx_surface_format_hint_range_enum (
13995     const ParserChar* text,
13996     size_t textLength,
13997     bool ( ColladaParserAutoGen14::*dataFunction )(const ENUM__fx_surface_format_hint_range_enum*, size_t ),
13998     StringHash (*baseConversionFunc)( const ParserChar**, const ParserChar*, bool& )
13999 )
14000 {
14001     return characterData2EnumData<ENUM__fx_surface_format_hint_range_enum, StringHash, ENUM__fx_surface_format_hint_range_enum__COUNT>(text, textLength, dataFunction, ENUM__fx_surface_format_hint_range_enumMap, baseConversionFunc, &toEnum_ENUM__fx_surface_format_hint_range_enum, &ColladaParserAutoGen14Private::toEnumDataPrefix_ENUM__fx_surface_format_hint_range_enum);
14002 }
14003 
14004 //---------------------------------------------------------------------
dataEnumEnd_ENUM__fx_surface_format_hint_range_enum(bool (ColladaParserAutoGen14::* dataFunction)(const ENUM__fx_surface_format_hint_range_enum *,size_t),const std::pair<StringHash,ENUM__fx_surface_format_hint_range_enum> * enumMap,StringHash (* baseConversionFunc)(const ParserChar **,const ParserChar *,bool &),ENUM__fx_surface_format_hint_range_enum (* toEnumFunc)(const ParserChar **,const ParserChar *,bool &,const std::pair<StringHash,ENUM__fx_surface_format_hint_range_enum> * enumMap,StringHash (* baseConversionFunc)(const ParserChar **,const ParserChar *,bool &)))14005 bool ColladaParserAutoGen14Private::dataEnumEnd_ENUM__fx_surface_format_hint_range_enum (
14006     bool ( ColladaParserAutoGen14::*dataFunction )(const ENUM__fx_surface_format_hint_range_enum*, size_t ),
14007     const std::pair<StringHash, ENUM__fx_surface_format_hint_range_enum>* enumMap,
14008     StringHash (*baseConversionFunc)( const ParserChar**, const ParserChar*, bool& ),
14009     ENUM__fx_surface_format_hint_range_enum (*toEnumFunc)( const ParserChar**, const ParserChar*, bool&, const std::pair<StringHash, ENUM__fx_surface_format_hint_range_enum>* enumMap, StringHash (*baseConversionFunc)( const ParserChar**, const ParserChar*, bool& ))
14010 )
14011 {
14012     return dataEnumEnd<ENUM__fx_surface_format_hint_range_enum, StringHash, ENUM__fx_surface_format_hint_range_enum__COUNT>(dataFunction, enumMap, baseConversionFunc, toEnumFunc);
14013 }
14014 
14015 //---------------------------------------------------------------------
_data__precision(const ParserChar * text,size_t textLength)14016 bool ColladaParserAutoGen14Private::_data__precision( const ParserChar* text, size_t textLength )
14017 {
14018 if (!mLastIncompleteFragmentInCharacterData)
14019 {
14020     mLastIncompleteFragmentInCharacterData = (ParserChar*)mStackMemoryManager.newObject(textLength);
14021     memcpy(mLastIncompleteFragmentInCharacterData, text, textLength);
14022     mEndOfDataInCurrentObjectOnStack = mLastIncompleteFragmentInCharacterData + textLength;
14023 }
14024 else
14025 {
14026     ParserChar* tmp = (ParserChar*)mStackMemoryManager.growObject(textLength);
14027     if ( tmp != mLastIncompleteFragmentInCharacterData ) {
14028         mEndOfDataInCurrentObjectOnStack = (mEndOfDataInCurrentObjectOnStack - mLastIncompleteFragmentInCharacterData) + tmp;
14029         mLastIncompleteFragmentInCharacterData = tmp;
14030     }
14031     memcpy(mEndOfDataInCurrentObjectOnStack, text, textLength);
14032     mEndOfDataInCurrentObjectOnStack += textLength;
14033 }
14034 return true;
14035 }
14036 
14037 //---------------------------------------------------------------------
_preBegin__precision(const ParserAttributes & attributes,void ** attributeDataPtr,void ** validationDataPtr)14038 bool ColladaParserAutoGen14Private::_preBegin__precision( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
14039 {
14040 #ifdef GENERATEDSAXPARSER_VALIDATION
14041     if ( mValidate )
14042     {
14043 
14044         bool validationResult = _validateBegin__precision( attributes, attributeDataPtr, validationDataPtr );
14045         if ( !validationResult ) return false;
14046 
14047     } // validation
14048 #endif
14049 
14050     return true;
14051 }
14052 
14053 //---------------------------------------------------------------------
_preEnd__precision()14054 bool ColladaParserAutoGen14Private::_preEnd__precision()
14055 {
14056 #ifdef GENERATEDSAXPARSER_VALIDATION
14057     if ( mValidate )
14058     {
14059 
14060         bool validationResult = _validateEnd__precision();
14061         if ( !validationResult ) return false;
14062 
14063     } // validation
14064 #endif
14065 
14066 bool failed;
14067 ENUM__fx_surface_format_hint_precision_enum parameter = Utils::toEnum<ENUM__fx_surface_format_hint_precision_enum, StringHash, ENUM__fx_surface_format_hint_precision_enum__COUNT>((const ParserChar**)&mLastIncompleteFragmentInCharacterData, mEndOfDataInCurrentObjectOnStack, failed, ENUM__fx_surface_format_hint_precision_enumMap, Utils::calculateStringHash);
14068 bool returnValue;
14069 if (!failed)
14070 {
14071     returnValue = mImpl->data__precision(parameter);
14072 }
14073 else
14074     returnValue = !handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_TEXTDATA_PARSING_FAILED, HASH_ELEMENT_PRECISION, (const ParserChar*)0, mLastIncompleteFragmentInCharacterData);
14075 if (mLastIncompleteFragmentInCharacterData)
14076     mStackMemoryManager.deleteObject();
14077 mLastIncompleteFragmentInCharacterData = 0;
14078 mEndOfDataInCurrentObjectOnStack = 0;
14079 return returnValue;
14080 
14081 }
14082 
14083 //---------------------------------------------------------------------
_freeAttributes__precision(void * attributeData)14084 bool ColladaParserAutoGen14Private::_freeAttributes__precision( void* attributeData )
14085 {
14086     return true;
14087 }
14088 
14089 //---------------------------------------------------------------------
toEnumDataPrefix_ENUM__fx_surface_format_hint_precision_enum(const ParserChar * prefixedBuffer,const ParserChar * prefixedBufferEnd,const ParserChar ** buffer,const ParserChar * bufferEnd,bool & failed,const std::pair<StringHash,ENUM__fx_surface_format_hint_precision_enum> * enumMap,StringHash (* baseConversionFunc)(const ParserChar **,const ParserChar *,bool &))14090 ENUM__fx_surface_format_hint_precision_enum ColladaParserAutoGen14Private::toEnumDataPrefix_ENUM__fx_surface_format_hint_precision_enum (
14091     const ParserChar* prefixedBuffer,
14092     const ParserChar* prefixedBufferEnd,
14093     const ParserChar** buffer,
14094     const ParserChar* bufferEnd,
14095     bool& failed,
14096     const std::pair<StringHash, ENUM__fx_surface_format_hint_precision_enum>* enumMap,
14097     StringHash (*baseConversionFunc)( const ParserChar**, const ParserChar*, bool& )
14098 )
14099 {
14100     return toEnumDataPrefix<ENUM__fx_surface_format_hint_precision_enum, StringHash, ENUM__fx_surface_format_hint_precision_enum__COUNT, &toEnum_ENUM__fx_surface_format_hint_precision_enum>(prefixedBuffer, prefixedBufferEnd, buffer, bufferEnd, failed, enumMap, baseConversionFunc);
14101 }
14102 
14103 //---------------------------------------------------------------------
characterData2EnumData_ENUM__fx_surface_format_hint_precision_enum(const ParserChar * text,size_t textLength,bool (ColladaParserAutoGen14::* dataFunction)(const ENUM__fx_surface_format_hint_precision_enum *,size_t),StringHash (* baseConversionFunc)(const ParserChar **,const ParserChar *,bool &))14104 bool ColladaParserAutoGen14Private::characterData2EnumData_ENUM__fx_surface_format_hint_precision_enum (
14105     const ParserChar* text,
14106     size_t textLength,
14107     bool ( ColladaParserAutoGen14::*dataFunction )(const ENUM__fx_surface_format_hint_precision_enum*, size_t ),
14108     StringHash (*baseConversionFunc)( const ParserChar**, const ParserChar*, bool& )
14109 )
14110 {
14111     return characterData2EnumData<ENUM__fx_surface_format_hint_precision_enum, StringHash, ENUM__fx_surface_format_hint_precision_enum__COUNT>(text, textLength, dataFunction, ENUM__fx_surface_format_hint_precision_enumMap, baseConversionFunc, &toEnum_ENUM__fx_surface_format_hint_precision_enum, &ColladaParserAutoGen14Private::toEnumDataPrefix_ENUM__fx_surface_format_hint_precision_enum);
14112 }
14113 
14114 //---------------------------------------------------------------------
dataEnumEnd_ENUM__fx_surface_format_hint_precision_enum(bool (ColladaParserAutoGen14::* dataFunction)(const ENUM__fx_surface_format_hint_precision_enum *,size_t),const std::pair<StringHash,ENUM__fx_surface_format_hint_precision_enum> * enumMap,StringHash (* baseConversionFunc)(const ParserChar **,const ParserChar *,bool &),ENUM__fx_surface_format_hint_precision_enum (* toEnumFunc)(const ParserChar **,const ParserChar *,bool &,const std::pair<StringHash,ENUM__fx_surface_format_hint_precision_enum> * enumMap,StringHash (* baseConversionFunc)(const ParserChar **,const ParserChar *,bool &)))14115 bool ColladaParserAutoGen14Private::dataEnumEnd_ENUM__fx_surface_format_hint_precision_enum (
14116     bool ( ColladaParserAutoGen14::*dataFunction )(const ENUM__fx_surface_format_hint_precision_enum*, size_t ),
14117     const std::pair<StringHash, ENUM__fx_surface_format_hint_precision_enum>* enumMap,
14118     StringHash (*baseConversionFunc)( const ParserChar**, const ParserChar*, bool& ),
14119     ENUM__fx_surface_format_hint_precision_enum (*toEnumFunc)( const ParserChar**, const ParserChar*, bool&, const std::pair<StringHash, ENUM__fx_surface_format_hint_precision_enum>* enumMap, StringHash (*baseConversionFunc)( const ParserChar**, const ParserChar*, bool& ))
14120 )
14121 {
14122     return dataEnumEnd<ENUM__fx_surface_format_hint_precision_enum, StringHash, ENUM__fx_surface_format_hint_precision_enum__COUNT>(dataFunction, enumMap, baseConversionFunc, toEnumFunc);
14123 }
14124 
14125 //---------------------------------------------------------------------
_data__option(const ParserChar * text,size_t textLength)14126 bool ColladaParserAutoGen14Private::_data__option( const ParserChar* text, size_t textLength )
14127 {
14128 if (!mLastIncompleteFragmentInCharacterData)
14129 {
14130     mLastIncompleteFragmentInCharacterData = (ParserChar*)mStackMemoryManager.newObject(textLength);
14131     memcpy(mLastIncompleteFragmentInCharacterData, text, textLength);
14132     mEndOfDataInCurrentObjectOnStack = mLastIncompleteFragmentInCharacterData + textLength;
14133 }
14134 else
14135 {
14136     ParserChar* tmp = (ParserChar*)mStackMemoryManager.growObject(textLength);
14137     if ( tmp != mLastIncompleteFragmentInCharacterData ) {
14138         mEndOfDataInCurrentObjectOnStack = (mEndOfDataInCurrentObjectOnStack - mLastIncompleteFragmentInCharacterData) + tmp;
14139         mLastIncompleteFragmentInCharacterData = tmp;
14140     }
14141     memcpy(mEndOfDataInCurrentObjectOnStack, text, textLength);
14142     mEndOfDataInCurrentObjectOnStack += textLength;
14143 }
14144 return true;
14145 }
14146 
14147 //---------------------------------------------------------------------
_preBegin__option(const ParserAttributes & attributes,void ** attributeDataPtr,void ** validationDataPtr)14148 bool ColladaParserAutoGen14Private::_preBegin__option( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
14149 {
14150 #ifdef GENERATEDSAXPARSER_VALIDATION
14151     if ( mValidate )
14152     {
14153 
14154         bool validationResult = _validateBegin__option( attributes, attributeDataPtr, validationDataPtr );
14155         if ( !validationResult ) return false;
14156 
14157     } // validation
14158 #endif
14159 
14160     return true;
14161 }
14162 
14163 //---------------------------------------------------------------------
_preEnd__option()14164 bool ColladaParserAutoGen14Private::_preEnd__option()
14165 {
14166 #ifdef GENERATEDSAXPARSER_VALIDATION
14167     if ( mValidate )
14168     {
14169 
14170         bool validationResult = _validateEnd__option();
14171         if ( !validationResult ) return false;
14172 
14173     } // validation
14174 #endif
14175 
14176 bool failed;
14177 ENUM__fx_surface_format_hint_option_enum parameter = Utils::toEnum<ENUM__fx_surface_format_hint_option_enum, StringHash, ENUM__fx_surface_format_hint_option_enum__COUNT>((const ParserChar**)&mLastIncompleteFragmentInCharacterData, mEndOfDataInCurrentObjectOnStack, failed, ENUM__fx_surface_format_hint_option_enumMap, Utils::calculateStringHash);
14178 bool returnValue;
14179 if (!failed)
14180 {
14181     returnValue = mImpl->data__option(parameter);
14182 }
14183 else
14184     returnValue = !handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_TEXTDATA_PARSING_FAILED, HASH_ELEMENT_OPTION, (const ParserChar*)0, mLastIncompleteFragmentInCharacterData);
14185 if (mLastIncompleteFragmentInCharacterData)
14186     mStackMemoryManager.deleteObject();
14187 mLastIncompleteFragmentInCharacterData = 0;
14188 mEndOfDataInCurrentObjectOnStack = 0;
14189 return returnValue;
14190 
14191 }
14192 
14193 //---------------------------------------------------------------------
_freeAttributes__option(void * attributeData)14194 bool ColladaParserAutoGen14Private::_freeAttributes__option( void* attributeData )
14195 {
14196     return true;
14197 }
14198 
14199 //---------------------------------------------------------------------
toEnumDataPrefix_ENUM__fx_surface_format_hint_option_enum(const ParserChar * prefixedBuffer,const ParserChar * prefixedBufferEnd,const ParserChar ** buffer,const ParserChar * bufferEnd,bool & failed,const std::pair<StringHash,ENUM__fx_surface_format_hint_option_enum> * enumMap,StringHash (* baseConversionFunc)(const ParserChar **,const ParserChar *,bool &))14200 ENUM__fx_surface_format_hint_option_enum ColladaParserAutoGen14Private::toEnumDataPrefix_ENUM__fx_surface_format_hint_option_enum (
14201     const ParserChar* prefixedBuffer,
14202     const ParserChar* prefixedBufferEnd,
14203     const ParserChar** buffer,
14204     const ParserChar* bufferEnd,
14205     bool& failed,
14206     const std::pair<StringHash, ENUM__fx_surface_format_hint_option_enum>* enumMap,
14207     StringHash (*baseConversionFunc)( const ParserChar**, const ParserChar*, bool& )
14208 )
14209 {
14210     return toEnumDataPrefix<ENUM__fx_surface_format_hint_option_enum, StringHash, ENUM__fx_surface_format_hint_option_enum__COUNT, &toEnum_ENUM__fx_surface_format_hint_option_enum>(prefixedBuffer, prefixedBufferEnd, buffer, bufferEnd, failed, enumMap, baseConversionFunc);
14211 }
14212 
14213 //---------------------------------------------------------------------
characterData2EnumData_ENUM__fx_surface_format_hint_option_enum(const ParserChar * text,size_t textLength,bool (ColladaParserAutoGen14::* dataFunction)(const ENUM__fx_surface_format_hint_option_enum *,size_t),StringHash (* baseConversionFunc)(const ParserChar **,const ParserChar *,bool &))14214 bool ColladaParserAutoGen14Private::characterData2EnumData_ENUM__fx_surface_format_hint_option_enum (
14215     const ParserChar* text,
14216     size_t textLength,
14217     bool ( ColladaParserAutoGen14::*dataFunction )(const ENUM__fx_surface_format_hint_option_enum*, size_t ),
14218     StringHash (*baseConversionFunc)( const ParserChar**, const ParserChar*, bool& )
14219 )
14220 {
14221     return characterData2EnumData<ENUM__fx_surface_format_hint_option_enum, StringHash, ENUM__fx_surface_format_hint_option_enum__COUNT>(text, textLength, dataFunction, ENUM__fx_surface_format_hint_option_enumMap, baseConversionFunc, &toEnum_ENUM__fx_surface_format_hint_option_enum, &ColladaParserAutoGen14Private::toEnumDataPrefix_ENUM__fx_surface_format_hint_option_enum);
14222 }
14223 
14224 //---------------------------------------------------------------------
dataEnumEnd_ENUM__fx_surface_format_hint_option_enum(bool (ColladaParserAutoGen14::* dataFunction)(const ENUM__fx_surface_format_hint_option_enum *,size_t),const std::pair<StringHash,ENUM__fx_surface_format_hint_option_enum> * enumMap,StringHash (* baseConversionFunc)(const ParserChar **,const ParserChar *,bool &),ENUM__fx_surface_format_hint_option_enum (* toEnumFunc)(const ParserChar **,const ParserChar *,bool &,const std::pair<StringHash,ENUM__fx_surface_format_hint_option_enum> * enumMap,StringHash (* baseConversionFunc)(const ParserChar **,const ParserChar *,bool &)))14225 bool ColladaParserAutoGen14Private::dataEnumEnd_ENUM__fx_surface_format_hint_option_enum (
14226     bool ( ColladaParserAutoGen14::*dataFunction )(const ENUM__fx_surface_format_hint_option_enum*, size_t ),
14227     const std::pair<StringHash, ENUM__fx_surface_format_hint_option_enum>* enumMap,
14228     StringHash (*baseConversionFunc)( const ParserChar**, const ParserChar*, bool& ),
14229     ENUM__fx_surface_format_hint_option_enum (*toEnumFunc)( const ParserChar**, const ParserChar*, bool&, const std::pair<StringHash, ENUM__fx_surface_format_hint_option_enum>* enumMap, StringHash (*baseConversionFunc)( const ParserChar**, const ParserChar*, bool& ))
14230 )
14231 {
14232     return dataEnumEnd<ENUM__fx_surface_format_hint_option_enum, StringHash, ENUM__fx_surface_format_hint_option_enum__COUNT>(dataFunction, enumMap, baseConversionFunc, toEnumFunc);
14233 }
14234 
14235 //---------------------------------------------------------------------
_data__size____int3(const ParserChar * text,size_t textLength)14236 bool ColladaParserAutoGen14Private::_data__size____int3( const ParserChar* text, size_t textLength )
14237 {
14238 #ifdef GENERATEDSAXPARSER_VALIDATION
14239     if ( mValidate )
14240     {
14241         int3____int3__ValidationData* validationData = (int3____int3__ValidationData*)mValidationDataStack.top();
14242         DISABLE_WARNING_UNUSED(validationData)
14243 return characterData2Sint64Data(text, textLength, &ColladaParserAutoGen14::data__size____int3, &validate__int3__stream, &validationData->validationWholeSize, 0);
14244     }
14245     else
14246     {
14247 return characterData2Sint64Data(text, textLength, &ColladaParserAutoGen14::data__size____int3);
14248     }
14249 #else
14250     {
14251 return characterData2Sint64Data(text, textLength, &ColladaParserAutoGen14::data__size____int3);
14252     } // validation
14253 #endif
14254 
14255 }
14256 
14257 //---------------------------------------------------------------------
_preBegin__size____int3(const ParserAttributes & attributes,void ** attributeDataPtr,void ** validationDataPtr)14258 bool ColladaParserAutoGen14Private::_preBegin__size____int3( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
14259 {
14260 #ifdef GENERATEDSAXPARSER_VALIDATION
14261     if ( mValidate )
14262     {
14263 
14264         bool validationResult = _validateBegin__size____int3( attributes, attributeDataPtr, validationDataPtr );
14265         if ( !validationResult ) return false;
14266 
14267     } // validation
14268 #endif
14269 
14270     return true;
14271 }
14272 
14273 //---------------------------------------------------------------------
_preEnd__size____int3()14274 bool ColladaParserAutoGen14Private::_preEnd__size____int3()
14275 {
14276 #ifdef GENERATEDSAXPARSER_VALIDATION
14277     if ( mValidate )
14278     {
14279 
14280         bool validationResult = _validateEnd__size____int3();
14281         if ( !validationResult ) return false;
14282 
14283     } // validation
14284 #endif
14285 
14286 #ifdef GENERATEDSAXPARSER_VALIDATION
14287     if ( mValidate )
14288     {
14289         int3____int3__ValidationData* validationData = (int3____int3__ValidationData*)mValidationDataStack.top();
14290         DISABLE_WARNING_UNUSED(validationData)
14291 bool returnValue = sint64DataEnd( &ColladaParserAutoGen14::data__size____int3, &validate__int3__streamEnd, &validationData->validationWholeSize, 0 );
14292         ParserError::ErrorType simpleTypeValidationResult = validate__int3(0, (*(&validationData->validationWholeSize)));
14293         mValidationDataStack.deleteObject();
14294         if (simpleTypeValidationResult != ParserError::SIMPLE_TYPE_VALIDATION_OK)
14295         {
14296             if( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL,
14297                 simpleTypeValidationResult,
14298                 HASH_ELEMENT_SIZE,
14299                 (ParserChar*)0, 0 ) )
14300             {
14301                 return false;
14302             }
14303         }
14304         return returnValue;
14305     }
14306     else
14307     {
14308 return sint64DataEnd( &ColladaParserAutoGen14::data__size____int3 );
14309     }
14310 #else
14311     {
14312 return sint64DataEnd( &ColladaParserAutoGen14::data__size____int3 );
14313     } // validation
14314 #endif
14315 
14316 }
14317 
14318 //---------------------------------------------------------------------
_freeAttributes__size____int3(void * attributeData)14319 bool ColladaParserAutoGen14Private::_freeAttributes__size____int3( void* attributeData )
14320 {
14321     return true;
14322 }
14323 
14324 //---------------------------------------------------------------------
_data__viewport_ratio(const ParserChar * text,size_t textLength)14325 bool ColladaParserAutoGen14Private::_data__viewport_ratio( const ParserChar* text, size_t textLength )
14326 {
14327 #ifdef GENERATEDSAXPARSER_VALIDATION
14328     if ( mValidate )
14329     {
14330         float2____float2__ValidationData* validationData = (float2____float2__ValidationData*)mValidationDataStack.top();
14331         DISABLE_WARNING_UNUSED(validationData)
14332 return characterData2FloatData(text, textLength, &ColladaParserAutoGen14::data__viewport_ratio, &validate__float2__stream, &validationData->validationWholeSize, 0);
14333     }
14334     else
14335     {
14336 return characterData2FloatData(text, textLength, &ColladaParserAutoGen14::data__viewport_ratio);
14337     }
14338 #else
14339     {
14340 return characterData2FloatData(text, textLength, &ColladaParserAutoGen14::data__viewport_ratio);
14341     } // validation
14342 #endif
14343 
14344 }
14345 
14346 //---------------------------------------------------------------------
_preBegin__viewport_ratio(const ParserAttributes & attributes,void ** attributeDataPtr,void ** validationDataPtr)14347 bool ColladaParserAutoGen14Private::_preBegin__viewport_ratio( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
14348 {
14349 #ifdef GENERATEDSAXPARSER_VALIDATION
14350     if ( mValidate )
14351     {
14352 
14353         bool validationResult = _validateBegin__viewport_ratio( attributes, attributeDataPtr, validationDataPtr );
14354         if ( !validationResult ) return false;
14355 
14356     } // validation
14357 #endif
14358 
14359     return true;
14360 }
14361 
14362 //---------------------------------------------------------------------
_preEnd__viewport_ratio()14363 bool ColladaParserAutoGen14Private::_preEnd__viewport_ratio()
14364 {
14365 #ifdef GENERATEDSAXPARSER_VALIDATION
14366     if ( mValidate )
14367     {
14368 
14369         bool validationResult = _validateEnd__viewport_ratio();
14370         if ( !validationResult ) return false;
14371 
14372     } // validation
14373 #endif
14374 
14375 #ifdef GENERATEDSAXPARSER_VALIDATION
14376     if ( mValidate )
14377     {
14378         float2____float2__ValidationData* validationData = (float2____float2__ValidationData*)mValidationDataStack.top();
14379         DISABLE_WARNING_UNUSED(validationData)
14380 bool returnValue = floatDataEnd( &ColladaParserAutoGen14::data__viewport_ratio, &validate__float2__streamEnd, &validationData->validationWholeSize, 0 );
14381         ParserError::ErrorType simpleTypeValidationResult = validate__float2(0, (*(&validationData->validationWholeSize)));
14382         mValidationDataStack.deleteObject();
14383         if (simpleTypeValidationResult != ParserError::SIMPLE_TYPE_VALIDATION_OK)
14384         {
14385             if( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL,
14386                 simpleTypeValidationResult,
14387                 HASH_ELEMENT_VIEWPORT_RATIO,
14388                 (ParserChar*)0, 0 ) )
14389             {
14390                 return false;
14391             }
14392         }
14393         return returnValue;
14394     }
14395     else
14396     {
14397 return floatDataEnd( &ColladaParserAutoGen14::data__viewport_ratio );
14398     }
14399 #else
14400     {
14401 return floatDataEnd( &ColladaParserAutoGen14::data__viewport_ratio );
14402     } // validation
14403 #endif
14404 
14405 }
14406 
14407 //---------------------------------------------------------------------
_freeAttributes__viewport_ratio(void * attributeData)14408 bool ColladaParserAutoGen14Private::_freeAttributes__viewport_ratio( void* attributeData )
14409 {
14410     return true;
14411 }
14412 
14413 //---------------------------------------------------------------------
_data__mip_levels(const ParserChar * text,size_t textLength)14414 bool ColladaParserAutoGen14Private::_data__mip_levels( const ParserChar* text, size_t textLength )
14415 {
14416 if (!mLastIncompleteFragmentInCharacterData)
14417 {
14418     mLastIncompleteFragmentInCharacterData = (ParserChar*)mStackMemoryManager.newObject(textLength);
14419     memcpy(mLastIncompleteFragmentInCharacterData, text, textLength);
14420     mEndOfDataInCurrentObjectOnStack = mLastIncompleteFragmentInCharacterData + textLength;
14421 }
14422 else
14423 {
14424     ParserChar* tmp = (ParserChar*)mStackMemoryManager.growObject(textLength);
14425     if ( tmp != mLastIncompleteFragmentInCharacterData ) {
14426         mEndOfDataInCurrentObjectOnStack = (mEndOfDataInCurrentObjectOnStack - mLastIncompleteFragmentInCharacterData) + tmp;
14427         mLastIncompleteFragmentInCharacterData = tmp;
14428     }
14429     memcpy(mEndOfDataInCurrentObjectOnStack, text, textLength);
14430     mEndOfDataInCurrentObjectOnStack += textLength;
14431 }
14432 return true;
14433 }
14434 
14435 //---------------------------------------------------------------------
_preBegin__mip_levels(const ParserAttributes & attributes,void ** attributeDataPtr,void ** validationDataPtr)14436 bool ColladaParserAutoGen14Private::_preBegin__mip_levels( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
14437 {
14438 #ifdef GENERATEDSAXPARSER_VALIDATION
14439     if ( mValidate )
14440     {
14441 
14442         bool validationResult = _validateBegin__mip_levels( attributes, attributeDataPtr, validationDataPtr );
14443         if ( !validationResult ) return false;
14444 
14445     } // validation
14446 #endif
14447 
14448     return true;
14449 }
14450 
14451 //---------------------------------------------------------------------
_preEnd__mip_levels()14452 bool ColladaParserAutoGen14Private::_preEnd__mip_levels()
14453 {
14454 #ifdef GENERATEDSAXPARSER_VALIDATION
14455     if ( mValidate )
14456     {
14457 
14458         bool validationResult = _validateEnd__mip_levels();
14459         if ( !validationResult ) return false;
14460 
14461     } // validation
14462 #endif
14463 
14464 bool failed;
14465 const ParserChar* ptrForErr = mLastIncompleteFragmentInCharacterData;
14466 DISABLE_WARNING_UNUSED(ptrForErr)
14467 uint32 parameter = GeneratedSaxParser::Utils::toUint32((const ParserChar**)&mLastIncompleteFragmentInCharacterData, mEndOfDataInCurrentObjectOnStack, failed);
14468 bool returnValue;
14469 if (!failed)
14470 {
14471 #ifdef GENERATEDSAXPARSER_VALIDATION
14472     if ( mValidate )
14473     {
14474     ParserError::ErrorType simpleTypeValidationResult = validate__unsignedInt(parameter);
14475     if (simpleTypeValidationResult != ParserError::SIMPLE_TYPE_VALIDATION_OK)
14476     {
14477         ParserChar msg[21];
14478         Utils::fillErrorMsg(msg, ptrForErr, 20);
14479         if( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL,
14480             simpleTypeValidationResult,
14481             0,
14482             msg) )
14483         {
14484             return false;
14485         }
14486     }
14487     } // validation
14488 #endif
14489     returnValue = mImpl->data__mip_levels(parameter);
14490 }
14491 else
14492     returnValue = !handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_TEXTDATA_PARSING_FAILED, HASH_ELEMENT_MIP_LEVELS, (const ParserChar*)0, mLastIncompleteFragmentInCharacterData);
14493 if (mLastIncompleteFragmentInCharacterData)
14494     mStackMemoryManager.deleteObject();
14495 mLastIncompleteFragmentInCharacterData = 0;
14496 mEndOfDataInCurrentObjectOnStack = 0;
14497 return returnValue;
14498 }
14499 
14500 //---------------------------------------------------------------------
_freeAttributes__mip_levels(void * attributeData)14501 bool ColladaParserAutoGen14Private::_freeAttributes__mip_levels( void* attributeData )
14502 {
14503     return true;
14504 }
14505 
14506 //---------------------------------------------------------------------
_data__mipmap_generate(const ParserChar * text,size_t textLength)14507 bool ColladaParserAutoGen14Private::_data__mipmap_generate( const ParserChar* text, size_t textLength )
14508 {
14509 if (!mLastIncompleteFragmentInCharacterData)
14510 {
14511     mLastIncompleteFragmentInCharacterData = (ParserChar*)mStackMemoryManager.newObject(textLength);
14512     memcpy(mLastIncompleteFragmentInCharacterData, text, textLength);
14513     mEndOfDataInCurrentObjectOnStack = mLastIncompleteFragmentInCharacterData + textLength;
14514 }
14515 else
14516 {
14517     ParserChar* tmp = (ParserChar*)mStackMemoryManager.growObject(textLength);
14518     if ( tmp != mLastIncompleteFragmentInCharacterData ) {
14519         mEndOfDataInCurrentObjectOnStack = (mEndOfDataInCurrentObjectOnStack - mLastIncompleteFragmentInCharacterData) + tmp;
14520         mLastIncompleteFragmentInCharacterData = tmp;
14521     }
14522     memcpy(mEndOfDataInCurrentObjectOnStack, text, textLength);
14523     mEndOfDataInCurrentObjectOnStack += textLength;
14524 }
14525 return true;
14526 }
14527 
14528 //---------------------------------------------------------------------
_preBegin__mipmap_generate(const ParserAttributes & attributes,void ** attributeDataPtr,void ** validationDataPtr)14529 bool ColladaParserAutoGen14Private::_preBegin__mipmap_generate( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
14530 {
14531 #ifdef GENERATEDSAXPARSER_VALIDATION
14532     if ( mValidate )
14533     {
14534 
14535         bool validationResult = _validateBegin__mipmap_generate( attributes, attributeDataPtr, validationDataPtr );
14536         if ( !validationResult ) return false;
14537 
14538     } // validation
14539 #endif
14540 
14541     return true;
14542 }
14543 
14544 //---------------------------------------------------------------------
_preEnd__mipmap_generate()14545 bool ColladaParserAutoGen14Private::_preEnd__mipmap_generate()
14546 {
14547 #ifdef GENERATEDSAXPARSER_VALIDATION
14548     if ( mValidate )
14549     {
14550 
14551         bool validationResult = _validateEnd__mipmap_generate();
14552         if ( !validationResult ) return false;
14553 
14554     } // validation
14555 #endif
14556 
14557 bool failed;
14558 const ParserChar* ptrForErr = mLastIncompleteFragmentInCharacterData;
14559 DISABLE_WARNING_UNUSED(ptrForErr)
14560 bool parameter = GeneratedSaxParser::Utils::toBool((const ParserChar**)&mLastIncompleteFragmentInCharacterData, mEndOfDataInCurrentObjectOnStack, failed);
14561 bool returnValue;
14562 if (!failed)
14563 {
14564     returnValue = mImpl->data__mipmap_generate(parameter);
14565 }
14566 else
14567     returnValue = !handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_TEXTDATA_PARSING_FAILED, HASH_ELEMENT_MIPMAP_GENERATE, (const ParserChar*)0, mLastIncompleteFragmentInCharacterData);
14568 if (mLastIncompleteFragmentInCharacterData)
14569     mStackMemoryManager.deleteObject();
14570 mLastIncompleteFragmentInCharacterData = 0;
14571 mEndOfDataInCurrentObjectOnStack = 0;
14572 return returnValue;
14573 }
14574 
14575 //---------------------------------------------------------------------
_freeAttributes__mipmap_generate(void * attributeData)14576 bool ColladaParserAutoGen14Private::_freeAttributes__mipmap_generate( void* attributeData )
14577 {
14578     return true;
14579 }
14580 
14581 //---------------------------------------------------------------------
_data__sampler1D____fx_sampler1D_common(const ParserChar * text,size_t textLength)14582 bool ColladaParserAutoGen14Private::_data__sampler1D____fx_sampler1D_common( const ParserChar* text, size_t textLength )
14583 {
14584     return true;
14585 }
14586 
14587 //---------------------------------------------------------------------
_preBegin__sampler1D____fx_sampler1D_common(const ParserAttributes & attributes,void ** attributeDataPtr,void ** validationDataPtr)14588 bool ColladaParserAutoGen14Private::_preBegin__sampler1D____fx_sampler1D_common( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
14589 {
14590 #ifdef GENERATEDSAXPARSER_VALIDATION
14591     if ( mValidate )
14592     {
14593 
14594         bool validationResult = _validateBegin__sampler1D____fx_sampler1D_common( attributes, attributeDataPtr, validationDataPtr );
14595         if ( !validationResult ) return false;
14596 
14597     } // validation
14598 #endif
14599 
14600     return true;
14601 }
14602 
14603 //---------------------------------------------------------------------
_preEnd__sampler1D____fx_sampler1D_common()14604 bool ColladaParserAutoGen14Private::_preEnd__sampler1D____fx_sampler1D_common()
14605 {
14606 #ifdef GENERATEDSAXPARSER_VALIDATION
14607     if ( mValidate )
14608     {
14609 
14610         bool validationResult = _validateEnd__sampler1D____fx_sampler1D_common();
14611         if ( !validationResult ) return false;
14612 
14613     } // validation
14614 #endif
14615 
14616     return true;
14617 }
14618 
14619 //---------------------------------------------------------------------
_freeAttributes__sampler1D____fx_sampler1D_common(void * attributeData)14620 bool ColladaParserAutoGen14Private::_freeAttributes__sampler1D____fx_sampler1D_common( void* attributeData )
14621 {
14622     return true;
14623 }
14624 
14625 //---------------------------------------------------------------------
_data__source____NCName(const ParserChar * text,size_t textLength)14626 bool ColladaParserAutoGen14Private::_data__source____NCName( const ParserChar* text, size_t textLength )
14627 {
14628 if (!mLastIncompleteFragmentInCharacterData)
14629 {
14630     mLastIncompleteFragmentInCharacterData = (ParserChar*)mStackMemoryManager.newObject(textLength);
14631     memcpy(mLastIncompleteFragmentInCharacterData, text, textLength);
14632     mEndOfDataInCurrentObjectOnStack = mLastIncompleteFragmentInCharacterData + textLength;
14633 }
14634 else
14635 {
14636     ParserChar* tmp = (ParserChar*)mStackMemoryManager.growObject(textLength);
14637     if ( tmp != mLastIncompleteFragmentInCharacterData ) {
14638         mEndOfDataInCurrentObjectOnStack = (mEndOfDataInCurrentObjectOnStack - mLastIncompleteFragmentInCharacterData) + tmp;
14639         mLastIncompleteFragmentInCharacterData = tmp;
14640     }
14641     memcpy(mEndOfDataInCurrentObjectOnStack, text, textLength);
14642     mEndOfDataInCurrentObjectOnStack += textLength;
14643 }
14644 return true;
14645 }
14646 
14647 //---------------------------------------------------------------------
_preBegin__source____NCName(const ParserAttributes & attributes,void ** attributeDataPtr,void ** validationDataPtr)14648 bool ColladaParserAutoGen14Private::_preBegin__source____NCName( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
14649 {
14650 #ifdef GENERATEDSAXPARSER_VALIDATION
14651     if ( mValidate )
14652     {
14653 
14654         bool validationResult = _validateBegin__source____NCName( attributes, attributeDataPtr, validationDataPtr );
14655         if ( !validationResult ) return false;
14656 
14657     } // validation
14658 #endif
14659 
14660     return true;
14661 }
14662 
14663 //---------------------------------------------------------------------
_preEnd__source____NCName()14664 bool ColladaParserAutoGen14Private::_preEnd__source____NCName()
14665 {
14666 #ifdef GENERATEDSAXPARSER_VALIDATION
14667     if ( mValidate )
14668     {
14669 
14670         bool validationResult = _validateEnd__source____NCName();
14671         if ( !validationResult ) return false;
14672 
14673     } // validation
14674 #endif
14675 
14676 bool returnValue = true;
14677 #ifdef GENERATEDSAXPARSER_VALIDATION
14678     if ( mValidate )
14679     {
14680 ParserError::ErrorType simpleTypeValidationResult = validate__NCName(mLastIncompleteFragmentInCharacterData, mEndOfDataInCurrentObjectOnStack - mLastIncompleteFragmentInCharacterData);
14681 if (simpleTypeValidationResult != ParserError::SIMPLE_TYPE_VALIDATION_OK)
14682 {
14683     ParserChar msg[21];
14684     Utils::fillErrorMsg(msg, mLastIncompleteFragmentInCharacterData, 20);
14685     if( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL,
14686         simpleTypeValidationResult,
14687         0,
14688         msg) )
14689     {
14690         returnValue =  false;
14691     }
14692 }
14693 if (!returnValue)
14694 {
14695     mStackMemoryManager.deleteObject();
14696     mLastIncompleteFragmentInCharacterData = 0;
14697     mEndOfDataInCurrentObjectOnStack = 0;
14698     return returnValue;
14699 }
14700     } // validation
14701 #endif
14702 returnValue = mImpl->data__source____NCName(mLastIncompleteFragmentInCharacterData, mEndOfDataInCurrentObjectOnStack - mLastIncompleteFragmentInCharacterData);
14703 mStackMemoryManager.deleteObject();
14704 mLastIncompleteFragmentInCharacterData = 0;
14705 mEndOfDataInCurrentObjectOnStack = 0;
14706 return returnValue;
14707 
14708 }
14709 
14710 //---------------------------------------------------------------------
_freeAttributes__source____NCName(void * attributeData)14711 bool ColladaParserAutoGen14Private::_freeAttributes__source____NCName( void* attributeData )
14712 {
14713     return true;
14714 }
14715 
14716 //---------------------------------------------------------------------
_data__wrap_s____fx_sampler_wrap_common(const ParserChar * text,size_t textLength)14717 bool ColladaParserAutoGen14Private::_data__wrap_s____fx_sampler_wrap_common( const ParserChar* text, size_t textLength )
14718 {
14719 if (!mLastIncompleteFragmentInCharacterData)
14720 {
14721     mLastIncompleteFragmentInCharacterData = (ParserChar*)mStackMemoryManager.newObject(textLength);
14722     memcpy(mLastIncompleteFragmentInCharacterData, text, textLength);
14723     mEndOfDataInCurrentObjectOnStack = mLastIncompleteFragmentInCharacterData + textLength;
14724 }
14725 else
14726 {
14727     ParserChar* tmp = (ParserChar*)mStackMemoryManager.growObject(textLength);
14728     if ( tmp != mLastIncompleteFragmentInCharacterData ) {
14729         mEndOfDataInCurrentObjectOnStack = (mEndOfDataInCurrentObjectOnStack - mLastIncompleteFragmentInCharacterData) + tmp;
14730         mLastIncompleteFragmentInCharacterData = tmp;
14731     }
14732     memcpy(mEndOfDataInCurrentObjectOnStack, text, textLength);
14733     mEndOfDataInCurrentObjectOnStack += textLength;
14734 }
14735 return true;
14736 }
14737 
14738 //---------------------------------------------------------------------
_preBegin__wrap_s____fx_sampler_wrap_common(const ParserAttributes & attributes,void ** attributeDataPtr,void ** validationDataPtr)14739 bool ColladaParserAutoGen14Private::_preBegin__wrap_s____fx_sampler_wrap_common( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
14740 {
14741 #ifdef GENERATEDSAXPARSER_VALIDATION
14742     if ( mValidate )
14743     {
14744 
14745         bool validationResult = _validateBegin__wrap_s____fx_sampler_wrap_common( attributes, attributeDataPtr, validationDataPtr );
14746         if ( !validationResult ) return false;
14747 
14748     } // validation
14749 #endif
14750 
14751     return true;
14752 }
14753 
14754 //---------------------------------------------------------------------
_preEnd__wrap_s____fx_sampler_wrap_common()14755 bool ColladaParserAutoGen14Private::_preEnd__wrap_s____fx_sampler_wrap_common()
14756 {
14757 #ifdef GENERATEDSAXPARSER_VALIDATION
14758     if ( mValidate )
14759     {
14760 
14761         bool validationResult = _validateEnd__wrap_s____fx_sampler_wrap_common();
14762         if ( !validationResult ) return false;
14763 
14764     } // validation
14765 #endif
14766 
14767 bool failed;
14768 ENUM__fx_sampler_wrap_common parameter = Utils::toEnum<ENUM__fx_sampler_wrap_common, StringHash, ENUM__fx_sampler_wrap_common__COUNT>((const ParserChar**)&mLastIncompleteFragmentInCharacterData, mEndOfDataInCurrentObjectOnStack, failed, ENUM__fx_sampler_wrap_commonMap, Utils::calculateStringHash);
14769 bool returnValue;
14770 if (!failed)
14771 {
14772     returnValue = mImpl->data__wrap_s____fx_sampler_wrap_common(parameter);
14773 }
14774 else
14775     returnValue = !handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_TEXTDATA_PARSING_FAILED, HASH_ELEMENT_WRAP_S, (const ParserChar*)0, mLastIncompleteFragmentInCharacterData);
14776 if (mLastIncompleteFragmentInCharacterData)
14777     mStackMemoryManager.deleteObject();
14778 mLastIncompleteFragmentInCharacterData = 0;
14779 mEndOfDataInCurrentObjectOnStack = 0;
14780 return returnValue;
14781 
14782 }
14783 
14784 //---------------------------------------------------------------------
_freeAttributes__wrap_s____fx_sampler_wrap_common(void * attributeData)14785 bool ColladaParserAutoGen14Private::_freeAttributes__wrap_s____fx_sampler_wrap_common( void* attributeData )
14786 {
14787     return true;
14788 }
14789 
14790 //---------------------------------------------------------------------
toEnumDataPrefix_ENUM__fx_sampler_wrap_common(const ParserChar * prefixedBuffer,const ParserChar * prefixedBufferEnd,const ParserChar ** buffer,const ParserChar * bufferEnd,bool & failed,const std::pair<StringHash,ENUM__fx_sampler_wrap_common> * enumMap,StringHash (* baseConversionFunc)(const ParserChar **,const ParserChar *,bool &))14791 ENUM__fx_sampler_wrap_common ColladaParserAutoGen14Private::toEnumDataPrefix_ENUM__fx_sampler_wrap_common (
14792     const ParserChar* prefixedBuffer,
14793     const ParserChar* prefixedBufferEnd,
14794     const ParserChar** buffer,
14795     const ParserChar* bufferEnd,
14796     bool& failed,
14797     const std::pair<StringHash, ENUM__fx_sampler_wrap_common>* enumMap,
14798     StringHash (*baseConversionFunc)( const ParserChar**, const ParserChar*, bool& )
14799 )
14800 {
14801     return toEnumDataPrefix<ENUM__fx_sampler_wrap_common, StringHash, ENUM__fx_sampler_wrap_common__COUNT, &toEnum_ENUM__fx_sampler_wrap_common>(prefixedBuffer, prefixedBufferEnd, buffer, bufferEnd, failed, enumMap, baseConversionFunc);
14802 }
14803 
14804 //---------------------------------------------------------------------
characterData2EnumData_ENUM__fx_sampler_wrap_common(const ParserChar * text,size_t textLength,bool (ColladaParserAutoGen14::* dataFunction)(const ENUM__fx_sampler_wrap_common *,size_t),StringHash (* baseConversionFunc)(const ParserChar **,const ParserChar *,bool &))14805 bool ColladaParserAutoGen14Private::characterData2EnumData_ENUM__fx_sampler_wrap_common (
14806     const ParserChar* text,
14807     size_t textLength,
14808     bool ( ColladaParserAutoGen14::*dataFunction )(const ENUM__fx_sampler_wrap_common*, size_t ),
14809     StringHash (*baseConversionFunc)( const ParserChar**, const ParserChar*, bool& )
14810 )
14811 {
14812     return characterData2EnumData<ENUM__fx_sampler_wrap_common, StringHash, ENUM__fx_sampler_wrap_common__COUNT>(text, textLength, dataFunction, ENUM__fx_sampler_wrap_commonMap, baseConversionFunc, &toEnum_ENUM__fx_sampler_wrap_common, &ColladaParserAutoGen14Private::toEnumDataPrefix_ENUM__fx_sampler_wrap_common);
14813 }
14814 
14815 //---------------------------------------------------------------------
dataEnumEnd_ENUM__fx_sampler_wrap_common(bool (ColladaParserAutoGen14::* dataFunction)(const ENUM__fx_sampler_wrap_common *,size_t),const std::pair<StringHash,ENUM__fx_sampler_wrap_common> * enumMap,StringHash (* baseConversionFunc)(const ParserChar **,const ParserChar *,bool &),ENUM__fx_sampler_wrap_common (* toEnumFunc)(const ParserChar **,const ParserChar *,bool &,const std::pair<StringHash,ENUM__fx_sampler_wrap_common> * enumMap,StringHash (* baseConversionFunc)(const ParserChar **,const ParserChar *,bool &)))14816 bool ColladaParserAutoGen14Private::dataEnumEnd_ENUM__fx_sampler_wrap_common (
14817     bool ( ColladaParserAutoGen14::*dataFunction )(const ENUM__fx_sampler_wrap_common*, size_t ),
14818     const std::pair<StringHash, ENUM__fx_sampler_wrap_common>* enumMap,
14819     StringHash (*baseConversionFunc)( const ParserChar**, const ParserChar*, bool& ),
14820     ENUM__fx_sampler_wrap_common (*toEnumFunc)( const ParserChar**, const ParserChar*, bool&, const std::pair<StringHash, ENUM__fx_sampler_wrap_common>* enumMap, StringHash (*baseConversionFunc)( const ParserChar**, const ParserChar*, bool& ))
14821 )
14822 {
14823     return dataEnumEnd<ENUM__fx_sampler_wrap_common, StringHash, ENUM__fx_sampler_wrap_common__COUNT>(dataFunction, enumMap, baseConversionFunc, toEnumFunc);
14824 }
14825 
14826 //---------------------------------------------------------------------
_data__minfilter(const ParserChar * text,size_t textLength)14827 bool ColladaParserAutoGen14Private::_data__minfilter( const ParserChar* text, size_t textLength )
14828 {
14829 if (!mLastIncompleteFragmentInCharacterData)
14830 {
14831     mLastIncompleteFragmentInCharacterData = (ParserChar*)mStackMemoryManager.newObject(textLength);
14832     memcpy(mLastIncompleteFragmentInCharacterData, text, textLength);
14833     mEndOfDataInCurrentObjectOnStack = mLastIncompleteFragmentInCharacterData + textLength;
14834 }
14835 else
14836 {
14837     ParserChar* tmp = (ParserChar*)mStackMemoryManager.growObject(textLength);
14838     if ( tmp != mLastIncompleteFragmentInCharacterData ) {
14839         mEndOfDataInCurrentObjectOnStack = (mEndOfDataInCurrentObjectOnStack - mLastIncompleteFragmentInCharacterData) + tmp;
14840         mLastIncompleteFragmentInCharacterData = tmp;
14841     }
14842     memcpy(mEndOfDataInCurrentObjectOnStack, text, textLength);
14843     mEndOfDataInCurrentObjectOnStack += textLength;
14844 }
14845 return true;
14846 }
14847 
14848 //---------------------------------------------------------------------
_preBegin__minfilter(const ParserAttributes & attributes,void ** attributeDataPtr,void ** validationDataPtr)14849 bool ColladaParserAutoGen14Private::_preBegin__minfilter( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
14850 {
14851 #ifdef GENERATEDSAXPARSER_VALIDATION
14852     if ( mValidate )
14853     {
14854 
14855         bool validationResult = _validateBegin__minfilter( attributes, attributeDataPtr, validationDataPtr );
14856         if ( !validationResult ) return false;
14857 
14858     } // validation
14859 #endif
14860 
14861     return true;
14862 }
14863 
14864 //---------------------------------------------------------------------
_preEnd__minfilter()14865 bool ColladaParserAutoGen14Private::_preEnd__minfilter()
14866 {
14867 #ifdef GENERATEDSAXPARSER_VALIDATION
14868     if ( mValidate )
14869     {
14870 
14871         bool validationResult = _validateEnd__minfilter();
14872         if ( !validationResult ) return false;
14873 
14874     } // validation
14875 #endif
14876 
14877 bool failed;
14878 ENUM__fx_sampler_filter_common parameter = Utils::toEnum<ENUM__fx_sampler_filter_common, StringHash, ENUM__fx_sampler_filter_common__COUNT>((const ParserChar**)&mLastIncompleteFragmentInCharacterData, mEndOfDataInCurrentObjectOnStack, failed, ENUM__fx_sampler_filter_commonMap, Utils::calculateStringHash);
14879 bool returnValue;
14880 if (!failed)
14881 {
14882     returnValue = mImpl->data__minfilter(parameter);
14883 }
14884 else
14885     returnValue = !handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_TEXTDATA_PARSING_FAILED, HASH_ELEMENT_MINFILTER, (const ParserChar*)0, mLastIncompleteFragmentInCharacterData);
14886 if (mLastIncompleteFragmentInCharacterData)
14887     mStackMemoryManager.deleteObject();
14888 mLastIncompleteFragmentInCharacterData = 0;
14889 mEndOfDataInCurrentObjectOnStack = 0;
14890 return returnValue;
14891 
14892 }
14893 
14894 //---------------------------------------------------------------------
_freeAttributes__minfilter(void * attributeData)14895 bool ColladaParserAutoGen14Private::_freeAttributes__minfilter( void* attributeData )
14896 {
14897     return true;
14898 }
14899 
14900 //---------------------------------------------------------------------
toEnumDataPrefix_ENUM__fx_sampler_filter_common(const ParserChar * prefixedBuffer,const ParserChar * prefixedBufferEnd,const ParserChar ** buffer,const ParserChar * bufferEnd,bool & failed,const std::pair<StringHash,ENUM__fx_sampler_filter_common> * enumMap,StringHash (* baseConversionFunc)(const ParserChar **,const ParserChar *,bool &))14901 ENUM__fx_sampler_filter_common ColladaParserAutoGen14Private::toEnumDataPrefix_ENUM__fx_sampler_filter_common (
14902     const ParserChar* prefixedBuffer,
14903     const ParserChar* prefixedBufferEnd,
14904     const ParserChar** buffer,
14905     const ParserChar* bufferEnd,
14906     bool& failed,
14907     const std::pair<StringHash, ENUM__fx_sampler_filter_common>* enumMap,
14908     StringHash (*baseConversionFunc)( const ParserChar**, const ParserChar*, bool& )
14909 )
14910 {
14911     return toEnumDataPrefix<ENUM__fx_sampler_filter_common, StringHash, ENUM__fx_sampler_filter_common__COUNT, &toEnum_ENUM__fx_sampler_filter_common>(prefixedBuffer, prefixedBufferEnd, buffer, bufferEnd, failed, enumMap, baseConversionFunc);
14912 }
14913 
14914 //---------------------------------------------------------------------
characterData2EnumData_ENUM__fx_sampler_filter_common(const ParserChar * text,size_t textLength,bool (ColladaParserAutoGen14::* dataFunction)(const ENUM__fx_sampler_filter_common *,size_t),StringHash (* baseConversionFunc)(const ParserChar **,const ParserChar *,bool &))14915 bool ColladaParserAutoGen14Private::characterData2EnumData_ENUM__fx_sampler_filter_common (
14916     const ParserChar* text,
14917     size_t textLength,
14918     bool ( ColladaParserAutoGen14::*dataFunction )(const ENUM__fx_sampler_filter_common*, size_t ),
14919     StringHash (*baseConversionFunc)( const ParserChar**, const ParserChar*, bool& )
14920 )
14921 {
14922     return characterData2EnumData<ENUM__fx_sampler_filter_common, StringHash, ENUM__fx_sampler_filter_common__COUNT>(text, textLength, dataFunction, ENUM__fx_sampler_filter_commonMap, baseConversionFunc, &toEnum_ENUM__fx_sampler_filter_common, &ColladaParserAutoGen14Private::toEnumDataPrefix_ENUM__fx_sampler_filter_common);
14923 }
14924 
14925 //---------------------------------------------------------------------
dataEnumEnd_ENUM__fx_sampler_filter_common(bool (ColladaParserAutoGen14::* dataFunction)(const ENUM__fx_sampler_filter_common *,size_t),const std::pair<StringHash,ENUM__fx_sampler_filter_common> * enumMap,StringHash (* baseConversionFunc)(const ParserChar **,const ParserChar *,bool &),ENUM__fx_sampler_filter_common (* toEnumFunc)(const ParserChar **,const ParserChar *,bool &,const std::pair<StringHash,ENUM__fx_sampler_filter_common> * enumMap,StringHash (* baseConversionFunc)(const ParserChar **,const ParserChar *,bool &)))14926 bool ColladaParserAutoGen14Private::dataEnumEnd_ENUM__fx_sampler_filter_common (
14927     bool ( ColladaParserAutoGen14::*dataFunction )(const ENUM__fx_sampler_filter_common*, size_t ),
14928     const std::pair<StringHash, ENUM__fx_sampler_filter_common>* enumMap,
14929     StringHash (*baseConversionFunc)( const ParserChar**, const ParserChar*, bool& ),
14930     ENUM__fx_sampler_filter_common (*toEnumFunc)( const ParserChar**, const ParserChar*, bool&, const std::pair<StringHash, ENUM__fx_sampler_filter_common>* enumMap, StringHash (*baseConversionFunc)( const ParserChar**, const ParserChar*, bool& ))
14931 )
14932 {
14933     return dataEnumEnd<ENUM__fx_sampler_filter_common, StringHash, ENUM__fx_sampler_filter_common__COUNT>(dataFunction, enumMap, baseConversionFunc, toEnumFunc);
14934 }
14935 
14936 //---------------------------------------------------------------------
_data__magfilter(const ParserChar * text,size_t textLength)14937 bool ColladaParserAutoGen14Private::_data__magfilter( const ParserChar* text, size_t textLength )
14938 {
14939 if (!mLastIncompleteFragmentInCharacterData)
14940 {
14941     mLastIncompleteFragmentInCharacterData = (ParserChar*)mStackMemoryManager.newObject(textLength);
14942     memcpy(mLastIncompleteFragmentInCharacterData, text, textLength);
14943     mEndOfDataInCurrentObjectOnStack = mLastIncompleteFragmentInCharacterData + textLength;
14944 }
14945 else
14946 {
14947     ParserChar* tmp = (ParserChar*)mStackMemoryManager.growObject(textLength);
14948     if ( tmp != mLastIncompleteFragmentInCharacterData ) {
14949         mEndOfDataInCurrentObjectOnStack = (mEndOfDataInCurrentObjectOnStack - mLastIncompleteFragmentInCharacterData) + tmp;
14950         mLastIncompleteFragmentInCharacterData = tmp;
14951     }
14952     memcpy(mEndOfDataInCurrentObjectOnStack, text, textLength);
14953     mEndOfDataInCurrentObjectOnStack += textLength;
14954 }
14955 return true;
14956 }
14957 
14958 //---------------------------------------------------------------------
_preBegin__magfilter(const ParserAttributes & attributes,void ** attributeDataPtr,void ** validationDataPtr)14959 bool ColladaParserAutoGen14Private::_preBegin__magfilter( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
14960 {
14961 #ifdef GENERATEDSAXPARSER_VALIDATION
14962     if ( mValidate )
14963     {
14964 
14965         bool validationResult = _validateBegin__magfilter( attributes, attributeDataPtr, validationDataPtr );
14966         if ( !validationResult ) return false;
14967 
14968     } // validation
14969 #endif
14970 
14971     return true;
14972 }
14973 
14974 //---------------------------------------------------------------------
_preEnd__magfilter()14975 bool ColladaParserAutoGen14Private::_preEnd__magfilter()
14976 {
14977 #ifdef GENERATEDSAXPARSER_VALIDATION
14978     if ( mValidate )
14979     {
14980 
14981         bool validationResult = _validateEnd__magfilter();
14982         if ( !validationResult ) return false;
14983 
14984     } // validation
14985 #endif
14986 
14987 bool failed;
14988 ENUM__fx_sampler_filter_common parameter = Utils::toEnum<ENUM__fx_sampler_filter_common, StringHash, ENUM__fx_sampler_filter_common__COUNT>((const ParserChar**)&mLastIncompleteFragmentInCharacterData, mEndOfDataInCurrentObjectOnStack, failed, ENUM__fx_sampler_filter_commonMap, Utils::calculateStringHash);
14989 bool returnValue;
14990 if (!failed)
14991 {
14992     returnValue = mImpl->data__magfilter(parameter);
14993 }
14994 else
14995     returnValue = !handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_TEXTDATA_PARSING_FAILED, HASH_ELEMENT_MAGFILTER, (const ParserChar*)0, mLastIncompleteFragmentInCharacterData);
14996 if (mLastIncompleteFragmentInCharacterData)
14997     mStackMemoryManager.deleteObject();
14998 mLastIncompleteFragmentInCharacterData = 0;
14999 mEndOfDataInCurrentObjectOnStack = 0;
15000 return returnValue;
15001 
15002 }
15003 
15004 //---------------------------------------------------------------------
_freeAttributes__magfilter(void * attributeData)15005 bool ColladaParserAutoGen14Private::_freeAttributes__magfilter( void* attributeData )
15006 {
15007     return true;
15008 }
15009 
15010 //---------------------------------------------------------------------
_data__mipfilter(const ParserChar * text,size_t textLength)15011 bool ColladaParserAutoGen14Private::_data__mipfilter( const ParserChar* text, size_t textLength )
15012 {
15013 if (!mLastIncompleteFragmentInCharacterData)
15014 {
15015     mLastIncompleteFragmentInCharacterData = (ParserChar*)mStackMemoryManager.newObject(textLength);
15016     memcpy(mLastIncompleteFragmentInCharacterData, text, textLength);
15017     mEndOfDataInCurrentObjectOnStack = mLastIncompleteFragmentInCharacterData + textLength;
15018 }
15019 else
15020 {
15021     ParserChar* tmp = (ParserChar*)mStackMemoryManager.growObject(textLength);
15022     if ( tmp != mLastIncompleteFragmentInCharacterData ) {
15023         mEndOfDataInCurrentObjectOnStack = (mEndOfDataInCurrentObjectOnStack - mLastIncompleteFragmentInCharacterData) + tmp;
15024         mLastIncompleteFragmentInCharacterData = tmp;
15025     }
15026     memcpy(mEndOfDataInCurrentObjectOnStack, text, textLength);
15027     mEndOfDataInCurrentObjectOnStack += textLength;
15028 }
15029 return true;
15030 }
15031 
15032 //---------------------------------------------------------------------
_preBegin__mipfilter(const ParserAttributes & attributes,void ** attributeDataPtr,void ** validationDataPtr)15033 bool ColladaParserAutoGen14Private::_preBegin__mipfilter( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
15034 {
15035 #ifdef GENERATEDSAXPARSER_VALIDATION
15036     if ( mValidate )
15037     {
15038 
15039         bool validationResult = _validateBegin__mipfilter( attributes, attributeDataPtr, validationDataPtr );
15040         if ( !validationResult ) return false;
15041 
15042     } // validation
15043 #endif
15044 
15045     return true;
15046 }
15047 
15048 //---------------------------------------------------------------------
_preEnd__mipfilter()15049 bool ColladaParserAutoGen14Private::_preEnd__mipfilter()
15050 {
15051 #ifdef GENERATEDSAXPARSER_VALIDATION
15052     if ( mValidate )
15053     {
15054 
15055         bool validationResult = _validateEnd__mipfilter();
15056         if ( !validationResult ) return false;
15057 
15058     } // validation
15059 #endif
15060 
15061 bool failed;
15062 ENUM__fx_sampler_filter_common parameter = Utils::toEnum<ENUM__fx_sampler_filter_common, StringHash, ENUM__fx_sampler_filter_common__COUNT>((const ParserChar**)&mLastIncompleteFragmentInCharacterData, mEndOfDataInCurrentObjectOnStack, failed, ENUM__fx_sampler_filter_commonMap, Utils::calculateStringHash);
15063 bool returnValue;
15064 if (!failed)
15065 {
15066     returnValue = mImpl->data__mipfilter(parameter);
15067 }
15068 else
15069     returnValue = !handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_TEXTDATA_PARSING_FAILED, HASH_ELEMENT_MIPFILTER, (const ParserChar*)0, mLastIncompleteFragmentInCharacterData);
15070 if (mLastIncompleteFragmentInCharacterData)
15071     mStackMemoryManager.deleteObject();
15072 mLastIncompleteFragmentInCharacterData = 0;
15073 mEndOfDataInCurrentObjectOnStack = 0;
15074 return returnValue;
15075 
15076 }
15077 
15078 //---------------------------------------------------------------------
_freeAttributes__mipfilter(void * attributeData)15079 bool ColladaParserAutoGen14Private::_freeAttributes__mipfilter( void* attributeData )
15080 {
15081     return true;
15082 }
15083 
15084 //---------------------------------------------------------------------
_data__border_color(const ParserChar * text,size_t textLength)15085 bool ColladaParserAutoGen14Private::_data__border_color( const ParserChar* text, size_t textLength )
15086 {
15087 #ifdef GENERATEDSAXPARSER_VALIDATION
15088     if ( mValidate )
15089     {
15090         border_color__ValidationData* validationData = (border_color__ValidationData*)mValidationDataStack.top();
15091         DISABLE_WARNING_UNUSED(validationData)
15092 return characterData2FloatData(text, textLength, &ColladaParserAutoGen14::data__border_color, &validate__fx_color_common__stream, &validationData->validationWholeSize, 0);
15093     }
15094     else
15095     {
15096 return characterData2FloatData(text, textLength, &ColladaParserAutoGen14::data__border_color);
15097     }
15098 #else
15099     {
15100 return characterData2FloatData(text, textLength, &ColladaParserAutoGen14::data__border_color);
15101     } // validation
15102 #endif
15103 
15104 }
15105 
15106 //---------------------------------------------------------------------
_preBegin__border_color(const ParserAttributes & attributes,void ** attributeDataPtr,void ** validationDataPtr)15107 bool ColladaParserAutoGen14Private::_preBegin__border_color( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
15108 {
15109 #ifdef GENERATEDSAXPARSER_VALIDATION
15110     if ( mValidate )
15111     {
15112 
15113         bool validationResult = _validateBegin__border_color( attributes, attributeDataPtr, validationDataPtr );
15114         if ( !validationResult ) return false;
15115 
15116     } // validation
15117 #endif
15118 
15119     return true;
15120 }
15121 
15122 //---------------------------------------------------------------------
_preEnd__border_color()15123 bool ColladaParserAutoGen14Private::_preEnd__border_color()
15124 {
15125 #ifdef GENERATEDSAXPARSER_VALIDATION
15126     if ( mValidate )
15127     {
15128 
15129         bool validationResult = _validateEnd__border_color();
15130         if ( !validationResult ) return false;
15131 
15132     } // validation
15133 #endif
15134 
15135 #ifdef GENERATEDSAXPARSER_VALIDATION
15136     if ( mValidate )
15137     {
15138         border_color__ValidationData* validationData = (border_color__ValidationData*)mValidationDataStack.top();
15139         DISABLE_WARNING_UNUSED(validationData)
15140 bool returnValue = floatDataEnd( &ColladaParserAutoGen14::data__border_color, &validate__fx_color_common__streamEnd, &validationData->validationWholeSize, 0 );
15141         ParserError::ErrorType simpleTypeValidationResult = validate__fx_color_common(0, (*(&validationData->validationWholeSize)));
15142         mValidationDataStack.deleteObject();
15143         if (simpleTypeValidationResult != ParserError::SIMPLE_TYPE_VALIDATION_OK)
15144         {
15145             if( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL,
15146                 simpleTypeValidationResult,
15147                 HASH_ELEMENT_BORDER_COLOR,
15148                 (ParserChar*)0, 0 ) )
15149             {
15150                 return false;
15151             }
15152         }
15153         return returnValue;
15154     }
15155     else
15156     {
15157 return floatDataEnd( &ColladaParserAutoGen14::data__border_color );
15158     }
15159 #else
15160     {
15161 return floatDataEnd( &ColladaParserAutoGen14::data__border_color );
15162     } // validation
15163 #endif
15164 
15165 }
15166 
15167 //---------------------------------------------------------------------
_freeAttributes__border_color(void * attributeData)15168 bool ColladaParserAutoGen14Private::_freeAttributes__border_color( void* attributeData )
15169 {
15170     return true;
15171 }
15172 
15173 //---------------------------------------------------------------------
_data__mipmap_maxlevel(const ParserChar * text,size_t textLength)15174 bool ColladaParserAutoGen14Private::_data__mipmap_maxlevel( const ParserChar* text, size_t textLength )
15175 {
15176 if (!mLastIncompleteFragmentInCharacterData)
15177 {
15178     mLastIncompleteFragmentInCharacterData = (ParserChar*)mStackMemoryManager.newObject(textLength);
15179     memcpy(mLastIncompleteFragmentInCharacterData, text, textLength);
15180     mEndOfDataInCurrentObjectOnStack = mLastIncompleteFragmentInCharacterData + textLength;
15181 }
15182 else
15183 {
15184     ParserChar* tmp = (ParserChar*)mStackMemoryManager.growObject(textLength);
15185     if ( tmp != mLastIncompleteFragmentInCharacterData ) {
15186         mEndOfDataInCurrentObjectOnStack = (mEndOfDataInCurrentObjectOnStack - mLastIncompleteFragmentInCharacterData) + tmp;
15187         mLastIncompleteFragmentInCharacterData = tmp;
15188     }
15189     memcpy(mEndOfDataInCurrentObjectOnStack, text, textLength);
15190     mEndOfDataInCurrentObjectOnStack += textLength;
15191 }
15192 return true;
15193 }
15194 
15195 //---------------------------------------------------------------------
_preBegin__mipmap_maxlevel(const ParserAttributes & attributes,void ** attributeDataPtr,void ** validationDataPtr)15196 bool ColladaParserAutoGen14Private::_preBegin__mipmap_maxlevel( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
15197 {
15198 #ifdef GENERATEDSAXPARSER_VALIDATION
15199     if ( mValidate )
15200     {
15201 
15202         bool validationResult = _validateBegin__mipmap_maxlevel( attributes, attributeDataPtr, validationDataPtr );
15203         if ( !validationResult ) return false;
15204 
15205     } // validation
15206 #endif
15207 
15208     return true;
15209 }
15210 
15211 //---------------------------------------------------------------------
_preEnd__mipmap_maxlevel()15212 bool ColladaParserAutoGen14Private::_preEnd__mipmap_maxlevel()
15213 {
15214 #ifdef GENERATEDSAXPARSER_VALIDATION
15215     if ( mValidate )
15216     {
15217 
15218         bool validationResult = _validateEnd__mipmap_maxlevel();
15219         if ( !validationResult ) return false;
15220 
15221     } // validation
15222 #endif
15223 
15224 bool failed;
15225 const ParserChar* ptrForErr = mLastIncompleteFragmentInCharacterData;
15226 DISABLE_WARNING_UNUSED(ptrForErr)
15227 uint8 parameter = GeneratedSaxParser::Utils::toUint8((const ParserChar**)&mLastIncompleteFragmentInCharacterData, mEndOfDataInCurrentObjectOnStack, failed);
15228 bool returnValue;
15229 if (!failed)
15230 {
15231     returnValue = mImpl->data__mipmap_maxlevel(parameter);
15232 }
15233 else
15234     returnValue = !handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_TEXTDATA_PARSING_FAILED, HASH_ELEMENT_MIPMAP_MAXLEVEL, (const ParserChar*)0, mLastIncompleteFragmentInCharacterData);
15235 if (mLastIncompleteFragmentInCharacterData)
15236     mStackMemoryManager.deleteObject();
15237 mLastIncompleteFragmentInCharacterData = 0;
15238 mEndOfDataInCurrentObjectOnStack = 0;
15239 return returnValue;
15240 }
15241 
15242 //---------------------------------------------------------------------
_freeAttributes__mipmap_maxlevel(void * attributeData)15243 bool ColladaParserAutoGen14Private::_freeAttributes__mipmap_maxlevel( void* attributeData )
15244 {
15245     return true;
15246 }
15247 
15248 //---------------------------------------------------------------------
_data__mipmap_bias(const ParserChar * text,size_t textLength)15249 bool ColladaParserAutoGen14Private::_data__mipmap_bias( const ParserChar* text, size_t textLength )
15250 {
15251 if (!mLastIncompleteFragmentInCharacterData)
15252 {
15253     mLastIncompleteFragmentInCharacterData = (ParserChar*)mStackMemoryManager.newObject(textLength);
15254     memcpy(mLastIncompleteFragmentInCharacterData, text, textLength);
15255     mEndOfDataInCurrentObjectOnStack = mLastIncompleteFragmentInCharacterData + textLength;
15256 }
15257 else
15258 {
15259     ParserChar* tmp = (ParserChar*)mStackMemoryManager.growObject(textLength);
15260     if ( tmp != mLastIncompleteFragmentInCharacterData ) {
15261         mEndOfDataInCurrentObjectOnStack = (mEndOfDataInCurrentObjectOnStack - mLastIncompleteFragmentInCharacterData) + tmp;
15262         mLastIncompleteFragmentInCharacterData = tmp;
15263     }
15264     memcpy(mEndOfDataInCurrentObjectOnStack, text, textLength);
15265     mEndOfDataInCurrentObjectOnStack += textLength;
15266 }
15267 return true;
15268 }
15269 
15270 //---------------------------------------------------------------------
_preBegin__mipmap_bias(const ParserAttributes & attributes,void ** attributeDataPtr,void ** validationDataPtr)15271 bool ColladaParserAutoGen14Private::_preBegin__mipmap_bias( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
15272 {
15273 #ifdef GENERATEDSAXPARSER_VALIDATION
15274     if ( mValidate )
15275     {
15276 
15277         bool validationResult = _validateBegin__mipmap_bias( attributes, attributeDataPtr, validationDataPtr );
15278         if ( !validationResult ) return false;
15279 
15280     } // validation
15281 #endif
15282 
15283     return true;
15284 }
15285 
15286 //---------------------------------------------------------------------
_preEnd__mipmap_bias()15287 bool ColladaParserAutoGen14Private::_preEnd__mipmap_bias()
15288 {
15289 #ifdef GENERATEDSAXPARSER_VALIDATION
15290     if ( mValidate )
15291     {
15292 
15293         bool validationResult = _validateEnd__mipmap_bias();
15294         if ( !validationResult ) return false;
15295 
15296     } // validation
15297 #endif
15298 
15299 bool failed;
15300 const ParserChar* ptrForErr = mLastIncompleteFragmentInCharacterData;
15301 DISABLE_WARNING_UNUSED(ptrForErr)
15302 float parameter = GeneratedSaxParser::Utils::toFloat((const ParserChar**)&mLastIncompleteFragmentInCharacterData, mEndOfDataInCurrentObjectOnStack, failed);
15303 bool returnValue;
15304 if (!failed)
15305 {
15306     returnValue = mImpl->data__mipmap_bias(parameter);
15307 }
15308 else
15309     returnValue = !handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_TEXTDATA_PARSING_FAILED, HASH_ELEMENT_MIPMAP_BIAS, (const ParserChar*)0, mLastIncompleteFragmentInCharacterData);
15310 if (mLastIncompleteFragmentInCharacterData)
15311     mStackMemoryManager.deleteObject();
15312 mLastIncompleteFragmentInCharacterData = 0;
15313 mEndOfDataInCurrentObjectOnStack = 0;
15314 return returnValue;
15315 }
15316 
15317 //---------------------------------------------------------------------
_freeAttributes__mipmap_bias(void * attributeData)15318 bool ColladaParserAutoGen14Private::_freeAttributes__mipmap_bias( void* attributeData )
15319 {
15320     return true;
15321 }
15322 
15323 //---------------------------------------------------------------------
_data__sampler2D____fx_sampler2D_common(const ParserChar * text,size_t textLength)15324 bool ColladaParserAutoGen14Private::_data__sampler2D____fx_sampler2D_common( const ParserChar* text, size_t textLength )
15325 {
15326     return true;
15327 }
15328 
15329 //---------------------------------------------------------------------
_preBegin__sampler2D____fx_sampler2D_common(const ParserAttributes & attributes,void ** attributeDataPtr,void ** validationDataPtr)15330 bool ColladaParserAutoGen14Private::_preBegin__sampler2D____fx_sampler2D_common( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
15331 {
15332 #ifdef GENERATEDSAXPARSER_VALIDATION
15333     if ( mValidate )
15334     {
15335 
15336         bool validationResult = _validateBegin__sampler2D____fx_sampler2D_common( attributes, attributeDataPtr, validationDataPtr );
15337         if ( !validationResult ) return false;
15338 
15339     } // validation
15340 #endif
15341 
15342     return true;
15343 }
15344 
15345 //---------------------------------------------------------------------
_preEnd__sampler2D____fx_sampler2D_common()15346 bool ColladaParserAutoGen14Private::_preEnd__sampler2D____fx_sampler2D_common()
15347 {
15348 #ifdef GENERATEDSAXPARSER_VALIDATION
15349     if ( mValidate )
15350     {
15351 
15352         bool validationResult = _validateEnd__sampler2D____fx_sampler2D_common();
15353         if ( !validationResult ) return false;
15354 
15355     } // validation
15356 #endif
15357 
15358     return true;
15359 }
15360 
15361 //---------------------------------------------------------------------
_freeAttributes__sampler2D____fx_sampler2D_common(void * attributeData)15362 bool ColladaParserAutoGen14Private::_freeAttributes__sampler2D____fx_sampler2D_common( void* attributeData )
15363 {
15364     return true;
15365 }
15366 
15367 //---------------------------------------------------------------------
_data__wrap_t____fx_sampler_wrap_common(const ParserChar * text,size_t textLength)15368 bool ColladaParserAutoGen14Private::_data__wrap_t____fx_sampler_wrap_common( const ParserChar* text, size_t textLength )
15369 {
15370 if (!mLastIncompleteFragmentInCharacterData)
15371 {
15372     mLastIncompleteFragmentInCharacterData = (ParserChar*)mStackMemoryManager.newObject(textLength);
15373     memcpy(mLastIncompleteFragmentInCharacterData, text, textLength);
15374     mEndOfDataInCurrentObjectOnStack = mLastIncompleteFragmentInCharacterData + textLength;
15375 }
15376 else
15377 {
15378     ParserChar* tmp = (ParserChar*)mStackMemoryManager.growObject(textLength);
15379     if ( tmp != mLastIncompleteFragmentInCharacterData ) {
15380         mEndOfDataInCurrentObjectOnStack = (mEndOfDataInCurrentObjectOnStack - mLastIncompleteFragmentInCharacterData) + tmp;
15381         mLastIncompleteFragmentInCharacterData = tmp;
15382     }
15383     memcpy(mEndOfDataInCurrentObjectOnStack, text, textLength);
15384     mEndOfDataInCurrentObjectOnStack += textLength;
15385 }
15386 return true;
15387 }
15388 
15389 //---------------------------------------------------------------------
_preBegin__wrap_t____fx_sampler_wrap_common(const ParserAttributes & attributes,void ** attributeDataPtr,void ** validationDataPtr)15390 bool ColladaParserAutoGen14Private::_preBegin__wrap_t____fx_sampler_wrap_common( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
15391 {
15392 #ifdef GENERATEDSAXPARSER_VALIDATION
15393     if ( mValidate )
15394     {
15395 
15396         bool validationResult = _validateBegin__wrap_t____fx_sampler_wrap_common( attributes, attributeDataPtr, validationDataPtr );
15397         if ( !validationResult ) return false;
15398 
15399     } // validation
15400 #endif
15401 
15402     return true;
15403 }
15404 
15405 //---------------------------------------------------------------------
_preEnd__wrap_t____fx_sampler_wrap_common()15406 bool ColladaParserAutoGen14Private::_preEnd__wrap_t____fx_sampler_wrap_common()
15407 {
15408 #ifdef GENERATEDSAXPARSER_VALIDATION
15409     if ( mValidate )
15410     {
15411 
15412         bool validationResult = _validateEnd__wrap_t____fx_sampler_wrap_common();
15413         if ( !validationResult ) return false;
15414 
15415     } // validation
15416 #endif
15417 
15418 bool failed;
15419 ENUM__fx_sampler_wrap_common parameter = Utils::toEnum<ENUM__fx_sampler_wrap_common, StringHash, ENUM__fx_sampler_wrap_common__COUNT>((const ParserChar**)&mLastIncompleteFragmentInCharacterData, mEndOfDataInCurrentObjectOnStack, failed, ENUM__fx_sampler_wrap_commonMap, Utils::calculateStringHash);
15420 bool returnValue;
15421 if (!failed)
15422 {
15423     returnValue = mImpl->data__wrap_t____fx_sampler_wrap_common(parameter);
15424 }
15425 else
15426     returnValue = !handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_TEXTDATA_PARSING_FAILED, HASH_ELEMENT_WRAP_T, (const ParserChar*)0, mLastIncompleteFragmentInCharacterData);
15427 if (mLastIncompleteFragmentInCharacterData)
15428     mStackMemoryManager.deleteObject();
15429 mLastIncompleteFragmentInCharacterData = 0;
15430 mEndOfDataInCurrentObjectOnStack = 0;
15431 return returnValue;
15432 
15433 }
15434 
15435 //---------------------------------------------------------------------
_freeAttributes__wrap_t____fx_sampler_wrap_common(void * attributeData)15436 bool ColladaParserAutoGen14Private::_freeAttributes__wrap_t____fx_sampler_wrap_common( void* attributeData )
15437 {
15438     return true;
15439 }
15440 
15441 //---------------------------------------------------------------------
_data__sampler3D____fx_sampler3D_common(const ParserChar * text,size_t textLength)15442 bool ColladaParserAutoGen14Private::_data__sampler3D____fx_sampler3D_common( const ParserChar* text, size_t textLength )
15443 {
15444     return true;
15445 }
15446 
15447 //---------------------------------------------------------------------
_preBegin__sampler3D____fx_sampler3D_common(const ParserAttributes & attributes,void ** attributeDataPtr,void ** validationDataPtr)15448 bool ColladaParserAutoGen14Private::_preBegin__sampler3D____fx_sampler3D_common( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
15449 {
15450 #ifdef GENERATEDSAXPARSER_VALIDATION
15451     if ( mValidate )
15452     {
15453 
15454         bool validationResult = _validateBegin__sampler3D____fx_sampler3D_common( attributes, attributeDataPtr, validationDataPtr );
15455         if ( !validationResult ) return false;
15456 
15457     } // validation
15458 #endif
15459 
15460     return true;
15461 }
15462 
15463 //---------------------------------------------------------------------
_preEnd__sampler3D____fx_sampler3D_common()15464 bool ColladaParserAutoGen14Private::_preEnd__sampler3D____fx_sampler3D_common()
15465 {
15466 #ifdef GENERATEDSAXPARSER_VALIDATION
15467     if ( mValidate )
15468     {
15469 
15470         bool validationResult = _validateEnd__sampler3D____fx_sampler3D_common();
15471         if ( !validationResult ) return false;
15472 
15473     } // validation
15474 #endif
15475 
15476     return true;
15477 }
15478 
15479 //---------------------------------------------------------------------
_freeAttributes__sampler3D____fx_sampler3D_common(void * attributeData)15480 bool ColladaParserAutoGen14Private::_freeAttributes__sampler3D____fx_sampler3D_common( void* attributeData )
15481 {
15482     return true;
15483 }
15484 
15485 //---------------------------------------------------------------------
_data__wrap_p(const ParserChar * text,size_t textLength)15486 bool ColladaParserAutoGen14Private::_data__wrap_p( const ParserChar* text, size_t textLength )
15487 {
15488 if (!mLastIncompleteFragmentInCharacterData)
15489 {
15490     mLastIncompleteFragmentInCharacterData = (ParserChar*)mStackMemoryManager.newObject(textLength);
15491     memcpy(mLastIncompleteFragmentInCharacterData, text, textLength);
15492     mEndOfDataInCurrentObjectOnStack = mLastIncompleteFragmentInCharacterData + textLength;
15493 }
15494 else
15495 {
15496     ParserChar* tmp = (ParserChar*)mStackMemoryManager.growObject(textLength);
15497     if ( tmp != mLastIncompleteFragmentInCharacterData ) {
15498         mEndOfDataInCurrentObjectOnStack = (mEndOfDataInCurrentObjectOnStack - mLastIncompleteFragmentInCharacterData) + tmp;
15499         mLastIncompleteFragmentInCharacterData = tmp;
15500     }
15501     memcpy(mEndOfDataInCurrentObjectOnStack, text, textLength);
15502     mEndOfDataInCurrentObjectOnStack += textLength;
15503 }
15504 return true;
15505 }
15506 
15507 //---------------------------------------------------------------------
_preBegin__wrap_p(const ParserAttributes & attributes,void ** attributeDataPtr,void ** validationDataPtr)15508 bool ColladaParserAutoGen14Private::_preBegin__wrap_p( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
15509 {
15510 #ifdef GENERATEDSAXPARSER_VALIDATION
15511     if ( mValidate )
15512     {
15513 
15514         bool validationResult = _validateBegin__wrap_p( attributes, attributeDataPtr, validationDataPtr );
15515         if ( !validationResult ) return false;
15516 
15517     } // validation
15518 #endif
15519 
15520     return true;
15521 }
15522 
15523 //---------------------------------------------------------------------
_preEnd__wrap_p()15524 bool ColladaParserAutoGen14Private::_preEnd__wrap_p()
15525 {
15526 #ifdef GENERATEDSAXPARSER_VALIDATION
15527     if ( mValidate )
15528     {
15529 
15530         bool validationResult = _validateEnd__wrap_p();
15531         if ( !validationResult ) return false;
15532 
15533     } // validation
15534 #endif
15535 
15536 bool failed;
15537 ENUM__fx_sampler_wrap_common parameter = Utils::toEnum<ENUM__fx_sampler_wrap_common, StringHash, ENUM__fx_sampler_wrap_common__COUNT>((const ParserChar**)&mLastIncompleteFragmentInCharacterData, mEndOfDataInCurrentObjectOnStack, failed, ENUM__fx_sampler_wrap_commonMap, Utils::calculateStringHash);
15538 bool returnValue;
15539 if (!failed)
15540 {
15541     returnValue = mImpl->data__wrap_p(parameter);
15542 }
15543 else
15544     returnValue = !handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_TEXTDATA_PARSING_FAILED, HASH_ELEMENT_WRAP_P, (const ParserChar*)0, mLastIncompleteFragmentInCharacterData);
15545 if (mLastIncompleteFragmentInCharacterData)
15546     mStackMemoryManager.deleteObject();
15547 mLastIncompleteFragmentInCharacterData = 0;
15548 mEndOfDataInCurrentObjectOnStack = 0;
15549 return returnValue;
15550 
15551 }
15552 
15553 //---------------------------------------------------------------------
_freeAttributes__wrap_p(void * attributeData)15554 bool ColladaParserAutoGen14Private::_freeAttributes__wrap_p( void* attributeData )
15555 {
15556     return true;
15557 }
15558 
15559 //---------------------------------------------------------------------
_data__samplerCUBE____fx_samplerCUBE_common(const ParserChar * text,size_t textLength)15560 bool ColladaParserAutoGen14Private::_data__samplerCUBE____fx_samplerCUBE_common( const ParserChar* text, size_t textLength )
15561 {
15562     return true;
15563 }
15564 
15565 //---------------------------------------------------------------------
_preBegin__samplerCUBE____fx_samplerCUBE_common(const ParserAttributes & attributes,void ** attributeDataPtr,void ** validationDataPtr)15566 bool ColladaParserAutoGen14Private::_preBegin__samplerCUBE____fx_samplerCUBE_common( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
15567 {
15568 #ifdef GENERATEDSAXPARSER_VALIDATION
15569     if ( mValidate )
15570     {
15571 
15572         bool validationResult = _validateBegin__samplerCUBE____fx_samplerCUBE_common( attributes, attributeDataPtr, validationDataPtr );
15573         if ( !validationResult ) return false;
15574 
15575     } // validation
15576 #endif
15577 
15578     return true;
15579 }
15580 
15581 //---------------------------------------------------------------------
_preEnd__samplerCUBE____fx_samplerCUBE_common()15582 bool ColladaParserAutoGen14Private::_preEnd__samplerCUBE____fx_samplerCUBE_common()
15583 {
15584 #ifdef GENERATEDSAXPARSER_VALIDATION
15585     if ( mValidate )
15586     {
15587 
15588         bool validationResult = _validateEnd__samplerCUBE____fx_samplerCUBE_common();
15589         if ( !validationResult ) return false;
15590 
15591     } // validation
15592 #endif
15593 
15594     return true;
15595 }
15596 
15597 //---------------------------------------------------------------------
_freeAttributes__samplerCUBE____fx_samplerCUBE_common(void * attributeData)15598 bool ColladaParserAutoGen14Private::_freeAttributes__samplerCUBE____fx_samplerCUBE_common( void* attributeData )
15599 {
15600     return true;
15601 }
15602 
15603 //---------------------------------------------------------------------
_data__samplerRECT____fx_samplerRECT_common(const ParserChar * text,size_t textLength)15604 bool ColladaParserAutoGen14Private::_data__samplerRECT____fx_samplerRECT_common( const ParserChar* text, size_t textLength )
15605 {
15606     return true;
15607 }
15608 
15609 //---------------------------------------------------------------------
_preBegin__samplerRECT____fx_samplerRECT_common(const ParserAttributes & attributes,void ** attributeDataPtr,void ** validationDataPtr)15610 bool ColladaParserAutoGen14Private::_preBegin__samplerRECT____fx_samplerRECT_common( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
15611 {
15612 #ifdef GENERATEDSAXPARSER_VALIDATION
15613     if ( mValidate )
15614     {
15615 
15616         bool validationResult = _validateBegin__samplerRECT____fx_samplerRECT_common( attributes, attributeDataPtr, validationDataPtr );
15617         if ( !validationResult ) return false;
15618 
15619     } // validation
15620 #endif
15621 
15622     return true;
15623 }
15624 
15625 //---------------------------------------------------------------------
_preEnd__samplerRECT____fx_samplerRECT_common()15626 bool ColladaParserAutoGen14Private::_preEnd__samplerRECT____fx_samplerRECT_common()
15627 {
15628 #ifdef GENERATEDSAXPARSER_VALIDATION
15629     if ( mValidate )
15630     {
15631 
15632         bool validationResult = _validateEnd__samplerRECT____fx_samplerRECT_common();
15633         if ( !validationResult ) return false;
15634 
15635     } // validation
15636 #endif
15637 
15638     return true;
15639 }
15640 
15641 //---------------------------------------------------------------------
_freeAttributes__samplerRECT____fx_samplerRECT_common(void * attributeData)15642 bool ColladaParserAutoGen14Private::_freeAttributes__samplerRECT____fx_samplerRECT_common( void* attributeData )
15643 {
15644     return true;
15645 }
15646 
15647 //---------------------------------------------------------------------
_data__samplerDEPTH____fx_samplerDEPTH_common(const ParserChar * text,size_t textLength)15648 bool ColladaParserAutoGen14Private::_data__samplerDEPTH____fx_samplerDEPTH_common( const ParserChar* text, size_t textLength )
15649 {
15650     return true;
15651 }
15652 
15653 //---------------------------------------------------------------------
_preBegin__samplerDEPTH____fx_samplerDEPTH_common(const ParserAttributes & attributes,void ** attributeDataPtr,void ** validationDataPtr)15654 bool ColladaParserAutoGen14Private::_preBegin__samplerDEPTH____fx_samplerDEPTH_common( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
15655 {
15656 #ifdef GENERATEDSAXPARSER_VALIDATION
15657     if ( mValidate )
15658     {
15659 
15660         bool validationResult = _validateBegin__samplerDEPTH____fx_samplerDEPTH_common( attributes, attributeDataPtr, validationDataPtr );
15661         if ( !validationResult ) return false;
15662 
15663     } // validation
15664 #endif
15665 
15666     return true;
15667 }
15668 
15669 //---------------------------------------------------------------------
_preEnd__samplerDEPTH____fx_samplerDEPTH_common()15670 bool ColladaParserAutoGen14Private::_preEnd__samplerDEPTH____fx_samplerDEPTH_common()
15671 {
15672 #ifdef GENERATEDSAXPARSER_VALIDATION
15673     if ( mValidate )
15674     {
15675 
15676         bool validationResult = _validateEnd__samplerDEPTH____fx_samplerDEPTH_common();
15677         if ( !validationResult ) return false;
15678 
15679     } // validation
15680 #endif
15681 
15682     return true;
15683 }
15684 
15685 //---------------------------------------------------------------------
_freeAttributes__samplerDEPTH____fx_samplerDEPTH_common(void * attributeData)15686 bool ColladaParserAutoGen14Private::_freeAttributes__samplerDEPTH____fx_samplerDEPTH_common( void* attributeData )
15687 {
15688     return true;
15689 }
15690 
15691 //---------------------------------------------------------------------
_data__enum____string(const ParserChar * text,size_t textLength)15692 bool ColladaParserAutoGen14Private::_data__enum____string( const ParserChar* text, size_t textLength )
15693 {
15694 
15695 return mImpl->data__enum____string(text, textLength);
15696 }
15697 
15698 //---------------------------------------------------------------------
_preBegin__enum____string(const ParserAttributes & attributes,void ** attributeDataPtr,void ** validationDataPtr)15699 bool ColladaParserAutoGen14Private::_preBegin__enum____string( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
15700 {
15701 #ifdef GENERATEDSAXPARSER_VALIDATION
15702     if ( mValidate )
15703     {
15704 
15705         bool validationResult = _validateBegin__enum____string( attributes, attributeDataPtr, validationDataPtr );
15706         if ( !validationResult ) return false;
15707 
15708     } // validation
15709 #endif
15710 
15711     return true;
15712 }
15713 
15714 //---------------------------------------------------------------------
_preEnd__enum____string()15715 bool ColladaParserAutoGen14Private::_preEnd__enum____string()
15716 {
15717 #ifdef GENERATEDSAXPARSER_VALIDATION
15718     if ( mValidate )
15719     {
15720 
15721         bool validationResult = _validateEnd__enum____string();
15722         if ( !validationResult ) return false;
15723 
15724     } // validation
15725 #endif
15726 
15727     return true;
15728 }
15729 
15730 //---------------------------------------------------------------------
_freeAttributes__enum____string(void * attributeData)15731 bool ColladaParserAutoGen14Private::_freeAttributes__enum____string( void* attributeData )
15732 {
15733     return true;
15734 }
15735 
15736 //---------------------------------------------------------------------
15737 const fx_profile_abstract__AttributeData fx_profile_abstract__AttributeData::DEFAULT = {GeneratedSaxParser::XSList<const ParserChar*>()};
15738 
15739 //---------------------------------------------------------------------
_data__fx_profile_abstract(const ParserChar * text,size_t textLength)15740 bool ColladaParserAutoGen14Private::_data__fx_profile_abstract( const ParserChar* text, size_t textLength )
15741 {
15742 
15743 return mImpl->data__fx_profile_abstract(text, textLength);
15744 }
15745 
15746 //---------------------------------------------------------------------
_preBegin__fx_profile_abstract(const ParserAttributes & attributes,void ** attributeDataPtr,void ** validationDataPtr)15747 bool ColladaParserAutoGen14Private::_preBegin__fx_profile_abstract( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
15748 {
15749 #ifdef GENERATEDSAXPARSER_VALIDATION
15750     if ( mValidate )
15751     {
15752 
15753         bool validationResult = _validateBegin__fx_profile_abstract( attributes, attributeDataPtr, validationDataPtr );
15754         if ( !validationResult ) return false;
15755 
15756     } // validation
15757 #endif
15758 
15759 fx_profile_abstract__AttributeData* attributeData = newData<fx_profile_abstract__AttributeData>(attributeDataPtr);
15760 
15761 const ParserChar** attributeArray = attributes.attributes;
15762 if ( attributeArray )
15763 {
15764     while (true)
15765     {
15766         const ParserChar * attribute = *attributeArray;
15767         if ( !attribute )
15768             break;
15769         attributeArray++;
15770         if ( !attributeArray )
15771             return false;
15772         const ParserChar* attributeValue = *attributeArray;
15773         attributeArray++;
15774 
15775 
15776         if ( !attributeData->unknownAttributes.data )
15777             attributeData->unknownAttributes.data = (const ParserChar**)mStackMemoryManager.newObject( 2 * sizeof( const ParserChar* ) );
15778         else
15779             attributeData->unknownAttributes.data = (const ParserChar**)mStackMemoryManager.growObject( 2 * sizeof( const ParserChar* ) );
15780         attributeData->unknownAttributes.data[ attributeData->unknownAttributes.size ] = attribute;
15781         attributeData->unknownAttributes.data[ attributeData->unknownAttributes.size+1 ] = attributeValue;
15782         attributeData->unknownAttributes.size += 2;
15783 
15784     }
15785 }
15786 
15787 
15788     return true;
15789 }
15790 
15791 //---------------------------------------------------------------------
_preEnd__fx_profile_abstract()15792 bool ColladaParserAutoGen14Private::_preEnd__fx_profile_abstract()
15793 {
15794 #ifdef GENERATEDSAXPARSER_VALIDATION
15795     if ( mValidate )
15796     {
15797 
15798         bool validationResult = _validateEnd__fx_profile_abstract();
15799         if ( !validationResult ) return false;
15800 
15801     } // validation
15802 #endif
15803 
15804     return true;
15805 }
15806 
15807 //---------------------------------------------------------------------
_freeAttributes__fx_profile_abstract(void * attributeData)15808 bool ColladaParserAutoGen14Private::_freeAttributes__fx_profile_abstract( void* attributeData )
15809 {
15810     fx_profile_abstract__AttributeData* typedAttributeData = static_cast<fx_profile_abstract__AttributeData*>(attributeData);
15811     if (typedAttributeData->unknownAttributes.data)
15812     {
15813         mStackMemoryManager.deleteObject();
15814     }
15815 
15816 
15817     typedAttributeData->~fx_profile_abstract__AttributeData();
15818 
15819     return true;
15820 }
15821 
15822 //---------------------------------------------------------------------
15823 const library_force_fields__AttributeData library_force_fields__AttributeData::DEFAULT = {0, 0};
15824 
15825 //---------------------------------------------------------------------
_data__library_force_fields(const ParserChar * text,size_t textLength)15826 bool ColladaParserAutoGen14Private::_data__library_force_fields( const ParserChar* text, size_t textLength )
15827 {
15828     return true;
15829 }
15830 
15831 //---------------------------------------------------------------------
_preBegin__library_force_fields(const ParserAttributes & attributes,void ** attributeDataPtr,void ** validationDataPtr)15832 bool ColladaParserAutoGen14Private::_preBegin__library_force_fields( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
15833 {
15834 #ifdef GENERATEDSAXPARSER_VALIDATION
15835     if ( mValidate )
15836     {
15837 
15838         bool validationResult = _validateBegin__library_force_fields( attributes, attributeDataPtr, validationDataPtr );
15839         if ( !validationResult ) return false;
15840 
15841     } // validation
15842 #endif
15843 
15844 library_force_fields__AttributeData* attributeData = newData<library_force_fields__AttributeData>(attributeDataPtr);
15845 
15846 const ParserChar** attributeArray = attributes.attributes;
15847 if ( attributeArray )
15848 {
15849     while (true)
15850     {
15851         const ParserChar * attribute = *attributeArray;
15852         if ( !attribute )
15853             break;
15854         StringHash hash = GeneratedSaxParser::Utils::calculateStringHash(attribute);
15855         attributeArray++;
15856         if ( !attributeArray )
15857             return false;
15858         const ParserChar* attributeValue = *attributeArray;
15859         attributeArray++;
15860 
15861 
15862     switch ( hash )
15863     {
15864     case HASH_ATTRIBUTE_id:
15865     {
15866 
15867 attributeData->id = attributeValue;
15868 
15869     break;
15870     }
15871     case HASH_ATTRIBUTE_name:
15872     {
15873 
15874 attributeData->name = attributeValue;
15875 #ifdef GENERATEDSAXPARSER_VALIDATION
15876     if ( mValidate )
15877     {
15878     ParserError::ErrorType simpleTypeValidationResult = validate__NCName(attributeData->name, strlen(attributeData->name));
15879     if (simpleTypeValidationResult != ParserError::SIMPLE_TYPE_VALIDATION_OK)
15880     {
15881         if( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL,
15882             simpleTypeValidationResult,
15883             HASH_ELEMENT_LIBRARY_FORCE_FIELDS,
15884             HASH_ATTRIBUTE_name,
15885             attributeValue) )
15886         {
15887             return false;
15888         }
15889     }
15890     } // validation
15891 #endif
15892 
15893     break;
15894     }
15895     default:
15896     {
15897         if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_UNKNOWN_ATTRIBUTE, HASH_ELEMENT_LIBRARY_FORCE_FIELDS, attribute, attributeValue))
15898             {return false;}
15899     }
15900     }
15901     }
15902 }
15903 
15904 
15905     return true;
15906 }
15907 
15908 //---------------------------------------------------------------------
_preEnd__library_force_fields()15909 bool ColladaParserAutoGen14Private::_preEnd__library_force_fields()
15910 {
15911 #ifdef GENERATEDSAXPARSER_VALIDATION
15912     if ( mValidate )
15913     {
15914 
15915         bool validationResult = _validateEnd__library_force_fields();
15916         if ( !validationResult ) return false;
15917 
15918     } // validation
15919 #endif
15920 
15921     return true;
15922 }
15923 
15924 //---------------------------------------------------------------------
_freeAttributes__library_force_fields(void * attributeData)15925 bool ColladaParserAutoGen14Private::_freeAttributes__library_force_fields( void* attributeData )
15926 {
15927     library_force_fields__AttributeData* typedAttributeData = static_cast<library_force_fields__AttributeData*>(attributeData);
15928 
15929     typedAttributeData->~library_force_fields__AttributeData();
15930 
15931     return true;
15932 }
15933 
15934 //---------------------------------------------------------------------
15935 const force_field__AttributeData force_field__AttributeData::DEFAULT = {0, 0};
15936 
15937 //---------------------------------------------------------------------
_data__force_field(const ParserChar * text,size_t textLength)15938 bool ColladaParserAutoGen14Private::_data__force_field( const ParserChar* text, size_t textLength )
15939 {
15940     return true;
15941 }
15942 
15943 //---------------------------------------------------------------------
_preBegin__force_field(const ParserAttributes & attributes,void ** attributeDataPtr,void ** validationDataPtr)15944 bool ColladaParserAutoGen14Private::_preBegin__force_field( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
15945 {
15946 #ifdef GENERATEDSAXPARSER_VALIDATION
15947     if ( mValidate )
15948     {
15949 
15950         bool validationResult = _validateBegin__force_field( attributes, attributeDataPtr, validationDataPtr );
15951         if ( !validationResult ) return false;
15952 
15953     } // validation
15954 #endif
15955 
15956 force_field__AttributeData* attributeData = newData<force_field__AttributeData>(attributeDataPtr);
15957 
15958 const ParserChar** attributeArray = attributes.attributes;
15959 if ( attributeArray )
15960 {
15961     while (true)
15962     {
15963         const ParserChar * attribute = *attributeArray;
15964         if ( !attribute )
15965             break;
15966         StringHash hash = GeneratedSaxParser::Utils::calculateStringHash(attribute);
15967         attributeArray++;
15968         if ( !attributeArray )
15969             return false;
15970         const ParserChar* attributeValue = *attributeArray;
15971         attributeArray++;
15972 
15973 
15974     switch ( hash )
15975     {
15976     case HASH_ATTRIBUTE_id:
15977     {
15978 
15979 attributeData->id = attributeValue;
15980 
15981     break;
15982     }
15983     case HASH_ATTRIBUTE_name:
15984     {
15985 
15986 attributeData->name = attributeValue;
15987 #ifdef GENERATEDSAXPARSER_VALIDATION
15988     if ( mValidate )
15989     {
15990     ParserError::ErrorType simpleTypeValidationResult = validate__NCName(attributeData->name, strlen(attributeData->name));
15991     if (simpleTypeValidationResult != ParserError::SIMPLE_TYPE_VALIDATION_OK)
15992     {
15993         if( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL,
15994             simpleTypeValidationResult,
15995             HASH_ELEMENT_FORCE_FIELD,
15996             HASH_ATTRIBUTE_name,
15997             attributeValue) )
15998         {
15999             return false;
16000         }
16001     }
16002     } // validation
16003 #endif
16004 
16005     break;
16006     }
16007     default:
16008     {
16009         if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_UNKNOWN_ATTRIBUTE, HASH_ELEMENT_FORCE_FIELD, attribute, attributeValue))
16010             {return false;}
16011     }
16012     }
16013     }
16014 }
16015 
16016 
16017     return true;
16018 }
16019 
16020 //---------------------------------------------------------------------
_preEnd__force_field()16021 bool ColladaParserAutoGen14Private::_preEnd__force_field()
16022 {
16023 #ifdef GENERATEDSAXPARSER_VALIDATION
16024     if ( mValidate )
16025     {
16026 
16027         bool validationResult = _validateEnd__force_field();
16028         if ( !validationResult ) return false;
16029 
16030     } // validation
16031 #endif
16032 
16033     return true;
16034 }
16035 
16036 //---------------------------------------------------------------------
_freeAttributes__force_field(void * attributeData)16037 bool ColladaParserAutoGen14Private::_freeAttributes__force_field( void* attributeData )
16038 {
16039     force_field__AttributeData* typedAttributeData = static_cast<force_field__AttributeData*>(attributeData);
16040 
16041     typedAttributeData->~force_field__AttributeData();
16042 
16043     return true;
16044 }
16045 
16046 //---------------------------------------------------------------------
16047 const library_images__AttributeData library_images__AttributeData::DEFAULT = {0, 0};
16048 
16049 //---------------------------------------------------------------------
_data__library_images(const ParserChar * text,size_t textLength)16050 bool ColladaParserAutoGen14Private::_data__library_images( const ParserChar* text, size_t textLength )
16051 {
16052     return true;
16053 }
16054 
16055 //---------------------------------------------------------------------
_preBegin__library_images(const ParserAttributes & attributes,void ** attributeDataPtr,void ** validationDataPtr)16056 bool ColladaParserAutoGen14Private::_preBegin__library_images( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
16057 {
16058 #ifdef GENERATEDSAXPARSER_VALIDATION
16059     if ( mValidate )
16060     {
16061 
16062         bool validationResult = _validateBegin__library_images( attributes, attributeDataPtr, validationDataPtr );
16063         if ( !validationResult ) return false;
16064 
16065     } // validation
16066 #endif
16067 
16068 library_images__AttributeData* attributeData = newData<library_images__AttributeData>(attributeDataPtr);
16069 
16070 const ParserChar** attributeArray = attributes.attributes;
16071 if ( attributeArray )
16072 {
16073     while (true)
16074     {
16075         const ParserChar * attribute = *attributeArray;
16076         if ( !attribute )
16077             break;
16078         StringHash hash = GeneratedSaxParser::Utils::calculateStringHash(attribute);
16079         attributeArray++;
16080         if ( !attributeArray )
16081             return false;
16082         const ParserChar* attributeValue = *attributeArray;
16083         attributeArray++;
16084 
16085 
16086     switch ( hash )
16087     {
16088     case HASH_ATTRIBUTE_id:
16089     {
16090 
16091 attributeData->id = attributeValue;
16092 
16093     break;
16094     }
16095     case HASH_ATTRIBUTE_name:
16096     {
16097 
16098 attributeData->name = attributeValue;
16099 #ifdef GENERATEDSAXPARSER_VALIDATION
16100     if ( mValidate )
16101     {
16102     ParserError::ErrorType simpleTypeValidationResult = validate__NCName(attributeData->name, strlen(attributeData->name));
16103     if (simpleTypeValidationResult != ParserError::SIMPLE_TYPE_VALIDATION_OK)
16104     {
16105         if( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL,
16106             simpleTypeValidationResult,
16107             HASH_ELEMENT_LIBRARY_IMAGES,
16108             HASH_ATTRIBUTE_name,
16109             attributeValue) )
16110         {
16111             return false;
16112         }
16113     }
16114     } // validation
16115 #endif
16116 
16117     break;
16118     }
16119     default:
16120     {
16121         if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_UNKNOWN_ATTRIBUTE, HASH_ELEMENT_LIBRARY_IMAGES, attribute, attributeValue))
16122             {return false;}
16123     }
16124     }
16125     }
16126 }
16127 
16128 
16129     return true;
16130 }
16131 
16132 //---------------------------------------------------------------------
_preEnd__library_images()16133 bool ColladaParserAutoGen14Private::_preEnd__library_images()
16134 {
16135 #ifdef GENERATEDSAXPARSER_VALIDATION
16136     if ( mValidate )
16137     {
16138 
16139         bool validationResult = _validateEnd__library_images();
16140         if ( !validationResult ) return false;
16141 
16142     } // validation
16143 #endif
16144 
16145     return true;
16146 }
16147 
16148 //---------------------------------------------------------------------
_freeAttributes__library_images(void * attributeData)16149 bool ColladaParserAutoGen14Private::_freeAttributes__library_images( void* attributeData )
16150 {
16151     library_images__AttributeData* typedAttributeData = static_cast<library_images__AttributeData*>(attributeData);
16152 
16153     typedAttributeData->~library_images__AttributeData();
16154 
16155     return true;
16156 }
16157 
16158 //---------------------------------------------------------------------
16159 const library_lights__AttributeData library_lights__AttributeData::DEFAULT = {0, 0};
16160 
16161 //---------------------------------------------------------------------
_data__library_lights(const ParserChar * text,size_t textLength)16162 bool ColladaParserAutoGen14Private::_data__library_lights( const ParserChar* text, size_t textLength )
16163 {
16164     return true;
16165 }
16166 
16167 //---------------------------------------------------------------------
_preBegin__library_lights(const ParserAttributes & attributes,void ** attributeDataPtr,void ** validationDataPtr)16168 bool ColladaParserAutoGen14Private::_preBegin__library_lights( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
16169 {
16170 #ifdef GENERATEDSAXPARSER_VALIDATION
16171     if ( mValidate )
16172     {
16173 
16174         bool validationResult = _validateBegin__library_lights( attributes, attributeDataPtr, validationDataPtr );
16175         if ( !validationResult ) return false;
16176 
16177     } // validation
16178 #endif
16179 
16180 library_lights__AttributeData* attributeData = newData<library_lights__AttributeData>(attributeDataPtr);
16181 
16182 const ParserChar** attributeArray = attributes.attributes;
16183 if ( attributeArray )
16184 {
16185     while (true)
16186     {
16187         const ParserChar * attribute = *attributeArray;
16188         if ( !attribute )
16189             break;
16190         StringHash hash = GeneratedSaxParser::Utils::calculateStringHash(attribute);
16191         attributeArray++;
16192         if ( !attributeArray )
16193             return false;
16194         const ParserChar* attributeValue = *attributeArray;
16195         attributeArray++;
16196 
16197 
16198     switch ( hash )
16199     {
16200     case HASH_ATTRIBUTE_id:
16201     {
16202 
16203 attributeData->id = attributeValue;
16204 
16205     break;
16206     }
16207     case HASH_ATTRIBUTE_name:
16208     {
16209 
16210 attributeData->name = attributeValue;
16211 #ifdef GENERATEDSAXPARSER_VALIDATION
16212     if ( mValidate )
16213     {
16214     ParserError::ErrorType simpleTypeValidationResult = validate__NCName(attributeData->name, strlen(attributeData->name));
16215     if (simpleTypeValidationResult != ParserError::SIMPLE_TYPE_VALIDATION_OK)
16216     {
16217         if( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL,
16218             simpleTypeValidationResult,
16219             HASH_ELEMENT_LIBRARY_LIGHTS,
16220             HASH_ATTRIBUTE_name,
16221             attributeValue) )
16222         {
16223             return false;
16224         }
16225     }
16226     } // validation
16227 #endif
16228 
16229     break;
16230     }
16231     default:
16232     {
16233         if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_UNKNOWN_ATTRIBUTE, HASH_ELEMENT_LIBRARY_LIGHTS, attribute, attributeValue))
16234             {return false;}
16235     }
16236     }
16237     }
16238 }
16239 
16240 
16241     return true;
16242 }
16243 
16244 //---------------------------------------------------------------------
_preEnd__library_lights()16245 bool ColladaParserAutoGen14Private::_preEnd__library_lights()
16246 {
16247 #ifdef GENERATEDSAXPARSER_VALIDATION
16248     if ( mValidate )
16249     {
16250 
16251         bool validationResult = _validateEnd__library_lights();
16252         if ( !validationResult ) return false;
16253 
16254     } // validation
16255 #endif
16256 
16257     return true;
16258 }
16259 
16260 //---------------------------------------------------------------------
_freeAttributes__library_lights(void * attributeData)16261 bool ColladaParserAutoGen14Private::_freeAttributes__library_lights( void* attributeData )
16262 {
16263     library_lights__AttributeData* typedAttributeData = static_cast<library_lights__AttributeData*>(attributeData);
16264 
16265     typedAttributeData->~library_lights__AttributeData();
16266 
16267     return true;
16268 }
16269 
16270 //---------------------------------------------------------------------
16271 const light__AttributeData light__AttributeData::DEFAULT = {0, 0};
16272 
16273 //---------------------------------------------------------------------
_data__light(const ParserChar * text,size_t textLength)16274 bool ColladaParserAutoGen14Private::_data__light( const ParserChar* text, size_t textLength )
16275 {
16276     return true;
16277 }
16278 
16279 //---------------------------------------------------------------------
_preBegin__light(const ParserAttributes & attributes,void ** attributeDataPtr,void ** validationDataPtr)16280 bool ColladaParserAutoGen14Private::_preBegin__light( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
16281 {
16282 #ifdef GENERATEDSAXPARSER_VALIDATION
16283     if ( mValidate )
16284     {
16285 
16286         bool validationResult = _validateBegin__light( attributes, attributeDataPtr, validationDataPtr );
16287         if ( !validationResult ) return false;
16288 
16289     } // validation
16290 #endif
16291 
16292 light__AttributeData* attributeData = newData<light__AttributeData>(attributeDataPtr);
16293 
16294 const ParserChar** attributeArray = attributes.attributes;
16295 if ( attributeArray )
16296 {
16297     while (true)
16298     {
16299         const ParserChar * attribute = *attributeArray;
16300         if ( !attribute )
16301             break;
16302         StringHash hash = GeneratedSaxParser::Utils::calculateStringHash(attribute);
16303         attributeArray++;
16304         if ( !attributeArray )
16305             return false;
16306         const ParserChar* attributeValue = *attributeArray;
16307         attributeArray++;
16308 
16309 
16310     switch ( hash )
16311     {
16312     case HASH_ATTRIBUTE_id:
16313     {
16314 
16315 attributeData->id = attributeValue;
16316 
16317     break;
16318     }
16319     case HASH_ATTRIBUTE_name:
16320     {
16321 
16322 attributeData->name = attributeValue;
16323 #ifdef GENERATEDSAXPARSER_VALIDATION
16324     if ( mValidate )
16325     {
16326     ParserError::ErrorType simpleTypeValidationResult = validate__NCName(attributeData->name, strlen(attributeData->name));
16327     if (simpleTypeValidationResult != ParserError::SIMPLE_TYPE_VALIDATION_OK)
16328     {
16329         if( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL,
16330             simpleTypeValidationResult,
16331             HASH_ELEMENT_LIGHT,
16332             HASH_ATTRIBUTE_name,
16333             attributeValue) )
16334         {
16335             return false;
16336         }
16337     }
16338     } // validation
16339 #endif
16340 
16341     break;
16342     }
16343     default:
16344     {
16345         if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_UNKNOWN_ATTRIBUTE, HASH_ELEMENT_LIGHT, attribute, attributeValue))
16346             {return false;}
16347     }
16348     }
16349     }
16350 }
16351 
16352 
16353     return true;
16354 }
16355 
16356 //---------------------------------------------------------------------
_preEnd__light()16357 bool ColladaParserAutoGen14Private::_preEnd__light()
16358 {
16359 #ifdef GENERATEDSAXPARSER_VALIDATION
16360     if ( mValidate )
16361     {
16362 
16363         bool validationResult = _validateEnd__light();
16364         if ( !validationResult ) return false;
16365 
16366     } // validation
16367 #endif
16368 
16369     return true;
16370 }
16371 
16372 //---------------------------------------------------------------------
_freeAttributes__light(void * attributeData)16373 bool ColladaParserAutoGen14Private::_freeAttributes__light( void* attributeData )
16374 {
16375     light__AttributeData* typedAttributeData = static_cast<light__AttributeData*>(attributeData);
16376 
16377     typedAttributeData->~light__AttributeData();
16378 
16379     return true;
16380 }
16381 
16382 //---------------------------------------------------------------------
_data__light__technique_common(const ParserChar * text,size_t textLength)16383 bool ColladaParserAutoGen14Private::_data__light__technique_common( const ParserChar* text, size_t textLength )
16384 {
16385     return true;
16386 }
16387 
16388 //---------------------------------------------------------------------
_preBegin__light__technique_common(const ParserAttributes & attributes,void ** attributeDataPtr,void ** validationDataPtr)16389 bool ColladaParserAutoGen14Private::_preBegin__light__technique_common( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
16390 {
16391 #ifdef GENERATEDSAXPARSER_VALIDATION
16392     if ( mValidate )
16393     {
16394 
16395         bool validationResult = _validateBegin__light__technique_common( attributes, attributeDataPtr, validationDataPtr );
16396         if ( !validationResult ) return false;
16397 
16398     } // validation
16399 #endif
16400 
16401     return true;
16402 }
16403 
16404 //---------------------------------------------------------------------
_preEnd__light__technique_common()16405 bool ColladaParserAutoGen14Private::_preEnd__light__technique_common()
16406 {
16407 #ifdef GENERATEDSAXPARSER_VALIDATION
16408     if ( mValidate )
16409     {
16410 
16411         bool validationResult = _validateEnd__light__technique_common();
16412         if ( !validationResult ) return false;
16413 
16414     } // validation
16415 #endif
16416 
16417     return true;
16418 }
16419 
16420 //---------------------------------------------------------------------
_freeAttributes__light__technique_common(void * attributeData)16421 bool ColladaParserAutoGen14Private::_freeAttributes__light__technique_common( void* attributeData )
16422 {
16423     return true;
16424 }
16425 
16426 //---------------------------------------------------------------------
_data__light__technique_common__ambient(const ParserChar * text,size_t textLength)16427 bool ColladaParserAutoGen14Private::_data__light__technique_common__ambient( const ParserChar* text, size_t textLength )
16428 {
16429     return true;
16430 }
16431 
16432 //---------------------------------------------------------------------
_preBegin__light__technique_common__ambient(const ParserAttributes & attributes,void ** attributeDataPtr,void ** validationDataPtr)16433 bool ColladaParserAutoGen14Private::_preBegin__light__technique_common__ambient( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
16434 {
16435 #ifdef GENERATEDSAXPARSER_VALIDATION
16436     if ( mValidate )
16437     {
16438 
16439         bool validationResult = _validateBegin__light__technique_common__ambient( attributes, attributeDataPtr, validationDataPtr );
16440         if ( !validationResult ) return false;
16441 
16442     } // validation
16443 #endif
16444 
16445     return true;
16446 }
16447 
16448 //---------------------------------------------------------------------
_preEnd__light__technique_common__ambient()16449 bool ColladaParserAutoGen14Private::_preEnd__light__technique_common__ambient()
16450 {
16451 #ifdef GENERATEDSAXPARSER_VALIDATION
16452     if ( mValidate )
16453     {
16454 
16455         bool validationResult = _validateEnd__light__technique_common__ambient();
16456         if ( !validationResult ) return false;
16457 
16458     } // validation
16459 #endif
16460 
16461     return true;
16462 }
16463 
16464 //---------------------------------------------------------------------
_freeAttributes__light__technique_common__ambient(void * attributeData)16465 bool ColladaParserAutoGen14Private::_freeAttributes__light__technique_common__ambient( void* attributeData )
16466 {
16467     return true;
16468 }
16469 
16470 //---------------------------------------------------------------------
16471 const color____TargetableFloat3__AttributeData color____TargetableFloat3__AttributeData::DEFAULT = {0};
16472 
16473 //---------------------------------------------------------------------
_data__color____TargetableFloat3(const ParserChar * text,size_t textLength)16474 bool ColladaParserAutoGen14Private::_data__color____TargetableFloat3( const ParserChar* text, size_t textLength )
16475 {
16476 #ifdef GENERATEDSAXPARSER_VALIDATION
16477     if ( mValidate )
16478     {
16479         float3____float3__ValidationData* validationData = (float3____float3__ValidationData*)mValidationDataStack.top();
16480         DISABLE_WARNING_UNUSED(validationData)
16481 return characterData2FloatData(text, textLength, &ColladaParserAutoGen14::data__color____TargetableFloat3, &validate__float3__stream, &validationData->validationWholeSize, 0);
16482     }
16483     else
16484     {
16485 return characterData2FloatData(text, textLength, &ColladaParserAutoGen14::data__color____TargetableFloat3);
16486     }
16487 #else
16488     {
16489 return characterData2FloatData(text, textLength, &ColladaParserAutoGen14::data__color____TargetableFloat3);
16490     } // validation
16491 #endif
16492 
16493 }
16494 
16495 //---------------------------------------------------------------------
_preBegin__color____TargetableFloat3(const ParserAttributes & attributes,void ** attributeDataPtr,void ** validationDataPtr)16496 bool ColladaParserAutoGen14Private::_preBegin__color____TargetableFloat3( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
16497 {
16498 #ifdef GENERATEDSAXPARSER_VALIDATION
16499     if ( mValidate )
16500     {
16501 
16502         bool validationResult = _validateBegin__color____TargetableFloat3( attributes, attributeDataPtr, validationDataPtr );
16503         if ( !validationResult ) return false;
16504 
16505     } // validation
16506 #endif
16507 
16508 color____TargetableFloat3__AttributeData* attributeData = newData<color____TargetableFloat3__AttributeData>(attributeDataPtr);
16509 
16510 const ParserChar** attributeArray = attributes.attributes;
16511 if ( attributeArray )
16512 {
16513     while (true)
16514     {
16515         const ParserChar * attribute = *attributeArray;
16516         if ( !attribute )
16517             break;
16518         StringHash hash = GeneratedSaxParser::Utils::calculateStringHash(attribute);
16519         attributeArray++;
16520         if ( !attributeArray )
16521             return false;
16522         const ParserChar* attributeValue = *attributeArray;
16523         attributeArray++;
16524 
16525 
16526     switch ( hash )
16527     {
16528     case HASH_ATTRIBUTE_sid:
16529     {
16530 
16531 attributeData->sid = attributeValue;
16532 #ifdef GENERATEDSAXPARSER_VALIDATION
16533     if ( mValidate )
16534     {
16535     ParserError::ErrorType simpleTypeValidationResult = validate__NCName(attributeData->sid, strlen(attributeData->sid));
16536     if (simpleTypeValidationResult != ParserError::SIMPLE_TYPE_VALIDATION_OK)
16537     {
16538         if( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL,
16539             simpleTypeValidationResult,
16540             HASH_ELEMENT_COLOR,
16541             HASH_ATTRIBUTE_sid,
16542             attributeValue) )
16543         {
16544             return false;
16545         }
16546     }
16547     } // validation
16548 #endif
16549 
16550     break;
16551     }
16552     default:
16553     {
16554         if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_UNKNOWN_ATTRIBUTE, HASH_ELEMENT_COLOR, attribute, attributeValue))
16555             {return false;}
16556     }
16557     }
16558     }
16559 }
16560 
16561 
16562     return true;
16563 }
16564 
16565 //---------------------------------------------------------------------
_preEnd__color____TargetableFloat3()16566 bool ColladaParserAutoGen14Private::_preEnd__color____TargetableFloat3()
16567 {
16568 #ifdef GENERATEDSAXPARSER_VALIDATION
16569     if ( mValidate )
16570     {
16571 
16572         bool validationResult = _validateEnd__color____TargetableFloat3();
16573         if ( !validationResult ) return false;
16574 
16575     } // validation
16576 #endif
16577 
16578 #ifdef GENERATEDSAXPARSER_VALIDATION
16579     if ( mValidate )
16580     {
16581         float3____float3__ValidationData* validationData = (float3____float3__ValidationData*)mValidationDataStack.top();
16582         DISABLE_WARNING_UNUSED(validationData)
16583 bool returnValue = floatDataEnd( &ColladaParserAutoGen14::data__color____TargetableFloat3, &validate__float3__streamEnd, &validationData->validationWholeSize, 0 );
16584         ParserError::ErrorType simpleTypeValidationResult = validate__float3(0, (*(&validationData->validationWholeSize)));
16585         mValidationDataStack.deleteObject();
16586         if (simpleTypeValidationResult != ParserError::SIMPLE_TYPE_VALIDATION_OK)
16587         {
16588             if( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL,
16589                 simpleTypeValidationResult,
16590                 HASH_ELEMENT_COLOR,
16591                 (ParserChar*)0, 0 ) )
16592             {
16593                 return false;
16594             }
16595         }
16596         return returnValue;
16597     }
16598     else
16599     {
16600 return floatDataEnd( &ColladaParserAutoGen14::data__color____TargetableFloat3 );
16601     }
16602 #else
16603     {
16604 return floatDataEnd( &ColladaParserAutoGen14::data__color____TargetableFloat3 );
16605     } // validation
16606 #endif
16607 
16608 }
16609 
16610 //---------------------------------------------------------------------
_freeAttributes__color____TargetableFloat3(void * attributeData)16611 bool ColladaParserAutoGen14Private::_freeAttributes__color____TargetableFloat3( void* attributeData )
16612 {
16613     color____TargetableFloat3__AttributeData* typedAttributeData = static_cast<color____TargetableFloat3__AttributeData*>(attributeData);
16614 
16615     typedAttributeData->~color____TargetableFloat3__AttributeData();
16616 
16617     return true;
16618 }
16619 
16620 //---------------------------------------------------------------------
_data__directional(const ParserChar * text,size_t textLength)16621 bool ColladaParserAutoGen14Private::_data__directional( const ParserChar* text, size_t textLength )
16622 {
16623     return true;
16624 }
16625 
16626 //---------------------------------------------------------------------
_preBegin__directional(const ParserAttributes & attributes,void ** attributeDataPtr,void ** validationDataPtr)16627 bool ColladaParserAutoGen14Private::_preBegin__directional( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
16628 {
16629 #ifdef GENERATEDSAXPARSER_VALIDATION
16630     if ( mValidate )
16631     {
16632 
16633         bool validationResult = _validateBegin__directional( attributes, attributeDataPtr, validationDataPtr );
16634         if ( !validationResult ) return false;
16635 
16636     } // validation
16637 #endif
16638 
16639     return true;
16640 }
16641 
16642 //---------------------------------------------------------------------
_preEnd__directional()16643 bool ColladaParserAutoGen14Private::_preEnd__directional()
16644 {
16645 #ifdef GENERATEDSAXPARSER_VALIDATION
16646     if ( mValidate )
16647     {
16648 
16649         bool validationResult = _validateEnd__directional();
16650         if ( !validationResult ) return false;
16651 
16652     } // validation
16653 #endif
16654 
16655     return true;
16656 }
16657 
16658 //---------------------------------------------------------------------
_freeAttributes__directional(void * attributeData)16659 bool ColladaParserAutoGen14Private::_freeAttributes__directional( void* attributeData )
16660 {
16661     return true;
16662 }
16663 
16664 //---------------------------------------------------------------------
_data__point(const ParserChar * text,size_t textLength)16665 bool ColladaParserAutoGen14Private::_data__point( const ParserChar* text, size_t textLength )
16666 {
16667     return true;
16668 }
16669 
16670 //---------------------------------------------------------------------
_preBegin__point(const ParserAttributes & attributes,void ** attributeDataPtr,void ** validationDataPtr)16671 bool ColladaParserAutoGen14Private::_preBegin__point( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
16672 {
16673 #ifdef GENERATEDSAXPARSER_VALIDATION
16674     if ( mValidate )
16675     {
16676 
16677         bool validationResult = _validateBegin__point( attributes, attributeDataPtr, validationDataPtr );
16678         if ( !validationResult ) return false;
16679 
16680     } // validation
16681 #endif
16682 
16683     return true;
16684 }
16685 
16686 //---------------------------------------------------------------------
_preEnd__point()16687 bool ColladaParserAutoGen14Private::_preEnd__point()
16688 {
16689 #ifdef GENERATEDSAXPARSER_VALIDATION
16690     if ( mValidate )
16691     {
16692 
16693         bool validationResult = _validateEnd__point();
16694         if ( !validationResult ) return false;
16695 
16696     } // validation
16697 #endif
16698 
16699     return true;
16700 }
16701 
16702 //---------------------------------------------------------------------
_freeAttributes__point(void * attributeData)16703 bool ColladaParserAutoGen14Private::_freeAttributes__point( void* attributeData )
16704 {
16705     return true;
16706 }
16707 
16708 //---------------------------------------------------------------------
16709 const constant_attenuation__AttributeData constant_attenuation__AttributeData::DEFAULT = {0};
16710 
16711 //---------------------------------------------------------------------
_data__constant_attenuation(const ParserChar * text,size_t textLength)16712 bool ColladaParserAutoGen14Private::_data__constant_attenuation( const ParserChar* text, size_t textLength )
16713 {
16714 if (!mLastIncompleteFragmentInCharacterData)
16715 {
16716     mLastIncompleteFragmentInCharacterData = (ParserChar*)mStackMemoryManager.newObject(textLength);
16717     memcpy(mLastIncompleteFragmentInCharacterData, text, textLength);
16718     mEndOfDataInCurrentObjectOnStack = mLastIncompleteFragmentInCharacterData + textLength;
16719 }
16720 else
16721 {
16722     ParserChar* tmp = (ParserChar*)mStackMemoryManager.growObject(textLength);
16723     if ( tmp != mLastIncompleteFragmentInCharacterData ) {
16724         mEndOfDataInCurrentObjectOnStack = (mEndOfDataInCurrentObjectOnStack - mLastIncompleteFragmentInCharacterData) + tmp;
16725         mLastIncompleteFragmentInCharacterData = tmp;
16726     }
16727     memcpy(mEndOfDataInCurrentObjectOnStack, text, textLength);
16728     mEndOfDataInCurrentObjectOnStack += textLength;
16729 }
16730 return true;
16731 }
16732 
16733 //---------------------------------------------------------------------
_preBegin__constant_attenuation(const ParserAttributes & attributes,void ** attributeDataPtr,void ** validationDataPtr)16734 bool ColladaParserAutoGen14Private::_preBegin__constant_attenuation( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
16735 {
16736 #ifdef GENERATEDSAXPARSER_VALIDATION
16737     if ( mValidate )
16738     {
16739 
16740         bool validationResult = _validateBegin__constant_attenuation( attributes, attributeDataPtr, validationDataPtr );
16741         if ( !validationResult ) return false;
16742 
16743     } // validation
16744 #endif
16745 
16746 constant_attenuation__AttributeData* attributeData = newData<constant_attenuation__AttributeData>(attributeDataPtr);
16747 
16748 const ParserChar** attributeArray = attributes.attributes;
16749 if ( attributeArray )
16750 {
16751     while (true)
16752     {
16753         const ParserChar * attribute = *attributeArray;
16754         if ( !attribute )
16755             break;
16756         StringHash hash = GeneratedSaxParser::Utils::calculateStringHash(attribute);
16757         attributeArray++;
16758         if ( !attributeArray )
16759             return false;
16760         const ParserChar* attributeValue = *attributeArray;
16761         attributeArray++;
16762 
16763 
16764     switch ( hash )
16765     {
16766     case HASH_ATTRIBUTE_sid:
16767     {
16768 
16769 attributeData->sid = attributeValue;
16770 #ifdef GENERATEDSAXPARSER_VALIDATION
16771     if ( mValidate )
16772     {
16773     ParserError::ErrorType simpleTypeValidationResult = validate__NCName(attributeData->sid, strlen(attributeData->sid));
16774     if (simpleTypeValidationResult != ParserError::SIMPLE_TYPE_VALIDATION_OK)
16775     {
16776         if( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL,
16777             simpleTypeValidationResult,
16778             HASH_ELEMENT_CONSTANT_ATTENUATION,
16779             HASH_ATTRIBUTE_sid,
16780             attributeValue) )
16781         {
16782             return false;
16783         }
16784     }
16785     } // validation
16786 #endif
16787 
16788     break;
16789     }
16790     default:
16791     {
16792         if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_UNKNOWN_ATTRIBUTE, HASH_ELEMENT_CONSTANT_ATTENUATION, attribute, attributeValue))
16793             {return false;}
16794     }
16795     }
16796     }
16797 }
16798 
16799 
16800     return true;
16801 }
16802 
16803 //---------------------------------------------------------------------
_preEnd__constant_attenuation()16804 bool ColladaParserAutoGen14Private::_preEnd__constant_attenuation()
16805 {
16806 #ifdef GENERATEDSAXPARSER_VALIDATION
16807     if ( mValidate )
16808     {
16809 
16810         bool validationResult = _validateEnd__constant_attenuation();
16811         if ( !validationResult ) return false;
16812 
16813     } // validation
16814 #endif
16815 
16816 bool failed;
16817 const ParserChar* ptrForErr = mLastIncompleteFragmentInCharacterData;
16818 DISABLE_WARNING_UNUSED(ptrForErr)
16819 float parameter = GeneratedSaxParser::Utils::toFloat((const ParserChar**)&mLastIncompleteFragmentInCharacterData, mEndOfDataInCurrentObjectOnStack, failed);
16820 bool returnValue;
16821 if (!failed)
16822 {
16823     returnValue = mImpl->data__constant_attenuation(parameter);
16824 }
16825 else
16826     returnValue = !handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_TEXTDATA_PARSING_FAILED, HASH_ELEMENT_CONSTANT_ATTENUATION, (const ParserChar*)0, mLastIncompleteFragmentInCharacterData);
16827 if (mLastIncompleteFragmentInCharacterData)
16828     mStackMemoryManager.deleteObject();
16829 mLastIncompleteFragmentInCharacterData = 0;
16830 mEndOfDataInCurrentObjectOnStack = 0;
16831 return returnValue;
16832 }
16833 
16834 //---------------------------------------------------------------------
_freeAttributes__constant_attenuation(void * attributeData)16835 bool ColladaParserAutoGen14Private::_freeAttributes__constant_attenuation( void* attributeData )
16836 {
16837     constant_attenuation__AttributeData* typedAttributeData = static_cast<constant_attenuation__AttributeData*>(attributeData);
16838 
16839     typedAttributeData->~constant_attenuation__AttributeData();
16840 
16841     return true;
16842 }
16843 
16844 //---------------------------------------------------------------------
16845 const linear_attenuation__AttributeData linear_attenuation__AttributeData::DEFAULT = {0};
16846 
16847 //---------------------------------------------------------------------
_data__linear_attenuation(const ParserChar * text,size_t textLength)16848 bool ColladaParserAutoGen14Private::_data__linear_attenuation( const ParserChar* text, size_t textLength )
16849 {
16850 if (!mLastIncompleteFragmentInCharacterData)
16851 {
16852     mLastIncompleteFragmentInCharacterData = (ParserChar*)mStackMemoryManager.newObject(textLength);
16853     memcpy(mLastIncompleteFragmentInCharacterData, text, textLength);
16854     mEndOfDataInCurrentObjectOnStack = mLastIncompleteFragmentInCharacterData + textLength;
16855 }
16856 else
16857 {
16858     ParserChar* tmp = (ParserChar*)mStackMemoryManager.growObject(textLength);
16859     if ( tmp != mLastIncompleteFragmentInCharacterData ) {
16860         mEndOfDataInCurrentObjectOnStack = (mEndOfDataInCurrentObjectOnStack - mLastIncompleteFragmentInCharacterData) + tmp;
16861         mLastIncompleteFragmentInCharacterData = tmp;
16862     }
16863     memcpy(mEndOfDataInCurrentObjectOnStack, text, textLength);
16864     mEndOfDataInCurrentObjectOnStack += textLength;
16865 }
16866 return true;
16867 }
16868 
16869 //---------------------------------------------------------------------
_preBegin__linear_attenuation(const ParserAttributes & attributes,void ** attributeDataPtr,void ** validationDataPtr)16870 bool ColladaParserAutoGen14Private::_preBegin__linear_attenuation( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
16871 {
16872 #ifdef GENERATEDSAXPARSER_VALIDATION
16873     if ( mValidate )
16874     {
16875 
16876         bool validationResult = _validateBegin__linear_attenuation( attributes, attributeDataPtr, validationDataPtr );
16877         if ( !validationResult ) return false;
16878 
16879     } // validation
16880 #endif
16881 
16882 linear_attenuation__AttributeData* attributeData = newData<linear_attenuation__AttributeData>(attributeDataPtr);
16883 
16884 const ParserChar** attributeArray = attributes.attributes;
16885 if ( attributeArray )
16886 {
16887     while (true)
16888     {
16889         const ParserChar * attribute = *attributeArray;
16890         if ( !attribute )
16891             break;
16892         StringHash hash = GeneratedSaxParser::Utils::calculateStringHash(attribute);
16893         attributeArray++;
16894         if ( !attributeArray )
16895             return false;
16896         const ParserChar* attributeValue = *attributeArray;
16897         attributeArray++;
16898 
16899 
16900     switch ( hash )
16901     {
16902     case HASH_ATTRIBUTE_sid:
16903     {
16904 
16905 attributeData->sid = attributeValue;
16906 #ifdef GENERATEDSAXPARSER_VALIDATION
16907     if ( mValidate )
16908     {
16909     ParserError::ErrorType simpleTypeValidationResult = validate__NCName(attributeData->sid, strlen(attributeData->sid));
16910     if (simpleTypeValidationResult != ParserError::SIMPLE_TYPE_VALIDATION_OK)
16911     {
16912         if( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL,
16913             simpleTypeValidationResult,
16914             HASH_ELEMENT_LINEAR_ATTENUATION,
16915             HASH_ATTRIBUTE_sid,
16916             attributeValue) )
16917         {
16918             return false;
16919         }
16920     }
16921     } // validation
16922 #endif
16923 
16924     break;
16925     }
16926     default:
16927     {
16928         if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_UNKNOWN_ATTRIBUTE, HASH_ELEMENT_LINEAR_ATTENUATION, attribute, attributeValue))
16929             {return false;}
16930     }
16931     }
16932     }
16933 }
16934 
16935 
16936     return true;
16937 }
16938 
16939 //---------------------------------------------------------------------
_preEnd__linear_attenuation()16940 bool ColladaParserAutoGen14Private::_preEnd__linear_attenuation()
16941 {
16942 #ifdef GENERATEDSAXPARSER_VALIDATION
16943     if ( mValidate )
16944     {
16945 
16946         bool validationResult = _validateEnd__linear_attenuation();
16947         if ( !validationResult ) return false;
16948 
16949     } // validation
16950 #endif
16951 
16952 bool failed;
16953 const ParserChar* ptrForErr = mLastIncompleteFragmentInCharacterData;
16954 DISABLE_WARNING_UNUSED(ptrForErr)
16955 float parameter = GeneratedSaxParser::Utils::toFloat((const ParserChar**)&mLastIncompleteFragmentInCharacterData, mEndOfDataInCurrentObjectOnStack, failed);
16956 bool returnValue;
16957 if (!failed)
16958 {
16959     returnValue = mImpl->data__linear_attenuation(parameter);
16960 }
16961 else
16962     returnValue = !handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_TEXTDATA_PARSING_FAILED, HASH_ELEMENT_LINEAR_ATTENUATION, (const ParserChar*)0, mLastIncompleteFragmentInCharacterData);
16963 if (mLastIncompleteFragmentInCharacterData)
16964     mStackMemoryManager.deleteObject();
16965 mLastIncompleteFragmentInCharacterData = 0;
16966 mEndOfDataInCurrentObjectOnStack = 0;
16967 return returnValue;
16968 }
16969 
16970 //---------------------------------------------------------------------
_freeAttributes__linear_attenuation(void * attributeData)16971 bool ColladaParserAutoGen14Private::_freeAttributes__linear_attenuation( void* attributeData )
16972 {
16973     linear_attenuation__AttributeData* typedAttributeData = static_cast<linear_attenuation__AttributeData*>(attributeData);
16974 
16975     typedAttributeData->~linear_attenuation__AttributeData();
16976 
16977     return true;
16978 }
16979 
16980 //---------------------------------------------------------------------
16981 const quadratic_attenuation__AttributeData quadratic_attenuation__AttributeData::DEFAULT = {0};
16982 
16983 //---------------------------------------------------------------------
_data__quadratic_attenuation(const ParserChar * text,size_t textLength)16984 bool ColladaParserAutoGen14Private::_data__quadratic_attenuation( const ParserChar* text, size_t textLength )
16985 {
16986 if (!mLastIncompleteFragmentInCharacterData)
16987 {
16988     mLastIncompleteFragmentInCharacterData = (ParserChar*)mStackMemoryManager.newObject(textLength);
16989     memcpy(mLastIncompleteFragmentInCharacterData, text, textLength);
16990     mEndOfDataInCurrentObjectOnStack = mLastIncompleteFragmentInCharacterData + textLength;
16991 }
16992 else
16993 {
16994     ParserChar* tmp = (ParserChar*)mStackMemoryManager.growObject(textLength);
16995     if ( tmp != mLastIncompleteFragmentInCharacterData ) {
16996         mEndOfDataInCurrentObjectOnStack = (mEndOfDataInCurrentObjectOnStack - mLastIncompleteFragmentInCharacterData) + tmp;
16997         mLastIncompleteFragmentInCharacterData = tmp;
16998     }
16999     memcpy(mEndOfDataInCurrentObjectOnStack, text, textLength);
17000     mEndOfDataInCurrentObjectOnStack += textLength;
17001 }
17002 return true;
17003 }
17004 
17005 //---------------------------------------------------------------------
_preBegin__quadratic_attenuation(const ParserAttributes & attributes,void ** attributeDataPtr,void ** validationDataPtr)17006 bool ColladaParserAutoGen14Private::_preBegin__quadratic_attenuation( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
17007 {
17008 #ifdef GENERATEDSAXPARSER_VALIDATION
17009     if ( mValidate )
17010     {
17011 
17012         bool validationResult = _validateBegin__quadratic_attenuation( attributes, attributeDataPtr, validationDataPtr );
17013         if ( !validationResult ) return false;
17014 
17015     } // validation
17016 #endif
17017 
17018 quadratic_attenuation__AttributeData* attributeData = newData<quadratic_attenuation__AttributeData>(attributeDataPtr);
17019 
17020 const ParserChar** attributeArray = attributes.attributes;
17021 if ( attributeArray )
17022 {
17023     while (true)
17024     {
17025         const ParserChar * attribute = *attributeArray;
17026         if ( !attribute )
17027             break;
17028         StringHash hash = GeneratedSaxParser::Utils::calculateStringHash(attribute);
17029         attributeArray++;
17030         if ( !attributeArray )
17031             return false;
17032         const ParserChar* attributeValue = *attributeArray;
17033         attributeArray++;
17034 
17035 
17036     switch ( hash )
17037     {
17038     case HASH_ATTRIBUTE_sid:
17039     {
17040 
17041 attributeData->sid = attributeValue;
17042 #ifdef GENERATEDSAXPARSER_VALIDATION
17043     if ( mValidate )
17044     {
17045     ParserError::ErrorType simpleTypeValidationResult = validate__NCName(attributeData->sid, strlen(attributeData->sid));
17046     if (simpleTypeValidationResult != ParserError::SIMPLE_TYPE_VALIDATION_OK)
17047     {
17048         if( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL,
17049             simpleTypeValidationResult,
17050             HASH_ELEMENT_QUADRATIC_ATTENUATION,
17051             HASH_ATTRIBUTE_sid,
17052             attributeValue) )
17053         {
17054             return false;
17055         }
17056     }
17057     } // validation
17058 #endif
17059 
17060     break;
17061     }
17062     default:
17063     {
17064         if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_UNKNOWN_ATTRIBUTE, HASH_ELEMENT_QUADRATIC_ATTENUATION, attribute, attributeValue))
17065             {return false;}
17066     }
17067     }
17068     }
17069 }
17070 
17071 
17072     return true;
17073 }
17074 
17075 //---------------------------------------------------------------------
_preEnd__quadratic_attenuation()17076 bool ColladaParserAutoGen14Private::_preEnd__quadratic_attenuation()
17077 {
17078 #ifdef GENERATEDSAXPARSER_VALIDATION
17079     if ( mValidate )
17080     {
17081 
17082         bool validationResult = _validateEnd__quadratic_attenuation();
17083         if ( !validationResult ) return false;
17084 
17085     } // validation
17086 #endif
17087 
17088 bool failed;
17089 const ParserChar* ptrForErr = mLastIncompleteFragmentInCharacterData;
17090 DISABLE_WARNING_UNUSED(ptrForErr)
17091 float parameter = GeneratedSaxParser::Utils::toFloat((const ParserChar**)&mLastIncompleteFragmentInCharacterData, mEndOfDataInCurrentObjectOnStack, failed);
17092 bool returnValue;
17093 if (!failed)
17094 {
17095     returnValue = mImpl->data__quadratic_attenuation(parameter);
17096 }
17097 else
17098     returnValue = !handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_TEXTDATA_PARSING_FAILED, HASH_ELEMENT_QUADRATIC_ATTENUATION, (const ParserChar*)0, mLastIncompleteFragmentInCharacterData);
17099 if (mLastIncompleteFragmentInCharacterData)
17100     mStackMemoryManager.deleteObject();
17101 mLastIncompleteFragmentInCharacterData = 0;
17102 mEndOfDataInCurrentObjectOnStack = 0;
17103 return returnValue;
17104 }
17105 
17106 //---------------------------------------------------------------------
_freeAttributes__quadratic_attenuation(void * attributeData)17107 bool ColladaParserAutoGen14Private::_freeAttributes__quadratic_attenuation( void* attributeData )
17108 {
17109     quadratic_attenuation__AttributeData* typedAttributeData = static_cast<quadratic_attenuation__AttributeData*>(attributeData);
17110 
17111     typedAttributeData->~quadratic_attenuation__AttributeData();
17112 
17113     return true;
17114 }
17115 
17116 //---------------------------------------------------------------------
_data__spot(const ParserChar * text,size_t textLength)17117 bool ColladaParserAutoGen14Private::_data__spot( const ParserChar* text, size_t textLength )
17118 {
17119     return true;
17120 }
17121 
17122 //---------------------------------------------------------------------
_preBegin__spot(const ParserAttributes & attributes,void ** attributeDataPtr,void ** validationDataPtr)17123 bool ColladaParserAutoGen14Private::_preBegin__spot( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
17124 {
17125 #ifdef GENERATEDSAXPARSER_VALIDATION
17126     if ( mValidate )
17127     {
17128 
17129         bool validationResult = _validateBegin__spot( attributes, attributeDataPtr, validationDataPtr );
17130         if ( !validationResult ) return false;
17131 
17132     } // validation
17133 #endif
17134 
17135     return true;
17136 }
17137 
17138 //---------------------------------------------------------------------
_preEnd__spot()17139 bool ColladaParserAutoGen14Private::_preEnd__spot()
17140 {
17141 #ifdef GENERATEDSAXPARSER_VALIDATION
17142     if ( mValidate )
17143     {
17144 
17145         bool validationResult = _validateEnd__spot();
17146         if ( !validationResult ) return false;
17147 
17148     } // validation
17149 #endif
17150 
17151     return true;
17152 }
17153 
17154 //---------------------------------------------------------------------
_freeAttributes__spot(void * attributeData)17155 bool ColladaParserAutoGen14Private::_freeAttributes__spot( void* attributeData )
17156 {
17157     return true;
17158 }
17159 
17160 //---------------------------------------------------------------------
17161 const falloff_angle__AttributeData falloff_angle__AttributeData::DEFAULT = {0};
17162 
17163 //---------------------------------------------------------------------
_data__falloff_angle(const ParserChar * text,size_t textLength)17164 bool ColladaParserAutoGen14Private::_data__falloff_angle( const ParserChar* text, size_t textLength )
17165 {
17166 if (!mLastIncompleteFragmentInCharacterData)
17167 {
17168     mLastIncompleteFragmentInCharacterData = (ParserChar*)mStackMemoryManager.newObject(textLength);
17169     memcpy(mLastIncompleteFragmentInCharacterData, text, textLength);
17170     mEndOfDataInCurrentObjectOnStack = mLastIncompleteFragmentInCharacterData + textLength;
17171 }
17172 else
17173 {
17174     ParserChar* tmp = (ParserChar*)mStackMemoryManager.growObject(textLength);
17175     if ( tmp != mLastIncompleteFragmentInCharacterData ) {
17176         mEndOfDataInCurrentObjectOnStack = (mEndOfDataInCurrentObjectOnStack - mLastIncompleteFragmentInCharacterData) + tmp;
17177         mLastIncompleteFragmentInCharacterData = tmp;
17178     }
17179     memcpy(mEndOfDataInCurrentObjectOnStack, text, textLength);
17180     mEndOfDataInCurrentObjectOnStack += textLength;
17181 }
17182 return true;
17183 }
17184 
17185 //---------------------------------------------------------------------
_preBegin__falloff_angle(const ParserAttributes & attributes,void ** attributeDataPtr,void ** validationDataPtr)17186 bool ColladaParserAutoGen14Private::_preBegin__falloff_angle( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
17187 {
17188 #ifdef GENERATEDSAXPARSER_VALIDATION
17189     if ( mValidate )
17190     {
17191 
17192         bool validationResult = _validateBegin__falloff_angle( attributes, attributeDataPtr, validationDataPtr );
17193         if ( !validationResult ) return false;
17194 
17195     } // validation
17196 #endif
17197 
17198 falloff_angle__AttributeData* attributeData = newData<falloff_angle__AttributeData>(attributeDataPtr);
17199 
17200 const ParserChar** attributeArray = attributes.attributes;
17201 if ( attributeArray )
17202 {
17203     while (true)
17204     {
17205         const ParserChar * attribute = *attributeArray;
17206         if ( !attribute )
17207             break;
17208         StringHash hash = GeneratedSaxParser::Utils::calculateStringHash(attribute);
17209         attributeArray++;
17210         if ( !attributeArray )
17211             return false;
17212         const ParserChar* attributeValue = *attributeArray;
17213         attributeArray++;
17214 
17215 
17216     switch ( hash )
17217     {
17218     case HASH_ATTRIBUTE_sid:
17219     {
17220 
17221 attributeData->sid = attributeValue;
17222 #ifdef GENERATEDSAXPARSER_VALIDATION
17223     if ( mValidate )
17224     {
17225     ParserError::ErrorType simpleTypeValidationResult = validate__NCName(attributeData->sid, strlen(attributeData->sid));
17226     if (simpleTypeValidationResult != ParserError::SIMPLE_TYPE_VALIDATION_OK)
17227     {
17228         if( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL,
17229             simpleTypeValidationResult,
17230             HASH_ELEMENT_FALLOFF_ANGLE,
17231             HASH_ATTRIBUTE_sid,
17232             attributeValue) )
17233         {
17234             return false;
17235         }
17236     }
17237     } // validation
17238 #endif
17239 
17240     break;
17241     }
17242     default:
17243     {
17244         if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_UNKNOWN_ATTRIBUTE, HASH_ELEMENT_FALLOFF_ANGLE, attribute, attributeValue))
17245             {return false;}
17246     }
17247     }
17248     }
17249 }
17250 
17251 
17252     return true;
17253 }
17254 
17255 //---------------------------------------------------------------------
_preEnd__falloff_angle()17256 bool ColladaParserAutoGen14Private::_preEnd__falloff_angle()
17257 {
17258 #ifdef GENERATEDSAXPARSER_VALIDATION
17259     if ( mValidate )
17260     {
17261 
17262         bool validationResult = _validateEnd__falloff_angle();
17263         if ( !validationResult ) return false;
17264 
17265     } // validation
17266 #endif
17267 
17268 bool failed;
17269 const ParserChar* ptrForErr = mLastIncompleteFragmentInCharacterData;
17270 DISABLE_WARNING_UNUSED(ptrForErr)
17271 float parameter = GeneratedSaxParser::Utils::toFloat((const ParserChar**)&mLastIncompleteFragmentInCharacterData, mEndOfDataInCurrentObjectOnStack, failed);
17272 bool returnValue;
17273 if (!failed)
17274 {
17275     returnValue = mImpl->data__falloff_angle(parameter);
17276 }
17277 else
17278     returnValue = !handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_TEXTDATA_PARSING_FAILED, HASH_ELEMENT_FALLOFF_ANGLE, (const ParserChar*)0, mLastIncompleteFragmentInCharacterData);
17279 if (mLastIncompleteFragmentInCharacterData)
17280     mStackMemoryManager.deleteObject();
17281 mLastIncompleteFragmentInCharacterData = 0;
17282 mEndOfDataInCurrentObjectOnStack = 0;
17283 return returnValue;
17284 }
17285 
17286 //---------------------------------------------------------------------
_freeAttributes__falloff_angle(void * attributeData)17287 bool ColladaParserAutoGen14Private::_freeAttributes__falloff_angle( void* attributeData )
17288 {
17289     falloff_angle__AttributeData* typedAttributeData = static_cast<falloff_angle__AttributeData*>(attributeData);
17290 
17291     typedAttributeData->~falloff_angle__AttributeData();
17292 
17293     return true;
17294 }
17295 
17296 //---------------------------------------------------------------------
17297 const falloff_exponent__AttributeData falloff_exponent__AttributeData::DEFAULT = {0};
17298 
17299 //---------------------------------------------------------------------
_data__falloff_exponent(const ParserChar * text,size_t textLength)17300 bool ColladaParserAutoGen14Private::_data__falloff_exponent( const ParserChar* text, size_t textLength )
17301 {
17302 if (!mLastIncompleteFragmentInCharacterData)
17303 {
17304     mLastIncompleteFragmentInCharacterData = (ParserChar*)mStackMemoryManager.newObject(textLength);
17305     memcpy(mLastIncompleteFragmentInCharacterData, text, textLength);
17306     mEndOfDataInCurrentObjectOnStack = mLastIncompleteFragmentInCharacterData + textLength;
17307 }
17308 else
17309 {
17310     ParserChar* tmp = (ParserChar*)mStackMemoryManager.growObject(textLength);
17311     if ( tmp != mLastIncompleteFragmentInCharacterData ) {
17312         mEndOfDataInCurrentObjectOnStack = (mEndOfDataInCurrentObjectOnStack - mLastIncompleteFragmentInCharacterData) + tmp;
17313         mLastIncompleteFragmentInCharacterData = tmp;
17314     }
17315     memcpy(mEndOfDataInCurrentObjectOnStack, text, textLength);
17316     mEndOfDataInCurrentObjectOnStack += textLength;
17317 }
17318 return true;
17319 }
17320 
17321 //---------------------------------------------------------------------
_preBegin__falloff_exponent(const ParserAttributes & attributes,void ** attributeDataPtr,void ** validationDataPtr)17322 bool ColladaParserAutoGen14Private::_preBegin__falloff_exponent( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
17323 {
17324 #ifdef GENERATEDSAXPARSER_VALIDATION
17325     if ( mValidate )
17326     {
17327 
17328         bool validationResult = _validateBegin__falloff_exponent( attributes, attributeDataPtr, validationDataPtr );
17329         if ( !validationResult ) return false;
17330 
17331     } // validation
17332 #endif
17333 
17334 falloff_exponent__AttributeData* attributeData = newData<falloff_exponent__AttributeData>(attributeDataPtr);
17335 
17336 const ParserChar** attributeArray = attributes.attributes;
17337 if ( attributeArray )
17338 {
17339     while (true)
17340     {
17341         const ParserChar * attribute = *attributeArray;
17342         if ( !attribute )
17343             break;
17344         StringHash hash = GeneratedSaxParser::Utils::calculateStringHash(attribute);
17345         attributeArray++;
17346         if ( !attributeArray )
17347             return false;
17348         const ParserChar* attributeValue = *attributeArray;
17349         attributeArray++;
17350 
17351 
17352     switch ( hash )
17353     {
17354     case HASH_ATTRIBUTE_sid:
17355     {
17356 
17357 attributeData->sid = attributeValue;
17358 #ifdef GENERATEDSAXPARSER_VALIDATION
17359     if ( mValidate )
17360     {
17361     ParserError::ErrorType simpleTypeValidationResult = validate__NCName(attributeData->sid, strlen(attributeData->sid));
17362     if (simpleTypeValidationResult != ParserError::SIMPLE_TYPE_VALIDATION_OK)
17363     {
17364         if( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL,
17365             simpleTypeValidationResult,
17366             HASH_ELEMENT_FALLOFF_EXPONENT,
17367             HASH_ATTRIBUTE_sid,
17368             attributeValue) )
17369         {
17370             return false;
17371         }
17372     }
17373     } // validation
17374 #endif
17375 
17376     break;
17377     }
17378     default:
17379     {
17380         if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_UNKNOWN_ATTRIBUTE, HASH_ELEMENT_FALLOFF_EXPONENT, attribute, attributeValue))
17381             {return false;}
17382     }
17383     }
17384     }
17385 }
17386 
17387 
17388     return true;
17389 }
17390 
17391 //---------------------------------------------------------------------
_preEnd__falloff_exponent()17392 bool ColladaParserAutoGen14Private::_preEnd__falloff_exponent()
17393 {
17394 #ifdef GENERATEDSAXPARSER_VALIDATION
17395     if ( mValidate )
17396     {
17397 
17398         bool validationResult = _validateEnd__falloff_exponent();
17399         if ( !validationResult ) return false;
17400 
17401     } // validation
17402 #endif
17403 
17404 bool failed;
17405 const ParserChar* ptrForErr = mLastIncompleteFragmentInCharacterData;
17406 DISABLE_WARNING_UNUSED(ptrForErr)
17407 float parameter = GeneratedSaxParser::Utils::toFloat((const ParserChar**)&mLastIncompleteFragmentInCharacterData, mEndOfDataInCurrentObjectOnStack, failed);
17408 bool returnValue;
17409 if (!failed)
17410 {
17411     returnValue = mImpl->data__falloff_exponent(parameter);
17412 }
17413 else
17414     returnValue = !handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_TEXTDATA_PARSING_FAILED, HASH_ELEMENT_FALLOFF_EXPONENT, (const ParserChar*)0, mLastIncompleteFragmentInCharacterData);
17415 if (mLastIncompleteFragmentInCharacterData)
17416     mStackMemoryManager.deleteObject();
17417 mLastIncompleteFragmentInCharacterData = 0;
17418 mEndOfDataInCurrentObjectOnStack = 0;
17419 return returnValue;
17420 }
17421 
17422 //---------------------------------------------------------------------
_freeAttributes__falloff_exponent(void * attributeData)17423 bool ColladaParserAutoGen14Private::_freeAttributes__falloff_exponent( void* attributeData )
17424 {
17425     falloff_exponent__AttributeData* typedAttributeData = static_cast<falloff_exponent__AttributeData*>(attributeData);
17426 
17427     typedAttributeData->~falloff_exponent__AttributeData();
17428 
17429     return true;
17430 }
17431 
17432 //---------------------------------------------------------------------
17433 const library_materials__AttributeData library_materials__AttributeData::DEFAULT = {0, 0};
17434 
17435 //---------------------------------------------------------------------
_data__library_materials(const ParserChar * text,size_t textLength)17436 bool ColladaParserAutoGen14Private::_data__library_materials( const ParserChar* text, size_t textLength )
17437 {
17438     return true;
17439 }
17440 
17441 //---------------------------------------------------------------------
_preBegin__library_materials(const ParserAttributes & attributes,void ** attributeDataPtr,void ** validationDataPtr)17442 bool ColladaParserAutoGen14Private::_preBegin__library_materials( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
17443 {
17444 #ifdef GENERATEDSAXPARSER_VALIDATION
17445     if ( mValidate )
17446     {
17447 
17448         bool validationResult = _validateBegin__library_materials( attributes, attributeDataPtr, validationDataPtr );
17449         if ( !validationResult ) return false;
17450 
17451     } // validation
17452 #endif
17453 
17454 library_materials__AttributeData* attributeData = newData<library_materials__AttributeData>(attributeDataPtr);
17455 
17456 const ParserChar** attributeArray = attributes.attributes;
17457 if ( attributeArray )
17458 {
17459     while (true)
17460     {
17461         const ParserChar * attribute = *attributeArray;
17462         if ( !attribute )
17463             break;
17464         StringHash hash = GeneratedSaxParser::Utils::calculateStringHash(attribute);
17465         attributeArray++;
17466         if ( !attributeArray )
17467             return false;
17468         const ParserChar* attributeValue = *attributeArray;
17469         attributeArray++;
17470 
17471 
17472     switch ( hash )
17473     {
17474     case HASH_ATTRIBUTE_id:
17475     {
17476 
17477 attributeData->id = attributeValue;
17478 
17479     break;
17480     }
17481     case HASH_ATTRIBUTE_name:
17482     {
17483 
17484 attributeData->name = attributeValue;
17485 #ifdef GENERATEDSAXPARSER_VALIDATION
17486     if ( mValidate )
17487     {
17488     ParserError::ErrorType simpleTypeValidationResult = validate__NCName(attributeData->name, strlen(attributeData->name));
17489     if (simpleTypeValidationResult != ParserError::SIMPLE_TYPE_VALIDATION_OK)
17490     {
17491         if( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL,
17492             simpleTypeValidationResult,
17493             HASH_ELEMENT_LIBRARY_MATERIALS,
17494             HASH_ATTRIBUTE_name,
17495             attributeValue) )
17496         {
17497             return false;
17498         }
17499     }
17500     } // validation
17501 #endif
17502 
17503     break;
17504     }
17505     default:
17506     {
17507         if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_UNKNOWN_ATTRIBUTE, HASH_ELEMENT_LIBRARY_MATERIALS, attribute, attributeValue))
17508             {return false;}
17509     }
17510     }
17511     }
17512 }
17513 
17514 
17515     return true;
17516 }
17517 
17518 //---------------------------------------------------------------------
_preEnd__library_materials()17519 bool ColladaParserAutoGen14Private::_preEnd__library_materials()
17520 {
17521 #ifdef GENERATEDSAXPARSER_VALIDATION
17522     if ( mValidate )
17523     {
17524 
17525         bool validationResult = _validateEnd__library_materials();
17526         if ( !validationResult ) return false;
17527 
17528     } // validation
17529 #endif
17530 
17531     return true;
17532 }
17533 
17534 //---------------------------------------------------------------------
_freeAttributes__library_materials(void * attributeData)17535 bool ColladaParserAutoGen14Private::_freeAttributes__library_materials( void* attributeData )
17536 {
17537     library_materials__AttributeData* typedAttributeData = static_cast<library_materials__AttributeData*>(attributeData);
17538 
17539     typedAttributeData->~library_materials__AttributeData();
17540 
17541     return true;
17542 }
17543 
17544 //---------------------------------------------------------------------
17545 const material__AttributeData material__AttributeData::DEFAULT = {0, 0};
17546 
17547 //---------------------------------------------------------------------
_data__material(const ParserChar * text,size_t textLength)17548 bool ColladaParserAutoGen14Private::_data__material( const ParserChar* text, size_t textLength )
17549 {
17550     return true;
17551 }
17552 
17553 //---------------------------------------------------------------------
_preBegin__material(const ParserAttributes & attributes,void ** attributeDataPtr,void ** validationDataPtr)17554 bool ColladaParserAutoGen14Private::_preBegin__material( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
17555 {
17556 #ifdef GENERATEDSAXPARSER_VALIDATION
17557     if ( mValidate )
17558     {
17559 
17560         bool validationResult = _validateBegin__material( attributes, attributeDataPtr, validationDataPtr );
17561         if ( !validationResult ) return false;
17562 
17563     } // validation
17564 #endif
17565 
17566 material__AttributeData* attributeData = newData<material__AttributeData>(attributeDataPtr);
17567 
17568 const ParserChar** attributeArray = attributes.attributes;
17569 if ( attributeArray )
17570 {
17571     while (true)
17572     {
17573         const ParserChar * attribute = *attributeArray;
17574         if ( !attribute )
17575             break;
17576         StringHash hash = GeneratedSaxParser::Utils::calculateStringHash(attribute);
17577         attributeArray++;
17578         if ( !attributeArray )
17579             return false;
17580         const ParserChar* attributeValue = *attributeArray;
17581         attributeArray++;
17582 
17583 
17584     switch ( hash )
17585     {
17586     case HASH_ATTRIBUTE_id:
17587     {
17588 
17589 attributeData->id = attributeValue;
17590 
17591     break;
17592     }
17593     case HASH_ATTRIBUTE_name:
17594     {
17595 
17596 attributeData->name = attributeValue;
17597 #ifdef GENERATEDSAXPARSER_VALIDATION
17598     if ( mValidate )
17599     {
17600     ParserError::ErrorType simpleTypeValidationResult = validate__NCName(attributeData->name, strlen(attributeData->name));
17601     if (simpleTypeValidationResult != ParserError::SIMPLE_TYPE_VALIDATION_OK)
17602     {
17603         if( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL,
17604             simpleTypeValidationResult,
17605             HASH_ELEMENT_MATERIAL,
17606             HASH_ATTRIBUTE_name,
17607             attributeValue) )
17608         {
17609             return false;
17610         }
17611     }
17612     } // validation
17613 #endif
17614 
17615     break;
17616     }
17617     default:
17618     {
17619         if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_UNKNOWN_ATTRIBUTE, HASH_ELEMENT_MATERIAL, attribute, attributeValue))
17620             {return false;}
17621     }
17622     }
17623     }
17624 }
17625 
17626 
17627     return true;
17628 }
17629 
17630 //---------------------------------------------------------------------
_preEnd__material()17631 bool ColladaParserAutoGen14Private::_preEnd__material()
17632 {
17633 #ifdef GENERATEDSAXPARSER_VALIDATION
17634     if ( mValidate )
17635     {
17636 
17637         bool validationResult = _validateEnd__material();
17638         if ( !validationResult ) return false;
17639 
17640     } // validation
17641 #endif
17642 
17643     return true;
17644 }
17645 
17646 //---------------------------------------------------------------------
_freeAttributes__material(void * attributeData)17647 bool ColladaParserAutoGen14Private::_freeAttributes__material( void* attributeData )
17648 {
17649     material__AttributeData* typedAttributeData = static_cast<material__AttributeData*>(attributeData);
17650 
17651     typedAttributeData->~material__AttributeData();
17652 
17653     return true;
17654 }
17655 
17656 //---------------------------------------------------------------------
17657 const instance_effect__AttributeData instance_effect__AttributeData::DEFAULT = {0, 0, 0, 0};
17658 
17659 //---------------------------------------------------------------------
_data__instance_effect(const ParserChar * text,size_t textLength)17660 bool ColladaParserAutoGen14Private::_data__instance_effect( const ParserChar* text, size_t textLength )
17661 {
17662     return true;
17663 }
17664 
17665 //---------------------------------------------------------------------
_preBegin__instance_effect(const ParserAttributes & attributes,void ** attributeDataPtr,void ** validationDataPtr)17666 bool ColladaParserAutoGen14Private::_preBegin__instance_effect( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
17667 {
17668 #ifdef GENERATEDSAXPARSER_VALIDATION
17669     if ( mValidate )
17670     {
17671 
17672         bool validationResult = _validateBegin__instance_effect( attributes, attributeDataPtr, validationDataPtr );
17673         if ( !validationResult ) return false;
17674 
17675     } // validation
17676 #endif
17677 
17678 instance_effect__AttributeData* attributeData = newData<instance_effect__AttributeData>(attributeDataPtr);
17679 
17680 const ParserChar** attributeArray = attributes.attributes;
17681 if ( attributeArray )
17682 {
17683     while (true)
17684     {
17685         const ParserChar * attribute = *attributeArray;
17686         if ( !attribute )
17687             break;
17688         StringHash hash = GeneratedSaxParser::Utils::calculateStringHash(attribute);
17689         attributeArray++;
17690         if ( !attributeArray )
17691             return false;
17692         const ParserChar* attributeValue = *attributeArray;
17693         attributeArray++;
17694 
17695 
17696     switch ( hash )
17697     {
17698     case HASH_ATTRIBUTE_url:
17699     {
17700 bool failed;
17701 attributeData->url = GeneratedSaxParser::Utils::toURI(&attributeValue, failed);
17702 if ( failed && handleError(ParserError::SEVERITY_ERROR_NONCRITICAL,
17703         ParserError::ERROR_ATTRIBUTE_PARSING_FAILED,
17704         HASH_ELEMENT_INSTANCE_EFFECT,
17705         HASH_ATTRIBUTE_url,
17706         attributeValue))
17707 {
17708     return false;
17709 }
17710 if ( !failed )
17711     attributeData->present_attributes |= instance_effect__AttributeData::ATTRIBUTE_URL_PRESENT;
17712 
17713     break;
17714     }
17715     case HASH_ATTRIBUTE_sid:
17716     {
17717 
17718 attributeData->sid = attributeValue;
17719 #ifdef GENERATEDSAXPARSER_VALIDATION
17720     if ( mValidate )
17721     {
17722     ParserError::ErrorType simpleTypeValidationResult = validate__NCName(attributeData->sid, strlen(attributeData->sid));
17723     if (simpleTypeValidationResult != ParserError::SIMPLE_TYPE_VALIDATION_OK)
17724     {
17725         if( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL,
17726             simpleTypeValidationResult,
17727             HASH_ELEMENT_INSTANCE_EFFECT,
17728             HASH_ATTRIBUTE_sid,
17729             attributeValue) )
17730         {
17731             return false;
17732         }
17733     }
17734     } // validation
17735 #endif
17736 
17737     break;
17738     }
17739     case HASH_ATTRIBUTE_name:
17740     {
17741 
17742 attributeData->name = attributeValue;
17743 #ifdef GENERATEDSAXPARSER_VALIDATION
17744     if ( mValidate )
17745     {
17746     ParserError::ErrorType simpleTypeValidationResult = validate__NCName(attributeData->name, strlen(attributeData->name));
17747     if (simpleTypeValidationResult != ParserError::SIMPLE_TYPE_VALIDATION_OK)
17748     {
17749         if( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL,
17750             simpleTypeValidationResult,
17751             HASH_ELEMENT_INSTANCE_EFFECT,
17752             HASH_ATTRIBUTE_name,
17753             attributeValue) )
17754         {
17755             return false;
17756         }
17757     }
17758     } // validation
17759 #endif
17760 
17761     break;
17762     }
17763     default:
17764     {
17765         if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_UNKNOWN_ATTRIBUTE, HASH_ELEMENT_INSTANCE_EFFECT, attribute, attributeValue))
17766             {return false;}
17767     }
17768     }
17769     }
17770 }
17771 if ((attributeData->present_attributes & instance_effect__AttributeData::ATTRIBUTE_URL_PRESENT) == 0)
17772 {
17773     attributeData->url = COLLADABU::URI("");
17774 }
17775 if ( (attributeData->present_attributes & instance_effect__AttributeData::ATTRIBUTE_URL_PRESENT) == 0 )
17776 {
17777     if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_REQUIRED_ATTRIBUTE_MISSING, HASH_ELEMENT_INSTANCE_EFFECT, HASH_ATTRIBUTE_url, 0 ) )
17778         return false;
17779 }
17780 
17781 
17782     return true;
17783 }
17784 
17785 //---------------------------------------------------------------------
_preEnd__instance_effect()17786 bool ColladaParserAutoGen14Private::_preEnd__instance_effect()
17787 {
17788 #ifdef GENERATEDSAXPARSER_VALIDATION
17789     if ( mValidate )
17790     {
17791 
17792         bool validationResult = _validateEnd__instance_effect();
17793         if ( !validationResult ) return false;
17794 
17795     } // validation
17796 #endif
17797 
17798     return true;
17799 }
17800 
17801 //---------------------------------------------------------------------
_freeAttributes__instance_effect(void * attributeData)17802 bool ColladaParserAutoGen14Private::_freeAttributes__instance_effect( void* attributeData )
17803 {
17804     instance_effect__AttributeData* typedAttributeData = static_cast<instance_effect__AttributeData*>(attributeData);
17805 
17806     typedAttributeData->~instance_effect__AttributeData();
17807 
17808     return true;
17809 }
17810 
17811 //---------------------------------------------------------------------
17812 const technique_hint__AttributeData technique_hint__AttributeData::DEFAULT = {0, 0, 0};
17813 
17814 //---------------------------------------------------------------------
_data__technique_hint(const ParserChar * text,size_t textLength)17815 bool ColladaParserAutoGen14Private::_data__technique_hint( const ParserChar* text, size_t textLength )
17816 {
17817     return true;
17818 }
17819 
17820 //---------------------------------------------------------------------
_preBegin__technique_hint(const ParserAttributes & attributes,void ** attributeDataPtr,void ** validationDataPtr)17821 bool ColladaParserAutoGen14Private::_preBegin__technique_hint( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
17822 {
17823 #ifdef GENERATEDSAXPARSER_VALIDATION
17824     if ( mValidate )
17825     {
17826 
17827         bool validationResult = _validateBegin__technique_hint( attributes, attributeDataPtr, validationDataPtr );
17828         if ( !validationResult ) return false;
17829 
17830     } // validation
17831 #endif
17832 
17833 technique_hint__AttributeData* attributeData = newData<technique_hint__AttributeData>(attributeDataPtr);
17834 
17835 const ParserChar** attributeArray = attributes.attributes;
17836 if ( attributeArray )
17837 {
17838     while (true)
17839     {
17840         const ParserChar * attribute = *attributeArray;
17841         if ( !attribute )
17842             break;
17843         StringHash hash = GeneratedSaxParser::Utils::calculateStringHash(attribute);
17844         attributeArray++;
17845         if ( !attributeArray )
17846             return false;
17847         const ParserChar* attributeValue = *attributeArray;
17848         attributeArray++;
17849 
17850 
17851     switch ( hash )
17852     {
17853     case HASH_ATTRIBUTE_platform:
17854     {
17855 
17856 attributeData->platform = attributeValue;
17857 #ifdef GENERATEDSAXPARSER_VALIDATION
17858     if ( mValidate )
17859     {
17860     ParserError::ErrorType simpleTypeValidationResult = validate__NCName(attributeData->platform, strlen(attributeData->platform));
17861     if (simpleTypeValidationResult != ParserError::SIMPLE_TYPE_VALIDATION_OK)
17862     {
17863         if( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL,
17864             simpleTypeValidationResult,
17865             HASH_ELEMENT_TECHNIQUE_HINT,
17866             HASH_ATTRIBUTE_platform,
17867             attributeValue) )
17868         {
17869             return false;
17870         }
17871     }
17872     } // validation
17873 #endif
17874 
17875     break;
17876     }
17877     case HASH_ATTRIBUTE_profile:
17878     {
17879 
17880 attributeData->profile = attributeValue;
17881 #ifdef GENERATEDSAXPARSER_VALIDATION
17882     if ( mValidate )
17883     {
17884     ParserError::ErrorType simpleTypeValidationResult = validate__NCName(attributeData->profile, strlen(attributeData->profile));
17885     if (simpleTypeValidationResult != ParserError::SIMPLE_TYPE_VALIDATION_OK)
17886     {
17887         if( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL,
17888             simpleTypeValidationResult,
17889             HASH_ELEMENT_TECHNIQUE_HINT,
17890             HASH_ATTRIBUTE_profile,
17891             attributeValue) )
17892         {
17893             return false;
17894         }
17895     }
17896     } // validation
17897 #endif
17898 
17899     break;
17900     }
17901     case HASH_ATTRIBUTE_ref:
17902     {
17903 
17904 attributeData->ref = attributeValue;
17905 #ifdef GENERATEDSAXPARSER_VALIDATION
17906     if ( mValidate )
17907     {
17908     ParserError::ErrorType simpleTypeValidationResult = validate__NCName(attributeData->ref, strlen(attributeData->ref));
17909     if (simpleTypeValidationResult != ParserError::SIMPLE_TYPE_VALIDATION_OK)
17910     {
17911         if( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL,
17912             simpleTypeValidationResult,
17913             HASH_ELEMENT_TECHNIQUE_HINT,
17914             HASH_ATTRIBUTE_ref,
17915             attributeValue) )
17916         {
17917             return false;
17918         }
17919     }
17920     } // validation
17921 #endif
17922 
17923     break;
17924     }
17925     default:
17926     {
17927         if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_UNKNOWN_ATTRIBUTE, HASH_ELEMENT_TECHNIQUE_HINT, attribute, attributeValue))
17928             {return false;}
17929     }
17930     }
17931     }
17932 }
17933 if ( !attributeData->ref )
17934 {
17935     if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_REQUIRED_ATTRIBUTE_MISSING, HASH_ELEMENT_TECHNIQUE_HINT, HASH_ATTRIBUTE_ref, 0 ) )
17936         return false;
17937 }
17938 
17939 
17940     return true;
17941 }
17942 
17943 //---------------------------------------------------------------------
_preEnd__technique_hint()17944 bool ColladaParserAutoGen14Private::_preEnd__technique_hint()
17945 {
17946 #ifdef GENERATEDSAXPARSER_VALIDATION
17947     if ( mValidate )
17948     {
17949 
17950         bool validationResult = _validateEnd__technique_hint();
17951         if ( !validationResult ) return false;
17952 
17953     } // validation
17954 #endif
17955 
17956     return true;
17957 }
17958 
17959 //---------------------------------------------------------------------
_freeAttributes__technique_hint(void * attributeData)17960 bool ColladaParserAutoGen14Private::_freeAttributes__technique_hint( void* attributeData )
17961 {
17962     technique_hint__AttributeData* typedAttributeData = static_cast<technique_hint__AttributeData*>(attributeData);
17963 
17964     typedAttributeData->~technique_hint__AttributeData();
17965 
17966     return true;
17967 }
17968 
17969 //---------------------------------------------------------------------
17970 const instance_effect__setparam__AttributeData instance_effect__setparam__AttributeData::DEFAULT = {0};
17971 
17972 //---------------------------------------------------------------------
_data__instance_effect__setparam(const ParserChar * text,size_t textLength)17973 bool ColladaParserAutoGen14Private::_data__instance_effect__setparam( const ParserChar* text, size_t textLength )
17974 {
17975     return true;
17976 }
17977 
17978 //---------------------------------------------------------------------
_preBegin__instance_effect__setparam(const ParserAttributes & attributes,void ** attributeDataPtr,void ** validationDataPtr)17979 bool ColladaParserAutoGen14Private::_preBegin__instance_effect__setparam( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
17980 {
17981 #ifdef GENERATEDSAXPARSER_VALIDATION
17982     if ( mValidate )
17983     {
17984 
17985         bool validationResult = _validateBegin__instance_effect__setparam( attributes, attributeDataPtr, validationDataPtr );
17986         if ( !validationResult ) return false;
17987 
17988     } // validation
17989 #endif
17990 
17991 instance_effect__setparam__AttributeData* attributeData = newData<instance_effect__setparam__AttributeData>(attributeDataPtr);
17992 
17993 const ParserChar** attributeArray = attributes.attributes;
17994 if ( attributeArray )
17995 {
17996     while (true)
17997     {
17998         const ParserChar * attribute = *attributeArray;
17999         if ( !attribute )
18000             break;
18001         StringHash hash = GeneratedSaxParser::Utils::calculateStringHash(attribute);
18002         attributeArray++;
18003         if ( !attributeArray )
18004             return false;
18005         const ParserChar* attributeValue = *attributeArray;
18006         attributeArray++;
18007 
18008 
18009     switch ( hash )
18010     {
18011     case HASH_ATTRIBUTE_ref:
18012     {
18013 
18014 attributeData->ref = attributeValue;
18015 
18016     break;
18017     }
18018     default:
18019     {
18020         if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_UNKNOWN_ATTRIBUTE, HASH_ELEMENT_SETPARAM, attribute, attributeValue))
18021             {return false;}
18022     }
18023     }
18024     }
18025 }
18026 if ( !attributeData->ref )
18027 {
18028     if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_REQUIRED_ATTRIBUTE_MISSING, HASH_ELEMENT_SETPARAM, HASH_ATTRIBUTE_ref, 0 ) )
18029         return false;
18030 }
18031 
18032 
18033     return true;
18034 }
18035 
18036 //---------------------------------------------------------------------
_preEnd__instance_effect__setparam()18037 bool ColladaParserAutoGen14Private::_preEnd__instance_effect__setparam()
18038 {
18039 #ifdef GENERATEDSAXPARSER_VALIDATION
18040     if ( mValidate )
18041     {
18042 
18043         bool validationResult = _validateEnd__instance_effect__setparam();
18044         if ( !validationResult ) return false;
18045 
18046     } // validation
18047 #endif
18048 
18049     return true;
18050 }
18051 
18052 //---------------------------------------------------------------------
_freeAttributes__instance_effect__setparam(void * attributeData)18053 bool ColladaParserAutoGen14Private::_freeAttributes__instance_effect__setparam( void* attributeData )
18054 {
18055     instance_effect__setparam__AttributeData* typedAttributeData = static_cast<instance_effect__setparam__AttributeData*>(attributeData);
18056 
18057     typedAttributeData->~instance_effect__setparam__AttributeData();
18058 
18059     return true;
18060 }
18061 
18062 //---------------------------------------------------------------------
18063 const library_nodes__AttributeData library_nodes__AttributeData::DEFAULT = {0, 0};
18064 
18065 //---------------------------------------------------------------------
_data__library_nodes(const ParserChar * text,size_t textLength)18066 bool ColladaParserAutoGen14Private::_data__library_nodes( const ParserChar* text, size_t textLength )
18067 {
18068     return true;
18069 }
18070 
18071 //---------------------------------------------------------------------
_preBegin__library_nodes(const ParserAttributes & attributes,void ** attributeDataPtr,void ** validationDataPtr)18072 bool ColladaParserAutoGen14Private::_preBegin__library_nodes( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
18073 {
18074 #ifdef GENERATEDSAXPARSER_VALIDATION
18075     if ( mValidate )
18076     {
18077 
18078         bool validationResult = _validateBegin__library_nodes( attributes, attributeDataPtr, validationDataPtr );
18079         if ( !validationResult ) return false;
18080 
18081     } // validation
18082 #endif
18083 
18084 library_nodes__AttributeData* attributeData = newData<library_nodes__AttributeData>(attributeDataPtr);
18085 
18086 const ParserChar** attributeArray = attributes.attributes;
18087 if ( attributeArray )
18088 {
18089     while (true)
18090     {
18091         const ParserChar * attribute = *attributeArray;
18092         if ( !attribute )
18093             break;
18094         StringHash hash = GeneratedSaxParser::Utils::calculateStringHash(attribute);
18095         attributeArray++;
18096         if ( !attributeArray )
18097             return false;
18098         const ParserChar* attributeValue = *attributeArray;
18099         attributeArray++;
18100 
18101 
18102     switch ( hash )
18103     {
18104     case HASH_ATTRIBUTE_id:
18105     {
18106 
18107 attributeData->id = attributeValue;
18108 
18109     break;
18110     }
18111     case HASH_ATTRIBUTE_name:
18112     {
18113 
18114 attributeData->name = attributeValue;
18115 #ifdef GENERATEDSAXPARSER_VALIDATION
18116     if ( mValidate )
18117     {
18118     ParserError::ErrorType simpleTypeValidationResult = validate__NCName(attributeData->name, strlen(attributeData->name));
18119     if (simpleTypeValidationResult != ParserError::SIMPLE_TYPE_VALIDATION_OK)
18120     {
18121         if( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL,
18122             simpleTypeValidationResult,
18123             HASH_ELEMENT_LIBRARY_NODES,
18124             HASH_ATTRIBUTE_name,
18125             attributeValue) )
18126         {
18127             return false;
18128         }
18129     }
18130     } // validation
18131 #endif
18132 
18133     break;
18134     }
18135     default:
18136     {
18137         if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_UNKNOWN_ATTRIBUTE, HASH_ELEMENT_LIBRARY_NODES, attribute, attributeValue))
18138             {return false;}
18139     }
18140     }
18141     }
18142 }
18143 
18144 
18145     return true;
18146 }
18147 
18148 //---------------------------------------------------------------------
_preEnd__library_nodes()18149 bool ColladaParserAutoGen14Private::_preEnd__library_nodes()
18150 {
18151 #ifdef GENERATEDSAXPARSER_VALIDATION
18152     if ( mValidate )
18153     {
18154 
18155         bool validationResult = _validateEnd__library_nodes();
18156         if ( !validationResult ) return false;
18157 
18158     } // validation
18159 #endif
18160 
18161     return true;
18162 }
18163 
18164 //---------------------------------------------------------------------
_freeAttributes__library_nodes(void * attributeData)18165 bool ColladaParserAutoGen14Private::_freeAttributes__library_nodes( void* attributeData )
18166 {
18167     library_nodes__AttributeData* typedAttributeData = static_cast<library_nodes__AttributeData*>(attributeData);
18168 
18169     typedAttributeData->~library_nodes__AttributeData();
18170 
18171     return true;
18172 }
18173 
18174 //---------------------------------------------------------------------
18175 const node__AttributeData node__AttributeData::DEFAULT = {0, 0, 0, 0, ENUM__NodeType__NODE, GeneratedSaxParser::XSList<ParserString>()};
18176 
18177 //---------------------------------------------------------------------
_data__node(const ParserChar * text,size_t textLength)18178 bool ColladaParserAutoGen14Private::_data__node( const ParserChar* text, size_t textLength )
18179 {
18180     return true;
18181 }
18182 
18183 //---------------------------------------------------------------------
_preBegin__node(const ParserAttributes & attributes,void ** attributeDataPtr,void ** validationDataPtr)18184 bool ColladaParserAutoGen14Private::_preBegin__node( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
18185 {
18186 #ifdef GENERATEDSAXPARSER_VALIDATION
18187     if ( mValidate )
18188     {
18189 
18190         bool validationResult = _validateBegin__node( attributes, attributeDataPtr, validationDataPtr );
18191         if ( !validationResult ) return false;
18192 
18193     } // validation
18194 #endif
18195 
18196 node__AttributeData* attributeData = newData<node__AttributeData>(attributeDataPtr);
18197 
18198 const ParserChar** attributeArray = attributes.attributes;
18199 if ( attributeArray )
18200 {
18201     while (true)
18202     {
18203         const ParserChar * attribute = *attributeArray;
18204         if ( !attribute )
18205             break;
18206         StringHash hash = GeneratedSaxParser::Utils::calculateStringHash(attribute);
18207         attributeArray++;
18208         if ( !attributeArray )
18209             return false;
18210         const ParserChar* attributeValue = *attributeArray;
18211         attributeArray++;
18212 
18213 
18214     switch ( hash )
18215     {
18216     case HASH_ATTRIBUTE_id:
18217     {
18218 
18219 attributeData->id = attributeValue;
18220 
18221     break;
18222     }
18223     case HASH_ATTRIBUTE_name:
18224     {
18225 
18226 attributeData->name = attributeValue;
18227 #ifdef GENERATEDSAXPARSER_VALIDATION
18228     if ( mValidate )
18229     {
18230     ParserError::ErrorType simpleTypeValidationResult = validate__NCName(attributeData->name, strlen(attributeData->name));
18231     if (simpleTypeValidationResult != ParserError::SIMPLE_TYPE_VALIDATION_OK)
18232     {
18233         if( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL,
18234             simpleTypeValidationResult,
18235             HASH_ELEMENT_NODE,
18236             HASH_ATTRIBUTE_name,
18237             attributeValue) )
18238         {
18239             return false;
18240         }
18241     }
18242     } // validation
18243 #endif
18244 
18245     break;
18246     }
18247     case HASH_ATTRIBUTE_sid:
18248     {
18249 
18250 attributeData->sid = attributeValue;
18251 #ifdef GENERATEDSAXPARSER_VALIDATION
18252     if ( mValidate )
18253     {
18254     ParserError::ErrorType simpleTypeValidationResult = validate__NCName(attributeData->sid, strlen(attributeData->sid));
18255     if (simpleTypeValidationResult != ParserError::SIMPLE_TYPE_VALIDATION_OK)
18256     {
18257         if( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL,
18258             simpleTypeValidationResult,
18259             HASH_ELEMENT_NODE,
18260             HASH_ATTRIBUTE_sid,
18261             attributeValue) )
18262         {
18263             return false;
18264         }
18265     }
18266     } // validation
18267 #endif
18268 
18269     break;
18270     }
18271     case HASH_ATTRIBUTE_type:
18272     {
18273 bool failed;
18274 attributeData->type = Utils::toEnum<ENUM__NodeType, StringHash, ENUM__NodeType__COUNT>(attributeValue, failed, ENUM__NodeTypeMap, Utils::calculateStringHash);
18275 if ( failed && handleError(ParserError::SEVERITY_ERROR_NONCRITICAL,
18276         ParserError::ERROR_ATTRIBUTE_PARSING_FAILED,
18277         HASH_ELEMENT_NODE,
18278         HASH_ATTRIBUTE_type,
18279         attributeValue))
18280 {
18281     return false;
18282 }
18283 
18284     break;
18285     }
18286     case HASH_ATTRIBUTE_layer:
18287     {
18288 bool failed;
18289 #ifdef GENERATEDSAXPARSER_VALIDATION
18290     if ( mValidate )
18291     {
18292 failed = !characterData2StringList(attributeValue, attributeData->layer, &validate__Name, HASH_ELEMENT_NODE, HASH_ATTRIBUTE_layer);
18293     }
18294     else
18295     {
18296 failed = !characterData2StringList(attributeValue, attributeData->layer);
18297     }
18298 #else
18299     {
18300 failed = !characterData2StringList(attributeValue, attributeData->layer);
18301     } // validation
18302 #endif
18303 if ( failed && handleError(ParserError::SEVERITY_ERROR_NONCRITICAL,
18304         ParserError::ERROR_ATTRIBUTE_PARSING_FAILED,
18305         HASH_ELEMENT_NODE,
18306         HASH_ATTRIBUTE_layer,
18307         attributeValue))
18308 {
18309     return false;
18310 }
18311 
18312 if ( !failed )
18313     attributeData->present_attributes |= node__AttributeData::ATTRIBUTE_LAYER_PRESENT;
18314 
18315     break;
18316     }
18317     default:
18318     {
18319         if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_UNKNOWN_ATTRIBUTE, HASH_ELEMENT_NODE, attribute, attributeValue))
18320             {return false;}
18321     }
18322     }
18323     }
18324 }
18325 if ((attributeData->present_attributes & node__AttributeData::ATTRIBUTE_LAYER_PRESENT) == 0)
18326 {
18327     attributeData->layer = GeneratedSaxParser::XSList<ParserString>();
18328 }
18329 
18330 
18331     return true;
18332 }
18333 
18334 //---------------------------------------------------------------------
_preEnd__node()18335 bool ColladaParserAutoGen14Private::_preEnd__node()
18336 {
18337 #ifdef GENERATEDSAXPARSER_VALIDATION
18338     if ( mValidate )
18339     {
18340 
18341         bool validationResult = _validateEnd__node();
18342         if ( !validationResult ) return false;
18343 
18344     } // validation
18345 #endif
18346 
18347     return true;
18348 }
18349 
18350 //---------------------------------------------------------------------
_freeAttributes__node(void * attributeData)18351 bool ColladaParserAutoGen14Private::_freeAttributes__node( void* attributeData )
18352 {
18353     node__AttributeData* typedAttributeData = static_cast<node__AttributeData*>(attributeData);
18354     if (typedAttributeData->layer.data)
18355     {
18356         mStackMemoryManager.deleteObject();
18357     }
18358 
18359 
18360     typedAttributeData->~node__AttributeData();
18361 
18362     return true;
18363 }
18364 
18365 //---------------------------------------------------------------------
toEnumDataPrefix_ENUM__NodeType(const ParserChar * prefixedBuffer,const ParserChar * prefixedBufferEnd,const ParserChar ** buffer,const ParserChar * bufferEnd,bool & failed,const std::pair<StringHash,ENUM__NodeType> * enumMap,StringHash (* baseConversionFunc)(const ParserChar **,const ParserChar *,bool &))18366 ENUM__NodeType ColladaParserAutoGen14Private::toEnumDataPrefix_ENUM__NodeType (
18367     const ParserChar* prefixedBuffer,
18368     const ParserChar* prefixedBufferEnd,
18369     const ParserChar** buffer,
18370     const ParserChar* bufferEnd,
18371     bool& failed,
18372     const std::pair<StringHash, ENUM__NodeType>* enumMap,
18373     StringHash (*baseConversionFunc)( const ParserChar**, const ParserChar*, bool& )
18374 )
18375 {
18376     return toEnumDataPrefix<ENUM__NodeType, StringHash, ENUM__NodeType__COUNT, &toEnum_ENUM__NodeType>(prefixedBuffer, prefixedBufferEnd, buffer, bufferEnd, failed, enumMap, baseConversionFunc);
18377 }
18378 
18379 //---------------------------------------------------------------------
characterData2EnumData_ENUM__NodeType(const ParserChar * text,size_t textLength,bool (ColladaParserAutoGen14::* dataFunction)(const ENUM__NodeType *,size_t),StringHash (* baseConversionFunc)(const ParserChar **,const ParserChar *,bool &))18380 bool ColladaParserAutoGen14Private::characterData2EnumData_ENUM__NodeType (
18381     const ParserChar* text,
18382     size_t textLength,
18383     bool ( ColladaParserAutoGen14::*dataFunction )(const ENUM__NodeType*, size_t ),
18384     StringHash (*baseConversionFunc)( const ParserChar**, const ParserChar*, bool& )
18385 )
18386 {
18387     return characterData2EnumData<ENUM__NodeType, StringHash, ENUM__NodeType__COUNT>(text, textLength, dataFunction, ENUM__NodeTypeMap, baseConversionFunc, &toEnum_ENUM__NodeType, &ColladaParserAutoGen14Private::toEnumDataPrefix_ENUM__NodeType);
18388 }
18389 
18390 //---------------------------------------------------------------------
dataEnumEnd_ENUM__NodeType(bool (ColladaParserAutoGen14::* dataFunction)(const ENUM__NodeType *,size_t),const std::pair<StringHash,ENUM__NodeType> * enumMap,StringHash (* baseConversionFunc)(const ParserChar **,const ParserChar *,bool &),ENUM__NodeType (* toEnumFunc)(const ParserChar **,const ParserChar *,bool &,const std::pair<StringHash,ENUM__NodeType> * enumMap,StringHash (* baseConversionFunc)(const ParserChar **,const ParserChar *,bool &)))18391 bool ColladaParserAutoGen14Private::dataEnumEnd_ENUM__NodeType (
18392     bool ( ColladaParserAutoGen14::*dataFunction )(const ENUM__NodeType*, size_t ),
18393     const std::pair<StringHash, ENUM__NodeType>* enumMap,
18394     StringHash (*baseConversionFunc)( const ParserChar**, const ParserChar*, bool& ),
18395     ENUM__NodeType (*toEnumFunc)( const ParserChar**, const ParserChar*, bool&, const std::pair<StringHash, ENUM__NodeType>* enumMap, StringHash (*baseConversionFunc)( const ParserChar**, const ParserChar*, bool& ))
18396 )
18397 {
18398     return dataEnumEnd<ENUM__NodeType, StringHash, ENUM__NodeType__COUNT>(dataFunction, enumMap, baseConversionFunc, toEnumFunc);
18399 }
18400 
18401 //---------------------------------------------------------------------
18402 const lookat__AttributeData lookat__AttributeData::DEFAULT = {0};
18403 
18404 //---------------------------------------------------------------------
_data__lookat(const ParserChar * text,size_t textLength)18405 bool ColladaParserAutoGen14Private::_data__lookat( const ParserChar* text, size_t textLength )
18406 {
18407 #ifdef GENERATEDSAXPARSER_VALIDATION
18408     if ( mValidate )
18409     {
18410         float3x3____float3x3__ValidationData* validationData = (float3x3____float3x3__ValidationData*)mValidationDataStack.top();
18411         DISABLE_WARNING_UNUSED(validationData)
18412 return characterData2FloatData(text, textLength, &ColladaParserAutoGen14::data__lookat, &validate__float3x3__stream, &validationData->validationWholeSize, 0);
18413     }
18414     else
18415     {
18416 return characterData2FloatData(text, textLength, &ColladaParserAutoGen14::data__lookat);
18417     }
18418 #else
18419     {
18420 return characterData2FloatData(text, textLength, &ColladaParserAutoGen14::data__lookat);
18421     } // validation
18422 #endif
18423 
18424 }
18425 
18426 //---------------------------------------------------------------------
_preBegin__lookat(const ParserAttributes & attributes,void ** attributeDataPtr,void ** validationDataPtr)18427 bool ColladaParserAutoGen14Private::_preBegin__lookat( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
18428 {
18429 #ifdef GENERATEDSAXPARSER_VALIDATION
18430     if ( mValidate )
18431     {
18432 
18433         bool validationResult = _validateBegin__lookat( attributes, attributeDataPtr, validationDataPtr );
18434         if ( !validationResult ) return false;
18435 
18436     } // validation
18437 #endif
18438 
18439 lookat__AttributeData* attributeData = newData<lookat__AttributeData>(attributeDataPtr);
18440 
18441 const ParserChar** attributeArray = attributes.attributes;
18442 if ( attributeArray )
18443 {
18444     while (true)
18445     {
18446         const ParserChar * attribute = *attributeArray;
18447         if ( !attribute )
18448             break;
18449         StringHash hash = GeneratedSaxParser::Utils::calculateStringHash(attribute);
18450         attributeArray++;
18451         if ( !attributeArray )
18452             return false;
18453         const ParserChar* attributeValue = *attributeArray;
18454         attributeArray++;
18455 
18456 
18457     switch ( hash )
18458     {
18459     case HASH_ATTRIBUTE_sid:
18460     {
18461 
18462 attributeData->sid = attributeValue;
18463 #ifdef GENERATEDSAXPARSER_VALIDATION
18464     if ( mValidate )
18465     {
18466     ParserError::ErrorType simpleTypeValidationResult = validate__NCName(attributeData->sid, strlen(attributeData->sid));
18467     if (simpleTypeValidationResult != ParserError::SIMPLE_TYPE_VALIDATION_OK)
18468     {
18469         if( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL,
18470             simpleTypeValidationResult,
18471             HASH_ELEMENT_LOOKAT,
18472             HASH_ATTRIBUTE_sid,
18473             attributeValue) )
18474         {
18475             return false;
18476         }
18477     }
18478     } // validation
18479 #endif
18480 
18481     break;
18482     }
18483     default:
18484     {
18485         if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_UNKNOWN_ATTRIBUTE, HASH_ELEMENT_LOOKAT, attribute, attributeValue))
18486             {return false;}
18487     }
18488     }
18489     }
18490 }
18491 
18492 
18493     return true;
18494 }
18495 
18496 //---------------------------------------------------------------------
_preEnd__lookat()18497 bool ColladaParserAutoGen14Private::_preEnd__lookat()
18498 {
18499 #ifdef GENERATEDSAXPARSER_VALIDATION
18500     if ( mValidate )
18501     {
18502 
18503         bool validationResult = _validateEnd__lookat();
18504         if ( !validationResult ) return false;
18505 
18506     } // validation
18507 #endif
18508 
18509 #ifdef GENERATEDSAXPARSER_VALIDATION
18510     if ( mValidate )
18511     {
18512         float3x3____float3x3__ValidationData* validationData = (float3x3____float3x3__ValidationData*)mValidationDataStack.top();
18513         DISABLE_WARNING_UNUSED(validationData)
18514 bool returnValue = floatDataEnd( &ColladaParserAutoGen14::data__lookat, &validate__float3x3__streamEnd, &validationData->validationWholeSize, 0 );
18515         ParserError::ErrorType simpleTypeValidationResult = validate__float3x3(0, (*(&validationData->validationWholeSize)));
18516         mValidationDataStack.deleteObject();
18517         if (simpleTypeValidationResult != ParserError::SIMPLE_TYPE_VALIDATION_OK)
18518         {
18519             if( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL,
18520                 simpleTypeValidationResult,
18521                 HASH_ELEMENT_LOOKAT,
18522                 (ParserChar*)0, 0 ) )
18523             {
18524                 return false;
18525             }
18526         }
18527         return returnValue;
18528     }
18529     else
18530     {
18531 return floatDataEnd( &ColladaParserAutoGen14::data__lookat );
18532     }
18533 #else
18534     {
18535 return floatDataEnd( &ColladaParserAutoGen14::data__lookat );
18536     } // validation
18537 #endif
18538 
18539 }
18540 
18541 //---------------------------------------------------------------------
_freeAttributes__lookat(void * attributeData)18542 bool ColladaParserAutoGen14Private::_freeAttributes__lookat( void* attributeData )
18543 {
18544     lookat__AttributeData* typedAttributeData = static_cast<lookat__AttributeData*>(attributeData);
18545 
18546     typedAttributeData->~lookat__AttributeData();
18547 
18548     return true;
18549 }
18550 
18551 //---------------------------------------------------------------------
18552 const matrix__AttributeData matrix__AttributeData::DEFAULT = {0};
18553 
18554 //---------------------------------------------------------------------
_data__matrix(const ParserChar * text,size_t textLength)18555 bool ColladaParserAutoGen14Private::_data__matrix( const ParserChar* text, size_t textLength )
18556 {
18557 #ifdef GENERATEDSAXPARSER_VALIDATION
18558     if ( mValidate )
18559     {
18560         bind_shape_matrix__ValidationData* validationData = (bind_shape_matrix__ValidationData*)mValidationDataStack.top();
18561         DISABLE_WARNING_UNUSED(validationData)
18562 return characterData2FloatData(text, textLength, &ColladaParserAutoGen14::data__matrix, &validate__float4x4__stream, &validationData->validationWholeSize, 0);
18563     }
18564     else
18565     {
18566 return characterData2FloatData(text, textLength, &ColladaParserAutoGen14::data__matrix);
18567     }
18568 #else
18569     {
18570 return characterData2FloatData(text, textLength, &ColladaParserAutoGen14::data__matrix);
18571     } // validation
18572 #endif
18573 
18574 }
18575 
18576 //---------------------------------------------------------------------
_preBegin__matrix(const ParserAttributes & attributes,void ** attributeDataPtr,void ** validationDataPtr)18577 bool ColladaParserAutoGen14Private::_preBegin__matrix( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
18578 {
18579 #ifdef GENERATEDSAXPARSER_VALIDATION
18580     if ( mValidate )
18581     {
18582 
18583         bool validationResult = _validateBegin__matrix( attributes, attributeDataPtr, validationDataPtr );
18584         if ( !validationResult ) return false;
18585 
18586     } // validation
18587 #endif
18588 
18589 matrix__AttributeData* attributeData = newData<matrix__AttributeData>(attributeDataPtr);
18590 
18591 const ParserChar** attributeArray = attributes.attributes;
18592 if ( attributeArray )
18593 {
18594     while (true)
18595     {
18596         const ParserChar * attribute = *attributeArray;
18597         if ( !attribute )
18598             break;
18599         StringHash hash = GeneratedSaxParser::Utils::calculateStringHash(attribute);
18600         attributeArray++;
18601         if ( !attributeArray )
18602             return false;
18603         const ParserChar* attributeValue = *attributeArray;
18604         attributeArray++;
18605 
18606 
18607     switch ( hash )
18608     {
18609     case HASH_ATTRIBUTE_sid:
18610     {
18611 
18612 attributeData->sid = attributeValue;
18613 #ifdef GENERATEDSAXPARSER_VALIDATION
18614     if ( mValidate )
18615     {
18616     ParserError::ErrorType simpleTypeValidationResult = validate__NCName(attributeData->sid, strlen(attributeData->sid));
18617     if (simpleTypeValidationResult != ParserError::SIMPLE_TYPE_VALIDATION_OK)
18618     {
18619         if( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL,
18620             simpleTypeValidationResult,
18621             HASH_ELEMENT_MATRIX,
18622             HASH_ATTRIBUTE_sid,
18623             attributeValue) )
18624         {
18625             return false;
18626         }
18627     }
18628     } // validation
18629 #endif
18630 
18631     break;
18632     }
18633     default:
18634     {
18635         if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_UNKNOWN_ATTRIBUTE, HASH_ELEMENT_MATRIX, attribute, attributeValue))
18636             {return false;}
18637     }
18638     }
18639     }
18640 }
18641 
18642 
18643     return true;
18644 }
18645 
18646 //---------------------------------------------------------------------
_preEnd__matrix()18647 bool ColladaParserAutoGen14Private::_preEnd__matrix()
18648 {
18649 #ifdef GENERATEDSAXPARSER_VALIDATION
18650     if ( mValidate )
18651     {
18652 
18653         bool validationResult = _validateEnd__matrix();
18654         if ( !validationResult ) return false;
18655 
18656     } // validation
18657 #endif
18658 
18659 #ifdef GENERATEDSAXPARSER_VALIDATION
18660     if ( mValidate )
18661     {
18662         bind_shape_matrix__ValidationData* validationData = (bind_shape_matrix__ValidationData*)mValidationDataStack.top();
18663         DISABLE_WARNING_UNUSED(validationData)
18664 bool returnValue = floatDataEnd( &ColladaParserAutoGen14::data__matrix, &validate__float4x4__streamEnd, &validationData->validationWholeSize, 0 );
18665         ParserError::ErrorType simpleTypeValidationResult = validate__float4x4(0, (*(&validationData->validationWholeSize)));
18666         mValidationDataStack.deleteObject();
18667         if (simpleTypeValidationResult != ParserError::SIMPLE_TYPE_VALIDATION_OK)
18668         {
18669             if( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL,
18670                 simpleTypeValidationResult,
18671                 HASH_ELEMENT_MATRIX,
18672                 (ParserChar*)0, 0 ) )
18673             {
18674                 return false;
18675             }
18676         }
18677         return returnValue;
18678     }
18679     else
18680     {
18681 return floatDataEnd( &ColladaParserAutoGen14::data__matrix );
18682     }
18683 #else
18684     {
18685 return floatDataEnd( &ColladaParserAutoGen14::data__matrix );
18686     } // validation
18687 #endif
18688 
18689 }
18690 
18691 //---------------------------------------------------------------------
_freeAttributes__matrix(void * attributeData)18692 bool ColladaParserAutoGen14Private::_freeAttributes__matrix( void* attributeData )
18693 {
18694     matrix__AttributeData* typedAttributeData = static_cast<matrix__AttributeData*>(attributeData);
18695 
18696     typedAttributeData->~matrix__AttributeData();
18697 
18698     return true;
18699 }
18700 
18701 //---------------------------------------------------------------------
18702 const rotate__AttributeData rotate__AttributeData::DEFAULT = {0};
18703 
18704 //---------------------------------------------------------------------
_data__rotate(const ParserChar * text,size_t textLength)18705 bool ColladaParserAutoGen14Private::_data__rotate( const ParserChar* text, size_t textLength )
18706 {
18707 #ifdef GENERATEDSAXPARSER_VALIDATION
18708     if ( mValidate )
18709     {
18710         float4____float4__ValidationData* validationData = (float4____float4__ValidationData*)mValidationDataStack.top();
18711         DISABLE_WARNING_UNUSED(validationData)
18712 return characterData2FloatData(text, textLength, &ColladaParserAutoGen14::data__rotate, &validate__float4__stream, &validationData->validationWholeSize, 0);
18713     }
18714     else
18715     {
18716 return characterData2FloatData(text, textLength, &ColladaParserAutoGen14::data__rotate);
18717     }
18718 #else
18719     {
18720 return characterData2FloatData(text, textLength, &ColladaParserAutoGen14::data__rotate);
18721     } // validation
18722 #endif
18723 
18724 }
18725 
18726 //---------------------------------------------------------------------
_preBegin__rotate(const ParserAttributes & attributes,void ** attributeDataPtr,void ** validationDataPtr)18727 bool ColladaParserAutoGen14Private::_preBegin__rotate( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
18728 {
18729 #ifdef GENERATEDSAXPARSER_VALIDATION
18730     if ( mValidate )
18731     {
18732 
18733         bool validationResult = _validateBegin__rotate( attributes, attributeDataPtr, validationDataPtr );
18734         if ( !validationResult ) return false;
18735 
18736     } // validation
18737 #endif
18738 
18739 rotate__AttributeData* attributeData = newData<rotate__AttributeData>(attributeDataPtr);
18740 
18741 const ParserChar** attributeArray = attributes.attributes;
18742 if ( attributeArray )
18743 {
18744     while (true)
18745     {
18746         const ParserChar * attribute = *attributeArray;
18747         if ( !attribute )
18748             break;
18749         StringHash hash = GeneratedSaxParser::Utils::calculateStringHash(attribute);
18750         attributeArray++;
18751         if ( !attributeArray )
18752             return false;
18753         const ParserChar* attributeValue = *attributeArray;
18754         attributeArray++;
18755 
18756 
18757     switch ( hash )
18758     {
18759     case HASH_ATTRIBUTE_sid:
18760     {
18761 
18762 attributeData->sid = attributeValue;
18763 #ifdef GENERATEDSAXPARSER_VALIDATION
18764     if ( mValidate )
18765     {
18766     ParserError::ErrorType simpleTypeValidationResult = validate__NCName(attributeData->sid, strlen(attributeData->sid));
18767     if (simpleTypeValidationResult != ParserError::SIMPLE_TYPE_VALIDATION_OK)
18768     {
18769         if( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL,
18770             simpleTypeValidationResult,
18771             HASH_ELEMENT_ROTATE,
18772             HASH_ATTRIBUTE_sid,
18773             attributeValue) )
18774         {
18775             return false;
18776         }
18777     }
18778     } // validation
18779 #endif
18780 
18781     break;
18782     }
18783     default:
18784     {
18785         if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_UNKNOWN_ATTRIBUTE, HASH_ELEMENT_ROTATE, attribute, attributeValue))
18786             {return false;}
18787     }
18788     }
18789     }
18790 }
18791 
18792 
18793     return true;
18794 }
18795 
18796 //---------------------------------------------------------------------
_preEnd__rotate()18797 bool ColladaParserAutoGen14Private::_preEnd__rotate()
18798 {
18799 #ifdef GENERATEDSAXPARSER_VALIDATION
18800     if ( mValidate )
18801     {
18802 
18803         bool validationResult = _validateEnd__rotate();
18804         if ( !validationResult ) return false;
18805 
18806     } // validation
18807 #endif
18808 
18809 #ifdef GENERATEDSAXPARSER_VALIDATION
18810     if ( mValidate )
18811     {
18812         float4____float4__ValidationData* validationData = (float4____float4__ValidationData*)mValidationDataStack.top();
18813         DISABLE_WARNING_UNUSED(validationData)
18814 bool returnValue = floatDataEnd( &ColladaParserAutoGen14::data__rotate, &validate__float4__streamEnd, &validationData->validationWholeSize, 0 );
18815         ParserError::ErrorType simpleTypeValidationResult = validate__float4(0, (*(&validationData->validationWholeSize)));
18816         mValidationDataStack.deleteObject();
18817         if (simpleTypeValidationResult != ParserError::SIMPLE_TYPE_VALIDATION_OK)
18818         {
18819             if( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL,
18820                 simpleTypeValidationResult,
18821                 HASH_ELEMENT_ROTATE,
18822                 (ParserChar*)0, 0 ) )
18823             {
18824                 return false;
18825             }
18826         }
18827         return returnValue;
18828     }
18829     else
18830     {
18831 return floatDataEnd( &ColladaParserAutoGen14::data__rotate );
18832     }
18833 #else
18834     {
18835 return floatDataEnd( &ColladaParserAutoGen14::data__rotate );
18836     } // validation
18837 #endif
18838 
18839 }
18840 
18841 //---------------------------------------------------------------------
_freeAttributes__rotate(void * attributeData)18842 bool ColladaParserAutoGen14Private::_freeAttributes__rotate( void* attributeData )
18843 {
18844     rotate__AttributeData* typedAttributeData = static_cast<rotate__AttributeData*>(attributeData);
18845 
18846     typedAttributeData->~rotate__AttributeData();
18847 
18848     return true;
18849 }
18850 
18851 //---------------------------------------------------------------------
18852 const scale__AttributeData scale__AttributeData::DEFAULT = {0};
18853 
18854 //---------------------------------------------------------------------
_data__scale(const ParserChar * text,size_t textLength)18855 bool ColladaParserAutoGen14Private::_data__scale( const ParserChar* text, size_t textLength )
18856 {
18857 #ifdef GENERATEDSAXPARSER_VALIDATION
18858     if ( mValidate )
18859     {
18860         float3____float3__ValidationData* validationData = (float3____float3__ValidationData*)mValidationDataStack.top();
18861         DISABLE_WARNING_UNUSED(validationData)
18862 return characterData2FloatData(text, textLength, &ColladaParserAutoGen14::data__scale, &validate__float3__stream, &validationData->validationWholeSize, 0);
18863     }
18864     else
18865     {
18866 return characterData2FloatData(text, textLength, &ColladaParserAutoGen14::data__scale);
18867     }
18868 #else
18869     {
18870 return characterData2FloatData(text, textLength, &ColladaParserAutoGen14::data__scale);
18871     } // validation
18872 #endif
18873 
18874 }
18875 
18876 //---------------------------------------------------------------------
_preBegin__scale(const ParserAttributes & attributes,void ** attributeDataPtr,void ** validationDataPtr)18877 bool ColladaParserAutoGen14Private::_preBegin__scale( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
18878 {
18879 #ifdef GENERATEDSAXPARSER_VALIDATION
18880     if ( mValidate )
18881     {
18882 
18883         bool validationResult = _validateBegin__scale( attributes, attributeDataPtr, validationDataPtr );
18884         if ( !validationResult ) return false;
18885 
18886     } // validation
18887 #endif
18888 
18889 scale__AttributeData* attributeData = newData<scale__AttributeData>(attributeDataPtr);
18890 
18891 const ParserChar** attributeArray = attributes.attributes;
18892 if ( attributeArray )
18893 {
18894     while (true)
18895     {
18896         const ParserChar * attribute = *attributeArray;
18897         if ( !attribute )
18898             break;
18899         StringHash hash = GeneratedSaxParser::Utils::calculateStringHash(attribute);
18900         attributeArray++;
18901         if ( !attributeArray )
18902             return false;
18903         const ParserChar* attributeValue = *attributeArray;
18904         attributeArray++;
18905 
18906 
18907     switch ( hash )
18908     {
18909     case HASH_ATTRIBUTE_sid:
18910     {
18911 
18912 attributeData->sid = attributeValue;
18913 #ifdef GENERATEDSAXPARSER_VALIDATION
18914     if ( mValidate )
18915     {
18916     ParserError::ErrorType simpleTypeValidationResult = validate__NCName(attributeData->sid, strlen(attributeData->sid));
18917     if (simpleTypeValidationResult != ParserError::SIMPLE_TYPE_VALIDATION_OK)
18918     {
18919         if( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL,
18920             simpleTypeValidationResult,
18921             HASH_ELEMENT_SCALE,
18922             HASH_ATTRIBUTE_sid,
18923             attributeValue) )
18924         {
18925             return false;
18926         }
18927     }
18928     } // validation
18929 #endif
18930 
18931     break;
18932     }
18933     default:
18934     {
18935         if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_UNKNOWN_ATTRIBUTE, HASH_ELEMENT_SCALE, attribute, attributeValue))
18936             {return false;}
18937     }
18938     }
18939     }
18940 }
18941 
18942 
18943     return true;
18944 }
18945 
18946 //---------------------------------------------------------------------
_preEnd__scale()18947 bool ColladaParserAutoGen14Private::_preEnd__scale()
18948 {
18949 #ifdef GENERATEDSAXPARSER_VALIDATION
18950     if ( mValidate )
18951     {
18952 
18953         bool validationResult = _validateEnd__scale();
18954         if ( !validationResult ) return false;
18955 
18956     } // validation
18957 #endif
18958 
18959 #ifdef GENERATEDSAXPARSER_VALIDATION
18960     if ( mValidate )
18961     {
18962         float3____float3__ValidationData* validationData = (float3____float3__ValidationData*)mValidationDataStack.top();
18963         DISABLE_WARNING_UNUSED(validationData)
18964 bool returnValue = floatDataEnd( &ColladaParserAutoGen14::data__scale, &validate__float3__streamEnd, &validationData->validationWholeSize, 0 );
18965         ParserError::ErrorType simpleTypeValidationResult = validate__float3(0, (*(&validationData->validationWholeSize)));
18966         mValidationDataStack.deleteObject();
18967         if (simpleTypeValidationResult != ParserError::SIMPLE_TYPE_VALIDATION_OK)
18968         {
18969             if( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL,
18970                 simpleTypeValidationResult,
18971                 HASH_ELEMENT_SCALE,
18972                 (ParserChar*)0, 0 ) )
18973             {
18974                 return false;
18975             }
18976         }
18977         return returnValue;
18978     }
18979     else
18980     {
18981 return floatDataEnd( &ColladaParserAutoGen14::data__scale );
18982     }
18983 #else
18984     {
18985 return floatDataEnd( &ColladaParserAutoGen14::data__scale );
18986     } // validation
18987 #endif
18988 
18989 }
18990 
18991 //---------------------------------------------------------------------
_freeAttributes__scale(void * attributeData)18992 bool ColladaParserAutoGen14Private::_freeAttributes__scale( void* attributeData )
18993 {
18994     scale__AttributeData* typedAttributeData = static_cast<scale__AttributeData*>(attributeData);
18995 
18996     typedAttributeData->~scale__AttributeData();
18997 
18998     return true;
18999 }
19000 
19001 //---------------------------------------------------------------------
19002 const skew__AttributeData skew__AttributeData::DEFAULT = {0};
19003 
19004 //---------------------------------------------------------------------
_data__skew(const ParserChar * text,size_t textLength)19005 bool ColladaParserAutoGen14Private::_data__skew( const ParserChar* text, size_t textLength )
19006 {
19007 #ifdef GENERATEDSAXPARSER_VALIDATION
19008     if ( mValidate )
19009     {
19010         skew__ValidationData* validationData = (skew__ValidationData*)mValidationDataStack.top();
19011         DISABLE_WARNING_UNUSED(validationData)
19012 return characterData2FloatData(text, textLength, &ColladaParserAutoGen14::data__skew, &validate__float7__stream, &validationData->validationWholeSize, 0);
19013     }
19014     else
19015     {
19016 return characterData2FloatData(text, textLength, &ColladaParserAutoGen14::data__skew);
19017     }
19018 #else
19019     {
19020 return characterData2FloatData(text, textLength, &ColladaParserAutoGen14::data__skew);
19021     } // validation
19022 #endif
19023 
19024 }
19025 
19026 //---------------------------------------------------------------------
_preBegin__skew(const ParserAttributes & attributes,void ** attributeDataPtr,void ** validationDataPtr)19027 bool ColladaParserAutoGen14Private::_preBegin__skew( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
19028 {
19029 #ifdef GENERATEDSAXPARSER_VALIDATION
19030     if ( mValidate )
19031     {
19032 
19033         bool validationResult = _validateBegin__skew( attributes, attributeDataPtr, validationDataPtr );
19034         if ( !validationResult ) return false;
19035 
19036     } // validation
19037 #endif
19038 
19039 skew__AttributeData* attributeData = newData<skew__AttributeData>(attributeDataPtr);
19040 
19041 const ParserChar** attributeArray = attributes.attributes;
19042 if ( attributeArray )
19043 {
19044     while (true)
19045     {
19046         const ParserChar * attribute = *attributeArray;
19047         if ( !attribute )
19048             break;
19049         StringHash hash = GeneratedSaxParser::Utils::calculateStringHash(attribute);
19050         attributeArray++;
19051         if ( !attributeArray )
19052             return false;
19053         const ParserChar* attributeValue = *attributeArray;
19054         attributeArray++;
19055 
19056 
19057     switch ( hash )
19058     {
19059     case HASH_ATTRIBUTE_sid:
19060     {
19061 
19062 attributeData->sid = attributeValue;
19063 #ifdef GENERATEDSAXPARSER_VALIDATION
19064     if ( mValidate )
19065     {
19066     ParserError::ErrorType simpleTypeValidationResult = validate__NCName(attributeData->sid, strlen(attributeData->sid));
19067     if (simpleTypeValidationResult != ParserError::SIMPLE_TYPE_VALIDATION_OK)
19068     {
19069         if( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL,
19070             simpleTypeValidationResult,
19071             HASH_ELEMENT_SKEW,
19072             HASH_ATTRIBUTE_sid,
19073             attributeValue) )
19074         {
19075             return false;
19076         }
19077     }
19078     } // validation
19079 #endif
19080 
19081     break;
19082     }
19083     default:
19084     {
19085         if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_UNKNOWN_ATTRIBUTE, HASH_ELEMENT_SKEW, attribute, attributeValue))
19086             {return false;}
19087     }
19088     }
19089     }
19090 }
19091 
19092 
19093     return true;
19094 }
19095 
19096 //---------------------------------------------------------------------
_preEnd__skew()19097 bool ColladaParserAutoGen14Private::_preEnd__skew()
19098 {
19099 #ifdef GENERATEDSAXPARSER_VALIDATION
19100     if ( mValidate )
19101     {
19102 
19103         bool validationResult = _validateEnd__skew();
19104         if ( !validationResult ) return false;
19105 
19106     } // validation
19107 #endif
19108 
19109 #ifdef GENERATEDSAXPARSER_VALIDATION
19110     if ( mValidate )
19111     {
19112         skew__ValidationData* validationData = (skew__ValidationData*)mValidationDataStack.top();
19113         DISABLE_WARNING_UNUSED(validationData)
19114 bool returnValue = floatDataEnd( &ColladaParserAutoGen14::data__skew, &validate__float7__streamEnd, &validationData->validationWholeSize, 0 );
19115         ParserError::ErrorType simpleTypeValidationResult = validate__float7(0, (*(&validationData->validationWholeSize)));
19116         mValidationDataStack.deleteObject();
19117         if (simpleTypeValidationResult != ParserError::SIMPLE_TYPE_VALIDATION_OK)
19118         {
19119             if( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL,
19120                 simpleTypeValidationResult,
19121                 HASH_ELEMENT_SKEW,
19122                 (ParserChar*)0, 0 ) )
19123             {
19124                 return false;
19125             }
19126         }
19127         return returnValue;
19128     }
19129     else
19130     {
19131 return floatDataEnd( &ColladaParserAutoGen14::data__skew );
19132     }
19133 #else
19134     {
19135 return floatDataEnd( &ColladaParserAutoGen14::data__skew );
19136     } // validation
19137 #endif
19138 
19139 }
19140 
19141 //---------------------------------------------------------------------
_freeAttributes__skew(void * attributeData)19142 bool ColladaParserAutoGen14Private::_freeAttributes__skew( void* attributeData )
19143 {
19144     skew__AttributeData* typedAttributeData = static_cast<skew__AttributeData*>(attributeData);
19145 
19146     typedAttributeData->~skew__AttributeData();
19147 
19148     return true;
19149 }
19150 
19151 //---------------------------------------------------------------------
19152 const translate__AttributeData translate__AttributeData::DEFAULT = {0};
19153 
19154 //---------------------------------------------------------------------
_data__translate(const ParserChar * text,size_t textLength)19155 bool ColladaParserAutoGen14Private::_data__translate( const ParserChar* text, size_t textLength )
19156 {
19157 #ifdef GENERATEDSAXPARSER_VALIDATION
19158     if ( mValidate )
19159     {
19160         float3____float3__ValidationData* validationData = (float3____float3__ValidationData*)mValidationDataStack.top();
19161         DISABLE_WARNING_UNUSED(validationData)
19162 return characterData2FloatData(text, textLength, &ColladaParserAutoGen14::data__translate, &validate__float3__stream, &validationData->validationWholeSize, 0);
19163     }
19164     else
19165     {
19166 return characterData2FloatData(text, textLength, &ColladaParserAutoGen14::data__translate);
19167     }
19168 #else
19169     {
19170 return characterData2FloatData(text, textLength, &ColladaParserAutoGen14::data__translate);
19171     } // validation
19172 #endif
19173 
19174 }
19175 
19176 //---------------------------------------------------------------------
_preBegin__translate(const ParserAttributes & attributes,void ** attributeDataPtr,void ** validationDataPtr)19177 bool ColladaParserAutoGen14Private::_preBegin__translate( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
19178 {
19179 #ifdef GENERATEDSAXPARSER_VALIDATION
19180     if ( mValidate )
19181     {
19182 
19183         bool validationResult = _validateBegin__translate( attributes, attributeDataPtr, validationDataPtr );
19184         if ( !validationResult ) return false;
19185 
19186     } // validation
19187 #endif
19188 
19189 translate__AttributeData* attributeData = newData<translate__AttributeData>(attributeDataPtr);
19190 
19191 const ParserChar** attributeArray = attributes.attributes;
19192 if ( attributeArray )
19193 {
19194     while (true)
19195     {
19196         const ParserChar * attribute = *attributeArray;
19197         if ( !attribute )
19198             break;
19199         StringHash hash = GeneratedSaxParser::Utils::calculateStringHash(attribute);
19200         attributeArray++;
19201         if ( !attributeArray )
19202             return false;
19203         const ParserChar* attributeValue = *attributeArray;
19204         attributeArray++;
19205 
19206 
19207     switch ( hash )
19208     {
19209     case HASH_ATTRIBUTE_sid:
19210     {
19211 
19212 attributeData->sid = attributeValue;
19213 #ifdef GENERATEDSAXPARSER_VALIDATION
19214     if ( mValidate )
19215     {
19216     ParserError::ErrorType simpleTypeValidationResult = validate__NCName(attributeData->sid, strlen(attributeData->sid));
19217     if (simpleTypeValidationResult != ParserError::SIMPLE_TYPE_VALIDATION_OK)
19218     {
19219         if( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL,
19220             simpleTypeValidationResult,
19221             HASH_ELEMENT_TRANSLATE,
19222             HASH_ATTRIBUTE_sid,
19223             attributeValue) )
19224         {
19225             return false;
19226         }
19227     }
19228     } // validation
19229 #endif
19230 
19231     break;
19232     }
19233     default:
19234     {
19235         if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_UNKNOWN_ATTRIBUTE, HASH_ELEMENT_TRANSLATE, attribute, attributeValue))
19236             {return false;}
19237     }
19238     }
19239     }
19240 }
19241 
19242 
19243     return true;
19244 }
19245 
19246 //---------------------------------------------------------------------
_preEnd__translate()19247 bool ColladaParserAutoGen14Private::_preEnd__translate()
19248 {
19249 #ifdef GENERATEDSAXPARSER_VALIDATION
19250     if ( mValidate )
19251     {
19252 
19253         bool validationResult = _validateEnd__translate();
19254         if ( !validationResult ) return false;
19255 
19256     } // validation
19257 #endif
19258 
19259 #ifdef GENERATEDSAXPARSER_VALIDATION
19260     if ( mValidate )
19261     {
19262         float3____float3__ValidationData* validationData = (float3____float3__ValidationData*)mValidationDataStack.top();
19263         DISABLE_WARNING_UNUSED(validationData)
19264 bool returnValue = floatDataEnd( &ColladaParserAutoGen14::data__translate, &validate__float3__streamEnd, &validationData->validationWholeSize, 0 );
19265         ParserError::ErrorType simpleTypeValidationResult = validate__float3(0, (*(&validationData->validationWholeSize)));
19266         mValidationDataStack.deleteObject();
19267         if (simpleTypeValidationResult != ParserError::SIMPLE_TYPE_VALIDATION_OK)
19268         {
19269             if( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL,
19270                 simpleTypeValidationResult,
19271                 HASH_ELEMENT_TRANSLATE,
19272                 (ParserChar*)0, 0 ) )
19273             {
19274                 return false;
19275             }
19276         }
19277         return returnValue;
19278     }
19279     else
19280     {
19281 return floatDataEnd( &ColladaParserAutoGen14::data__translate );
19282     }
19283 #else
19284     {
19285 return floatDataEnd( &ColladaParserAutoGen14::data__translate );
19286     } // validation
19287 #endif
19288 
19289 }
19290 
19291 //---------------------------------------------------------------------
_freeAttributes__translate(void * attributeData)19292 bool ColladaParserAutoGen14Private::_freeAttributes__translate( void* attributeData )
19293 {
19294     translate__AttributeData* typedAttributeData = static_cast<translate__AttributeData*>(attributeData);
19295 
19296     typedAttributeData->~translate__AttributeData();
19297 
19298     return true;
19299 }
19300 
19301 //---------------------------------------------------------------------
19302 const instance_camera__AttributeData instance_camera__AttributeData::DEFAULT = {0, 0, 0, 0};
19303 
19304 //---------------------------------------------------------------------
_data__instance_camera(const ParserChar * text,size_t textLength)19305 bool ColladaParserAutoGen14Private::_data__instance_camera( const ParserChar* text, size_t textLength )
19306 {
19307     return true;
19308 }
19309 
19310 //---------------------------------------------------------------------
_preBegin__instance_camera(const ParserAttributes & attributes,void ** attributeDataPtr,void ** validationDataPtr)19311 bool ColladaParserAutoGen14Private::_preBegin__instance_camera( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
19312 {
19313 #ifdef GENERATEDSAXPARSER_VALIDATION
19314     if ( mValidate )
19315     {
19316 
19317         bool validationResult = _validateBegin__instance_camera( attributes, attributeDataPtr, validationDataPtr );
19318         if ( !validationResult ) return false;
19319 
19320     } // validation
19321 #endif
19322 
19323 instance_camera__AttributeData* attributeData = newData<instance_camera__AttributeData>(attributeDataPtr);
19324 
19325 const ParserChar** attributeArray = attributes.attributes;
19326 if ( attributeArray )
19327 {
19328     while (true)
19329     {
19330         const ParserChar * attribute = *attributeArray;
19331         if ( !attribute )
19332             break;
19333         StringHash hash = GeneratedSaxParser::Utils::calculateStringHash(attribute);
19334         attributeArray++;
19335         if ( !attributeArray )
19336             return false;
19337         const ParserChar* attributeValue = *attributeArray;
19338         attributeArray++;
19339 
19340 
19341     switch ( hash )
19342     {
19343     case HASH_ATTRIBUTE_url:
19344     {
19345 bool failed;
19346 attributeData->url = GeneratedSaxParser::Utils::toURI(&attributeValue, failed);
19347 if ( failed && handleError(ParserError::SEVERITY_ERROR_NONCRITICAL,
19348         ParserError::ERROR_ATTRIBUTE_PARSING_FAILED,
19349         HASH_ELEMENT_INSTANCE_CAMERA,
19350         HASH_ATTRIBUTE_url,
19351         attributeValue))
19352 {
19353     return false;
19354 }
19355 if ( !failed )
19356     attributeData->present_attributes |= instance_camera__AttributeData::ATTRIBUTE_URL_PRESENT;
19357 
19358     break;
19359     }
19360     case HASH_ATTRIBUTE_sid:
19361     {
19362 
19363 attributeData->sid = attributeValue;
19364 #ifdef GENERATEDSAXPARSER_VALIDATION
19365     if ( mValidate )
19366     {
19367     ParserError::ErrorType simpleTypeValidationResult = validate__NCName(attributeData->sid, strlen(attributeData->sid));
19368     if (simpleTypeValidationResult != ParserError::SIMPLE_TYPE_VALIDATION_OK)
19369     {
19370         if( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL,
19371             simpleTypeValidationResult,
19372             HASH_ELEMENT_INSTANCE_CAMERA,
19373             HASH_ATTRIBUTE_sid,
19374             attributeValue) )
19375         {
19376             return false;
19377         }
19378     }
19379     } // validation
19380 #endif
19381 
19382     break;
19383     }
19384     case HASH_ATTRIBUTE_name:
19385     {
19386 
19387 attributeData->name = attributeValue;
19388 #ifdef GENERATEDSAXPARSER_VALIDATION
19389     if ( mValidate )
19390     {
19391     ParserError::ErrorType simpleTypeValidationResult = validate__NCName(attributeData->name, strlen(attributeData->name));
19392     if (simpleTypeValidationResult != ParserError::SIMPLE_TYPE_VALIDATION_OK)
19393     {
19394         if( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL,
19395             simpleTypeValidationResult,
19396             HASH_ELEMENT_INSTANCE_CAMERA,
19397             HASH_ATTRIBUTE_name,
19398             attributeValue) )
19399         {
19400             return false;
19401         }
19402     }
19403     } // validation
19404 #endif
19405 
19406     break;
19407     }
19408     default:
19409     {
19410         if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_UNKNOWN_ATTRIBUTE, HASH_ELEMENT_INSTANCE_CAMERA, attribute, attributeValue))
19411             {return false;}
19412     }
19413     }
19414     }
19415 }
19416 if ((attributeData->present_attributes & instance_camera__AttributeData::ATTRIBUTE_URL_PRESENT) == 0)
19417 {
19418     attributeData->url = COLLADABU::URI("");
19419 }
19420 if ( (attributeData->present_attributes & instance_camera__AttributeData::ATTRIBUTE_URL_PRESENT) == 0 )
19421 {
19422     if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_REQUIRED_ATTRIBUTE_MISSING, HASH_ELEMENT_INSTANCE_CAMERA, HASH_ATTRIBUTE_url, 0 ) )
19423         return false;
19424 }
19425 
19426 
19427     return true;
19428 }
19429 
19430 //---------------------------------------------------------------------
_preEnd__instance_camera()19431 bool ColladaParserAutoGen14Private::_preEnd__instance_camera()
19432 {
19433 #ifdef GENERATEDSAXPARSER_VALIDATION
19434     if ( mValidate )
19435     {
19436 
19437         bool validationResult = _validateEnd__instance_camera();
19438         if ( !validationResult ) return false;
19439 
19440     } // validation
19441 #endif
19442 
19443     return true;
19444 }
19445 
19446 //---------------------------------------------------------------------
_freeAttributes__instance_camera(void * attributeData)19447 bool ColladaParserAutoGen14Private::_freeAttributes__instance_camera( void* attributeData )
19448 {
19449     instance_camera__AttributeData* typedAttributeData = static_cast<instance_camera__AttributeData*>(attributeData);
19450 
19451     typedAttributeData->~instance_camera__AttributeData();
19452 
19453     return true;
19454 }
19455 
19456 //---------------------------------------------------------------------
19457 const instance_controller__AttributeData instance_controller__AttributeData::DEFAULT = {0, 0, 0, 0};
19458 
19459 //---------------------------------------------------------------------
_data__instance_controller(const ParserChar * text,size_t textLength)19460 bool ColladaParserAutoGen14Private::_data__instance_controller( const ParserChar* text, size_t textLength )
19461 {
19462     return true;
19463 }
19464 
19465 //---------------------------------------------------------------------
_preBegin__instance_controller(const ParserAttributes & attributes,void ** attributeDataPtr,void ** validationDataPtr)19466 bool ColladaParserAutoGen14Private::_preBegin__instance_controller( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
19467 {
19468 #ifdef GENERATEDSAXPARSER_VALIDATION
19469     if ( mValidate )
19470     {
19471 
19472         bool validationResult = _validateBegin__instance_controller( attributes, attributeDataPtr, validationDataPtr );
19473         if ( !validationResult ) return false;
19474 
19475     } // validation
19476 #endif
19477 
19478 instance_controller__AttributeData* attributeData = newData<instance_controller__AttributeData>(attributeDataPtr);
19479 
19480 const ParserChar** attributeArray = attributes.attributes;
19481 if ( attributeArray )
19482 {
19483     while (true)
19484     {
19485         const ParserChar * attribute = *attributeArray;
19486         if ( !attribute )
19487             break;
19488         StringHash hash = GeneratedSaxParser::Utils::calculateStringHash(attribute);
19489         attributeArray++;
19490         if ( !attributeArray )
19491             return false;
19492         const ParserChar* attributeValue = *attributeArray;
19493         attributeArray++;
19494 
19495 
19496     switch ( hash )
19497     {
19498     case HASH_ATTRIBUTE_url:
19499     {
19500 bool failed;
19501 attributeData->url = GeneratedSaxParser::Utils::toURI(&attributeValue, failed);
19502 if ( failed && handleError(ParserError::SEVERITY_ERROR_NONCRITICAL,
19503         ParserError::ERROR_ATTRIBUTE_PARSING_FAILED,
19504         HASH_ELEMENT_INSTANCE_CONTROLLER,
19505         HASH_ATTRIBUTE_url,
19506         attributeValue))
19507 {
19508     return false;
19509 }
19510 if ( !failed )
19511     attributeData->present_attributes |= instance_controller__AttributeData::ATTRIBUTE_URL_PRESENT;
19512 
19513     break;
19514     }
19515     case HASH_ATTRIBUTE_sid:
19516     {
19517 
19518 attributeData->sid = attributeValue;
19519 #ifdef GENERATEDSAXPARSER_VALIDATION
19520     if ( mValidate )
19521     {
19522     ParserError::ErrorType simpleTypeValidationResult = validate__NCName(attributeData->sid, strlen(attributeData->sid));
19523     if (simpleTypeValidationResult != ParserError::SIMPLE_TYPE_VALIDATION_OK)
19524     {
19525         if( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL,
19526             simpleTypeValidationResult,
19527             HASH_ELEMENT_INSTANCE_CONTROLLER,
19528             HASH_ATTRIBUTE_sid,
19529             attributeValue) )
19530         {
19531             return false;
19532         }
19533     }
19534     } // validation
19535 #endif
19536 
19537     break;
19538     }
19539     case HASH_ATTRIBUTE_name:
19540     {
19541 
19542 attributeData->name = attributeValue;
19543 #ifdef GENERATEDSAXPARSER_VALIDATION
19544     if ( mValidate )
19545     {
19546     ParserError::ErrorType simpleTypeValidationResult = validate__NCName(attributeData->name, strlen(attributeData->name));
19547     if (simpleTypeValidationResult != ParserError::SIMPLE_TYPE_VALIDATION_OK)
19548     {
19549         if( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL,
19550             simpleTypeValidationResult,
19551             HASH_ELEMENT_INSTANCE_CONTROLLER,
19552             HASH_ATTRIBUTE_name,
19553             attributeValue) )
19554         {
19555             return false;
19556         }
19557     }
19558     } // validation
19559 #endif
19560 
19561     break;
19562     }
19563     default:
19564     {
19565         if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_UNKNOWN_ATTRIBUTE, HASH_ELEMENT_INSTANCE_CONTROLLER, attribute, attributeValue))
19566             {return false;}
19567     }
19568     }
19569     }
19570 }
19571 if ((attributeData->present_attributes & instance_controller__AttributeData::ATTRIBUTE_URL_PRESENT) == 0)
19572 {
19573     attributeData->url = COLLADABU::URI("");
19574 }
19575 if ( (attributeData->present_attributes & instance_controller__AttributeData::ATTRIBUTE_URL_PRESENT) == 0 )
19576 {
19577     if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_REQUIRED_ATTRIBUTE_MISSING, HASH_ELEMENT_INSTANCE_CONTROLLER, HASH_ATTRIBUTE_url, 0 ) )
19578         return false;
19579 }
19580 
19581 
19582     return true;
19583 }
19584 
19585 //---------------------------------------------------------------------
_preEnd__instance_controller()19586 bool ColladaParserAutoGen14Private::_preEnd__instance_controller()
19587 {
19588 #ifdef GENERATEDSAXPARSER_VALIDATION
19589     if ( mValidate )
19590     {
19591 
19592         bool validationResult = _validateEnd__instance_controller();
19593         if ( !validationResult ) return false;
19594 
19595     } // validation
19596 #endif
19597 
19598     return true;
19599 }
19600 
19601 //---------------------------------------------------------------------
_freeAttributes__instance_controller(void * attributeData)19602 bool ColladaParserAutoGen14Private::_freeAttributes__instance_controller( void* attributeData )
19603 {
19604     instance_controller__AttributeData* typedAttributeData = static_cast<instance_controller__AttributeData*>(attributeData);
19605 
19606     typedAttributeData->~instance_controller__AttributeData();
19607 
19608     return true;
19609 }
19610 
19611 //---------------------------------------------------------------------
_data__skeleton(const ParserChar * text,size_t textLength)19612 bool ColladaParserAutoGen14Private::_data__skeleton( const ParserChar* text, size_t textLength )
19613 {
19614 if (!mLastIncompleteFragmentInCharacterData)
19615 {
19616     mLastIncompleteFragmentInCharacterData = (ParserChar*)mStackMemoryManager.newObject(textLength);
19617     memcpy(mLastIncompleteFragmentInCharacterData, text, textLength);
19618     mEndOfDataInCurrentObjectOnStack = mLastIncompleteFragmentInCharacterData + textLength;
19619 }
19620 else
19621 {
19622     ParserChar* tmp = (ParserChar*)mStackMemoryManager.growObject(textLength);
19623     if ( tmp != mLastIncompleteFragmentInCharacterData ) {
19624         mEndOfDataInCurrentObjectOnStack = (mEndOfDataInCurrentObjectOnStack - mLastIncompleteFragmentInCharacterData) + tmp;
19625         mLastIncompleteFragmentInCharacterData = tmp;
19626     }
19627     memcpy(mEndOfDataInCurrentObjectOnStack, text, textLength);
19628     mEndOfDataInCurrentObjectOnStack += textLength;
19629 }
19630 return true;
19631 }
19632 
19633 //---------------------------------------------------------------------
_preBegin__skeleton(const ParserAttributes & attributes,void ** attributeDataPtr,void ** validationDataPtr)19634 bool ColladaParserAutoGen14Private::_preBegin__skeleton( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
19635 {
19636 #ifdef GENERATEDSAXPARSER_VALIDATION
19637     if ( mValidate )
19638     {
19639 
19640         bool validationResult = _validateBegin__skeleton( attributes, attributeDataPtr, validationDataPtr );
19641         if ( !validationResult ) return false;
19642 
19643     } // validation
19644 #endif
19645 
19646     return true;
19647 }
19648 
19649 //---------------------------------------------------------------------
_preEnd__skeleton()19650 bool ColladaParserAutoGen14Private::_preEnd__skeleton()
19651 {
19652 #ifdef GENERATEDSAXPARSER_VALIDATION
19653     if ( mValidate )
19654     {
19655 
19656         bool validationResult = _validateEnd__skeleton();
19657         if ( !validationResult ) return false;
19658 
19659     } // validation
19660 #endif
19661 
19662 bool failed;
19663 const ParserChar* ptrForErr = mLastIncompleteFragmentInCharacterData;
19664 DISABLE_WARNING_UNUSED(ptrForErr)
19665 COLLADABU::URI parameter = GeneratedSaxParser::Utils::toURI((const ParserChar**)&mLastIncompleteFragmentInCharacterData, mEndOfDataInCurrentObjectOnStack, failed);
19666 bool returnValue;
19667 if (!failed)
19668 {
19669     returnValue = mImpl->data__skeleton(parameter);
19670 }
19671 else
19672     returnValue = !handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_TEXTDATA_PARSING_FAILED, HASH_ELEMENT_SKELETON, (const ParserChar*)0, mLastIncompleteFragmentInCharacterData);
19673 if (mLastIncompleteFragmentInCharacterData)
19674     mStackMemoryManager.deleteObject();
19675 mLastIncompleteFragmentInCharacterData = 0;
19676 mEndOfDataInCurrentObjectOnStack = 0;
19677 return returnValue;
19678 }
19679 
19680 //---------------------------------------------------------------------
_freeAttributes__skeleton(void * attributeData)19681 bool ColladaParserAutoGen14Private::_freeAttributes__skeleton( void* attributeData )
19682 {
19683     return true;
19684 }
19685 
19686 //---------------------------------------------------------------------
_data__bind_material(const ParserChar * text,size_t textLength)19687 bool ColladaParserAutoGen14Private::_data__bind_material( const ParserChar* text, size_t textLength )
19688 {
19689     return true;
19690 }
19691 
19692 //---------------------------------------------------------------------
_preBegin__bind_material(const ParserAttributes & attributes,void ** attributeDataPtr,void ** validationDataPtr)19693 bool ColladaParserAutoGen14Private::_preBegin__bind_material( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
19694 {
19695 #ifdef GENERATEDSAXPARSER_VALIDATION
19696     if ( mValidate )
19697     {
19698 
19699         bool validationResult = _validateBegin__bind_material( attributes, attributeDataPtr, validationDataPtr );
19700         if ( !validationResult ) return false;
19701 
19702     } // validation
19703 #endif
19704 
19705     return true;
19706 }
19707 
19708 //---------------------------------------------------------------------
_preEnd__bind_material()19709 bool ColladaParserAutoGen14Private::_preEnd__bind_material()
19710 {
19711 #ifdef GENERATEDSAXPARSER_VALIDATION
19712     if ( mValidate )
19713     {
19714 
19715         bool validationResult = _validateEnd__bind_material();
19716         if ( !validationResult ) return false;
19717 
19718     } // validation
19719 #endif
19720 
19721     return true;
19722 }
19723 
19724 //---------------------------------------------------------------------
_freeAttributes__bind_material(void * attributeData)19725 bool ColladaParserAutoGen14Private::_freeAttributes__bind_material( void* attributeData )
19726 {
19727     return true;
19728 }
19729 
19730 //---------------------------------------------------------------------
_data__bind_material__technique_common(const ParserChar * text,size_t textLength)19731 bool ColladaParserAutoGen14Private::_data__bind_material__technique_common( const ParserChar* text, size_t textLength )
19732 {
19733     return true;
19734 }
19735 
19736 //---------------------------------------------------------------------
_preBegin__bind_material__technique_common(const ParserAttributes & attributes,void ** attributeDataPtr,void ** validationDataPtr)19737 bool ColladaParserAutoGen14Private::_preBegin__bind_material__technique_common( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
19738 {
19739 #ifdef GENERATEDSAXPARSER_VALIDATION
19740     if ( mValidate )
19741     {
19742 
19743         bool validationResult = _validateBegin__bind_material__technique_common( attributes, attributeDataPtr, validationDataPtr );
19744         if ( !validationResult ) return false;
19745 
19746     } // validation
19747 #endif
19748 
19749     return true;
19750 }
19751 
19752 //---------------------------------------------------------------------
_preEnd__bind_material__technique_common()19753 bool ColladaParserAutoGen14Private::_preEnd__bind_material__technique_common()
19754 {
19755 #ifdef GENERATEDSAXPARSER_VALIDATION
19756     if ( mValidate )
19757     {
19758 
19759         bool validationResult = _validateEnd__bind_material__technique_common();
19760         if ( !validationResult ) return false;
19761 
19762     } // validation
19763 #endif
19764 
19765     return true;
19766 }
19767 
19768 //---------------------------------------------------------------------
_freeAttributes__bind_material__technique_common(void * attributeData)19769 bool ColladaParserAutoGen14Private::_freeAttributes__bind_material__technique_common( void* attributeData )
19770 {
19771     return true;
19772 }
19773 
19774 //---------------------------------------------------------------------
19775 const instance_material__AttributeData instance_material__AttributeData::DEFAULT = {0, 0, 0, 0, 0};
19776 
19777 //---------------------------------------------------------------------
_data__instance_material(const ParserChar * text,size_t textLength)19778 bool ColladaParserAutoGen14Private::_data__instance_material( const ParserChar* text, size_t textLength )
19779 {
19780     return true;
19781 }
19782 
19783 //---------------------------------------------------------------------
_preBegin__instance_material(const ParserAttributes & attributes,void ** attributeDataPtr,void ** validationDataPtr)19784 bool ColladaParserAutoGen14Private::_preBegin__instance_material( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
19785 {
19786 #ifdef GENERATEDSAXPARSER_VALIDATION
19787     if ( mValidate )
19788     {
19789 
19790         bool validationResult = _validateBegin__instance_material( attributes, attributeDataPtr, validationDataPtr );
19791         if ( !validationResult ) return false;
19792 
19793     } // validation
19794 #endif
19795 
19796 instance_material__AttributeData* attributeData = newData<instance_material__AttributeData>(attributeDataPtr);
19797 
19798 const ParserChar** attributeArray = attributes.attributes;
19799 if ( attributeArray )
19800 {
19801     while (true)
19802     {
19803         const ParserChar * attribute = *attributeArray;
19804         if ( !attribute )
19805             break;
19806         StringHash hash = GeneratedSaxParser::Utils::calculateStringHash(attribute);
19807         attributeArray++;
19808         if ( !attributeArray )
19809             return false;
19810         const ParserChar* attributeValue = *attributeArray;
19811         attributeArray++;
19812 
19813 
19814     switch ( hash )
19815     {
19816     case HASH_ATTRIBUTE_symbol:
19817     {
19818 
19819 attributeData->symbol = attributeValue;
19820 #ifdef GENERATEDSAXPARSER_VALIDATION
19821     if ( mValidate )
19822     {
19823     ParserError::ErrorType simpleTypeValidationResult = validate__NCName(attributeData->symbol, strlen(attributeData->symbol));
19824     if (simpleTypeValidationResult != ParserError::SIMPLE_TYPE_VALIDATION_OK)
19825     {
19826         if( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL,
19827             simpleTypeValidationResult,
19828             HASH_ELEMENT_INSTANCE_MATERIAL,
19829             HASH_ATTRIBUTE_symbol,
19830             attributeValue) )
19831         {
19832             return false;
19833         }
19834     }
19835     } // validation
19836 #endif
19837 
19838     break;
19839     }
19840     case HASH_ATTRIBUTE_target:
19841     {
19842 bool failed;
19843 attributeData->target = GeneratedSaxParser::Utils::toURI(&attributeValue, failed);
19844 if ( failed && handleError(ParserError::SEVERITY_ERROR_NONCRITICAL,
19845         ParserError::ERROR_ATTRIBUTE_PARSING_FAILED,
19846         HASH_ELEMENT_INSTANCE_MATERIAL,
19847         HASH_ATTRIBUTE_target,
19848         attributeValue))
19849 {
19850     return false;
19851 }
19852 if ( !failed )
19853     attributeData->present_attributes |= instance_material__AttributeData::ATTRIBUTE_TARGET_PRESENT;
19854 
19855     break;
19856     }
19857     case HASH_ATTRIBUTE_sid:
19858     {
19859 
19860 attributeData->sid = attributeValue;
19861 #ifdef GENERATEDSAXPARSER_VALIDATION
19862     if ( mValidate )
19863     {
19864     ParserError::ErrorType simpleTypeValidationResult = validate__NCName(attributeData->sid, strlen(attributeData->sid));
19865     if (simpleTypeValidationResult != ParserError::SIMPLE_TYPE_VALIDATION_OK)
19866     {
19867         if( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL,
19868             simpleTypeValidationResult,
19869             HASH_ELEMENT_INSTANCE_MATERIAL,
19870             HASH_ATTRIBUTE_sid,
19871             attributeValue) )
19872         {
19873             return false;
19874         }
19875     }
19876     } // validation
19877 #endif
19878 
19879     break;
19880     }
19881     case HASH_ATTRIBUTE_name:
19882     {
19883 
19884 attributeData->name = attributeValue;
19885 #ifdef GENERATEDSAXPARSER_VALIDATION
19886     if ( mValidate )
19887     {
19888     ParserError::ErrorType simpleTypeValidationResult = validate__NCName(attributeData->name, strlen(attributeData->name));
19889     if (simpleTypeValidationResult != ParserError::SIMPLE_TYPE_VALIDATION_OK)
19890     {
19891         if( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL,
19892             simpleTypeValidationResult,
19893             HASH_ELEMENT_INSTANCE_MATERIAL,
19894             HASH_ATTRIBUTE_name,
19895             attributeValue) )
19896         {
19897             return false;
19898         }
19899     }
19900     } // validation
19901 #endif
19902 
19903     break;
19904     }
19905     default:
19906     {
19907         if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_UNKNOWN_ATTRIBUTE, HASH_ELEMENT_INSTANCE_MATERIAL, attribute, attributeValue))
19908             {return false;}
19909     }
19910     }
19911     }
19912 }
19913 if ((attributeData->present_attributes & instance_material__AttributeData::ATTRIBUTE_TARGET_PRESENT) == 0)
19914 {
19915     attributeData->target = COLLADABU::URI("");
19916 }
19917 if ( !attributeData->symbol )
19918 {
19919     if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_REQUIRED_ATTRIBUTE_MISSING, HASH_ELEMENT_INSTANCE_MATERIAL, HASH_ATTRIBUTE_symbol, 0 ) )
19920         return false;
19921 }
19922 if ( (attributeData->present_attributes & instance_material__AttributeData::ATTRIBUTE_TARGET_PRESENT) == 0 )
19923 {
19924     if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_REQUIRED_ATTRIBUTE_MISSING, HASH_ELEMENT_INSTANCE_MATERIAL, HASH_ATTRIBUTE_target, 0 ) )
19925         return false;
19926 }
19927 
19928 
19929     return true;
19930 }
19931 
19932 //---------------------------------------------------------------------
_preEnd__instance_material()19933 bool ColladaParserAutoGen14Private::_preEnd__instance_material()
19934 {
19935 #ifdef GENERATEDSAXPARSER_VALIDATION
19936     if ( mValidate )
19937     {
19938 
19939         bool validationResult = _validateEnd__instance_material();
19940         if ( !validationResult ) return false;
19941 
19942     } // validation
19943 #endif
19944 
19945     return true;
19946 }
19947 
19948 //---------------------------------------------------------------------
_freeAttributes__instance_material(void * attributeData)19949 bool ColladaParserAutoGen14Private::_freeAttributes__instance_material( void* attributeData )
19950 {
19951     instance_material__AttributeData* typedAttributeData = static_cast<instance_material__AttributeData*>(attributeData);
19952 
19953     typedAttributeData->~instance_material__AttributeData();
19954 
19955     return true;
19956 }
19957 
19958 //---------------------------------------------------------------------
19959 const instance_material__bind__AttributeData instance_material__bind__AttributeData::DEFAULT = {0, 0};
19960 
19961 //---------------------------------------------------------------------
_data__instance_material__bind(const ParserChar * text,size_t textLength)19962 bool ColladaParserAutoGen14Private::_data__instance_material__bind( const ParserChar* text, size_t textLength )
19963 {
19964     return true;
19965 }
19966 
19967 //---------------------------------------------------------------------
_preBegin__instance_material__bind(const ParserAttributes & attributes,void ** attributeDataPtr,void ** validationDataPtr)19968 bool ColladaParserAutoGen14Private::_preBegin__instance_material__bind( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
19969 {
19970 #ifdef GENERATEDSAXPARSER_VALIDATION
19971     if ( mValidate )
19972     {
19973 
19974         bool validationResult = _validateBegin__instance_material__bind( attributes, attributeDataPtr, validationDataPtr );
19975         if ( !validationResult ) return false;
19976 
19977     } // validation
19978 #endif
19979 
19980 instance_material__bind__AttributeData* attributeData = newData<instance_material__bind__AttributeData>(attributeDataPtr);
19981 
19982 const ParserChar** attributeArray = attributes.attributes;
19983 if ( attributeArray )
19984 {
19985     while (true)
19986     {
19987         const ParserChar * attribute = *attributeArray;
19988         if ( !attribute )
19989             break;
19990         StringHash hash = GeneratedSaxParser::Utils::calculateStringHash(attribute);
19991         attributeArray++;
19992         if ( !attributeArray )
19993             return false;
19994         const ParserChar* attributeValue = *attributeArray;
19995         attributeArray++;
19996 
19997 
19998     switch ( hash )
19999     {
20000     case HASH_ATTRIBUTE_semantic:
20001     {
20002 
20003 attributeData->semantic = attributeValue;
20004 #ifdef GENERATEDSAXPARSER_VALIDATION
20005     if ( mValidate )
20006     {
20007     ParserError::ErrorType simpleTypeValidationResult = validate__NCName(attributeData->semantic, strlen(attributeData->semantic));
20008     if (simpleTypeValidationResult != ParserError::SIMPLE_TYPE_VALIDATION_OK)
20009     {
20010         if( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL,
20011             simpleTypeValidationResult,
20012             HASH_ELEMENT_BIND,
20013             HASH_ATTRIBUTE_semantic,
20014             attributeValue) )
20015         {
20016             return false;
20017         }
20018     }
20019     } // validation
20020 #endif
20021 
20022     break;
20023     }
20024     case HASH_ATTRIBUTE_target:
20025     {
20026 
20027 attributeData->target = attributeValue;
20028 
20029     break;
20030     }
20031     default:
20032     {
20033         if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_UNKNOWN_ATTRIBUTE, HASH_ELEMENT_BIND, attribute, attributeValue))
20034             {return false;}
20035     }
20036     }
20037     }
20038 }
20039 if ( !attributeData->semantic )
20040 {
20041     if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_REQUIRED_ATTRIBUTE_MISSING, HASH_ELEMENT_BIND, HASH_ATTRIBUTE_semantic, 0 ) )
20042         return false;
20043 }
20044 if ( !attributeData->target )
20045 {
20046     if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_REQUIRED_ATTRIBUTE_MISSING, HASH_ELEMENT_BIND, HASH_ATTRIBUTE_target, 0 ) )
20047         return false;
20048 }
20049 
20050 
20051     return true;
20052 }
20053 
20054 //---------------------------------------------------------------------
_preEnd__instance_material__bind()20055 bool ColladaParserAutoGen14Private::_preEnd__instance_material__bind()
20056 {
20057 #ifdef GENERATEDSAXPARSER_VALIDATION
20058     if ( mValidate )
20059     {
20060 
20061         bool validationResult = _validateEnd__instance_material__bind();
20062         if ( !validationResult ) return false;
20063 
20064     } // validation
20065 #endif
20066 
20067     return true;
20068 }
20069 
20070 //---------------------------------------------------------------------
_freeAttributes__instance_material__bind(void * attributeData)20071 bool ColladaParserAutoGen14Private::_freeAttributes__instance_material__bind( void* attributeData )
20072 {
20073     instance_material__bind__AttributeData* typedAttributeData = static_cast<instance_material__bind__AttributeData*>(attributeData);
20074 
20075     typedAttributeData->~instance_material__bind__AttributeData();
20076 
20077     return true;
20078 }
20079 
20080 //---------------------------------------------------------------------
20081 const bind_vertex_input__AttributeData bind_vertex_input__AttributeData::DEFAULT = {0, 0, 0, 0};
20082 
20083 //---------------------------------------------------------------------
_data__bind_vertex_input(const ParserChar * text,size_t textLength)20084 bool ColladaParserAutoGen14Private::_data__bind_vertex_input( const ParserChar* text, size_t textLength )
20085 {
20086     return true;
20087 }
20088 
20089 //---------------------------------------------------------------------
_preBegin__bind_vertex_input(const ParserAttributes & attributes,void ** attributeDataPtr,void ** validationDataPtr)20090 bool ColladaParserAutoGen14Private::_preBegin__bind_vertex_input( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
20091 {
20092 #ifdef GENERATEDSAXPARSER_VALIDATION
20093     if ( mValidate )
20094     {
20095 
20096         bool validationResult = _validateBegin__bind_vertex_input( attributes, attributeDataPtr, validationDataPtr );
20097         if ( !validationResult ) return false;
20098 
20099     } // validation
20100 #endif
20101 
20102 bind_vertex_input__AttributeData* attributeData = newData<bind_vertex_input__AttributeData>(attributeDataPtr);
20103 
20104 const ParserChar** attributeArray = attributes.attributes;
20105 if ( attributeArray )
20106 {
20107     while (true)
20108     {
20109         const ParserChar * attribute = *attributeArray;
20110         if ( !attribute )
20111             break;
20112         StringHash hash = GeneratedSaxParser::Utils::calculateStringHash(attribute);
20113         attributeArray++;
20114         if ( !attributeArray )
20115             return false;
20116         const ParserChar* attributeValue = *attributeArray;
20117         attributeArray++;
20118 
20119 
20120     switch ( hash )
20121     {
20122     case HASH_ATTRIBUTE_semantic:
20123     {
20124 
20125 attributeData->semantic = attributeValue;
20126 #ifdef GENERATEDSAXPARSER_VALIDATION
20127     if ( mValidate )
20128     {
20129     ParserError::ErrorType simpleTypeValidationResult = validate__NCName(attributeData->semantic, strlen(attributeData->semantic));
20130     if (simpleTypeValidationResult != ParserError::SIMPLE_TYPE_VALIDATION_OK)
20131     {
20132         if( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL,
20133             simpleTypeValidationResult,
20134             HASH_ELEMENT_BIND_VERTEX_INPUT,
20135             HASH_ATTRIBUTE_semantic,
20136             attributeValue) )
20137         {
20138             return false;
20139         }
20140     }
20141     } // validation
20142 #endif
20143 
20144     break;
20145     }
20146     case HASH_ATTRIBUTE_input_semantic:
20147     {
20148 
20149 attributeData->input_semantic = attributeValue;
20150 #ifdef GENERATEDSAXPARSER_VALIDATION
20151     if ( mValidate )
20152     {
20153     ParserError::ErrorType simpleTypeValidationResult = validate__NCName(attributeData->input_semantic, strlen(attributeData->input_semantic));
20154     if (simpleTypeValidationResult != ParserError::SIMPLE_TYPE_VALIDATION_OK)
20155     {
20156         if( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL,
20157             simpleTypeValidationResult,
20158             HASH_ELEMENT_BIND_VERTEX_INPUT,
20159             HASH_ATTRIBUTE_input_semantic,
20160             attributeValue) )
20161         {
20162             return false;
20163         }
20164     }
20165     } // validation
20166 #endif
20167 
20168     break;
20169     }
20170     case HASH_ATTRIBUTE_input_set:
20171     {
20172 bool failed;
20173 attributeData->input_set = GeneratedSaxParser::Utils::toUint64(attributeValue, failed);
20174 if ( failed && handleError(ParserError::SEVERITY_ERROR_NONCRITICAL,
20175         ParserError::ERROR_ATTRIBUTE_PARSING_FAILED,
20176         HASH_ELEMENT_BIND_VERTEX_INPUT,
20177         HASH_ATTRIBUTE_input_set,
20178         attributeValue))
20179 {
20180     return false;
20181 }
20182 if ( !failed )
20183     attributeData->present_attributes |= bind_vertex_input__AttributeData::ATTRIBUTE_INPUT_SET_PRESENT;
20184 
20185     break;
20186     }
20187     default:
20188     {
20189         if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_UNKNOWN_ATTRIBUTE, HASH_ELEMENT_BIND_VERTEX_INPUT, attribute, attributeValue))
20190             {return false;}
20191     }
20192     }
20193     }
20194 }
20195 if ( !attributeData->semantic )
20196 {
20197     if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_REQUIRED_ATTRIBUTE_MISSING, HASH_ELEMENT_BIND_VERTEX_INPUT, HASH_ATTRIBUTE_semantic, 0 ) )
20198         return false;
20199 }
20200 if ( !attributeData->input_semantic )
20201 {
20202     if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_REQUIRED_ATTRIBUTE_MISSING, HASH_ELEMENT_BIND_VERTEX_INPUT, HASH_ATTRIBUTE_input_semantic, 0 ) )
20203         return false;
20204 }
20205 
20206 
20207     return true;
20208 }
20209 
20210 //---------------------------------------------------------------------
_preEnd__bind_vertex_input()20211 bool ColladaParserAutoGen14Private::_preEnd__bind_vertex_input()
20212 {
20213 #ifdef GENERATEDSAXPARSER_VALIDATION
20214     if ( mValidate )
20215     {
20216 
20217         bool validationResult = _validateEnd__bind_vertex_input();
20218         if ( !validationResult ) return false;
20219 
20220     } // validation
20221 #endif
20222 
20223     return true;
20224 }
20225 
20226 //---------------------------------------------------------------------
_freeAttributes__bind_vertex_input(void * attributeData)20227 bool ColladaParserAutoGen14Private::_freeAttributes__bind_vertex_input( void* attributeData )
20228 {
20229     bind_vertex_input__AttributeData* typedAttributeData = static_cast<bind_vertex_input__AttributeData*>(attributeData);
20230 
20231     typedAttributeData->~bind_vertex_input__AttributeData();
20232 
20233     return true;
20234 }
20235 
20236 //---------------------------------------------------------------------
20237 const instance_geometry__AttributeData instance_geometry__AttributeData::DEFAULT = {0, 0, 0, 0};
20238 
20239 //---------------------------------------------------------------------
_data__instance_geometry(const ParserChar * text,size_t textLength)20240 bool ColladaParserAutoGen14Private::_data__instance_geometry( const ParserChar* text, size_t textLength )
20241 {
20242     return true;
20243 }
20244 
20245 //---------------------------------------------------------------------
_preBegin__instance_geometry(const ParserAttributes & attributes,void ** attributeDataPtr,void ** validationDataPtr)20246 bool ColladaParserAutoGen14Private::_preBegin__instance_geometry( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
20247 {
20248 #ifdef GENERATEDSAXPARSER_VALIDATION
20249     if ( mValidate )
20250     {
20251 
20252         bool validationResult = _validateBegin__instance_geometry( attributes, attributeDataPtr, validationDataPtr );
20253         if ( !validationResult ) return false;
20254 
20255     } // validation
20256 #endif
20257 
20258 instance_geometry__AttributeData* attributeData = newData<instance_geometry__AttributeData>(attributeDataPtr);
20259 
20260 const ParserChar** attributeArray = attributes.attributes;
20261 if ( attributeArray )
20262 {
20263     while (true)
20264     {
20265         const ParserChar * attribute = *attributeArray;
20266         if ( !attribute )
20267             break;
20268         StringHash hash = GeneratedSaxParser::Utils::calculateStringHash(attribute);
20269         attributeArray++;
20270         if ( !attributeArray )
20271             return false;
20272         const ParserChar* attributeValue = *attributeArray;
20273         attributeArray++;
20274 
20275 
20276     switch ( hash )
20277     {
20278     case HASH_ATTRIBUTE_url:
20279     {
20280 bool failed;
20281 attributeData->url = GeneratedSaxParser::Utils::toURI(&attributeValue, failed);
20282 if ( failed && handleError(ParserError::SEVERITY_ERROR_NONCRITICAL,
20283         ParserError::ERROR_ATTRIBUTE_PARSING_FAILED,
20284         HASH_ELEMENT_INSTANCE_GEOMETRY,
20285         HASH_ATTRIBUTE_url,
20286         attributeValue))
20287 {
20288     return false;
20289 }
20290 if ( !failed )
20291     attributeData->present_attributes |= instance_geometry__AttributeData::ATTRIBUTE_URL_PRESENT;
20292 
20293     break;
20294     }
20295     case HASH_ATTRIBUTE_sid:
20296     {
20297 
20298 attributeData->sid = attributeValue;
20299 #ifdef GENERATEDSAXPARSER_VALIDATION
20300     if ( mValidate )
20301     {
20302     ParserError::ErrorType simpleTypeValidationResult = validate__NCName(attributeData->sid, strlen(attributeData->sid));
20303     if (simpleTypeValidationResult != ParserError::SIMPLE_TYPE_VALIDATION_OK)
20304     {
20305         if( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL,
20306             simpleTypeValidationResult,
20307             HASH_ELEMENT_INSTANCE_GEOMETRY,
20308             HASH_ATTRIBUTE_sid,
20309             attributeValue) )
20310         {
20311             return false;
20312         }
20313     }
20314     } // validation
20315 #endif
20316 
20317     break;
20318     }
20319     case HASH_ATTRIBUTE_name:
20320     {
20321 
20322 attributeData->name = attributeValue;
20323 #ifdef GENERATEDSAXPARSER_VALIDATION
20324     if ( mValidate )
20325     {
20326     ParserError::ErrorType simpleTypeValidationResult = validate__NCName(attributeData->name, strlen(attributeData->name));
20327     if (simpleTypeValidationResult != ParserError::SIMPLE_TYPE_VALIDATION_OK)
20328     {
20329         if( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL,
20330             simpleTypeValidationResult,
20331             HASH_ELEMENT_INSTANCE_GEOMETRY,
20332             HASH_ATTRIBUTE_name,
20333             attributeValue) )
20334         {
20335             return false;
20336         }
20337     }
20338     } // validation
20339 #endif
20340 
20341     break;
20342     }
20343     default:
20344     {
20345         if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_UNKNOWN_ATTRIBUTE, HASH_ELEMENT_INSTANCE_GEOMETRY, attribute, attributeValue))
20346             {return false;}
20347     }
20348     }
20349     }
20350 }
20351 if ((attributeData->present_attributes & instance_geometry__AttributeData::ATTRIBUTE_URL_PRESENT) == 0)
20352 {
20353     attributeData->url = COLLADABU::URI("");
20354 }
20355 if ( (attributeData->present_attributes & instance_geometry__AttributeData::ATTRIBUTE_URL_PRESENT) == 0 )
20356 {
20357     if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_REQUIRED_ATTRIBUTE_MISSING, HASH_ELEMENT_INSTANCE_GEOMETRY, HASH_ATTRIBUTE_url, 0 ) )
20358         return false;
20359 }
20360 
20361 
20362     return true;
20363 }
20364 
20365 //---------------------------------------------------------------------
_preEnd__instance_geometry()20366 bool ColladaParserAutoGen14Private::_preEnd__instance_geometry()
20367 {
20368 #ifdef GENERATEDSAXPARSER_VALIDATION
20369     if ( mValidate )
20370     {
20371 
20372         bool validationResult = _validateEnd__instance_geometry();
20373         if ( !validationResult ) return false;
20374 
20375     } // validation
20376 #endif
20377 
20378     return true;
20379 }
20380 
20381 //---------------------------------------------------------------------
_freeAttributes__instance_geometry(void * attributeData)20382 bool ColladaParserAutoGen14Private::_freeAttributes__instance_geometry( void* attributeData )
20383 {
20384     instance_geometry__AttributeData* typedAttributeData = static_cast<instance_geometry__AttributeData*>(attributeData);
20385 
20386     typedAttributeData->~instance_geometry__AttributeData();
20387 
20388     return true;
20389 }
20390 
20391 //---------------------------------------------------------------------
20392 const instance_light__AttributeData instance_light__AttributeData::DEFAULT = {0, 0, 0, 0};
20393 
20394 //---------------------------------------------------------------------
_data__instance_light(const ParserChar * text,size_t textLength)20395 bool ColladaParserAutoGen14Private::_data__instance_light( const ParserChar* text, size_t textLength )
20396 {
20397     return true;
20398 }
20399 
20400 //---------------------------------------------------------------------
_preBegin__instance_light(const ParserAttributes & attributes,void ** attributeDataPtr,void ** validationDataPtr)20401 bool ColladaParserAutoGen14Private::_preBegin__instance_light( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
20402 {
20403 #ifdef GENERATEDSAXPARSER_VALIDATION
20404     if ( mValidate )
20405     {
20406 
20407         bool validationResult = _validateBegin__instance_light( attributes, attributeDataPtr, validationDataPtr );
20408         if ( !validationResult ) return false;
20409 
20410     } // validation
20411 #endif
20412 
20413 instance_light__AttributeData* attributeData = newData<instance_light__AttributeData>(attributeDataPtr);
20414 
20415 const ParserChar** attributeArray = attributes.attributes;
20416 if ( attributeArray )
20417 {
20418     while (true)
20419     {
20420         const ParserChar * attribute = *attributeArray;
20421         if ( !attribute )
20422             break;
20423         StringHash hash = GeneratedSaxParser::Utils::calculateStringHash(attribute);
20424         attributeArray++;
20425         if ( !attributeArray )
20426             return false;
20427         const ParserChar* attributeValue = *attributeArray;
20428         attributeArray++;
20429 
20430 
20431     switch ( hash )
20432     {
20433     case HASH_ATTRIBUTE_url:
20434     {
20435 bool failed;
20436 attributeData->url = GeneratedSaxParser::Utils::toURI(&attributeValue, failed);
20437 if ( failed && handleError(ParserError::SEVERITY_ERROR_NONCRITICAL,
20438         ParserError::ERROR_ATTRIBUTE_PARSING_FAILED,
20439         HASH_ELEMENT_INSTANCE_LIGHT,
20440         HASH_ATTRIBUTE_url,
20441         attributeValue))
20442 {
20443     return false;
20444 }
20445 if ( !failed )
20446     attributeData->present_attributes |= instance_light__AttributeData::ATTRIBUTE_URL_PRESENT;
20447 
20448     break;
20449     }
20450     case HASH_ATTRIBUTE_sid:
20451     {
20452 
20453 attributeData->sid = attributeValue;
20454 #ifdef GENERATEDSAXPARSER_VALIDATION
20455     if ( mValidate )
20456     {
20457     ParserError::ErrorType simpleTypeValidationResult = validate__NCName(attributeData->sid, strlen(attributeData->sid));
20458     if (simpleTypeValidationResult != ParserError::SIMPLE_TYPE_VALIDATION_OK)
20459     {
20460         if( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL,
20461             simpleTypeValidationResult,
20462             HASH_ELEMENT_INSTANCE_LIGHT,
20463             HASH_ATTRIBUTE_sid,
20464             attributeValue) )
20465         {
20466             return false;
20467         }
20468     }
20469     } // validation
20470 #endif
20471 
20472     break;
20473     }
20474     case HASH_ATTRIBUTE_name:
20475     {
20476 
20477 attributeData->name = attributeValue;
20478 #ifdef GENERATEDSAXPARSER_VALIDATION
20479     if ( mValidate )
20480     {
20481     ParserError::ErrorType simpleTypeValidationResult = validate__NCName(attributeData->name, strlen(attributeData->name));
20482     if (simpleTypeValidationResult != ParserError::SIMPLE_TYPE_VALIDATION_OK)
20483     {
20484         if( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL,
20485             simpleTypeValidationResult,
20486             HASH_ELEMENT_INSTANCE_LIGHT,
20487             HASH_ATTRIBUTE_name,
20488             attributeValue) )
20489         {
20490             return false;
20491         }
20492     }
20493     } // validation
20494 #endif
20495 
20496     break;
20497     }
20498     default:
20499     {
20500         if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_UNKNOWN_ATTRIBUTE, HASH_ELEMENT_INSTANCE_LIGHT, attribute, attributeValue))
20501             {return false;}
20502     }
20503     }
20504     }
20505 }
20506 if ((attributeData->present_attributes & instance_light__AttributeData::ATTRIBUTE_URL_PRESENT) == 0)
20507 {
20508     attributeData->url = COLLADABU::URI("");
20509 }
20510 if ( (attributeData->present_attributes & instance_light__AttributeData::ATTRIBUTE_URL_PRESENT) == 0 )
20511 {
20512     if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_REQUIRED_ATTRIBUTE_MISSING, HASH_ELEMENT_INSTANCE_LIGHT, HASH_ATTRIBUTE_url, 0 ) )
20513         return false;
20514 }
20515 
20516 
20517     return true;
20518 }
20519 
20520 //---------------------------------------------------------------------
_preEnd__instance_light()20521 bool ColladaParserAutoGen14Private::_preEnd__instance_light()
20522 {
20523 #ifdef GENERATEDSAXPARSER_VALIDATION
20524     if ( mValidate )
20525     {
20526 
20527         bool validationResult = _validateEnd__instance_light();
20528         if ( !validationResult ) return false;
20529 
20530     } // validation
20531 #endif
20532 
20533     return true;
20534 }
20535 
20536 //---------------------------------------------------------------------
_freeAttributes__instance_light(void * attributeData)20537 bool ColladaParserAutoGen14Private::_freeAttributes__instance_light( void* attributeData )
20538 {
20539     instance_light__AttributeData* typedAttributeData = static_cast<instance_light__AttributeData*>(attributeData);
20540 
20541     typedAttributeData->~instance_light__AttributeData();
20542 
20543     return true;
20544 }
20545 
20546 //---------------------------------------------------------------------
20547 const instance_node__AttributeData instance_node__AttributeData::DEFAULT = {0, 0, 0, 0};
20548 
20549 //---------------------------------------------------------------------
_data__instance_node(const ParserChar * text,size_t textLength)20550 bool ColladaParserAutoGen14Private::_data__instance_node( const ParserChar* text, size_t textLength )
20551 {
20552     return true;
20553 }
20554 
20555 //---------------------------------------------------------------------
_preBegin__instance_node(const ParserAttributes & attributes,void ** attributeDataPtr,void ** validationDataPtr)20556 bool ColladaParserAutoGen14Private::_preBegin__instance_node( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
20557 {
20558 #ifdef GENERATEDSAXPARSER_VALIDATION
20559     if ( mValidate )
20560     {
20561 
20562         bool validationResult = _validateBegin__instance_node( attributes, attributeDataPtr, validationDataPtr );
20563         if ( !validationResult ) return false;
20564 
20565     } // validation
20566 #endif
20567 
20568 instance_node__AttributeData* attributeData = newData<instance_node__AttributeData>(attributeDataPtr);
20569 
20570 const ParserChar** attributeArray = attributes.attributes;
20571 if ( attributeArray )
20572 {
20573     while (true)
20574     {
20575         const ParserChar * attribute = *attributeArray;
20576         if ( !attribute )
20577             break;
20578         StringHash hash = GeneratedSaxParser::Utils::calculateStringHash(attribute);
20579         attributeArray++;
20580         if ( !attributeArray )
20581             return false;
20582         const ParserChar* attributeValue = *attributeArray;
20583         attributeArray++;
20584 
20585 
20586     switch ( hash )
20587     {
20588     case HASH_ATTRIBUTE_url:
20589     {
20590 bool failed;
20591 attributeData->url = GeneratedSaxParser::Utils::toURI(&attributeValue, failed);
20592 if ( failed && handleError(ParserError::SEVERITY_ERROR_NONCRITICAL,
20593         ParserError::ERROR_ATTRIBUTE_PARSING_FAILED,
20594         HASH_ELEMENT_INSTANCE_NODE,
20595         HASH_ATTRIBUTE_url,
20596         attributeValue))
20597 {
20598     return false;
20599 }
20600 if ( !failed )
20601     attributeData->present_attributes |= instance_node__AttributeData::ATTRIBUTE_URL_PRESENT;
20602 
20603     break;
20604     }
20605     case HASH_ATTRIBUTE_sid:
20606     {
20607 
20608 attributeData->sid = attributeValue;
20609 #ifdef GENERATEDSAXPARSER_VALIDATION
20610     if ( mValidate )
20611     {
20612     ParserError::ErrorType simpleTypeValidationResult = validate__NCName(attributeData->sid, strlen(attributeData->sid));
20613     if (simpleTypeValidationResult != ParserError::SIMPLE_TYPE_VALIDATION_OK)
20614     {
20615         if( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL,
20616             simpleTypeValidationResult,
20617             HASH_ELEMENT_INSTANCE_NODE,
20618             HASH_ATTRIBUTE_sid,
20619             attributeValue) )
20620         {
20621             return false;
20622         }
20623     }
20624     } // validation
20625 #endif
20626 
20627     break;
20628     }
20629     case HASH_ATTRIBUTE_name:
20630     {
20631 
20632 attributeData->name = attributeValue;
20633 #ifdef GENERATEDSAXPARSER_VALIDATION
20634     if ( mValidate )
20635     {
20636     ParserError::ErrorType simpleTypeValidationResult = validate__NCName(attributeData->name, strlen(attributeData->name));
20637     if (simpleTypeValidationResult != ParserError::SIMPLE_TYPE_VALIDATION_OK)
20638     {
20639         if( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL,
20640             simpleTypeValidationResult,
20641             HASH_ELEMENT_INSTANCE_NODE,
20642             HASH_ATTRIBUTE_name,
20643             attributeValue) )
20644         {
20645             return false;
20646         }
20647     }
20648     } // validation
20649 #endif
20650 
20651     break;
20652     }
20653     default:
20654     {
20655         if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_UNKNOWN_ATTRIBUTE, HASH_ELEMENT_INSTANCE_NODE, attribute, attributeValue))
20656             {return false;}
20657     }
20658     }
20659     }
20660 }
20661 if ((attributeData->present_attributes & instance_node__AttributeData::ATTRIBUTE_URL_PRESENT) == 0)
20662 {
20663     attributeData->url = COLLADABU::URI("");
20664 }
20665 if ( (attributeData->present_attributes & instance_node__AttributeData::ATTRIBUTE_URL_PRESENT) == 0 )
20666 {
20667     if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_REQUIRED_ATTRIBUTE_MISSING, HASH_ELEMENT_INSTANCE_NODE, HASH_ATTRIBUTE_url, 0 ) )
20668         return false;
20669 }
20670 
20671 
20672     return true;
20673 }
20674 
20675 //---------------------------------------------------------------------
_preEnd__instance_node()20676 bool ColladaParserAutoGen14Private::_preEnd__instance_node()
20677 {
20678 #ifdef GENERATEDSAXPARSER_VALIDATION
20679     if ( mValidate )
20680     {
20681 
20682         bool validationResult = _validateEnd__instance_node();
20683         if ( !validationResult ) return false;
20684 
20685     } // validation
20686 #endif
20687 
20688     return true;
20689 }
20690 
20691 //---------------------------------------------------------------------
_freeAttributes__instance_node(void * attributeData)20692 bool ColladaParserAutoGen14Private::_freeAttributes__instance_node( void* attributeData )
20693 {
20694     instance_node__AttributeData* typedAttributeData = static_cast<instance_node__AttributeData*>(attributeData);
20695 
20696     typedAttributeData->~instance_node__AttributeData();
20697 
20698     return true;
20699 }
20700 
20701 //---------------------------------------------------------------------
20702 const library_physics_materials__AttributeData library_physics_materials__AttributeData::DEFAULT = {0, 0};
20703 
20704 //---------------------------------------------------------------------
_data__library_physics_materials(const ParserChar * text,size_t textLength)20705 bool ColladaParserAutoGen14Private::_data__library_physics_materials( const ParserChar* text, size_t textLength )
20706 {
20707     return true;
20708 }
20709 
20710 //---------------------------------------------------------------------
_preBegin__library_physics_materials(const ParserAttributes & attributes,void ** attributeDataPtr,void ** validationDataPtr)20711 bool ColladaParserAutoGen14Private::_preBegin__library_physics_materials( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
20712 {
20713 #ifdef GENERATEDSAXPARSER_VALIDATION
20714     if ( mValidate )
20715     {
20716 
20717         bool validationResult = _validateBegin__library_physics_materials( attributes, attributeDataPtr, validationDataPtr );
20718         if ( !validationResult ) return false;
20719 
20720     } // validation
20721 #endif
20722 
20723 library_physics_materials__AttributeData* attributeData = newData<library_physics_materials__AttributeData>(attributeDataPtr);
20724 
20725 const ParserChar** attributeArray = attributes.attributes;
20726 if ( attributeArray )
20727 {
20728     while (true)
20729     {
20730         const ParserChar * attribute = *attributeArray;
20731         if ( !attribute )
20732             break;
20733         StringHash hash = GeneratedSaxParser::Utils::calculateStringHash(attribute);
20734         attributeArray++;
20735         if ( !attributeArray )
20736             return false;
20737         const ParserChar* attributeValue = *attributeArray;
20738         attributeArray++;
20739 
20740 
20741     switch ( hash )
20742     {
20743     case HASH_ATTRIBUTE_id:
20744     {
20745 
20746 attributeData->id = attributeValue;
20747 
20748     break;
20749     }
20750     case HASH_ATTRIBUTE_name:
20751     {
20752 
20753 attributeData->name = attributeValue;
20754 #ifdef GENERATEDSAXPARSER_VALIDATION
20755     if ( mValidate )
20756     {
20757     ParserError::ErrorType simpleTypeValidationResult = validate__NCName(attributeData->name, strlen(attributeData->name));
20758     if (simpleTypeValidationResult != ParserError::SIMPLE_TYPE_VALIDATION_OK)
20759     {
20760         if( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL,
20761             simpleTypeValidationResult,
20762             HASH_ELEMENT_LIBRARY_PHYSICS_MATERIALS,
20763             HASH_ATTRIBUTE_name,
20764             attributeValue) )
20765         {
20766             return false;
20767         }
20768     }
20769     } // validation
20770 #endif
20771 
20772     break;
20773     }
20774     default:
20775     {
20776         if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_UNKNOWN_ATTRIBUTE, HASH_ELEMENT_LIBRARY_PHYSICS_MATERIALS, attribute, attributeValue))
20777             {return false;}
20778     }
20779     }
20780     }
20781 }
20782 
20783 
20784     return true;
20785 }
20786 
20787 //---------------------------------------------------------------------
_preEnd__library_physics_materials()20788 bool ColladaParserAutoGen14Private::_preEnd__library_physics_materials()
20789 {
20790 #ifdef GENERATEDSAXPARSER_VALIDATION
20791     if ( mValidate )
20792     {
20793 
20794         bool validationResult = _validateEnd__library_physics_materials();
20795         if ( !validationResult ) return false;
20796 
20797     } // validation
20798 #endif
20799 
20800     return true;
20801 }
20802 
20803 //---------------------------------------------------------------------
_freeAttributes__library_physics_materials(void * attributeData)20804 bool ColladaParserAutoGen14Private::_freeAttributes__library_physics_materials( void* attributeData )
20805 {
20806     library_physics_materials__AttributeData* typedAttributeData = static_cast<library_physics_materials__AttributeData*>(attributeData);
20807 
20808     typedAttributeData->~library_physics_materials__AttributeData();
20809 
20810     return true;
20811 }
20812 
20813 //---------------------------------------------------------------------
20814 const physics_material__AttributeData physics_material__AttributeData::DEFAULT = {0, 0};
20815 
20816 //---------------------------------------------------------------------
_data__physics_material(const ParserChar * text,size_t textLength)20817 bool ColladaParserAutoGen14Private::_data__physics_material( const ParserChar* text, size_t textLength )
20818 {
20819     return true;
20820 }
20821 
20822 //---------------------------------------------------------------------
_preBegin__physics_material(const ParserAttributes & attributes,void ** attributeDataPtr,void ** validationDataPtr)20823 bool ColladaParserAutoGen14Private::_preBegin__physics_material( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
20824 {
20825 #ifdef GENERATEDSAXPARSER_VALIDATION
20826     if ( mValidate )
20827     {
20828 
20829         bool validationResult = _validateBegin__physics_material( attributes, attributeDataPtr, validationDataPtr );
20830         if ( !validationResult ) return false;
20831 
20832     } // validation
20833 #endif
20834 
20835 physics_material__AttributeData* attributeData = newData<physics_material__AttributeData>(attributeDataPtr);
20836 
20837 const ParserChar** attributeArray = attributes.attributes;
20838 if ( attributeArray )
20839 {
20840     while (true)
20841     {
20842         const ParserChar * attribute = *attributeArray;
20843         if ( !attribute )
20844             break;
20845         StringHash hash = GeneratedSaxParser::Utils::calculateStringHash(attribute);
20846         attributeArray++;
20847         if ( !attributeArray )
20848             return false;
20849         const ParserChar* attributeValue = *attributeArray;
20850         attributeArray++;
20851 
20852 
20853     switch ( hash )
20854     {
20855     case HASH_ATTRIBUTE_id:
20856     {
20857 
20858 attributeData->id = attributeValue;
20859 
20860     break;
20861     }
20862     case HASH_ATTRIBUTE_name:
20863     {
20864 
20865 attributeData->name = attributeValue;
20866 #ifdef GENERATEDSAXPARSER_VALIDATION
20867     if ( mValidate )
20868     {
20869     ParserError::ErrorType simpleTypeValidationResult = validate__NCName(attributeData->name, strlen(attributeData->name));
20870     if (simpleTypeValidationResult != ParserError::SIMPLE_TYPE_VALIDATION_OK)
20871     {
20872         if( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL,
20873             simpleTypeValidationResult,
20874             HASH_ELEMENT_PHYSICS_MATERIAL,
20875             HASH_ATTRIBUTE_name,
20876             attributeValue) )
20877         {
20878             return false;
20879         }
20880     }
20881     } // validation
20882 #endif
20883 
20884     break;
20885     }
20886     default:
20887     {
20888         if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_UNKNOWN_ATTRIBUTE, HASH_ELEMENT_PHYSICS_MATERIAL, attribute, attributeValue))
20889             {return false;}
20890     }
20891     }
20892     }
20893 }
20894 
20895 
20896     return true;
20897 }
20898 
20899 //---------------------------------------------------------------------
_preEnd__physics_material()20900 bool ColladaParserAutoGen14Private::_preEnd__physics_material()
20901 {
20902 #ifdef GENERATEDSAXPARSER_VALIDATION
20903     if ( mValidate )
20904     {
20905 
20906         bool validationResult = _validateEnd__physics_material();
20907         if ( !validationResult ) return false;
20908 
20909     } // validation
20910 #endif
20911 
20912     return true;
20913 }
20914 
20915 //---------------------------------------------------------------------
_freeAttributes__physics_material(void * attributeData)20916 bool ColladaParserAutoGen14Private::_freeAttributes__physics_material( void* attributeData )
20917 {
20918     physics_material__AttributeData* typedAttributeData = static_cast<physics_material__AttributeData*>(attributeData);
20919 
20920     typedAttributeData->~physics_material__AttributeData();
20921 
20922     return true;
20923 }
20924 
20925 //---------------------------------------------------------------------
_data__physics_material__technique_common(const ParserChar * text,size_t textLength)20926 bool ColladaParserAutoGen14Private::_data__physics_material__technique_common( const ParserChar* text, size_t textLength )
20927 {
20928     return true;
20929 }
20930 
20931 //---------------------------------------------------------------------
_preBegin__physics_material__technique_common(const ParserAttributes & attributes,void ** attributeDataPtr,void ** validationDataPtr)20932 bool ColladaParserAutoGen14Private::_preBegin__physics_material__technique_common( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
20933 {
20934 #ifdef GENERATEDSAXPARSER_VALIDATION
20935     if ( mValidate )
20936     {
20937 
20938         bool validationResult = _validateBegin__physics_material__technique_common( attributes, attributeDataPtr, validationDataPtr );
20939         if ( !validationResult ) return false;
20940 
20941     } // validation
20942 #endif
20943 
20944     return true;
20945 }
20946 
20947 //---------------------------------------------------------------------
_preEnd__physics_material__technique_common()20948 bool ColladaParserAutoGen14Private::_preEnd__physics_material__technique_common()
20949 {
20950 #ifdef GENERATEDSAXPARSER_VALIDATION
20951     if ( mValidate )
20952     {
20953 
20954         bool validationResult = _validateEnd__physics_material__technique_common();
20955         if ( !validationResult ) return false;
20956 
20957     } // validation
20958 #endif
20959 
20960     return true;
20961 }
20962 
20963 //---------------------------------------------------------------------
_freeAttributes__physics_material__technique_common(void * attributeData)20964 bool ColladaParserAutoGen14Private::_freeAttributes__physics_material__technique_common( void* attributeData )
20965 {
20966     return true;
20967 }
20968 
20969 //---------------------------------------------------------------------
20970 const dynamic_friction__AttributeData dynamic_friction__AttributeData::DEFAULT = {0};
20971 
20972 //---------------------------------------------------------------------
_data__dynamic_friction(const ParserChar * text,size_t textLength)20973 bool ColladaParserAutoGen14Private::_data__dynamic_friction( const ParserChar* text, size_t textLength )
20974 {
20975 if (!mLastIncompleteFragmentInCharacterData)
20976 {
20977     mLastIncompleteFragmentInCharacterData = (ParserChar*)mStackMemoryManager.newObject(textLength);
20978     memcpy(mLastIncompleteFragmentInCharacterData, text, textLength);
20979     mEndOfDataInCurrentObjectOnStack = mLastIncompleteFragmentInCharacterData + textLength;
20980 }
20981 else
20982 {
20983     ParserChar* tmp = (ParserChar*)mStackMemoryManager.growObject(textLength);
20984     if ( tmp != mLastIncompleteFragmentInCharacterData ) {
20985         mEndOfDataInCurrentObjectOnStack = (mEndOfDataInCurrentObjectOnStack - mLastIncompleteFragmentInCharacterData) + tmp;
20986         mLastIncompleteFragmentInCharacterData = tmp;
20987     }
20988     memcpy(mEndOfDataInCurrentObjectOnStack, text, textLength);
20989     mEndOfDataInCurrentObjectOnStack += textLength;
20990 }
20991 return true;
20992 }
20993 
20994 //---------------------------------------------------------------------
_preBegin__dynamic_friction(const ParserAttributes & attributes,void ** attributeDataPtr,void ** validationDataPtr)20995 bool ColladaParserAutoGen14Private::_preBegin__dynamic_friction( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
20996 {
20997 #ifdef GENERATEDSAXPARSER_VALIDATION
20998     if ( mValidate )
20999     {
21000 
21001         bool validationResult = _validateBegin__dynamic_friction( attributes, attributeDataPtr, validationDataPtr );
21002         if ( !validationResult ) return false;
21003 
21004     } // validation
21005 #endif
21006 
21007 dynamic_friction__AttributeData* attributeData = newData<dynamic_friction__AttributeData>(attributeDataPtr);
21008 
21009 const ParserChar** attributeArray = attributes.attributes;
21010 if ( attributeArray )
21011 {
21012     while (true)
21013     {
21014         const ParserChar * attribute = *attributeArray;
21015         if ( !attribute )
21016             break;
21017         StringHash hash = GeneratedSaxParser::Utils::calculateStringHash(attribute);
21018         attributeArray++;
21019         if ( !attributeArray )
21020             return false;
21021         const ParserChar* attributeValue = *attributeArray;
21022         attributeArray++;
21023 
21024 
21025     switch ( hash )
21026     {
21027     case HASH_ATTRIBUTE_sid:
21028     {
21029 
21030 attributeData->sid = attributeValue;
21031 #ifdef GENERATEDSAXPARSER_VALIDATION
21032     if ( mValidate )
21033     {
21034     ParserError::ErrorType simpleTypeValidationResult = validate__NCName(attributeData->sid, strlen(attributeData->sid));
21035     if (simpleTypeValidationResult != ParserError::SIMPLE_TYPE_VALIDATION_OK)
21036     {
21037         if( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL,
21038             simpleTypeValidationResult,
21039             HASH_ELEMENT_DYNAMIC_FRICTION,
21040             HASH_ATTRIBUTE_sid,
21041             attributeValue) )
21042         {
21043             return false;
21044         }
21045     }
21046     } // validation
21047 #endif
21048 
21049     break;
21050     }
21051     default:
21052     {
21053         if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_UNKNOWN_ATTRIBUTE, HASH_ELEMENT_DYNAMIC_FRICTION, attribute, attributeValue))
21054             {return false;}
21055     }
21056     }
21057     }
21058 }
21059 
21060 
21061     return true;
21062 }
21063 
21064 //---------------------------------------------------------------------
_preEnd__dynamic_friction()21065 bool ColladaParserAutoGen14Private::_preEnd__dynamic_friction()
21066 {
21067 #ifdef GENERATEDSAXPARSER_VALIDATION
21068     if ( mValidate )
21069     {
21070 
21071         bool validationResult = _validateEnd__dynamic_friction();
21072         if ( !validationResult ) return false;
21073 
21074     } // validation
21075 #endif
21076 
21077 bool failed;
21078 const ParserChar* ptrForErr = mLastIncompleteFragmentInCharacterData;
21079 DISABLE_WARNING_UNUSED(ptrForErr)
21080 float parameter = GeneratedSaxParser::Utils::toFloat((const ParserChar**)&mLastIncompleteFragmentInCharacterData, mEndOfDataInCurrentObjectOnStack, failed);
21081 bool returnValue;
21082 if (!failed)
21083 {
21084     returnValue = mImpl->data__dynamic_friction(parameter);
21085 }
21086 else
21087     returnValue = !handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_TEXTDATA_PARSING_FAILED, HASH_ELEMENT_DYNAMIC_FRICTION, (const ParserChar*)0, mLastIncompleteFragmentInCharacterData);
21088 if (mLastIncompleteFragmentInCharacterData)
21089     mStackMemoryManager.deleteObject();
21090 mLastIncompleteFragmentInCharacterData = 0;
21091 mEndOfDataInCurrentObjectOnStack = 0;
21092 return returnValue;
21093 }
21094 
21095 //---------------------------------------------------------------------
_freeAttributes__dynamic_friction(void * attributeData)21096 bool ColladaParserAutoGen14Private::_freeAttributes__dynamic_friction( void* attributeData )
21097 {
21098     dynamic_friction__AttributeData* typedAttributeData = static_cast<dynamic_friction__AttributeData*>(attributeData);
21099 
21100     typedAttributeData->~dynamic_friction__AttributeData();
21101 
21102     return true;
21103 }
21104 
21105 //---------------------------------------------------------------------
21106 const restitution__AttributeData restitution__AttributeData::DEFAULT = {0};
21107 
21108 //---------------------------------------------------------------------
_data__restitution(const ParserChar * text,size_t textLength)21109 bool ColladaParserAutoGen14Private::_data__restitution( const ParserChar* text, size_t textLength )
21110 {
21111 if (!mLastIncompleteFragmentInCharacterData)
21112 {
21113     mLastIncompleteFragmentInCharacterData = (ParserChar*)mStackMemoryManager.newObject(textLength);
21114     memcpy(mLastIncompleteFragmentInCharacterData, text, textLength);
21115     mEndOfDataInCurrentObjectOnStack = mLastIncompleteFragmentInCharacterData + textLength;
21116 }
21117 else
21118 {
21119     ParserChar* tmp = (ParserChar*)mStackMemoryManager.growObject(textLength);
21120     if ( tmp != mLastIncompleteFragmentInCharacterData ) {
21121         mEndOfDataInCurrentObjectOnStack = (mEndOfDataInCurrentObjectOnStack - mLastIncompleteFragmentInCharacterData) + tmp;
21122         mLastIncompleteFragmentInCharacterData = tmp;
21123     }
21124     memcpy(mEndOfDataInCurrentObjectOnStack, text, textLength);
21125     mEndOfDataInCurrentObjectOnStack += textLength;
21126 }
21127 return true;
21128 }
21129 
21130 //---------------------------------------------------------------------
_preBegin__restitution(const ParserAttributes & attributes,void ** attributeDataPtr,void ** validationDataPtr)21131 bool ColladaParserAutoGen14Private::_preBegin__restitution( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
21132 {
21133 #ifdef GENERATEDSAXPARSER_VALIDATION
21134     if ( mValidate )
21135     {
21136 
21137         bool validationResult = _validateBegin__restitution( attributes, attributeDataPtr, validationDataPtr );
21138         if ( !validationResult ) return false;
21139 
21140     } // validation
21141 #endif
21142 
21143 restitution__AttributeData* attributeData = newData<restitution__AttributeData>(attributeDataPtr);
21144 
21145 const ParserChar** attributeArray = attributes.attributes;
21146 if ( attributeArray )
21147 {
21148     while (true)
21149     {
21150         const ParserChar * attribute = *attributeArray;
21151         if ( !attribute )
21152             break;
21153         StringHash hash = GeneratedSaxParser::Utils::calculateStringHash(attribute);
21154         attributeArray++;
21155         if ( !attributeArray )
21156             return false;
21157         const ParserChar* attributeValue = *attributeArray;
21158         attributeArray++;
21159 
21160 
21161     switch ( hash )
21162     {
21163     case HASH_ATTRIBUTE_sid:
21164     {
21165 
21166 attributeData->sid = attributeValue;
21167 #ifdef GENERATEDSAXPARSER_VALIDATION
21168     if ( mValidate )
21169     {
21170     ParserError::ErrorType simpleTypeValidationResult = validate__NCName(attributeData->sid, strlen(attributeData->sid));
21171     if (simpleTypeValidationResult != ParserError::SIMPLE_TYPE_VALIDATION_OK)
21172     {
21173         if( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL,
21174             simpleTypeValidationResult,
21175             HASH_ELEMENT_RESTITUTION,
21176             HASH_ATTRIBUTE_sid,
21177             attributeValue) )
21178         {
21179             return false;
21180         }
21181     }
21182     } // validation
21183 #endif
21184 
21185     break;
21186     }
21187     default:
21188     {
21189         if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_UNKNOWN_ATTRIBUTE, HASH_ELEMENT_RESTITUTION, attribute, attributeValue))
21190             {return false;}
21191     }
21192     }
21193     }
21194 }
21195 
21196 
21197     return true;
21198 }
21199 
21200 //---------------------------------------------------------------------
_preEnd__restitution()21201 bool ColladaParserAutoGen14Private::_preEnd__restitution()
21202 {
21203 #ifdef GENERATEDSAXPARSER_VALIDATION
21204     if ( mValidate )
21205     {
21206 
21207         bool validationResult = _validateEnd__restitution();
21208         if ( !validationResult ) return false;
21209 
21210     } // validation
21211 #endif
21212 
21213 bool failed;
21214 const ParserChar* ptrForErr = mLastIncompleteFragmentInCharacterData;
21215 DISABLE_WARNING_UNUSED(ptrForErr)
21216 float parameter = GeneratedSaxParser::Utils::toFloat((const ParserChar**)&mLastIncompleteFragmentInCharacterData, mEndOfDataInCurrentObjectOnStack, failed);
21217 bool returnValue;
21218 if (!failed)
21219 {
21220     returnValue = mImpl->data__restitution(parameter);
21221 }
21222 else
21223     returnValue = !handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_TEXTDATA_PARSING_FAILED, HASH_ELEMENT_RESTITUTION, (const ParserChar*)0, mLastIncompleteFragmentInCharacterData);
21224 if (mLastIncompleteFragmentInCharacterData)
21225     mStackMemoryManager.deleteObject();
21226 mLastIncompleteFragmentInCharacterData = 0;
21227 mEndOfDataInCurrentObjectOnStack = 0;
21228 return returnValue;
21229 }
21230 
21231 //---------------------------------------------------------------------
_freeAttributes__restitution(void * attributeData)21232 bool ColladaParserAutoGen14Private::_freeAttributes__restitution( void* attributeData )
21233 {
21234     restitution__AttributeData* typedAttributeData = static_cast<restitution__AttributeData*>(attributeData);
21235 
21236     typedAttributeData->~restitution__AttributeData();
21237 
21238     return true;
21239 }
21240 
21241 //---------------------------------------------------------------------
21242 const static_friction__AttributeData static_friction__AttributeData::DEFAULT = {0};
21243 
21244 //---------------------------------------------------------------------
_data__static_friction(const ParserChar * text,size_t textLength)21245 bool ColladaParserAutoGen14Private::_data__static_friction( const ParserChar* text, size_t textLength )
21246 {
21247 if (!mLastIncompleteFragmentInCharacterData)
21248 {
21249     mLastIncompleteFragmentInCharacterData = (ParserChar*)mStackMemoryManager.newObject(textLength);
21250     memcpy(mLastIncompleteFragmentInCharacterData, text, textLength);
21251     mEndOfDataInCurrentObjectOnStack = mLastIncompleteFragmentInCharacterData + textLength;
21252 }
21253 else
21254 {
21255     ParserChar* tmp = (ParserChar*)mStackMemoryManager.growObject(textLength);
21256     if ( tmp != mLastIncompleteFragmentInCharacterData ) {
21257         mEndOfDataInCurrentObjectOnStack = (mEndOfDataInCurrentObjectOnStack - mLastIncompleteFragmentInCharacterData) + tmp;
21258         mLastIncompleteFragmentInCharacterData = tmp;
21259     }
21260     memcpy(mEndOfDataInCurrentObjectOnStack, text, textLength);
21261     mEndOfDataInCurrentObjectOnStack += textLength;
21262 }
21263 return true;
21264 }
21265 
21266 //---------------------------------------------------------------------
_preBegin__static_friction(const ParserAttributes & attributes,void ** attributeDataPtr,void ** validationDataPtr)21267 bool ColladaParserAutoGen14Private::_preBegin__static_friction( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
21268 {
21269 #ifdef GENERATEDSAXPARSER_VALIDATION
21270     if ( mValidate )
21271     {
21272 
21273         bool validationResult = _validateBegin__static_friction( attributes, attributeDataPtr, validationDataPtr );
21274         if ( !validationResult ) return false;
21275 
21276     } // validation
21277 #endif
21278 
21279 static_friction__AttributeData* attributeData = newData<static_friction__AttributeData>(attributeDataPtr);
21280 
21281 const ParserChar** attributeArray = attributes.attributes;
21282 if ( attributeArray )
21283 {
21284     while (true)
21285     {
21286         const ParserChar * attribute = *attributeArray;
21287         if ( !attribute )
21288             break;
21289         StringHash hash = GeneratedSaxParser::Utils::calculateStringHash(attribute);
21290         attributeArray++;
21291         if ( !attributeArray )
21292             return false;
21293         const ParserChar* attributeValue = *attributeArray;
21294         attributeArray++;
21295 
21296 
21297     switch ( hash )
21298     {
21299     case HASH_ATTRIBUTE_sid:
21300     {
21301 
21302 attributeData->sid = attributeValue;
21303 #ifdef GENERATEDSAXPARSER_VALIDATION
21304     if ( mValidate )
21305     {
21306     ParserError::ErrorType simpleTypeValidationResult = validate__NCName(attributeData->sid, strlen(attributeData->sid));
21307     if (simpleTypeValidationResult != ParserError::SIMPLE_TYPE_VALIDATION_OK)
21308     {
21309         if( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL,
21310             simpleTypeValidationResult,
21311             HASH_ELEMENT_STATIC_FRICTION,
21312             HASH_ATTRIBUTE_sid,
21313             attributeValue) )
21314         {
21315             return false;
21316         }
21317     }
21318     } // validation
21319 #endif
21320 
21321     break;
21322     }
21323     default:
21324     {
21325         if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_UNKNOWN_ATTRIBUTE, HASH_ELEMENT_STATIC_FRICTION, attribute, attributeValue))
21326             {return false;}
21327     }
21328     }
21329     }
21330 }
21331 
21332 
21333     return true;
21334 }
21335 
21336 //---------------------------------------------------------------------
_preEnd__static_friction()21337 bool ColladaParserAutoGen14Private::_preEnd__static_friction()
21338 {
21339 #ifdef GENERATEDSAXPARSER_VALIDATION
21340     if ( mValidate )
21341     {
21342 
21343         bool validationResult = _validateEnd__static_friction();
21344         if ( !validationResult ) return false;
21345 
21346     } // validation
21347 #endif
21348 
21349 bool failed;
21350 const ParserChar* ptrForErr = mLastIncompleteFragmentInCharacterData;
21351 DISABLE_WARNING_UNUSED(ptrForErr)
21352 float parameter = GeneratedSaxParser::Utils::toFloat((const ParserChar**)&mLastIncompleteFragmentInCharacterData, mEndOfDataInCurrentObjectOnStack, failed);
21353 bool returnValue;
21354 if (!failed)
21355 {
21356     returnValue = mImpl->data__static_friction(parameter);
21357 }
21358 else
21359     returnValue = !handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_TEXTDATA_PARSING_FAILED, HASH_ELEMENT_STATIC_FRICTION, (const ParserChar*)0, mLastIncompleteFragmentInCharacterData);
21360 if (mLastIncompleteFragmentInCharacterData)
21361     mStackMemoryManager.deleteObject();
21362 mLastIncompleteFragmentInCharacterData = 0;
21363 mEndOfDataInCurrentObjectOnStack = 0;
21364 return returnValue;
21365 }
21366 
21367 //---------------------------------------------------------------------
_freeAttributes__static_friction(void * attributeData)21368 bool ColladaParserAutoGen14Private::_freeAttributes__static_friction( void* attributeData )
21369 {
21370     static_friction__AttributeData* typedAttributeData = static_cast<static_friction__AttributeData*>(attributeData);
21371 
21372     typedAttributeData->~static_friction__AttributeData();
21373 
21374     return true;
21375 }
21376 
21377 //---------------------------------------------------------------------
21378 const library_physics_models__AttributeData library_physics_models__AttributeData::DEFAULT = {0, 0};
21379 
21380 //---------------------------------------------------------------------
_data__library_physics_models(const ParserChar * text,size_t textLength)21381 bool ColladaParserAutoGen14Private::_data__library_physics_models( const ParserChar* text, size_t textLength )
21382 {
21383     return true;
21384 }
21385 
21386 //---------------------------------------------------------------------
_preBegin__library_physics_models(const ParserAttributes & attributes,void ** attributeDataPtr,void ** validationDataPtr)21387 bool ColladaParserAutoGen14Private::_preBegin__library_physics_models( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
21388 {
21389 #ifdef GENERATEDSAXPARSER_VALIDATION
21390     if ( mValidate )
21391     {
21392 
21393         bool validationResult = _validateBegin__library_physics_models( attributes, attributeDataPtr, validationDataPtr );
21394         if ( !validationResult ) return false;
21395 
21396     } // validation
21397 #endif
21398 
21399 library_physics_models__AttributeData* attributeData = newData<library_physics_models__AttributeData>(attributeDataPtr);
21400 
21401 const ParserChar** attributeArray = attributes.attributes;
21402 if ( attributeArray )
21403 {
21404     while (true)
21405     {
21406         const ParserChar * attribute = *attributeArray;
21407         if ( !attribute )
21408             break;
21409         StringHash hash = GeneratedSaxParser::Utils::calculateStringHash(attribute);
21410         attributeArray++;
21411         if ( !attributeArray )
21412             return false;
21413         const ParserChar* attributeValue = *attributeArray;
21414         attributeArray++;
21415 
21416 
21417     switch ( hash )
21418     {
21419     case HASH_ATTRIBUTE_id:
21420     {
21421 
21422 attributeData->id = attributeValue;
21423 
21424     break;
21425     }
21426     case HASH_ATTRIBUTE_name:
21427     {
21428 
21429 attributeData->name = attributeValue;
21430 #ifdef GENERATEDSAXPARSER_VALIDATION
21431     if ( mValidate )
21432     {
21433     ParserError::ErrorType simpleTypeValidationResult = validate__NCName(attributeData->name, strlen(attributeData->name));
21434     if (simpleTypeValidationResult != ParserError::SIMPLE_TYPE_VALIDATION_OK)
21435     {
21436         if( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL,
21437             simpleTypeValidationResult,
21438             HASH_ELEMENT_LIBRARY_PHYSICS_MODELS,
21439             HASH_ATTRIBUTE_name,
21440             attributeValue) )
21441         {
21442             return false;
21443         }
21444     }
21445     } // validation
21446 #endif
21447 
21448     break;
21449     }
21450     default:
21451     {
21452         if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_UNKNOWN_ATTRIBUTE, HASH_ELEMENT_LIBRARY_PHYSICS_MODELS, attribute, attributeValue))
21453             {return false;}
21454     }
21455     }
21456     }
21457 }
21458 
21459 
21460     return true;
21461 }
21462 
21463 //---------------------------------------------------------------------
_preEnd__library_physics_models()21464 bool ColladaParserAutoGen14Private::_preEnd__library_physics_models()
21465 {
21466 #ifdef GENERATEDSAXPARSER_VALIDATION
21467     if ( mValidate )
21468     {
21469 
21470         bool validationResult = _validateEnd__library_physics_models();
21471         if ( !validationResult ) return false;
21472 
21473     } // validation
21474 #endif
21475 
21476     return true;
21477 }
21478 
21479 //---------------------------------------------------------------------
_freeAttributes__library_physics_models(void * attributeData)21480 bool ColladaParserAutoGen14Private::_freeAttributes__library_physics_models( void* attributeData )
21481 {
21482     library_physics_models__AttributeData* typedAttributeData = static_cast<library_physics_models__AttributeData*>(attributeData);
21483 
21484     typedAttributeData->~library_physics_models__AttributeData();
21485 
21486     return true;
21487 }
21488 
21489 //---------------------------------------------------------------------
21490 const physics_model__AttributeData physics_model__AttributeData::DEFAULT = {0, 0};
21491 
21492 //---------------------------------------------------------------------
_data__physics_model(const ParserChar * text,size_t textLength)21493 bool ColladaParserAutoGen14Private::_data__physics_model( const ParserChar* text, size_t textLength )
21494 {
21495     return true;
21496 }
21497 
21498 //---------------------------------------------------------------------
_preBegin__physics_model(const ParserAttributes & attributes,void ** attributeDataPtr,void ** validationDataPtr)21499 bool ColladaParserAutoGen14Private::_preBegin__physics_model( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
21500 {
21501 #ifdef GENERATEDSAXPARSER_VALIDATION
21502     if ( mValidate )
21503     {
21504 
21505         bool validationResult = _validateBegin__physics_model( attributes, attributeDataPtr, validationDataPtr );
21506         if ( !validationResult ) return false;
21507 
21508     } // validation
21509 #endif
21510 
21511 physics_model__AttributeData* attributeData = newData<physics_model__AttributeData>(attributeDataPtr);
21512 
21513 const ParserChar** attributeArray = attributes.attributes;
21514 if ( attributeArray )
21515 {
21516     while (true)
21517     {
21518         const ParserChar * attribute = *attributeArray;
21519         if ( !attribute )
21520             break;
21521         StringHash hash = GeneratedSaxParser::Utils::calculateStringHash(attribute);
21522         attributeArray++;
21523         if ( !attributeArray )
21524             return false;
21525         const ParserChar* attributeValue = *attributeArray;
21526         attributeArray++;
21527 
21528 
21529     switch ( hash )
21530     {
21531     case HASH_ATTRIBUTE_id:
21532     {
21533 
21534 attributeData->id = attributeValue;
21535 
21536     break;
21537     }
21538     case HASH_ATTRIBUTE_name:
21539     {
21540 
21541 attributeData->name = attributeValue;
21542 #ifdef GENERATEDSAXPARSER_VALIDATION
21543     if ( mValidate )
21544     {
21545     ParserError::ErrorType simpleTypeValidationResult = validate__NCName(attributeData->name, strlen(attributeData->name));
21546     if (simpleTypeValidationResult != ParserError::SIMPLE_TYPE_VALIDATION_OK)
21547     {
21548         if( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL,
21549             simpleTypeValidationResult,
21550             HASH_ELEMENT_PHYSICS_MODEL,
21551             HASH_ATTRIBUTE_name,
21552             attributeValue) )
21553         {
21554             return false;
21555         }
21556     }
21557     } // validation
21558 #endif
21559 
21560     break;
21561     }
21562     default:
21563     {
21564         if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_UNKNOWN_ATTRIBUTE, HASH_ELEMENT_PHYSICS_MODEL, attribute, attributeValue))
21565             {return false;}
21566     }
21567     }
21568     }
21569 }
21570 
21571 
21572     return true;
21573 }
21574 
21575 //---------------------------------------------------------------------
_preEnd__physics_model()21576 bool ColladaParserAutoGen14Private::_preEnd__physics_model()
21577 {
21578 #ifdef GENERATEDSAXPARSER_VALIDATION
21579     if ( mValidate )
21580     {
21581 
21582         bool validationResult = _validateEnd__physics_model();
21583         if ( !validationResult ) return false;
21584 
21585     } // validation
21586 #endif
21587 
21588     return true;
21589 }
21590 
21591 //---------------------------------------------------------------------
_freeAttributes__physics_model(void * attributeData)21592 bool ColladaParserAutoGen14Private::_freeAttributes__physics_model( void* attributeData )
21593 {
21594     physics_model__AttributeData* typedAttributeData = static_cast<physics_model__AttributeData*>(attributeData);
21595 
21596     typedAttributeData->~physics_model__AttributeData();
21597 
21598     return true;
21599 }
21600 
21601 //---------------------------------------------------------------------
21602 const rigid_body__AttributeData rigid_body__AttributeData::DEFAULT = {0, 0};
21603 
21604 //---------------------------------------------------------------------
_data__rigid_body(const ParserChar * text,size_t textLength)21605 bool ColladaParserAutoGen14Private::_data__rigid_body( const ParserChar* text, size_t textLength )
21606 {
21607     return true;
21608 }
21609 
21610 //---------------------------------------------------------------------
_preBegin__rigid_body(const ParserAttributes & attributes,void ** attributeDataPtr,void ** validationDataPtr)21611 bool ColladaParserAutoGen14Private::_preBegin__rigid_body( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
21612 {
21613 #ifdef GENERATEDSAXPARSER_VALIDATION
21614     if ( mValidate )
21615     {
21616 
21617         bool validationResult = _validateBegin__rigid_body( attributes, attributeDataPtr, validationDataPtr );
21618         if ( !validationResult ) return false;
21619 
21620     } // validation
21621 #endif
21622 
21623 rigid_body__AttributeData* attributeData = newData<rigid_body__AttributeData>(attributeDataPtr);
21624 
21625 const ParserChar** attributeArray = attributes.attributes;
21626 if ( attributeArray )
21627 {
21628     while (true)
21629     {
21630         const ParserChar * attribute = *attributeArray;
21631         if ( !attribute )
21632             break;
21633         StringHash hash = GeneratedSaxParser::Utils::calculateStringHash(attribute);
21634         attributeArray++;
21635         if ( !attributeArray )
21636             return false;
21637         const ParserChar* attributeValue = *attributeArray;
21638         attributeArray++;
21639 
21640 
21641     switch ( hash )
21642     {
21643     case HASH_ATTRIBUTE_sid:
21644     {
21645 
21646 attributeData->sid = attributeValue;
21647 #ifdef GENERATEDSAXPARSER_VALIDATION
21648     if ( mValidate )
21649     {
21650     ParserError::ErrorType simpleTypeValidationResult = validate__NCName(attributeData->sid, strlen(attributeData->sid));
21651     if (simpleTypeValidationResult != ParserError::SIMPLE_TYPE_VALIDATION_OK)
21652     {
21653         if( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL,
21654             simpleTypeValidationResult,
21655             HASH_ELEMENT_RIGID_BODY,
21656             HASH_ATTRIBUTE_sid,
21657             attributeValue) )
21658         {
21659             return false;
21660         }
21661     }
21662     } // validation
21663 #endif
21664 
21665     break;
21666     }
21667     case HASH_ATTRIBUTE_name:
21668     {
21669 
21670 attributeData->name = attributeValue;
21671 #ifdef GENERATEDSAXPARSER_VALIDATION
21672     if ( mValidate )
21673     {
21674     ParserError::ErrorType simpleTypeValidationResult = validate__NCName(attributeData->name, strlen(attributeData->name));
21675     if (simpleTypeValidationResult != ParserError::SIMPLE_TYPE_VALIDATION_OK)
21676     {
21677         if( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL,
21678             simpleTypeValidationResult,
21679             HASH_ELEMENT_RIGID_BODY,
21680             HASH_ATTRIBUTE_name,
21681             attributeValue) )
21682         {
21683             return false;
21684         }
21685     }
21686     } // validation
21687 #endif
21688 
21689     break;
21690     }
21691     default:
21692     {
21693         if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_UNKNOWN_ATTRIBUTE, HASH_ELEMENT_RIGID_BODY, attribute, attributeValue))
21694             {return false;}
21695     }
21696     }
21697     }
21698 }
21699 if ( !attributeData->sid )
21700 {
21701     if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_REQUIRED_ATTRIBUTE_MISSING, HASH_ELEMENT_RIGID_BODY, HASH_ATTRIBUTE_sid, 0 ) )
21702         return false;
21703 }
21704 
21705 
21706     return true;
21707 }
21708 
21709 //---------------------------------------------------------------------
_preEnd__rigid_body()21710 bool ColladaParserAutoGen14Private::_preEnd__rigid_body()
21711 {
21712 #ifdef GENERATEDSAXPARSER_VALIDATION
21713     if ( mValidate )
21714     {
21715 
21716         bool validationResult = _validateEnd__rigid_body();
21717         if ( !validationResult ) return false;
21718 
21719     } // validation
21720 #endif
21721 
21722     return true;
21723 }
21724 
21725 //---------------------------------------------------------------------
_freeAttributes__rigid_body(void * attributeData)21726 bool ColladaParserAutoGen14Private::_freeAttributes__rigid_body( void* attributeData )
21727 {
21728     rigid_body__AttributeData* typedAttributeData = static_cast<rigid_body__AttributeData*>(attributeData);
21729 
21730     typedAttributeData->~rigid_body__AttributeData();
21731 
21732     return true;
21733 }
21734 
21735 //---------------------------------------------------------------------
_data__rigid_body__technique_common(const ParserChar * text,size_t textLength)21736 bool ColladaParserAutoGen14Private::_data__rigid_body__technique_common( const ParserChar* text, size_t textLength )
21737 {
21738     return true;
21739 }
21740 
21741 //---------------------------------------------------------------------
_preBegin__rigid_body__technique_common(const ParserAttributes & attributes,void ** attributeDataPtr,void ** validationDataPtr)21742 bool ColladaParserAutoGen14Private::_preBegin__rigid_body__technique_common( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
21743 {
21744 #ifdef GENERATEDSAXPARSER_VALIDATION
21745     if ( mValidate )
21746     {
21747 
21748         bool validationResult = _validateBegin__rigid_body__technique_common( attributes, attributeDataPtr, validationDataPtr );
21749         if ( !validationResult ) return false;
21750 
21751     } // validation
21752 #endif
21753 
21754     return true;
21755 }
21756 
21757 //---------------------------------------------------------------------
_preEnd__rigid_body__technique_common()21758 bool ColladaParserAutoGen14Private::_preEnd__rigid_body__technique_common()
21759 {
21760 #ifdef GENERATEDSAXPARSER_VALIDATION
21761     if ( mValidate )
21762     {
21763 
21764         bool validationResult = _validateEnd__rigid_body__technique_common();
21765         if ( !validationResult ) return false;
21766 
21767     } // validation
21768 #endif
21769 
21770     return true;
21771 }
21772 
21773 //---------------------------------------------------------------------
_freeAttributes__rigid_body__technique_common(void * attributeData)21774 bool ColladaParserAutoGen14Private::_freeAttributes__rigid_body__technique_common( void* attributeData )
21775 {
21776     return true;
21777 }
21778 
21779 //---------------------------------------------------------------------
21780 const rigid_body__technique_common__dynamic__AttributeData rigid_body__technique_common__dynamic__AttributeData::DEFAULT = {0};
21781 
21782 //---------------------------------------------------------------------
_data__rigid_body__technique_common__dynamic(const ParserChar * text,size_t textLength)21783 bool ColladaParserAutoGen14Private::_data__rigid_body__technique_common__dynamic( const ParserChar* text, size_t textLength )
21784 {
21785 if (!mLastIncompleteFragmentInCharacterData)
21786 {
21787     mLastIncompleteFragmentInCharacterData = (ParserChar*)mStackMemoryManager.newObject(textLength);
21788     memcpy(mLastIncompleteFragmentInCharacterData, text, textLength);
21789     mEndOfDataInCurrentObjectOnStack = mLastIncompleteFragmentInCharacterData + textLength;
21790 }
21791 else
21792 {
21793     ParserChar* tmp = (ParserChar*)mStackMemoryManager.growObject(textLength);
21794     if ( tmp != mLastIncompleteFragmentInCharacterData ) {
21795         mEndOfDataInCurrentObjectOnStack = (mEndOfDataInCurrentObjectOnStack - mLastIncompleteFragmentInCharacterData) + tmp;
21796         mLastIncompleteFragmentInCharacterData = tmp;
21797     }
21798     memcpy(mEndOfDataInCurrentObjectOnStack, text, textLength);
21799     mEndOfDataInCurrentObjectOnStack += textLength;
21800 }
21801 return true;
21802 }
21803 
21804 //---------------------------------------------------------------------
_preBegin__rigid_body__technique_common__dynamic(const ParserAttributes & attributes,void ** attributeDataPtr,void ** validationDataPtr)21805 bool ColladaParserAutoGen14Private::_preBegin__rigid_body__technique_common__dynamic( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
21806 {
21807 #ifdef GENERATEDSAXPARSER_VALIDATION
21808     if ( mValidate )
21809     {
21810 
21811         bool validationResult = _validateBegin__rigid_body__technique_common__dynamic( attributes, attributeDataPtr, validationDataPtr );
21812         if ( !validationResult ) return false;
21813 
21814     } // validation
21815 #endif
21816 
21817 rigid_body__technique_common__dynamic__AttributeData* attributeData = newData<rigid_body__technique_common__dynamic__AttributeData>(attributeDataPtr);
21818 
21819 const ParserChar** attributeArray = attributes.attributes;
21820 if ( attributeArray )
21821 {
21822     while (true)
21823     {
21824         const ParserChar * attribute = *attributeArray;
21825         if ( !attribute )
21826             break;
21827         StringHash hash = GeneratedSaxParser::Utils::calculateStringHash(attribute);
21828         attributeArray++;
21829         if ( !attributeArray )
21830             return false;
21831         const ParserChar* attributeValue = *attributeArray;
21832         attributeArray++;
21833 
21834 
21835     switch ( hash )
21836     {
21837     case HASH_ATTRIBUTE_sid:
21838     {
21839 
21840 attributeData->sid = attributeValue;
21841 #ifdef GENERATEDSAXPARSER_VALIDATION
21842     if ( mValidate )
21843     {
21844     ParserError::ErrorType simpleTypeValidationResult = validate__NCName(attributeData->sid, strlen(attributeData->sid));
21845     if (simpleTypeValidationResult != ParserError::SIMPLE_TYPE_VALIDATION_OK)
21846     {
21847         if( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL,
21848             simpleTypeValidationResult,
21849             HASH_ELEMENT_DYNAMIC,
21850             HASH_ATTRIBUTE_sid,
21851             attributeValue) )
21852         {
21853             return false;
21854         }
21855     }
21856     } // validation
21857 #endif
21858 
21859     break;
21860     }
21861     default:
21862     {
21863         if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_UNKNOWN_ATTRIBUTE, HASH_ELEMENT_DYNAMIC, attribute, attributeValue))
21864             {return false;}
21865     }
21866     }
21867     }
21868 }
21869 
21870 
21871     return true;
21872 }
21873 
21874 //---------------------------------------------------------------------
_preEnd__rigid_body__technique_common__dynamic()21875 bool ColladaParserAutoGen14Private::_preEnd__rigid_body__technique_common__dynamic()
21876 {
21877 #ifdef GENERATEDSAXPARSER_VALIDATION
21878     if ( mValidate )
21879     {
21880 
21881         bool validationResult = _validateEnd__rigid_body__technique_common__dynamic();
21882         if ( !validationResult ) return false;
21883 
21884     } // validation
21885 #endif
21886 
21887 bool failed;
21888 const ParserChar* ptrForErr = mLastIncompleteFragmentInCharacterData;
21889 DISABLE_WARNING_UNUSED(ptrForErr)
21890 bool parameter = GeneratedSaxParser::Utils::toBool((const ParserChar**)&mLastIncompleteFragmentInCharacterData, mEndOfDataInCurrentObjectOnStack, failed);
21891 bool returnValue;
21892 if (!failed)
21893 {
21894     returnValue = mImpl->data__rigid_body__technique_common__dynamic(parameter);
21895 }
21896 else
21897     returnValue = !handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_TEXTDATA_PARSING_FAILED, HASH_ELEMENT_DYNAMIC, (const ParserChar*)0, mLastIncompleteFragmentInCharacterData);
21898 if (mLastIncompleteFragmentInCharacterData)
21899     mStackMemoryManager.deleteObject();
21900 mLastIncompleteFragmentInCharacterData = 0;
21901 mEndOfDataInCurrentObjectOnStack = 0;
21902 return returnValue;
21903 }
21904 
21905 //---------------------------------------------------------------------
_freeAttributes__rigid_body__technique_common__dynamic(void * attributeData)21906 bool ColladaParserAutoGen14Private::_freeAttributes__rigid_body__technique_common__dynamic( void* attributeData )
21907 {
21908     rigid_body__technique_common__dynamic__AttributeData* typedAttributeData = static_cast<rigid_body__technique_common__dynamic__AttributeData*>(attributeData);
21909 
21910     typedAttributeData->~rigid_body__technique_common__dynamic__AttributeData();
21911 
21912     return true;
21913 }
21914 
21915 //---------------------------------------------------------------------
21916 const mass__AttributeData mass__AttributeData::DEFAULT = {0};
21917 
21918 //---------------------------------------------------------------------
_data__mass(const ParserChar * text,size_t textLength)21919 bool ColladaParserAutoGen14Private::_data__mass( const ParserChar* text, size_t textLength )
21920 {
21921 if (!mLastIncompleteFragmentInCharacterData)
21922 {
21923     mLastIncompleteFragmentInCharacterData = (ParserChar*)mStackMemoryManager.newObject(textLength);
21924     memcpy(mLastIncompleteFragmentInCharacterData, text, textLength);
21925     mEndOfDataInCurrentObjectOnStack = mLastIncompleteFragmentInCharacterData + textLength;
21926 }
21927 else
21928 {
21929     ParserChar* tmp = (ParserChar*)mStackMemoryManager.growObject(textLength);
21930     if ( tmp != mLastIncompleteFragmentInCharacterData ) {
21931         mEndOfDataInCurrentObjectOnStack = (mEndOfDataInCurrentObjectOnStack - mLastIncompleteFragmentInCharacterData) + tmp;
21932         mLastIncompleteFragmentInCharacterData = tmp;
21933     }
21934     memcpy(mEndOfDataInCurrentObjectOnStack, text, textLength);
21935     mEndOfDataInCurrentObjectOnStack += textLength;
21936 }
21937 return true;
21938 }
21939 
21940 //---------------------------------------------------------------------
_preBegin__mass(const ParserAttributes & attributes,void ** attributeDataPtr,void ** validationDataPtr)21941 bool ColladaParserAutoGen14Private::_preBegin__mass( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
21942 {
21943 #ifdef GENERATEDSAXPARSER_VALIDATION
21944     if ( mValidate )
21945     {
21946 
21947         bool validationResult = _validateBegin__mass( attributes, attributeDataPtr, validationDataPtr );
21948         if ( !validationResult ) return false;
21949 
21950     } // validation
21951 #endif
21952 
21953 mass__AttributeData* attributeData = newData<mass__AttributeData>(attributeDataPtr);
21954 
21955 const ParserChar** attributeArray = attributes.attributes;
21956 if ( attributeArray )
21957 {
21958     while (true)
21959     {
21960         const ParserChar * attribute = *attributeArray;
21961         if ( !attribute )
21962             break;
21963         StringHash hash = GeneratedSaxParser::Utils::calculateStringHash(attribute);
21964         attributeArray++;
21965         if ( !attributeArray )
21966             return false;
21967         const ParserChar* attributeValue = *attributeArray;
21968         attributeArray++;
21969 
21970 
21971     switch ( hash )
21972     {
21973     case HASH_ATTRIBUTE_sid:
21974     {
21975 
21976 attributeData->sid = attributeValue;
21977 #ifdef GENERATEDSAXPARSER_VALIDATION
21978     if ( mValidate )
21979     {
21980     ParserError::ErrorType simpleTypeValidationResult = validate__NCName(attributeData->sid, strlen(attributeData->sid));
21981     if (simpleTypeValidationResult != ParserError::SIMPLE_TYPE_VALIDATION_OK)
21982     {
21983         if( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL,
21984             simpleTypeValidationResult,
21985             HASH_ELEMENT_MASS,
21986             HASH_ATTRIBUTE_sid,
21987             attributeValue) )
21988         {
21989             return false;
21990         }
21991     }
21992     } // validation
21993 #endif
21994 
21995     break;
21996     }
21997     default:
21998     {
21999         if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_UNKNOWN_ATTRIBUTE, HASH_ELEMENT_MASS, attribute, attributeValue))
22000             {return false;}
22001     }
22002     }
22003     }
22004 }
22005 
22006 
22007     return true;
22008 }
22009 
22010 //---------------------------------------------------------------------
_preEnd__mass()22011 bool ColladaParserAutoGen14Private::_preEnd__mass()
22012 {
22013 #ifdef GENERATEDSAXPARSER_VALIDATION
22014     if ( mValidate )
22015     {
22016 
22017         bool validationResult = _validateEnd__mass();
22018         if ( !validationResult ) return false;
22019 
22020     } // validation
22021 #endif
22022 
22023 bool failed;
22024 const ParserChar* ptrForErr = mLastIncompleteFragmentInCharacterData;
22025 DISABLE_WARNING_UNUSED(ptrForErr)
22026 float parameter = GeneratedSaxParser::Utils::toFloat((const ParserChar**)&mLastIncompleteFragmentInCharacterData, mEndOfDataInCurrentObjectOnStack, failed);
22027 bool returnValue;
22028 if (!failed)
22029 {
22030     returnValue = mImpl->data__mass(parameter);
22031 }
22032 else
22033     returnValue = !handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_TEXTDATA_PARSING_FAILED, HASH_ELEMENT_MASS, (const ParserChar*)0, mLastIncompleteFragmentInCharacterData);
22034 if (mLastIncompleteFragmentInCharacterData)
22035     mStackMemoryManager.deleteObject();
22036 mLastIncompleteFragmentInCharacterData = 0;
22037 mEndOfDataInCurrentObjectOnStack = 0;
22038 return returnValue;
22039 }
22040 
22041 //---------------------------------------------------------------------
_freeAttributes__mass(void * attributeData)22042 bool ColladaParserAutoGen14Private::_freeAttributes__mass( void* attributeData )
22043 {
22044     mass__AttributeData* typedAttributeData = static_cast<mass__AttributeData*>(attributeData);
22045 
22046     typedAttributeData->~mass__AttributeData();
22047 
22048     return true;
22049 }
22050 
22051 //---------------------------------------------------------------------
_data__rigid_body__technique_common__mass_frame(const ParserChar * text,size_t textLength)22052 bool ColladaParserAutoGen14Private::_data__rigid_body__technique_common__mass_frame( const ParserChar* text, size_t textLength )
22053 {
22054     return true;
22055 }
22056 
22057 //---------------------------------------------------------------------
_preBegin__rigid_body__technique_common__mass_frame(const ParserAttributes & attributes,void ** attributeDataPtr,void ** validationDataPtr)22058 bool ColladaParserAutoGen14Private::_preBegin__rigid_body__technique_common__mass_frame( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
22059 {
22060 #ifdef GENERATEDSAXPARSER_VALIDATION
22061     if ( mValidate )
22062     {
22063 
22064         bool validationResult = _validateBegin__rigid_body__technique_common__mass_frame( attributes, attributeDataPtr, validationDataPtr );
22065         if ( !validationResult ) return false;
22066 
22067     } // validation
22068 #endif
22069 
22070     return true;
22071 }
22072 
22073 //---------------------------------------------------------------------
_preEnd__rigid_body__technique_common__mass_frame()22074 bool ColladaParserAutoGen14Private::_preEnd__rigid_body__technique_common__mass_frame()
22075 {
22076 #ifdef GENERATEDSAXPARSER_VALIDATION
22077     if ( mValidate )
22078     {
22079 
22080         bool validationResult = _validateEnd__rigid_body__technique_common__mass_frame();
22081         if ( !validationResult ) return false;
22082 
22083     } // validation
22084 #endif
22085 
22086     return true;
22087 }
22088 
22089 //---------------------------------------------------------------------
_freeAttributes__rigid_body__technique_common__mass_frame(void * attributeData)22090 bool ColladaParserAutoGen14Private::_freeAttributes__rigid_body__technique_common__mass_frame( void* attributeData )
22091 {
22092     return true;
22093 }
22094 
22095 //---------------------------------------------------------------------
22096 const inertia__AttributeData inertia__AttributeData::DEFAULT = {0};
22097 
22098 //---------------------------------------------------------------------
_data__inertia(const ParserChar * text,size_t textLength)22099 bool ColladaParserAutoGen14Private::_data__inertia( const ParserChar* text, size_t textLength )
22100 {
22101 #ifdef GENERATEDSAXPARSER_VALIDATION
22102     if ( mValidate )
22103     {
22104         float3____float3__ValidationData* validationData = (float3____float3__ValidationData*)mValidationDataStack.top();
22105         DISABLE_WARNING_UNUSED(validationData)
22106 return characterData2FloatData(text, textLength, &ColladaParserAutoGen14::data__inertia, &validate__float3__stream, &validationData->validationWholeSize, 0);
22107     }
22108     else
22109     {
22110 return characterData2FloatData(text, textLength, &ColladaParserAutoGen14::data__inertia);
22111     }
22112 #else
22113     {
22114 return characterData2FloatData(text, textLength, &ColladaParserAutoGen14::data__inertia);
22115     } // validation
22116 #endif
22117 
22118 }
22119 
22120 //---------------------------------------------------------------------
_preBegin__inertia(const ParserAttributes & attributes,void ** attributeDataPtr,void ** validationDataPtr)22121 bool ColladaParserAutoGen14Private::_preBegin__inertia( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
22122 {
22123 #ifdef GENERATEDSAXPARSER_VALIDATION
22124     if ( mValidate )
22125     {
22126 
22127         bool validationResult = _validateBegin__inertia( attributes, attributeDataPtr, validationDataPtr );
22128         if ( !validationResult ) return false;
22129 
22130     } // validation
22131 #endif
22132 
22133 inertia__AttributeData* attributeData = newData<inertia__AttributeData>(attributeDataPtr);
22134 
22135 const ParserChar** attributeArray = attributes.attributes;
22136 if ( attributeArray )
22137 {
22138     while (true)
22139     {
22140         const ParserChar * attribute = *attributeArray;
22141         if ( !attribute )
22142             break;
22143         StringHash hash = GeneratedSaxParser::Utils::calculateStringHash(attribute);
22144         attributeArray++;
22145         if ( !attributeArray )
22146             return false;
22147         const ParserChar* attributeValue = *attributeArray;
22148         attributeArray++;
22149 
22150 
22151     switch ( hash )
22152     {
22153     case HASH_ATTRIBUTE_sid:
22154     {
22155 
22156 attributeData->sid = attributeValue;
22157 #ifdef GENERATEDSAXPARSER_VALIDATION
22158     if ( mValidate )
22159     {
22160     ParserError::ErrorType simpleTypeValidationResult = validate__NCName(attributeData->sid, strlen(attributeData->sid));
22161     if (simpleTypeValidationResult != ParserError::SIMPLE_TYPE_VALIDATION_OK)
22162     {
22163         if( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL,
22164             simpleTypeValidationResult,
22165             HASH_ELEMENT_INERTIA,
22166             HASH_ATTRIBUTE_sid,
22167             attributeValue) )
22168         {
22169             return false;
22170         }
22171     }
22172     } // validation
22173 #endif
22174 
22175     break;
22176     }
22177     default:
22178     {
22179         if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_UNKNOWN_ATTRIBUTE, HASH_ELEMENT_INERTIA, attribute, attributeValue))
22180             {return false;}
22181     }
22182     }
22183     }
22184 }
22185 
22186 
22187     return true;
22188 }
22189 
22190 //---------------------------------------------------------------------
_preEnd__inertia()22191 bool ColladaParserAutoGen14Private::_preEnd__inertia()
22192 {
22193 #ifdef GENERATEDSAXPARSER_VALIDATION
22194     if ( mValidate )
22195     {
22196 
22197         bool validationResult = _validateEnd__inertia();
22198         if ( !validationResult ) return false;
22199 
22200     } // validation
22201 #endif
22202 
22203 #ifdef GENERATEDSAXPARSER_VALIDATION
22204     if ( mValidate )
22205     {
22206         float3____float3__ValidationData* validationData = (float3____float3__ValidationData*)mValidationDataStack.top();
22207         DISABLE_WARNING_UNUSED(validationData)
22208 bool returnValue = floatDataEnd( &ColladaParserAutoGen14::data__inertia, &validate__float3__streamEnd, &validationData->validationWholeSize, 0 );
22209         ParserError::ErrorType simpleTypeValidationResult = validate__float3(0, (*(&validationData->validationWholeSize)));
22210         mValidationDataStack.deleteObject();
22211         if (simpleTypeValidationResult != ParserError::SIMPLE_TYPE_VALIDATION_OK)
22212         {
22213             if( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL,
22214                 simpleTypeValidationResult,
22215                 HASH_ELEMENT_INERTIA,
22216                 (ParserChar*)0, 0 ) )
22217             {
22218                 return false;
22219             }
22220         }
22221         return returnValue;
22222     }
22223     else
22224     {
22225 return floatDataEnd( &ColladaParserAutoGen14::data__inertia );
22226     }
22227 #else
22228     {
22229 return floatDataEnd( &ColladaParserAutoGen14::data__inertia );
22230     } // validation
22231 #endif
22232 
22233 }
22234 
22235 //---------------------------------------------------------------------
_freeAttributes__inertia(void * attributeData)22236 bool ColladaParserAutoGen14Private::_freeAttributes__inertia( void* attributeData )
22237 {
22238     inertia__AttributeData* typedAttributeData = static_cast<inertia__AttributeData*>(attributeData);
22239 
22240     typedAttributeData->~inertia__AttributeData();
22241 
22242     return true;
22243 }
22244 
22245 //---------------------------------------------------------------------
22246 const instance_physics_material__AttributeData instance_physics_material__AttributeData::DEFAULT = {0, 0, 0, 0};
22247 
22248 //---------------------------------------------------------------------
_data__instance_physics_material(const ParserChar * text,size_t textLength)22249 bool ColladaParserAutoGen14Private::_data__instance_physics_material( const ParserChar* text, size_t textLength )
22250 {
22251     return true;
22252 }
22253 
22254 //---------------------------------------------------------------------
_preBegin__instance_physics_material(const ParserAttributes & attributes,void ** attributeDataPtr,void ** validationDataPtr)22255 bool ColladaParserAutoGen14Private::_preBegin__instance_physics_material( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
22256 {
22257 #ifdef GENERATEDSAXPARSER_VALIDATION
22258     if ( mValidate )
22259     {
22260 
22261         bool validationResult = _validateBegin__instance_physics_material( attributes, attributeDataPtr, validationDataPtr );
22262         if ( !validationResult ) return false;
22263 
22264     } // validation
22265 #endif
22266 
22267 instance_physics_material__AttributeData* attributeData = newData<instance_physics_material__AttributeData>(attributeDataPtr);
22268 
22269 const ParserChar** attributeArray = attributes.attributes;
22270 if ( attributeArray )
22271 {
22272     while (true)
22273     {
22274         const ParserChar * attribute = *attributeArray;
22275         if ( !attribute )
22276             break;
22277         StringHash hash = GeneratedSaxParser::Utils::calculateStringHash(attribute);
22278         attributeArray++;
22279         if ( !attributeArray )
22280             return false;
22281         const ParserChar* attributeValue = *attributeArray;
22282         attributeArray++;
22283 
22284 
22285     switch ( hash )
22286     {
22287     case HASH_ATTRIBUTE_url:
22288     {
22289 bool failed;
22290 attributeData->url = GeneratedSaxParser::Utils::toURI(&attributeValue, failed);
22291 if ( failed && handleError(ParserError::SEVERITY_ERROR_NONCRITICAL,
22292         ParserError::ERROR_ATTRIBUTE_PARSING_FAILED,
22293         HASH_ELEMENT_INSTANCE_PHYSICS_MATERIAL,
22294         HASH_ATTRIBUTE_url,
22295         attributeValue))
22296 {
22297     return false;
22298 }
22299 if ( !failed )
22300     attributeData->present_attributes |= instance_physics_material__AttributeData::ATTRIBUTE_URL_PRESENT;
22301 
22302     break;
22303     }
22304     case HASH_ATTRIBUTE_sid:
22305     {
22306 
22307 attributeData->sid = attributeValue;
22308 #ifdef GENERATEDSAXPARSER_VALIDATION
22309     if ( mValidate )
22310     {
22311     ParserError::ErrorType simpleTypeValidationResult = validate__NCName(attributeData->sid, strlen(attributeData->sid));
22312     if (simpleTypeValidationResult != ParserError::SIMPLE_TYPE_VALIDATION_OK)
22313     {
22314         if( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL,
22315             simpleTypeValidationResult,
22316             HASH_ELEMENT_INSTANCE_PHYSICS_MATERIAL,
22317             HASH_ATTRIBUTE_sid,
22318             attributeValue) )
22319         {
22320             return false;
22321         }
22322     }
22323     } // validation
22324 #endif
22325 
22326     break;
22327     }
22328     case HASH_ATTRIBUTE_name:
22329     {
22330 
22331 attributeData->name = attributeValue;
22332 #ifdef GENERATEDSAXPARSER_VALIDATION
22333     if ( mValidate )
22334     {
22335     ParserError::ErrorType simpleTypeValidationResult = validate__NCName(attributeData->name, strlen(attributeData->name));
22336     if (simpleTypeValidationResult != ParserError::SIMPLE_TYPE_VALIDATION_OK)
22337     {
22338         if( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL,
22339             simpleTypeValidationResult,
22340             HASH_ELEMENT_INSTANCE_PHYSICS_MATERIAL,
22341             HASH_ATTRIBUTE_name,
22342             attributeValue) )
22343         {
22344             return false;
22345         }
22346     }
22347     } // validation
22348 #endif
22349 
22350     break;
22351     }
22352     default:
22353     {
22354         if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_UNKNOWN_ATTRIBUTE, HASH_ELEMENT_INSTANCE_PHYSICS_MATERIAL, attribute, attributeValue))
22355             {return false;}
22356     }
22357     }
22358     }
22359 }
22360 if ((attributeData->present_attributes & instance_physics_material__AttributeData::ATTRIBUTE_URL_PRESENT) == 0)
22361 {
22362     attributeData->url = COLLADABU::URI("");
22363 }
22364 if ( (attributeData->present_attributes & instance_physics_material__AttributeData::ATTRIBUTE_URL_PRESENT) == 0 )
22365 {
22366     if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_REQUIRED_ATTRIBUTE_MISSING, HASH_ELEMENT_INSTANCE_PHYSICS_MATERIAL, HASH_ATTRIBUTE_url, 0 ) )
22367         return false;
22368 }
22369 
22370 
22371     return true;
22372 }
22373 
22374 //---------------------------------------------------------------------
_preEnd__instance_physics_material()22375 bool ColladaParserAutoGen14Private::_preEnd__instance_physics_material()
22376 {
22377 #ifdef GENERATEDSAXPARSER_VALIDATION
22378     if ( mValidate )
22379     {
22380 
22381         bool validationResult = _validateEnd__instance_physics_material();
22382         if ( !validationResult ) return false;
22383 
22384     } // validation
22385 #endif
22386 
22387     return true;
22388 }
22389 
22390 //---------------------------------------------------------------------
_freeAttributes__instance_physics_material(void * attributeData)22391 bool ColladaParserAutoGen14Private::_freeAttributes__instance_physics_material( void* attributeData )
22392 {
22393     instance_physics_material__AttributeData* typedAttributeData = static_cast<instance_physics_material__AttributeData*>(attributeData);
22394 
22395     typedAttributeData->~instance_physics_material__AttributeData();
22396 
22397     return true;
22398 }
22399 
22400 //---------------------------------------------------------------------
_data__rigid_body__technique_common__shape(const ParserChar * text,size_t textLength)22401 bool ColladaParserAutoGen14Private::_data__rigid_body__technique_common__shape( const ParserChar* text, size_t textLength )
22402 {
22403     return true;
22404 }
22405 
22406 //---------------------------------------------------------------------
_preBegin__rigid_body__technique_common__shape(const ParserAttributes & attributes,void ** attributeDataPtr,void ** validationDataPtr)22407 bool ColladaParserAutoGen14Private::_preBegin__rigid_body__technique_common__shape( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
22408 {
22409 #ifdef GENERATEDSAXPARSER_VALIDATION
22410     if ( mValidate )
22411     {
22412 
22413         bool validationResult = _validateBegin__rigid_body__technique_common__shape( attributes, attributeDataPtr, validationDataPtr );
22414         if ( !validationResult ) return false;
22415 
22416     } // validation
22417 #endif
22418 
22419     return true;
22420 }
22421 
22422 //---------------------------------------------------------------------
_preEnd__rigid_body__technique_common__shape()22423 bool ColladaParserAutoGen14Private::_preEnd__rigid_body__technique_common__shape()
22424 {
22425 #ifdef GENERATEDSAXPARSER_VALIDATION
22426     if ( mValidate )
22427     {
22428 
22429         bool validationResult = _validateEnd__rigid_body__technique_common__shape();
22430         if ( !validationResult ) return false;
22431 
22432     } // validation
22433 #endif
22434 
22435     return true;
22436 }
22437 
22438 //---------------------------------------------------------------------
_freeAttributes__rigid_body__technique_common__shape(void * attributeData)22439 bool ColladaParserAutoGen14Private::_freeAttributes__rigid_body__technique_common__shape( void* attributeData )
22440 {
22441     return true;
22442 }
22443 
22444 //---------------------------------------------------------------------
22445 const rigid_body__technique_common__shape__hollow__AttributeData rigid_body__technique_common__shape__hollow__AttributeData::DEFAULT = {0};
22446 
22447 //---------------------------------------------------------------------
_data__rigid_body__technique_common__shape__hollow(const ParserChar * text,size_t textLength)22448 bool ColladaParserAutoGen14Private::_data__rigid_body__technique_common__shape__hollow( const ParserChar* text, size_t textLength )
22449 {
22450 if (!mLastIncompleteFragmentInCharacterData)
22451 {
22452     mLastIncompleteFragmentInCharacterData = (ParserChar*)mStackMemoryManager.newObject(textLength);
22453     memcpy(mLastIncompleteFragmentInCharacterData, text, textLength);
22454     mEndOfDataInCurrentObjectOnStack = mLastIncompleteFragmentInCharacterData + textLength;
22455 }
22456 else
22457 {
22458     ParserChar* tmp = (ParserChar*)mStackMemoryManager.growObject(textLength);
22459     if ( tmp != mLastIncompleteFragmentInCharacterData ) {
22460         mEndOfDataInCurrentObjectOnStack = (mEndOfDataInCurrentObjectOnStack - mLastIncompleteFragmentInCharacterData) + tmp;
22461         mLastIncompleteFragmentInCharacterData = tmp;
22462     }
22463     memcpy(mEndOfDataInCurrentObjectOnStack, text, textLength);
22464     mEndOfDataInCurrentObjectOnStack += textLength;
22465 }
22466 return true;
22467 }
22468 
22469 //---------------------------------------------------------------------
_preBegin__rigid_body__technique_common__shape__hollow(const ParserAttributes & attributes,void ** attributeDataPtr,void ** validationDataPtr)22470 bool ColladaParserAutoGen14Private::_preBegin__rigid_body__technique_common__shape__hollow( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
22471 {
22472 #ifdef GENERATEDSAXPARSER_VALIDATION
22473     if ( mValidate )
22474     {
22475 
22476         bool validationResult = _validateBegin__rigid_body__technique_common__shape__hollow( attributes, attributeDataPtr, validationDataPtr );
22477         if ( !validationResult ) return false;
22478 
22479     } // validation
22480 #endif
22481 
22482 rigid_body__technique_common__shape__hollow__AttributeData* attributeData = newData<rigid_body__technique_common__shape__hollow__AttributeData>(attributeDataPtr);
22483 
22484 const ParserChar** attributeArray = attributes.attributes;
22485 if ( attributeArray )
22486 {
22487     while (true)
22488     {
22489         const ParserChar * attribute = *attributeArray;
22490         if ( !attribute )
22491             break;
22492         StringHash hash = GeneratedSaxParser::Utils::calculateStringHash(attribute);
22493         attributeArray++;
22494         if ( !attributeArray )
22495             return false;
22496         const ParserChar* attributeValue = *attributeArray;
22497         attributeArray++;
22498 
22499 
22500     switch ( hash )
22501     {
22502     case HASH_ATTRIBUTE_sid:
22503     {
22504 
22505 attributeData->sid = attributeValue;
22506 #ifdef GENERATEDSAXPARSER_VALIDATION
22507     if ( mValidate )
22508     {
22509     ParserError::ErrorType simpleTypeValidationResult = validate__NCName(attributeData->sid, strlen(attributeData->sid));
22510     if (simpleTypeValidationResult != ParserError::SIMPLE_TYPE_VALIDATION_OK)
22511     {
22512         if( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL,
22513             simpleTypeValidationResult,
22514             HASH_ELEMENT_HOLLOW,
22515             HASH_ATTRIBUTE_sid,
22516             attributeValue) )
22517         {
22518             return false;
22519         }
22520     }
22521     } // validation
22522 #endif
22523 
22524     break;
22525     }
22526     default:
22527     {
22528         if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_UNKNOWN_ATTRIBUTE, HASH_ELEMENT_HOLLOW, attribute, attributeValue))
22529             {return false;}
22530     }
22531     }
22532     }
22533 }
22534 
22535 
22536     return true;
22537 }
22538 
22539 //---------------------------------------------------------------------
_preEnd__rigid_body__technique_common__shape__hollow()22540 bool ColladaParserAutoGen14Private::_preEnd__rigid_body__technique_common__shape__hollow()
22541 {
22542 #ifdef GENERATEDSAXPARSER_VALIDATION
22543     if ( mValidate )
22544     {
22545 
22546         bool validationResult = _validateEnd__rigid_body__technique_common__shape__hollow();
22547         if ( !validationResult ) return false;
22548 
22549     } // validation
22550 #endif
22551 
22552 bool failed;
22553 const ParserChar* ptrForErr = mLastIncompleteFragmentInCharacterData;
22554 DISABLE_WARNING_UNUSED(ptrForErr)
22555 bool parameter = GeneratedSaxParser::Utils::toBool((const ParserChar**)&mLastIncompleteFragmentInCharacterData, mEndOfDataInCurrentObjectOnStack, failed);
22556 bool returnValue;
22557 if (!failed)
22558 {
22559     returnValue = mImpl->data__rigid_body__technique_common__shape__hollow(parameter);
22560 }
22561 else
22562     returnValue = !handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_TEXTDATA_PARSING_FAILED, HASH_ELEMENT_HOLLOW, (const ParserChar*)0, mLastIncompleteFragmentInCharacterData);
22563 if (mLastIncompleteFragmentInCharacterData)
22564     mStackMemoryManager.deleteObject();
22565 mLastIncompleteFragmentInCharacterData = 0;
22566 mEndOfDataInCurrentObjectOnStack = 0;
22567 return returnValue;
22568 }
22569 
22570 //---------------------------------------------------------------------
_freeAttributes__rigid_body__technique_common__shape__hollow(void * attributeData)22571 bool ColladaParserAutoGen14Private::_freeAttributes__rigid_body__technique_common__shape__hollow( void* attributeData )
22572 {
22573     rigid_body__technique_common__shape__hollow__AttributeData* typedAttributeData = static_cast<rigid_body__technique_common__shape__hollow__AttributeData*>(attributeData);
22574 
22575     typedAttributeData->~rigid_body__technique_common__shape__hollow__AttributeData();
22576 
22577     return true;
22578 }
22579 
22580 //---------------------------------------------------------------------
22581 const density__AttributeData density__AttributeData::DEFAULT = {0};
22582 
22583 //---------------------------------------------------------------------
_data__density(const ParserChar * text,size_t textLength)22584 bool ColladaParserAutoGen14Private::_data__density( const ParserChar* text, size_t textLength )
22585 {
22586 if (!mLastIncompleteFragmentInCharacterData)
22587 {
22588     mLastIncompleteFragmentInCharacterData = (ParserChar*)mStackMemoryManager.newObject(textLength);
22589     memcpy(mLastIncompleteFragmentInCharacterData, text, textLength);
22590     mEndOfDataInCurrentObjectOnStack = mLastIncompleteFragmentInCharacterData + textLength;
22591 }
22592 else
22593 {
22594     ParserChar* tmp = (ParserChar*)mStackMemoryManager.growObject(textLength);
22595     if ( tmp != mLastIncompleteFragmentInCharacterData ) {
22596         mEndOfDataInCurrentObjectOnStack = (mEndOfDataInCurrentObjectOnStack - mLastIncompleteFragmentInCharacterData) + tmp;
22597         mLastIncompleteFragmentInCharacterData = tmp;
22598     }
22599     memcpy(mEndOfDataInCurrentObjectOnStack, text, textLength);
22600     mEndOfDataInCurrentObjectOnStack += textLength;
22601 }
22602 return true;
22603 }
22604 
22605 //---------------------------------------------------------------------
_preBegin__density(const ParserAttributes & attributes,void ** attributeDataPtr,void ** validationDataPtr)22606 bool ColladaParserAutoGen14Private::_preBegin__density( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
22607 {
22608 #ifdef GENERATEDSAXPARSER_VALIDATION
22609     if ( mValidate )
22610     {
22611 
22612         bool validationResult = _validateBegin__density( attributes, attributeDataPtr, validationDataPtr );
22613         if ( !validationResult ) return false;
22614 
22615     } // validation
22616 #endif
22617 
22618 density__AttributeData* attributeData = newData<density__AttributeData>(attributeDataPtr);
22619 
22620 const ParserChar** attributeArray = attributes.attributes;
22621 if ( attributeArray )
22622 {
22623     while (true)
22624     {
22625         const ParserChar * attribute = *attributeArray;
22626         if ( !attribute )
22627             break;
22628         StringHash hash = GeneratedSaxParser::Utils::calculateStringHash(attribute);
22629         attributeArray++;
22630         if ( !attributeArray )
22631             return false;
22632         const ParserChar* attributeValue = *attributeArray;
22633         attributeArray++;
22634 
22635 
22636     switch ( hash )
22637     {
22638     case HASH_ATTRIBUTE_sid:
22639     {
22640 
22641 attributeData->sid = attributeValue;
22642 #ifdef GENERATEDSAXPARSER_VALIDATION
22643     if ( mValidate )
22644     {
22645     ParserError::ErrorType simpleTypeValidationResult = validate__NCName(attributeData->sid, strlen(attributeData->sid));
22646     if (simpleTypeValidationResult != ParserError::SIMPLE_TYPE_VALIDATION_OK)
22647     {
22648         if( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL,
22649             simpleTypeValidationResult,
22650             HASH_ELEMENT_DENSITY,
22651             HASH_ATTRIBUTE_sid,
22652             attributeValue) )
22653         {
22654             return false;
22655         }
22656     }
22657     } // validation
22658 #endif
22659 
22660     break;
22661     }
22662     default:
22663     {
22664         if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_UNKNOWN_ATTRIBUTE, HASH_ELEMENT_DENSITY, attribute, attributeValue))
22665             {return false;}
22666     }
22667     }
22668     }
22669 }
22670 
22671 
22672     return true;
22673 }
22674 
22675 //---------------------------------------------------------------------
_preEnd__density()22676 bool ColladaParserAutoGen14Private::_preEnd__density()
22677 {
22678 #ifdef GENERATEDSAXPARSER_VALIDATION
22679     if ( mValidate )
22680     {
22681 
22682         bool validationResult = _validateEnd__density();
22683         if ( !validationResult ) return false;
22684 
22685     } // validation
22686 #endif
22687 
22688 bool failed;
22689 const ParserChar* ptrForErr = mLastIncompleteFragmentInCharacterData;
22690 DISABLE_WARNING_UNUSED(ptrForErr)
22691 float parameter = GeneratedSaxParser::Utils::toFloat((const ParserChar**)&mLastIncompleteFragmentInCharacterData, mEndOfDataInCurrentObjectOnStack, failed);
22692 bool returnValue;
22693 if (!failed)
22694 {
22695     returnValue = mImpl->data__density(parameter);
22696 }
22697 else
22698     returnValue = !handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_TEXTDATA_PARSING_FAILED, HASH_ELEMENT_DENSITY, (const ParserChar*)0, mLastIncompleteFragmentInCharacterData);
22699 if (mLastIncompleteFragmentInCharacterData)
22700     mStackMemoryManager.deleteObject();
22701 mLastIncompleteFragmentInCharacterData = 0;
22702 mEndOfDataInCurrentObjectOnStack = 0;
22703 return returnValue;
22704 }
22705 
22706 //---------------------------------------------------------------------
_freeAttributes__density(void * attributeData)22707 bool ColladaParserAutoGen14Private::_freeAttributes__density( void* attributeData )
22708 {
22709     density__AttributeData* typedAttributeData = static_cast<density__AttributeData*>(attributeData);
22710 
22711     typedAttributeData->~density__AttributeData();
22712 
22713     return true;
22714 }
22715 
22716 //---------------------------------------------------------------------
_data__plane(const ParserChar * text,size_t textLength)22717 bool ColladaParserAutoGen14Private::_data__plane( const ParserChar* text, size_t textLength )
22718 {
22719     return true;
22720 }
22721 
22722 //---------------------------------------------------------------------
_preBegin__plane(const ParserAttributes & attributes,void ** attributeDataPtr,void ** validationDataPtr)22723 bool ColladaParserAutoGen14Private::_preBegin__plane( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
22724 {
22725 #ifdef GENERATEDSAXPARSER_VALIDATION
22726     if ( mValidate )
22727     {
22728 
22729         bool validationResult = _validateBegin__plane( attributes, attributeDataPtr, validationDataPtr );
22730         if ( !validationResult ) return false;
22731 
22732     } // validation
22733 #endif
22734 
22735     return true;
22736 }
22737 
22738 //---------------------------------------------------------------------
_preEnd__plane()22739 bool ColladaParserAutoGen14Private::_preEnd__plane()
22740 {
22741 #ifdef GENERATEDSAXPARSER_VALIDATION
22742     if ( mValidate )
22743     {
22744 
22745         bool validationResult = _validateEnd__plane();
22746         if ( !validationResult ) return false;
22747 
22748     } // validation
22749 #endif
22750 
22751     return true;
22752 }
22753 
22754 //---------------------------------------------------------------------
_freeAttributes__plane(void * attributeData)22755 bool ColladaParserAutoGen14Private::_freeAttributes__plane( void* attributeData )
22756 {
22757     return true;
22758 }
22759 
22760 //---------------------------------------------------------------------
_data__equation(const ParserChar * text,size_t textLength)22761 bool ColladaParserAutoGen14Private::_data__equation( const ParserChar* text, size_t textLength )
22762 {
22763 #ifdef GENERATEDSAXPARSER_VALIDATION
22764     if ( mValidate )
22765     {
22766         float4____float4__ValidationData* validationData = (float4____float4__ValidationData*)mValidationDataStack.top();
22767         DISABLE_WARNING_UNUSED(validationData)
22768 return characterData2FloatData(text, textLength, &ColladaParserAutoGen14::data__equation, &validate__float4__stream, &validationData->validationWholeSize, 0);
22769     }
22770     else
22771     {
22772 return characterData2FloatData(text, textLength, &ColladaParserAutoGen14::data__equation);
22773     }
22774 #else
22775     {
22776 return characterData2FloatData(text, textLength, &ColladaParserAutoGen14::data__equation);
22777     } // validation
22778 #endif
22779 
22780 }
22781 
22782 //---------------------------------------------------------------------
_preBegin__equation(const ParserAttributes & attributes,void ** attributeDataPtr,void ** validationDataPtr)22783 bool ColladaParserAutoGen14Private::_preBegin__equation( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
22784 {
22785 #ifdef GENERATEDSAXPARSER_VALIDATION
22786     if ( mValidate )
22787     {
22788 
22789         bool validationResult = _validateBegin__equation( attributes, attributeDataPtr, validationDataPtr );
22790         if ( !validationResult ) return false;
22791 
22792     } // validation
22793 #endif
22794 
22795     return true;
22796 }
22797 
22798 //---------------------------------------------------------------------
_preEnd__equation()22799 bool ColladaParserAutoGen14Private::_preEnd__equation()
22800 {
22801 #ifdef GENERATEDSAXPARSER_VALIDATION
22802     if ( mValidate )
22803     {
22804 
22805         bool validationResult = _validateEnd__equation();
22806         if ( !validationResult ) return false;
22807 
22808     } // validation
22809 #endif
22810 
22811 #ifdef GENERATEDSAXPARSER_VALIDATION
22812     if ( mValidate )
22813     {
22814         float4____float4__ValidationData* validationData = (float4____float4__ValidationData*)mValidationDataStack.top();
22815         DISABLE_WARNING_UNUSED(validationData)
22816 bool returnValue = floatDataEnd( &ColladaParserAutoGen14::data__equation, &validate__float4__streamEnd, &validationData->validationWholeSize, 0 );
22817         ParserError::ErrorType simpleTypeValidationResult = validate__float4(0, (*(&validationData->validationWholeSize)));
22818         mValidationDataStack.deleteObject();
22819         if (simpleTypeValidationResult != ParserError::SIMPLE_TYPE_VALIDATION_OK)
22820         {
22821             if( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL,
22822                 simpleTypeValidationResult,
22823                 HASH_ELEMENT_EQUATION,
22824                 (ParserChar*)0, 0 ) )
22825             {
22826                 return false;
22827             }
22828         }
22829         return returnValue;
22830     }
22831     else
22832     {
22833 return floatDataEnd( &ColladaParserAutoGen14::data__equation );
22834     }
22835 #else
22836     {
22837 return floatDataEnd( &ColladaParserAutoGen14::data__equation );
22838     } // validation
22839 #endif
22840 
22841 }
22842 
22843 //---------------------------------------------------------------------
_freeAttributes__equation(void * attributeData)22844 bool ColladaParserAutoGen14Private::_freeAttributes__equation( void* attributeData )
22845 {
22846     return true;
22847 }
22848 
22849 //---------------------------------------------------------------------
_data__box(const ParserChar * text,size_t textLength)22850 bool ColladaParserAutoGen14Private::_data__box( const ParserChar* text, size_t textLength )
22851 {
22852     return true;
22853 }
22854 
22855 //---------------------------------------------------------------------
_preBegin__box(const ParserAttributes & attributes,void ** attributeDataPtr,void ** validationDataPtr)22856 bool ColladaParserAutoGen14Private::_preBegin__box( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
22857 {
22858 #ifdef GENERATEDSAXPARSER_VALIDATION
22859     if ( mValidate )
22860     {
22861 
22862         bool validationResult = _validateBegin__box( attributes, attributeDataPtr, validationDataPtr );
22863         if ( !validationResult ) return false;
22864 
22865     } // validation
22866 #endif
22867 
22868     return true;
22869 }
22870 
22871 //---------------------------------------------------------------------
_preEnd__box()22872 bool ColladaParserAutoGen14Private::_preEnd__box()
22873 {
22874 #ifdef GENERATEDSAXPARSER_VALIDATION
22875     if ( mValidate )
22876     {
22877 
22878         bool validationResult = _validateEnd__box();
22879         if ( !validationResult ) return false;
22880 
22881     } // validation
22882 #endif
22883 
22884     return true;
22885 }
22886 
22887 //---------------------------------------------------------------------
_freeAttributes__box(void * attributeData)22888 bool ColladaParserAutoGen14Private::_freeAttributes__box( void* attributeData )
22889 {
22890     return true;
22891 }
22892 
22893 //---------------------------------------------------------------------
_data__half_extents(const ParserChar * text,size_t textLength)22894 bool ColladaParserAutoGen14Private::_data__half_extents( const ParserChar* text, size_t textLength )
22895 {
22896 #ifdef GENERATEDSAXPARSER_VALIDATION
22897     if ( mValidate )
22898     {
22899         float3____float3__ValidationData* validationData = (float3____float3__ValidationData*)mValidationDataStack.top();
22900         DISABLE_WARNING_UNUSED(validationData)
22901 return characterData2FloatData(text, textLength, &ColladaParserAutoGen14::data__half_extents, &validate__float3__stream, &validationData->validationWholeSize, 0);
22902     }
22903     else
22904     {
22905 return characterData2FloatData(text, textLength, &ColladaParserAutoGen14::data__half_extents);
22906     }
22907 #else
22908     {
22909 return characterData2FloatData(text, textLength, &ColladaParserAutoGen14::data__half_extents);
22910     } // validation
22911 #endif
22912 
22913 }
22914 
22915 //---------------------------------------------------------------------
_preBegin__half_extents(const ParserAttributes & attributes,void ** attributeDataPtr,void ** validationDataPtr)22916 bool ColladaParserAutoGen14Private::_preBegin__half_extents( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
22917 {
22918 #ifdef GENERATEDSAXPARSER_VALIDATION
22919     if ( mValidate )
22920     {
22921 
22922         bool validationResult = _validateBegin__half_extents( attributes, attributeDataPtr, validationDataPtr );
22923         if ( !validationResult ) return false;
22924 
22925     } // validation
22926 #endif
22927 
22928     return true;
22929 }
22930 
22931 //---------------------------------------------------------------------
_preEnd__half_extents()22932 bool ColladaParserAutoGen14Private::_preEnd__half_extents()
22933 {
22934 #ifdef GENERATEDSAXPARSER_VALIDATION
22935     if ( mValidate )
22936     {
22937 
22938         bool validationResult = _validateEnd__half_extents();
22939         if ( !validationResult ) return false;
22940 
22941     } // validation
22942 #endif
22943 
22944 #ifdef GENERATEDSAXPARSER_VALIDATION
22945     if ( mValidate )
22946     {
22947         float3____float3__ValidationData* validationData = (float3____float3__ValidationData*)mValidationDataStack.top();
22948         DISABLE_WARNING_UNUSED(validationData)
22949 bool returnValue = floatDataEnd( &ColladaParserAutoGen14::data__half_extents, &validate__float3__streamEnd, &validationData->validationWholeSize, 0 );
22950         ParserError::ErrorType simpleTypeValidationResult = validate__float3(0, (*(&validationData->validationWholeSize)));
22951         mValidationDataStack.deleteObject();
22952         if (simpleTypeValidationResult != ParserError::SIMPLE_TYPE_VALIDATION_OK)
22953         {
22954             if( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL,
22955                 simpleTypeValidationResult,
22956                 HASH_ELEMENT_HALF_EXTENTS,
22957                 (ParserChar*)0, 0 ) )
22958             {
22959                 return false;
22960             }
22961         }
22962         return returnValue;
22963     }
22964     else
22965     {
22966 return floatDataEnd( &ColladaParserAutoGen14::data__half_extents );
22967     }
22968 #else
22969     {
22970 return floatDataEnd( &ColladaParserAutoGen14::data__half_extents );
22971     } // validation
22972 #endif
22973 
22974 }
22975 
22976 //---------------------------------------------------------------------
_freeAttributes__half_extents(void * attributeData)22977 bool ColladaParserAutoGen14Private::_freeAttributes__half_extents( void* attributeData )
22978 {
22979     return true;
22980 }
22981 
22982 //---------------------------------------------------------------------
_data__sphere(const ParserChar * text,size_t textLength)22983 bool ColladaParserAutoGen14Private::_data__sphere( const ParserChar* text, size_t textLength )
22984 {
22985     return true;
22986 }
22987 
22988 //---------------------------------------------------------------------
_preBegin__sphere(const ParserAttributes & attributes,void ** attributeDataPtr,void ** validationDataPtr)22989 bool ColladaParserAutoGen14Private::_preBegin__sphere( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
22990 {
22991 #ifdef GENERATEDSAXPARSER_VALIDATION
22992     if ( mValidate )
22993     {
22994 
22995         bool validationResult = _validateBegin__sphere( attributes, attributeDataPtr, validationDataPtr );
22996         if ( !validationResult ) return false;
22997 
22998     } // validation
22999 #endif
23000 
23001     return true;
23002 }
23003 
23004 //---------------------------------------------------------------------
_preEnd__sphere()23005 bool ColladaParserAutoGen14Private::_preEnd__sphere()
23006 {
23007 #ifdef GENERATEDSAXPARSER_VALIDATION
23008     if ( mValidate )
23009     {
23010 
23011         bool validationResult = _validateEnd__sphere();
23012         if ( !validationResult ) return false;
23013 
23014     } // validation
23015 #endif
23016 
23017     return true;
23018 }
23019 
23020 //---------------------------------------------------------------------
_freeAttributes__sphere(void * attributeData)23021 bool ColladaParserAutoGen14Private::_freeAttributes__sphere( void* attributeData )
23022 {
23023     return true;
23024 }
23025 
23026 //---------------------------------------------------------------------
_data__radius____float(const ParserChar * text,size_t textLength)23027 bool ColladaParserAutoGen14Private::_data__radius____float( const ParserChar* text, size_t textLength )
23028 {
23029 if (!mLastIncompleteFragmentInCharacterData)
23030 {
23031     mLastIncompleteFragmentInCharacterData = (ParserChar*)mStackMemoryManager.newObject(textLength);
23032     memcpy(mLastIncompleteFragmentInCharacterData, text, textLength);
23033     mEndOfDataInCurrentObjectOnStack = mLastIncompleteFragmentInCharacterData + textLength;
23034 }
23035 else
23036 {
23037     ParserChar* tmp = (ParserChar*)mStackMemoryManager.growObject(textLength);
23038     if ( tmp != mLastIncompleteFragmentInCharacterData ) {
23039         mEndOfDataInCurrentObjectOnStack = (mEndOfDataInCurrentObjectOnStack - mLastIncompleteFragmentInCharacterData) + tmp;
23040         mLastIncompleteFragmentInCharacterData = tmp;
23041     }
23042     memcpy(mEndOfDataInCurrentObjectOnStack, text, textLength);
23043     mEndOfDataInCurrentObjectOnStack += textLength;
23044 }
23045 return true;
23046 }
23047 
23048 //---------------------------------------------------------------------
_preBegin__radius____float(const ParserAttributes & attributes,void ** attributeDataPtr,void ** validationDataPtr)23049 bool ColladaParserAutoGen14Private::_preBegin__radius____float( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
23050 {
23051 #ifdef GENERATEDSAXPARSER_VALIDATION
23052     if ( mValidate )
23053     {
23054 
23055         bool validationResult = _validateBegin__radius____float( attributes, attributeDataPtr, validationDataPtr );
23056         if ( !validationResult ) return false;
23057 
23058     } // validation
23059 #endif
23060 
23061     return true;
23062 }
23063 
23064 //---------------------------------------------------------------------
_preEnd__radius____float()23065 bool ColladaParserAutoGen14Private::_preEnd__radius____float()
23066 {
23067 #ifdef GENERATEDSAXPARSER_VALIDATION
23068     if ( mValidate )
23069     {
23070 
23071         bool validationResult = _validateEnd__radius____float();
23072         if ( !validationResult ) return false;
23073 
23074     } // validation
23075 #endif
23076 
23077 bool failed;
23078 const ParserChar* ptrForErr = mLastIncompleteFragmentInCharacterData;
23079 DISABLE_WARNING_UNUSED(ptrForErr)
23080 float parameter = GeneratedSaxParser::Utils::toFloat((const ParserChar**)&mLastIncompleteFragmentInCharacterData, mEndOfDataInCurrentObjectOnStack, failed);
23081 bool returnValue;
23082 if (!failed)
23083 {
23084     returnValue = mImpl->data__radius____float(parameter);
23085 }
23086 else
23087     returnValue = !handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_TEXTDATA_PARSING_FAILED, HASH_ELEMENT_RADIUS, (const ParserChar*)0, mLastIncompleteFragmentInCharacterData);
23088 if (mLastIncompleteFragmentInCharacterData)
23089     mStackMemoryManager.deleteObject();
23090 mLastIncompleteFragmentInCharacterData = 0;
23091 mEndOfDataInCurrentObjectOnStack = 0;
23092 return returnValue;
23093 }
23094 
23095 //---------------------------------------------------------------------
_freeAttributes__radius____float(void * attributeData)23096 bool ColladaParserAutoGen14Private::_freeAttributes__radius____float( void* attributeData )
23097 {
23098     return true;
23099 }
23100 
23101 //---------------------------------------------------------------------
_data__cylinder(const ParserChar * text,size_t textLength)23102 bool ColladaParserAutoGen14Private::_data__cylinder( const ParserChar* text, size_t textLength )
23103 {
23104     return true;
23105 }
23106 
23107 //---------------------------------------------------------------------
_preBegin__cylinder(const ParserAttributes & attributes,void ** attributeDataPtr,void ** validationDataPtr)23108 bool ColladaParserAutoGen14Private::_preBegin__cylinder( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
23109 {
23110 #ifdef GENERATEDSAXPARSER_VALIDATION
23111     if ( mValidate )
23112     {
23113 
23114         bool validationResult = _validateBegin__cylinder( attributes, attributeDataPtr, validationDataPtr );
23115         if ( !validationResult ) return false;
23116 
23117     } // validation
23118 #endif
23119 
23120     return true;
23121 }
23122 
23123 //---------------------------------------------------------------------
_preEnd__cylinder()23124 bool ColladaParserAutoGen14Private::_preEnd__cylinder()
23125 {
23126 #ifdef GENERATEDSAXPARSER_VALIDATION
23127     if ( mValidate )
23128     {
23129 
23130         bool validationResult = _validateEnd__cylinder();
23131         if ( !validationResult ) return false;
23132 
23133     } // validation
23134 #endif
23135 
23136     return true;
23137 }
23138 
23139 //---------------------------------------------------------------------
_freeAttributes__cylinder(void * attributeData)23140 bool ColladaParserAutoGen14Private::_freeAttributes__cylinder( void* attributeData )
23141 {
23142     return true;
23143 }
23144 
23145 //---------------------------------------------------------------------
_data__height(const ParserChar * text,size_t textLength)23146 bool ColladaParserAutoGen14Private::_data__height( const ParserChar* text, size_t textLength )
23147 {
23148 if (!mLastIncompleteFragmentInCharacterData)
23149 {
23150     mLastIncompleteFragmentInCharacterData = (ParserChar*)mStackMemoryManager.newObject(textLength);
23151     memcpy(mLastIncompleteFragmentInCharacterData, text, textLength);
23152     mEndOfDataInCurrentObjectOnStack = mLastIncompleteFragmentInCharacterData + textLength;
23153 }
23154 else
23155 {
23156     ParserChar* tmp = (ParserChar*)mStackMemoryManager.growObject(textLength);
23157     if ( tmp != mLastIncompleteFragmentInCharacterData ) {
23158         mEndOfDataInCurrentObjectOnStack = (mEndOfDataInCurrentObjectOnStack - mLastIncompleteFragmentInCharacterData) + tmp;
23159         mLastIncompleteFragmentInCharacterData = tmp;
23160     }
23161     memcpy(mEndOfDataInCurrentObjectOnStack, text, textLength);
23162     mEndOfDataInCurrentObjectOnStack += textLength;
23163 }
23164 return true;
23165 }
23166 
23167 //---------------------------------------------------------------------
_preBegin__height(const ParserAttributes & attributes,void ** attributeDataPtr,void ** validationDataPtr)23168 bool ColladaParserAutoGen14Private::_preBegin__height( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
23169 {
23170 #ifdef GENERATEDSAXPARSER_VALIDATION
23171     if ( mValidate )
23172     {
23173 
23174         bool validationResult = _validateBegin__height( attributes, attributeDataPtr, validationDataPtr );
23175         if ( !validationResult ) return false;
23176 
23177     } // validation
23178 #endif
23179 
23180     return true;
23181 }
23182 
23183 //---------------------------------------------------------------------
_preEnd__height()23184 bool ColladaParserAutoGen14Private::_preEnd__height()
23185 {
23186 #ifdef GENERATEDSAXPARSER_VALIDATION
23187     if ( mValidate )
23188     {
23189 
23190         bool validationResult = _validateEnd__height();
23191         if ( !validationResult ) return false;
23192 
23193     } // validation
23194 #endif
23195 
23196 bool failed;
23197 const ParserChar* ptrForErr = mLastIncompleteFragmentInCharacterData;
23198 DISABLE_WARNING_UNUSED(ptrForErr)
23199 float parameter = GeneratedSaxParser::Utils::toFloat((const ParserChar**)&mLastIncompleteFragmentInCharacterData, mEndOfDataInCurrentObjectOnStack, failed);
23200 bool returnValue;
23201 if (!failed)
23202 {
23203     returnValue = mImpl->data__height(parameter);
23204 }
23205 else
23206     returnValue = !handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_TEXTDATA_PARSING_FAILED, HASH_ELEMENT_HEIGHT, (const ParserChar*)0, mLastIncompleteFragmentInCharacterData);
23207 if (mLastIncompleteFragmentInCharacterData)
23208     mStackMemoryManager.deleteObject();
23209 mLastIncompleteFragmentInCharacterData = 0;
23210 mEndOfDataInCurrentObjectOnStack = 0;
23211 return returnValue;
23212 }
23213 
23214 //---------------------------------------------------------------------
_freeAttributes__height(void * attributeData)23215 bool ColladaParserAutoGen14Private::_freeAttributes__height( void* attributeData )
23216 {
23217     return true;
23218 }
23219 
23220 //---------------------------------------------------------------------
_data__radius____float2(const ParserChar * text,size_t textLength)23221 bool ColladaParserAutoGen14Private::_data__radius____float2( const ParserChar* text, size_t textLength )
23222 {
23223 #ifdef GENERATEDSAXPARSER_VALIDATION
23224     if ( mValidate )
23225     {
23226         float2____float2__ValidationData* validationData = (float2____float2__ValidationData*)mValidationDataStack.top();
23227         DISABLE_WARNING_UNUSED(validationData)
23228 return characterData2FloatData(text, textLength, &ColladaParserAutoGen14::data__radius____float2, &validate__float2__stream, &validationData->validationWholeSize, 0);
23229     }
23230     else
23231     {
23232 return characterData2FloatData(text, textLength, &ColladaParserAutoGen14::data__radius____float2);
23233     }
23234 #else
23235     {
23236 return characterData2FloatData(text, textLength, &ColladaParserAutoGen14::data__radius____float2);
23237     } // validation
23238 #endif
23239 
23240 }
23241 
23242 //---------------------------------------------------------------------
_preBegin__radius____float2(const ParserAttributes & attributes,void ** attributeDataPtr,void ** validationDataPtr)23243 bool ColladaParserAutoGen14Private::_preBegin__radius____float2( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
23244 {
23245 #ifdef GENERATEDSAXPARSER_VALIDATION
23246     if ( mValidate )
23247     {
23248 
23249         bool validationResult = _validateBegin__radius____float2( attributes, attributeDataPtr, validationDataPtr );
23250         if ( !validationResult ) return false;
23251 
23252     } // validation
23253 #endif
23254 
23255     return true;
23256 }
23257 
23258 //---------------------------------------------------------------------
_preEnd__radius____float2()23259 bool ColladaParserAutoGen14Private::_preEnd__radius____float2()
23260 {
23261 #ifdef GENERATEDSAXPARSER_VALIDATION
23262     if ( mValidate )
23263     {
23264 
23265         bool validationResult = _validateEnd__radius____float2();
23266         if ( !validationResult ) return false;
23267 
23268     } // validation
23269 #endif
23270 
23271 #ifdef GENERATEDSAXPARSER_VALIDATION
23272     if ( mValidate )
23273     {
23274         float2____float2__ValidationData* validationData = (float2____float2__ValidationData*)mValidationDataStack.top();
23275         DISABLE_WARNING_UNUSED(validationData)
23276 bool returnValue = floatDataEnd( &ColladaParserAutoGen14::data__radius____float2, &validate__float2__streamEnd, &validationData->validationWholeSize, 0 );
23277         ParserError::ErrorType simpleTypeValidationResult = validate__float2(0, (*(&validationData->validationWholeSize)));
23278         mValidationDataStack.deleteObject();
23279         if (simpleTypeValidationResult != ParserError::SIMPLE_TYPE_VALIDATION_OK)
23280         {
23281             if( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL,
23282                 simpleTypeValidationResult,
23283                 HASH_ELEMENT_RADIUS,
23284                 (ParserChar*)0, 0 ) )
23285             {
23286                 return false;
23287             }
23288         }
23289         return returnValue;
23290     }
23291     else
23292     {
23293 return floatDataEnd( &ColladaParserAutoGen14::data__radius____float2 );
23294     }
23295 #else
23296     {
23297 return floatDataEnd( &ColladaParserAutoGen14::data__radius____float2 );
23298     } // validation
23299 #endif
23300 
23301 }
23302 
23303 //---------------------------------------------------------------------
_freeAttributes__radius____float2(void * attributeData)23304 bool ColladaParserAutoGen14Private::_freeAttributes__radius____float2( void* attributeData )
23305 {
23306     return true;
23307 }
23308 
23309 //---------------------------------------------------------------------
_data__tapered_cylinder(const ParserChar * text,size_t textLength)23310 bool ColladaParserAutoGen14Private::_data__tapered_cylinder( const ParserChar* text, size_t textLength )
23311 {
23312     return true;
23313 }
23314 
23315 //---------------------------------------------------------------------
_preBegin__tapered_cylinder(const ParserAttributes & attributes,void ** attributeDataPtr,void ** validationDataPtr)23316 bool ColladaParserAutoGen14Private::_preBegin__tapered_cylinder( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
23317 {
23318 #ifdef GENERATEDSAXPARSER_VALIDATION
23319     if ( mValidate )
23320     {
23321 
23322         bool validationResult = _validateBegin__tapered_cylinder( attributes, attributeDataPtr, validationDataPtr );
23323         if ( !validationResult ) return false;
23324 
23325     } // validation
23326 #endif
23327 
23328     return true;
23329 }
23330 
23331 //---------------------------------------------------------------------
_preEnd__tapered_cylinder()23332 bool ColladaParserAutoGen14Private::_preEnd__tapered_cylinder()
23333 {
23334 #ifdef GENERATEDSAXPARSER_VALIDATION
23335     if ( mValidate )
23336     {
23337 
23338         bool validationResult = _validateEnd__tapered_cylinder();
23339         if ( !validationResult ) return false;
23340 
23341     } // validation
23342 #endif
23343 
23344     return true;
23345 }
23346 
23347 //---------------------------------------------------------------------
_freeAttributes__tapered_cylinder(void * attributeData)23348 bool ColladaParserAutoGen14Private::_freeAttributes__tapered_cylinder( void* attributeData )
23349 {
23350     return true;
23351 }
23352 
23353 //---------------------------------------------------------------------
_data__radius1(const ParserChar * text,size_t textLength)23354 bool ColladaParserAutoGen14Private::_data__radius1( const ParserChar* text, size_t textLength )
23355 {
23356 #ifdef GENERATEDSAXPARSER_VALIDATION
23357     if ( mValidate )
23358     {
23359         float2____float2__ValidationData* validationData = (float2____float2__ValidationData*)mValidationDataStack.top();
23360         DISABLE_WARNING_UNUSED(validationData)
23361 return characterData2FloatData(text, textLength, &ColladaParserAutoGen14::data__radius1, &validate__float2__stream, &validationData->validationWholeSize, 0);
23362     }
23363     else
23364     {
23365 return characterData2FloatData(text, textLength, &ColladaParserAutoGen14::data__radius1);
23366     }
23367 #else
23368     {
23369 return characterData2FloatData(text, textLength, &ColladaParserAutoGen14::data__radius1);
23370     } // validation
23371 #endif
23372 
23373 }
23374 
23375 //---------------------------------------------------------------------
_preBegin__radius1(const ParserAttributes & attributes,void ** attributeDataPtr,void ** validationDataPtr)23376 bool ColladaParserAutoGen14Private::_preBegin__radius1( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
23377 {
23378 #ifdef GENERATEDSAXPARSER_VALIDATION
23379     if ( mValidate )
23380     {
23381 
23382         bool validationResult = _validateBegin__radius1( attributes, attributeDataPtr, validationDataPtr );
23383         if ( !validationResult ) return false;
23384 
23385     } // validation
23386 #endif
23387 
23388     return true;
23389 }
23390 
23391 //---------------------------------------------------------------------
_preEnd__radius1()23392 bool ColladaParserAutoGen14Private::_preEnd__radius1()
23393 {
23394 #ifdef GENERATEDSAXPARSER_VALIDATION
23395     if ( mValidate )
23396     {
23397 
23398         bool validationResult = _validateEnd__radius1();
23399         if ( !validationResult ) return false;
23400 
23401     } // validation
23402 #endif
23403 
23404 #ifdef GENERATEDSAXPARSER_VALIDATION
23405     if ( mValidate )
23406     {
23407         float2____float2__ValidationData* validationData = (float2____float2__ValidationData*)mValidationDataStack.top();
23408         DISABLE_WARNING_UNUSED(validationData)
23409 bool returnValue = floatDataEnd( &ColladaParserAutoGen14::data__radius1, &validate__float2__streamEnd, &validationData->validationWholeSize, 0 );
23410         ParserError::ErrorType simpleTypeValidationResult = validate__float2(0, (*(&validationData->validationWholeSize)));
23411         mValidationDataStack.deleteObject();
23412         if (simpleTypeValidationResult != ParserError::SIMPLE_TYPE_VALIDATION_OK)
23413         {
23414             if( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL,
23415                 simpleTypeValidationResult,
23416                 HASH_ELEMENT_RADIUS1,
23417                 (ParserChar*)0, 0 ) )
23418             {
23419                 return false;
23420             }
23421         }
23422         return returnValue;
23423     }
23424     else
23425     {
23426 return floatDataEnd( &ColladaParserAutoGen14::data__radius1 );
23427     }
23428 #else
23429     {
23430 return floatDataEnd( &ColladaParserAutoGen14::data__radius1 );
23431     } // validation
23432 #endif
23433 
23434 }
23435 
23436 //---------------------------------------------------------------------
_freeAttributes__radius1(void * attributeData)23437 bool ColladaParserAutoGen14Private::_freeAttributes__radius1( void* attributeData )
23438 {
23439     return true;
23440 }
23441 
23442 //---------------------------------------------------------------------
_data__radius2(const ParserChar * text,size_t textLength)23443 bool ColladaParserAutoGen14Private::_data__radius2( const ParserChar* text, size_t textLength )
23444 {
23445 #ifdef GENERATEDSAXPARSER_VALIDATION
23446     if ( mValidate )
23447     {
23448         float2____float2__ValidationData* validationData = (float2____float2__ValidationData*)mValidationDataStack.top();
23449         DISABLE_WARNING_UNUSED(validationData)
23450 return characterData2FloatData(text, textLength, &ColladaParserAutoGen14::data__radius2, &validate__float2__stream, &validationData->validationWholeSize, 0);
23451     }
23452     else
23453     {
23454 return characterData2FloatData(text, textLength, &ColladaParserAutoGen14::data__radius2);
23455     }
23456 #else
23457     {
23458 return characterData2FloatData(text, textLength, &ColladaParserAutoGen14::data__radius2);
23459     } // validation
23460 #endif
23461 
23462 }
23463 
23464 //---------------------------------------------------------------------
_preBegin__radius2(const ParserAttributes & attributes,void ** attributeDataPtr,void ** validationDataPtr)23465 bool ColladaParserAutoGen14Private::_preBegin__radius2( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
23466 {
23467 #ifdef GENERATEDSAXPARSER_VALIDATION
23468     if ( mValidate )
23469     {
23470 
23471         bool validationResult = _validateBegin__radius2( attributes, attributeDataPtr, validationDataPtr );
23472         if ( !validationResult ) return false;
23473 
23474     } // validation
23475 #endif
23476 
23477     return true;
23478 }
23479 
23480 //---------------------------------------------------------------------
_preEnd__radius2()23481 bool ColladaParserAutoGen14Private::_preEnd__radius2()
23482 {
23483 #ifdef GENERATEDSAXPARSER_VALIDATION
23484     if ( mValidate )
23485     {
23486 
23487         bool validationResult = _validateEnd__radius2();
23488         if ( !validationResult ) return false;
23489 
23490     } // validation
23491 #endif
23492 
23493 #ifdef GENERATEDSAXPARSER_VALIDATION
23494     if ( mValidate )
23495     {
23496         float2____float2__ValidationData* validationData = (float2____float2__ValidationData*)mValidationDataStack.top();
23497         DISABLE_WARNING_UNUSED(validationData)
23498 bool returnValue = floatDataEnd( &ColladaParserAutoGen14::data__radius2, &validate__float2__streamEnd, &validationData->validationWholeSize, 0 );
23499         ParserError::ErrorType simpleTypeValidationResult = validate__float2(0, (*(&validationData->validationWholeSize)));
23500         mValidationDataStack.deleteObject();
23501         if (simpleTypeValidationResult != ParserError::SIMPLE_TYPE_VALIDATION_OK)
23502         {
23503             if( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL,
23504                 simpleTypeValidationResult,
23505                 HASH_ELEMENT_RADIUS2,
23506                 (ParserChar*)0, 0 ) )
23507             {
23508                 return false;
23509             }
23510         }
23511         return returnValue;
23512     }
23513     else
23514     {
23515 return floatDataEnd( &ColladaParserAutoGen14::data__radius2 );
23516     }
23517 #else
23518     {
23519 return floatDataEnd( &ColladaParserAutoGen14::data__radius2 );
23520     } // validation
23521 #endif
23522 
23523 }
23524 
23525 //---------------------------------------------------------------------
_freeAttributes__radius2(void * attributeData)23526 bool ColladaParserAutoGen14Private::_freeAttributes__radius2( void* attributeData )
23527 {
23528     return true;
23529 }
23530 
23531 //---------------------------------------------------------------------
_data__capsule(const ParserChar * text,size_t textLength)23532 bool ColladaParserAutoGen14Private::_data__capsule( const ParserChar* text, size_t textLength )
23533 {
23534     return true;
23535 }
23536 
23537 //---------------------------------------------------------------------
_preBegin__capsule(const ParserAttributes & attributes,void ** attributeDataPtr,void ** validationDataPtr)23538 bool ColladaParserAutoGen14Private::_preBegin__capsule( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
23539 {
23540 #ifdef GENERATEDSAXPARSER_VALIDATION
23541     if ( mValidate )
23542     {
23543 
23544         bool validationResult = _validateBegin__capsule( attributes, attributeDataPtr, validationDataPtr );
23545         if ( !validationResult ) return false;
23546 
23547     } // validation
23548 #endif
23549 
23550     return true;
23551 }
23552 
23553 //---------------------------------------------------------------------
_preEnd__capsule()23554 bool ColladaParserAutoGen14Private::_preEnd__capsule()
23555 {
23556 #ifdef GENERATEDSAXPARSER_VALIDATION
23557     if ( mValidate )
23558     {
23559 
23560         bool validationResult = _validateEnd__capsule();
23561         if ( !validationResult ) return false;
23562 
23563     } // validation
23564 #endif
23565 
23566     return true;
23567 }
23568 
23569 //---------------------------------------------------------------------
_freeAttributes__capsule(void * attributeData)23570 bool ColladaParserAutoGen14Private::_freeAttributes__capsule( void* attributeData )
23571 {
23572     return true;
23573 }
23574 
23575 //---------------------------------------------------------------------
_data__tapered_capsule(const ParserChar * text,size_t textLength)23576 bool ColladaParserAutoGen14Private::_data__tapered_capsule( const ParserChar* text, size_t textLength )
23577 {
23578     return true;
23579 }
23580 
23581 //---------------------------------------------------------------------
_preBegin__tapered_capsule(const ParserAttributes & attributes,void ** attributeDataPtr,void ** validationDataPtr)23582 bool ColladaParserAutoGen14Private::_preBegin__tapered_capsule( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
23583 {
23584 #ifdef GENERATEDSAXPARSER_VALIDATION
23585     if ( mValidate )
23586     {
23587 
23588         bool validationResult = _validateBegin__tapered_capsule( attributes, attributeDataPtr, validationDataPtr );
23589         if ( !validationResult ) return false;
23590 
23591     } // validation
23592 #endif
23593 
23594     return true;
23595 }
23596 
23597 //---------------------------------------------------------------------
_preEnd__tapered_capsule()23598 bool ColladaParserAutoGen14Private::_preEnd__tapered_capsule()
23599 {
23600 #ifdef GENERATEDSAXPARSER_VALIDATION
23601     if ( mValidate )
23602     {
23603 
23604         bool validationResult = _validateEnd__tapered_capsule();
23605         if ( !validationResult ) return false;
23606 
23607     } // validation
23608 #endif
23609 
23610     return true;
23611 }
23612 
23613 //---------------------------------------------------------------------
_freeAttributes__tapered_capsule(void * attributeData)23614 bool ColladaParserAutoGen14Private::_freeAttributes__tapered_capsule( void* attributeData )
23615 {
23616     return true;
23617 }
23618 
23619 //---------------------------------------------------------------------
23620 const rigid_constraint__AttributeData rigid_constraint__AttributeData::DEFAULT = {0, 0};
23621 
23622 //---------------------------------------------------------------------
_data__rigid_constraint(const ParserChar * text,size_t textLength)23623 bool ColladaParserAutoGen14Private::_data__rigid_constraint( const ParserChar* text, size_t textLength )
23624 {
23625     return true;
23626 }
23627 
23628 //---------------------------------------------------------------------
_preBegin__rigid_constraint(const ParserAttributes & attributes,void ** attributeDataPtr,void ** validationDataPtr)23629 bool ColladaParserAutoGen14Private::_preBegin__rigid_constraint( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
23630 {
23631 #ifdef GENERATEDSAXPARSER_VALIDATION
23632     if ( mValidate )
23633     {
23634 
23635         bool validationResult = _validateBegin__rigid_constraint( attributes, attributeDataPtr, validationDataPtr );
23636         if ( !validationResult ) return false;
23637 
23638     } // validation
23639 #endif
23640 
23641 rigid_constraint__AttributeData* attributeData = newData<rigid_constraint__AttributeData>(attributeDataPtr);
23642 
23643 const ParserChar** attributeArray = attributes.attributes;
23644 if ( attributeArray )
23645 {
23646     while (true)
23647     {
23648         const ParserChar * attribute = *attributeArray;
23649         if ( !attribute )
23650             break;
23651         StringHash hash = GeneratedSaxParser::Utils::calculateStringHash(attribute);
23652         attributeArray++;
23653         if ( !attributeArray )
23654             return false;
23655         const ParserChar* attributeValue = *attributeArray;
23656         attributeArray++;
23657 
23658 
23659     switch ( hash )
23660     {
23661     case HASH_ATTRIBUTE_sid:
23662     {
23663 
23664 attributeData->sid = attributeValue;
23665 #ifdef GENERATEDSAXPARSER_VALIDATION
23666     if ( mValidate )
23667     {
23668     ParserError::ErrorType simpleTypeValidationResult = validate__NCName(attributeData->sid, strlen(attributeData->sid));
23669     if (simpleTypeValidationResult != ParserError::SIMPLE_TYPE_VALIDATION_OK)
23670     {
23671         if( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL,
23672             simpleTypeValidationResult,
23673             HASH_ELEMENT_RIGID_CONSTRAINT,
23674             HASH_ATTRIBUTE_sid,
23675             attributeValue) )
23676         {
23677             return false;
23678         }
23679     }
23680     } // validation
23681 #endif
23682 
23683     break;
23684     }
23685     case HASH_ATTRIBUTE_name:
23686     {
23687 
23688 attributeData->name = attributeValue;
23689 #ifdef GENERATEDSAXPARSER_VALIDATION
23690     if ( mValidate )
23691     {
23692     ParserError::ErrorType simpleTypeValidationResult = validate__NCName(attributeData->name, strlen(attributeData->name));
23693     if (simpleTypeValidationResult != ParserError::SIMPLE_TYPE_VALIDATION_OK)
23694     {
23695         if( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL,
23696             simpleTypeValidationResult,
23697             HASH_ELEMENT_RIGID_CONSTRAINT,
23698             HASH_ATTRIBUTE_name,
23699             attributeValue) )
23700         {
23701             return false;
23702         }
23703     }
23704     } // validation
23705 #endif
23706 
23707     break;
23708     }
23709     default:
23710     {
23711         if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_UNKNOWN_ATTRIBUTE, HASH_ELEMENT_RIGID_CONSTRAINT, attribute, attributeValue))
23712             {return false;}
23713     }
23714     }
23715     }
23716 }
23717 if ( !attributeData->sid )
23718 {
23719     if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_REQUIRED_ATTRIBUTE_MISSING, HASH_ELEMENT_RIGID_CONSTRAINT, HASH_ATTRIBUTE_sid, 0 ) )
23720         return false;
23721 }
23722 
23723 
23724     return true;
23725 }
23726 
23727 //---------------------------------------------------------------------
_preEnd__rigid_constraint()23728 bool ColladaParserAutoGen14Private::_preEnd__rigid_constraint()
23729 {
23730 #ifdef GENERATEDSAXPARSER_VALIDATION
23731     if ( mValidate )
23732     {
23733 
23734         bool validationResult = _validateEnd__rigid_constraint();
23735         if ( !validationResult ) return false;
23736 
23737     } // validation
23738 #endif
23739 
23740     return true;
23741 }
23742 
23743 //---------------------------------------------------------------------
_freeAttributes__rigid_constraint(void * attributeData)23744 bool ColladaParserAutoGen14Private::_freeAttributes__rigid_constraint( void* attributeData )
23745 {
23746     rigid_constraint__AttributeData* typedAttributeData = static_cast<rigid_constraint__AttributeData*>(attributeData);
23747 
23748     typedAttributeData->~rigid_constraint__AttributeData();
23749 
23750     return true;
23751 }
23752 
23753 //---------------------------------------------------------------------
23754 const ref_attachment__AttributeData ref_attachment__AttributeData::DEFAULT = {0, 0};
23755 
23756 //---------------------------------------------------------------------
_data__ref_attachment(const ParserChar * text,size_t textLength)23757 bool ColladaParserAutoGen14Private::_data__ref_attachment( const ParserChar* text, size_t textLength )
23758 {
23759     return true;
23760 }
23761 
23762 //---------------------------------------------------------------------
_preBegin__ref_attachment(const ParserAttributes & attributes,void ** attributeDataPtr,void ** validationDataPtr)23763 bool ColladaParserAutoGen14Private::_preBegin__ref_attachment( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
23764 {
23765 #ifdef GENERATEDSAXPARSER_VALIDATION
23766     if ( mValidate )
23767     {
23768 
23769         bool validationResult = _validateBegin__ref_attachment( attributes, attributeDataPtr, validationDataPtr );
23770         if ( !validationResult ) return false;
23771 
23772     } // validation
23773 #endif
23774 
23775 ref_attachment__AttributeData* attributeData = newData<ref_attachment__AttributeData>(attributeDataPtr);
23776 
23777 const ParserChar** attributeArray = attributes.attributes;
23778 if ( attributeArray )
23779 {
23780     while (true)
23781     {
23782         const ParserChar * attribute = *attributeArray;
23783         if ( !attribute )
23784             break;
23785         StringHash hash = GeneratedSaxParser::Utils::calculateStringHash(attribute);
23786         attributeArray++;
23787         if ( !attributeArray )
23788             return false;
23789         const ParserChar* attributeValue = *attributeArray;
23790         attributeArray++;
23791 
23792 
23793     switch ( hash )
23794     {
23795     case HASH_ATTRIBUTE_rigid_body:
23796     {
23797 bool failed;
23798 attributeData->rigid_body = GeneratedSaxParser::Utils::toURI(&attributeValue, failed);
23799 if ( failed && handleError(ParserError::SEVERITY_ERROR_NONCRITICAL,
23800         ParserError::ERROR_ATTRIBUTE_PARSING_FAILED,
23801         HASH_ELEMENT_REF_ATTACHMENT,
23802         HASH_ATTRIBUTE_rigid_body,
23803         attributeValue))
23804 {
23805     return false;
23806 }
23807 if ( !failed )
23808     attributeData->present_attributes |= ref_attachment__AttributeData::ATTRIBUTE_RIGID_BODY_PRESENT;
23809 
23810     break;
23811     }
23812     default:
23813     {
23814         if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_UNKNOWN_ATTRIBUTE, HASH_ELEMENT_REF_ATTACHMENT, attribute, attributeValue))
23815             {return false;}
23816     }
23817     }
23818     }
23819 }
23820 if ((attributeData->present_attributes & ref_attachment__AttributeData::ATTRIBUTE_RIGID_BODY_PRESENT) == 0)
23821 {
23822     attributeData->rigid_body = COLLADABU::URI("");
23823 }
23824 
23825 
23826     return true;
23827 }
23828 
23829 //---------------------------------------------------------------------
_preEnd__ref_attachment()23830 bool ColladaParserAutoGen14Private::_preEnd__ref_attachment()
23831 {
23832 #ifdef GENERATEDSAXPARSER_VALIDATION
23833     if ( mValidate )
23834     {
23835 
23836         bool validationResult = _validateEnd__ref_attachment();
23837         if ( !validationResult ) return false;
23838 
23839     } // validation
23840 #endif
23841 
23842     return true;
23843 }
23844 
23845 //---------------------------------------------------------------------
_freeAttributes__ref_attachment(void * attributeData)23846 bool ColladaParserAutoGen14Private::_freeAttributes__ref_attachment( void* attributeData )
23847 {
23848     ref_attachment__AttributeData* typedAttributeData = static_cast<ref_attachment__AttributeData*>(attributeData);
23849 
23850     typedAttributeData->~ref_attachment__AttributeData();
23851 
23852     return true;
23853 }
23854 
23855 //---------------------------------------------------------------------
23856 const attachment__AttributeData attachment__AttributeData::DEFAULT = {0, 0};
23857 
23858 //---------------------------------------------------------------------
_data__attachment(const ParserChar * text,size_t textLength)23859 bool ColladaParserAutoGen14Private::_data__attachment( const ParserChar* text, size_t textLength )
23860 {
23861     return true;
23862 }
23863 
23864 //---------------------------------------------------------------------
_preBegin__attachment(const ParserAttributes & attributes,void ** attributeDataPtr,void ** validationDataPtr)23865 bool ColladaParserAutoGen14Private::_preBegin__attachment( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
23866 {
23867 #ifdef GENERATEDSAXPARSER_VALIDATION
23868     if ( mValidate )
23869     {
23870 
23871         bool validationResult = _validateBegin__attachment( attributes, attributeDataPtr, validationDataPtr );
23872         if ( !validationResult ) return false;
23873 
23874     } // validation
23875 #endif
23876 
23877 attachment__AttributeData* attributeData = newData<attachment__AttributeData>(attributeDataPtr);
23878 
23879 const ParserChar** attributeArray = attributes.attributes;
23880 if ( attributeArray )
23881 {
23882     while (true)
23883     {
23884         const ParserChar * attribute = *attributeArray;
23885         if ( !attribute )
23886             break;
23887         StringHash hash = GeneratedSaxParser::Utils::calculateStringHash(attribute);
23888         attributeArray++;
23889         if ( !attributeArray )
23890             return false;
23891         const ParserChar* attributeValue = *attributeArray;
23892         attributeArray++;
23893 
23894 
23895     switch ( hash )
23896     {
23897     case HASH_ATTRIBUTE_rigid_body:
23898     {
23899 bool failed;
23900 attributeData->rigid_body = GeneratedSaxParser::Utils::toURI(&attributeValue, failed);
23901 if ( failed && handleError(ParserError::SEVERITY_ERROR_NONCRITICAL,
23902         ParserError::ERROR_ATTRIBUTE_PARSING_FAILED,
23903         HASH_ELEMENT_ATTACHMENT,
23904         HASH_ATTRIBUTE_rigid_body,
23905         attributeValue))
23906 {
23907     return false;
23908 }
23909 if ( !failed )
23910     attributeData->present_attributes |= attachment__AttributeData::ATTRIBUTE_RIGID_BODY_PRESENT;
23911 
23912     break;
23913     }
23914     default:
23915     {
23916         if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_UNKNOWN_ATTRIBUTE, HASH_ELEMENT_ATTACHMENT, attribute, attributeValue))
23917             {return false;}
23918     }
23919     }
23920     }
23921 }
23922 if ((attributeData->present_attributes & attachment__AttributeData::ATTRIBUTE_RIGID_BODY_PRESENT) == 0)
23923 {
23924     attributeData->rigid_body = COLLADABU::URI("");
23925 }
23926 
23927 
23928     return true;
23929 }
23930 
23931 //---------------------------------------------------------------------
_preEnd__attachment()23932 bool ColladaParserAutoGen14Private::_preEnd__attachment()
23933 {
23934 #ifdef GENERATEDSAXPARSER_VALIDATION
23935     if ( mValidate )
23936     {
23937 
23938         bool validationResult = _validateEnd__attachment();
23939         if ( !validationResult ) return false;
23940 
23941     } // validation
23942 #endif
23943 
23944     return true;
23945 }
23946 
23947 //---------------------------------------------------------------------
_freeAttributes__attachment(void * attributeData)23948 bool ColladaParserAutoGen14Private::_freeAttributes__attachment( void* attributeData )
23949 {
23950     attachment__AttributeData* typedAttributeData = static_cast<attachment__AttributeData*>(attributeData);
23951 
23952     typedAttributeData->~attachment__AttributeData();
23953 
23954     return true;
23955 }
23956 
23957 //---------------------------------------------------------------------
_data__rigid_constraint__technique_common(const ParserChar * text,size_t textLength)23958 bool ColladaParserAutoGen14Private::_data__rigid_constraint__technique_common( const ParserChar* text, size_t textLength )
23959 {
23960     return true;
23961 }
23962 
23963 //---------------------------------------------------------------------
_preBegin__rigid_constraint__technique_common(const ParserAttributes & attributes,void ** attributeDataPtr,void ** validationDataPtr)23964 bool ColladaParserAutoGen14Private::_preBegin__rigid_constraint__technique_common( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
23965 {
23966 #ifdef GENERATEDSAXPARSER_VALIDATION
23967     if ( mValidate )
23968     {
23969 
23970         bool validationResult = _validateBegin__rigid_constraint__technique_common( attributes, attributeDataPtr, validationDataPtr );
23971         if ( !validationResult ) return false;
23972 
23973     } // validation
23974 #endif
23975 
23976     return true;
23977 }
23978 
23979 //---------------------------------------------------------------------
_preEnd__rigid_constraint__technique_common()23980 bool ColladaParserAutoGen14Private::_preEnd__rigid_constraint__technique_common()
23981 {
23982 #ifdef GENERATEDSAXPARSER_VALIDATION
23983     if ( mValidate )
23984     {
23985 
23986         bool validationResult = _validateEnd__rigid_constraint__technique_common();
23987         if ( !validationResult ) return false;
23988 
23989     } // validation
23990 #endif
23991 
23992     return true;
23993 }
23994 
23995 //---------------------------------------------------------------------
_freeAttributes__rigid_constraint__technique_common(void * attributeData)23996 bool ColladaParserAutoGen14Private::_freeAttributes__rigid_constraint__technique_common( void* attributeData )
23997 {
23998     return true;
23999 }
24000 
24001 //---------------------------------------------------------------------
24002 const enabled__AttributeData enabled__AttributeData::DEFAULT = {0};
24003 
24004 //---------------------------------------------------------------------
_data__enabled(const ParserChar * text,size_t textLength)24005 bool ColladaParserAutoGen14Private::_data__enabled( const ParserChar* text, size_t textLength )
24006 {
24007 if (!mLastIncompleteFragmentInCharacterData)
24008 {
24009     mLastIncompleteFragmentInCharacterData = (ParserChar*)mStackMemoryManager.newObject(textLength);
24010     memcpy(mLastIncompleteFragmentInCharacterData, text, textLength);
24011     mEndOfDataInCurrentObjectOnStack = mLastIncompleteFragmentInCharacterData + textLength;
24012 }
24013 else
24014 {
24015     ParserChar* tmp = (ParserChar*)mStackMemoryManager.growObject(textLength);
24016     if ( tmp != mLastIncompleteFragmentInCharacterData ) {
24017         mEndOfDataInCurrentObjectOnStack = (mEndOfDataInCurrentObjectOnStack - mLastIncompleteFragmentInCharacterData) + tmp;
24018         mLastIncompleteFragmentInCharacterData = tmp;
24019     }
24020     memcpy(mEndOfDataInCurrentObjectOnStack, text, textLength);
24021     mEndOfDataInCurrentObjectOnStack += textLength;
24022 }
24023 return true;
24024 }
24025 
24026 //---------------------------------------------------------------------
_preBegin__enabled(const ParserAttributes & attributes,void ** attributeDataPtr,void ** validationDataPtr)24027 bool ColladaParserAutoGen14Private::_preBegin__enabled( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
24028 {
24029 #ifdef GENERATEDSAXPARSER_VALIDATION
24030     if ( mValidate )
24031     {
24032 
24033         bool validationResult = _validateBegin__enabled( attributes, attributeDataPtr, validationDataPtr );
24034         if ( !validationResult ) return false;
24035 
24036     } // validation
24037 #endif
24038 
24039 enabled__AttributeData* attributeData = newData<enabled__AttributeData>(attributeDataPtr);
24040 
24041 const ParserChar** attributeArray = attributes.attributes;
24042 if ( attributeArray )
24043 {
24044     while (true)
24045     {
24046         const ParserChar * attribute = *attributeArray;
24047         if ( !attribute )
24048             break;
24049         StringHash hash = GeneratedSaxParser::Utils::calculateStringHash(attribute);
24050         attributeArray++;
24051         if ( !attributeArray )
24052             return false;
24053         const ParserChar* attributeValue = *attributeArray;
24054         attributeArray++;
24055 
24056 
24057     switch ( hash )
24058     {
24059     case HASH_ATTRIBUTE_sid:
24060     {
24061 
24062 attributeData->sid = attributeValue;
24063 #ifdef GENERATEDSAXPARSER_VALIDATION
24064     if ( mValidate )
24065     {
24066     ParserError::ErrorType simpleTypeValidationResult = validate__NCName(attributeData->sid, strlen(attributeData->sid));
24067     if (simpleTypeValidationResult != ParserError::SIMPLE_TYPE_VALIDATION_OK)
24068     {
24069         if( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL,
24070             simpleTypeValidationResult,
24071             HASH_ELEMENT_ENABLED,
24072             HASH_ATTRIBUTE_sid,
24073             attributeValue) )
24074         {
24075             return false;
24076         }
24077     }
24078     } // validation
24079 #endif
24080 
24081     break;
24082     }
24083     default:
24084     {
24085         if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_UNKNOWN_ATTRIBUTE, HASH_ELEMENT_ENABLED, attribute, attributeValue))
24086             {return false;}
24087     }
24088     }
24089     }
24090 }
24091 
24092 
24093     return true;
24094 }
24095 
24096 //---------------------------------------------------------------------
_preEnd__enabled()24097 bool ColladaParserAutoGen14Private::_preEnd__enabled()
24098 {
24099 #ifdef GENERATEDSAXPARSER_VALIDATION
24100     if ( mValidate )
24101     {
24102 
24103         bool validationResult = _validateEnd__enabled();
24104         if ( !validationResult ) return false;
24105 
24106     } // validation
24107 #endif
24108 
24109 bool failed;
24110 const ParserChar* ptrForErr = mLastIncompleteFragmentInCharacterData;
24111 DISABLE_WARNING_UNUSED(ptrForErr)
24112 bool parameter = GeneratedSaxParser::Utils::toBool((const ParserChar**)&mLastIncompleteFragmentInCharacterData, mEndOfDataInCurrentObjectOnStack, failed);
24113 bool returnValue;
24114 if (!failed)
24115 {
24116     returnValue = mImpl->data__enabled(parameter);
24117 }
24118 else
24119     returnValue = !handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_TEXTDATA_PARSING_FAILED, HASH_ELEMENT_ENABLED, (const ParserChar*)0, mLastIncompleteFragmentInCharacterData);
24120 if (mLastIncompleteFragmentInCharacterData)
24121     mStackMemoryManager.deleteObject();
24122 mLastIncompleteFragmentInCharacterData = 0;
24123 mEndOfDataInCurrentObjectOnStack = 0;
24124 return returnValue;
24125 }
24126 
24127 //---------------------------------------------------------------------
_freeAttributes__enabled(void * attributeData)24128 bool ColladaParserAutoGen14Private::_freeAttributes__enabled( void* attributeData )
24129 {
24130     enabled__AttributeData* typedAttributeData = static_cast<enabled__AttributeData*>(attributeData);
24131 
24132     typedAttributeData->~enabled__AttributeData();
24133 
24134     return true;
24135 }
24136 
24137 //---------------------------------------------------------------------
24138 const interpenetrate__AttributeData interpenetrate__AttributeData::DEFAULT = {0};
24139 
24140 //---------------------------------------------------------------------
_data__interpenetrate(const ParserChar * text,size_t textLength)24141 bool ColladaParserAutoGen14Private::_data__interpenetrate( const ParserChar* text, size_t textLength )
24142 {
24143 if (!mLastIncompleteFragmentInCharacterData)
24144 {
24145     mLastIncompleteFragmentInCharacterData = (ParserChar*)mStackMemoryManager.newObject(textLength);
24146     memcpy(mLastIncompleteFragmentInCharacterData, text, textLength);
24147     mEndOfDataInCurrentObjectOnStack = mLastIncompleteFragmentInCharacterData + textLength;
24148 }
24149 else
24150 {
24151     ParserChar* tmp = (ParserChar*)mStackMemoryManager.growObject(textLength);
24152     if ( tmp != mLastIncompleteFragmentInCharacterData ) {
24153         mEndOfDataInCurrentObjectOnStack = (mEndOfDataInCurrentObjectOnStack - mLastIncompleteFragmentInCharacterData) + tmp;
24154         mLastIncompleteFragmentInCharacterData = tmp;
24155     }
24156     memcpy(mEndOfDataInCurrentObjectOnStack, text, textLength);
24157     mEndOfDataInCurrentObjectOnStack += textLength;
24158 }
24159 return true;
24160 }
24161 
24162 //---------------------------------------------------------------------
_preBegin__interpenetrate(const ParserAttributes & attributes,void ** attributeDataPtr,void ** validationDataPtr)24163 bool ColladaParserAutoGen14Private::_preBegin__interpenetrate( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
24164 {
24165 #ifdef GENERATEDSAXPARSER_VALIDATION
24166     if ( mValidate )
24167     {
24168 
24169         bool validationResult = _validateBegin__interpenetrate( attributes, attributeDataPtr, validationDataPtr );
24170         if ( !validationResult ) return false;
24171 
24172     } // validation
24173 #endif
24174 
24175 interpenetrate__AttributeData* attributeData = newData<interpenetrate__AttributeData>(attributeDataPtr);
24176 
24177 const ParserChar** attributeArray = attributes.attributes;
24178 if ( attributeArray )
24179 {
24180     while (true)
24181     {
24182         const ParserChar * attribute = *attributeArray;
24183         if ( !attribute )
24184             break;
24185         StringHash hash = GeneratedSaxParser::Utils::calculateStringHash(attribute);
24186         attributeArray++;
24187         if ( !attributeArray )
24188             return false;
24189         const ParserChar* attributeValue = *attributeArray;
24190         attributeArray++;
24191 
24192 
24193     switch ( hash )
24194     {
24195     case HASH_ATTRIBUTE_sid:
24196     {
24197 
24198 attributeData->sid = attributeValue;
24199 #ifdef GENERATEDSAXPARSER_VALIDATION
24200     if ( mValidate )
24201     {
24202     ParserError::ErrorType simpleTypeValidationResult = validate__NCName(attributeData->sid, strlen(attributeData->sid));
24203     if (simpleTypeValidationResult != ParserError::SIMPLE_TYPE_VALIDATION_OK)
24204     {
24205         if( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL,
24206             simpleTypeValidationResult,
24207             HASH_ELEMENT_INTERPENETRATE,
24208             HASH_ATTRIBUTE_sid,
24209             attributeValue) )
24210         {
24211             return false;
24212         }
24213     }
24214     } // validation
24215 #endif
24216 
24217     break;
24218     }
24219     default:
24220     {
24221         if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_UNKNOWN_ATTRIBUTE, HASH_ELEMENT_INTERPENETRATE, attribute, attributeValue))
24222             {return false;}
24223     }
24224     }
24225     }
24226 }
24227 
24228 
24229     return true;
24230 }
24231 
24232 //---------------------------------------------------------------------
_preEnd__interpenetrate()24233 bool ColladaParserAutoGen14Private::_preEnd__interpenetrate()
24234 {
24235 #ifdef GENERATEDSAXPARSER_VALIDATION
24236     if ( mValidate )
24237     {
24238 
24239         bool validationResult = _validateEnd__interpenetrate();
24240         if ( !validationResult ) return false;
24241 
24242     } // validation
24243 #endif
24244 
24245 bool failed;
24246 const ParserChar* ptrForErr = mLastIncompleteFragmentInCharacterData;
24247 DISABLE_WARNING_UNUSED(ptrForErr)
24248 bool parameter = GeneratedSaxParser::Utils::toBool((const ParserChar**)&mLastIncompleteFragmentInCharacterData, mEndOfDataInCurrentObjectOnStack, failed);
24249 bool returnValue;
24250 if (!failed)
24251 {
24252     returnValue = mImpl->data__interpenetrate(parameter);
24253 }
24254 else
24255     returnValue = !handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_TEXTDATA_PARSING_FAILED, HASH_ELEMENT_INTERPENETRATE, (const ParserChar*)0, mLastIncompleteFragmentInCharacterData);
24256 if (mLastIncompleteFragmentInCharacterData)
24257     mStackMemoryManager.deleteObject();
24258 mLastIncompleteFragmentInCharacterData = 0;
24259 mEndOfDataInCurrentObjectOnStack = 0;
24260 return returnValue;
24261 }
24262 
24263 //---------------------------------------------------------------------
_freeAttributes__interpenetrate(void * attributeData)24264 bool ColladaParserAutoGen14Private::_freeAttributes__interpenetrate( void* attributeData )
24265 {
24266     interpenetrate__AttributeData* typedAttributeData = static_cast<interpenetrate__AttributeData*>(attributeData);
24267 
24268     typedAttributeData->~interpenetrate__AttributeData();
24269 
24270     return true;
24271 }
24272 
24273 //---------------------------------------------------------------------
_data__limits(const ParserChar * text,size_t textLength)24274 bool ColladaParserAutoGen14Private::_data__limits( const ParserChar* text, size_t textLength )
24275 {
24276     return true;
24277 }
24278 
24279 //---------------------------------------------------------------------
_preBegin__limits(const ParserAttributes & attributes,void ** attributeDataPtr,void ** validationDataPtr)24280 bool ColladaParserAutoGen14Private::_preBegin__limits( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
24281 {
24282 #ifdef GENERATEDSAXPARSER_VALIDATION
24283     if ( mValidate )
24284     {
24285 
24286         bool validationResult = _validateBegin__limits( attributes, attributeDataPtr, validationDataPtr );
24287         if ( !validationResult ) return false;
24288 
24289     } // validation
24290 #endif
24291 
24292     return true;
24293 }
24294 
24295 //---------------------------------------------------------------------
_preEnd__limits()24296 bool ColladaParserAutoGen14Private::_preEnd__limits()
24297 {
24298 #ifdef GENERATEDSAXPARSER_VALIDATION
24299     if ( mValidate )
24300     {
24301 
24302         bool validationResult = _validateEnd__limits();
24303         if ( !validationResult ) return false;
24304 
24305     } // validation
24306 #endif
24307 
24308     return true;
24309 }
24310 
24311 //---------------------------------------------------------------------
_freeAttributes__limits(void * attributeData)24312 bool ColladaParserAutoGen14Private::_freeAttributes__limits( void* attributeData )
24313 {
24314     return true;
24315 }
24316 
24317 //---------------------------------------------------------------------
_data__swing_cone_and_twist(const ParserChar * text,size_t textLength)24318 bool ColladaParserAutoGen14Private::_data__swing_cone_and_twist( const ParserChar* text, size_t textLength )
24319 {
24320     return true;
24321 }
24322 
24323 //---------------------------------------------------------------------
_preBegin__swing_cone_and_twist(const ParserAttributes & attributes,void ** attributeDataPtr,void ** validationDataPtr)24324 bool ColladaParserAutoGen14Private::_preBegin__swing_cone_and_twist( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
24325 {
24326 #ifdef GENERATEDSAXPARSER_VALIDATION
24327     if ( mValidate )
24328     {
24329 
24330         bool validationResult = _validateBegin__swing_cone_and_twist( attributes, attributeDataPtr, validationDataPtr );
24331         if ( !validationResult ) return false;
24332 
24333     } // validation
24334 #endif
24335 
24336     return true;
24337 }
24338 
24339 //---------------------------------------------------------------------
_preEnd__swing_cone_and_twist()24340 bool ColladaParserAutoGen14Private::_preEnd__swing_cone_and_twist()
24341 {
24342 #ifdef GENERATEDSAXPARSER_VALIDATION
24343     if ( mValidate )
24344     {
24345 
24346         bool validationResult = _validateEnd__swing_cone_and_twist();
24347         if ( !validationResult ) return false;
24348 
24349     } // validation
24350 #endif
24351 
24352     return true;
24353 }
24354 
24355 //---------------------------------------------------------------------
_freeAttributes__swing_cone_and_twist(void * attributeData)24356 bool ColladaParserAutoGen14Private::_freeAttributes__swing_cone_and_twist( void* attributeData )
24357 {
24358     return true;
24359 }
24360 
24361 //---------------------------------------------------------------------
24362 const min__AttributeData min__AttributeData::DEFAULT = {0};
24363 
24364 //---------------------------------------------------------------------
_data__min(const ParserChar * text,size_t textLength)24365 bool ColladaParserAutoGen14Private::_data__min( const ParserChar* text, size_t textLength )
24366 {
24367 #ifdef GENERATEDSAXPARSER_VALIDATION
24368     if ( mValidate )
24369     {
24370         float3____float3__ValidationData* validationData = (float3____float3__ValidationData*)mValidationDataStack.top();
24371         DISABLE_WARNING_UNUSED(validationData)
24372 return characterData2FloatData(text, textLength, &ColladaParserAutoGen14::data__min, &validate__float3__stream, &validationData->validationWholeSize, 0);
24373     }
24374     else
24375     {
24376 return characterData2FloatData(text, textLength, &ColladaParserAutoGen14::data__min);
24377     }
24378 #else
24379     {
24380 return characterData2FloatData(text, textLength, &ColladaParserAutoGen14::data__min);
24381     } // validation
24382 #endif
24383 
24384 }
24385 
24386 //---------------------------------------------------------------------
_preBegin__min(const ParserAttributes & attributes,void ** attributeDataPtr,void ** validationDataPtr)24387 bool ColladaParserAutoGen14Private::_preBegin__min( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
24388 {
24389 #ifdef GENERATEDSAXPARSER_VALIDATION
24390     if ( mValidate )
24391     {
24392 
24393         bool validationResult = _validateBegin__min( attributes, attributeDataPtr, validationDataPtr );
24394         if ( !validationResult ) return false;
24395 
24396     } // validation
24397 #endif
24398 
24399 min__AttributeData* attributeData = newData<min__AttributeData>(attributeDataPtr);
24400 
24401 const ParserChar** attributeArray = attributes.attributes;
24402 if ( attributeArray )
24403 {
24404     while (true)
24405     {
24406         const ParserChar * attribute = *attributeArray;
24407         if ( !attribute )
24408             break;
24409         StringHash hash = GeneratedSaxParser::Utils::calculateStringHash(attribute);
24410         attributeArray++;
24411         if ( !attributeArray )
24412             return false;
24413         const ParserChar* attributeValue = *attributeArray;
24414         attributeArray++;
24415 
24416 
24417     switch ( hash )
24418     {
24419     case HASH_ATTRIBUTE_sid:
24420     {
24421 
24422 attributeData->sid = attributeValue;
24423 #ifdef GENERATEDSAXPARSER_VALIDATION
24424     if ( mValidate )
24425     {
24426     ParserError::ErrorType simpleTypeValidationResult = validate__NCName(attributeData->sid, strlen(attributeData->sid));
24427     if (simpleTypeValidationResult != ParserError::SIMPLE_TYPE_VALIDATION_OK)
24428     {
24429         if( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL,
24430             simpleTypeValidationResult,
24431             HASH_ELEMENT_MIN,
24432             HASH_ATTRIBUTE_sid,
24433             attributeValue) )
24434         {
24435             return false;
24436         }
24437     }
24438     } // validation
24439 #endif
24440 
24441     break;
24442     }
24443     default:
24444     {
24445         if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_UNKNOWN_ATTRIBUTE, HASH_ELEMENT_MIN, attribute, attributeValue))
24446             {return false;}
24447     }
24448     }
24449     }
24450 }
24451 
24452 
24453     return true;
24454 }
24455 
24456 //---------------------------------------------------------------------
_preEnd__min()24457 bool ColladaParserAutoGen14Private::_preEnd__min()
24458 {
24459 #ifdef GENERATEDSAXPARSER_VALIDATION
24460     if ( mValidate )
24461     {
24462 
24463         bool validationResult = _validateEnd__min();
24464         if ( !validationResult ) return false;
24465 
24466     } // validation
24467 #endif
24468 
24469 #ifdef GENERATEDSAXPARSER_VALIDATION
24470     if ( mValidate )
24471     {
24472         float3____float3__ValidationData* validationData = (float3____float3__ValidationData*)mValidationDataStack.top();
24473         DISABLE_WARNING_UNUSED(validationData)
24474 bool returnValue = floatDataEnd( &ColladaParserAutoGen14::data__min, &validate__float3__streamEnd, &validationData->validationWholeSize, 0 );
24475         ParserError::ErrorType simpleTypeValidationResult = validate__float3(0, (*(&validationData->validationWholeSize)));
24476         mValidationDataStack.deleteObject();
24477         if (simpleTypeValidationResult != ParserError::SIMPLE_TYPE_VALIDATION_OK)
24478         {
24479             if( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL,
24480                 simpleTypeValidationResult,
24481                 HASH_ELEMENT_MIN,
24482                 (ParserChar*)0, 0 ) )
24483             {
24484                 return false;
24485             }
24486         }
24487         return returnValue;
24488     }
24489     else
24490     {
24491 return floatDataEnd( &ColladaParserAutoGen14::data__min );
24492     }
24493 #else
24494     {
24495 return floatDataEnd( &ColladaParserAutoGen14::data__min );
24496     } // validation
24497 #endif
24498 
24499 }
24500 
24501 //---------------------------------------------------------------------
_freeAttributes__min(void * attributeData)24502 bool ColladaParserAutoGen14Private::_freeAttributes__min( void* attributeData )
24503 {
24504     min__AttributeData* typedAttributeData = static_cast<min__AttributeData*>(attributeData);
24505 
24506     typedAttributeData->~min__AttributeData();
24507 
24508     return true;
24509 }
24510 
24511 //---------------------------------------------------------------------
24512 const max__AttributeData max__AttributeData::DEFAULT = {0};
24513 
24514 //---------------------------------------------------------------------
_data__max(const ParserChar * text,size_t textLength)24515 bool ColladaParserAutoGen14Private::_data__max( const ParserChar* text, size_t textLength )
24516 {
24517 #ifdef GENERATEDSAXPARSER_VALIDATION
24518     if ( mValidate )
24519     {
24520         float3____float3__ValidationData* validationData = (float3____float3__ValidationData*)mValidationDataStack.top();
24521         DISABLE_WARNING_UNUSED(validationData)
24522 return characterData2FloatData(text, textLength, &ColladaParserAutoGen14::data__max, &validate__float3__stream, &validationData->validationWholeSize, 0);
24523     }
24524     else
24525     {
24526 return characterData2FloatData(text, textLength, &ColladaParserAutoGen14::data__max);
24527     }
24528 #else
24529     {
24530 return characterData2FloatData(text, textLength, &ColladaParserAutoGen14::data__max);
24531     } // validation
24532 #endif
24533 
24534 }
24535 
24536 //---------------------------------------------------------------------
_preBegin__max(const ParserAttributes & attributes,void ** attributeDataPtr,void ** validationDataPtr)24537 bool ColladaParserAutoGen14Private::_preBegin__max( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
24538 {
24539 #ifdef GENERATEDSAXPARSER_VALIDATION
24540     if ( mValidate )
24541     {
24542 
24543         bool validationResult = _validateBegin__max( attributes, attributeDataPtr, validationDataPtr );
24544         if ( !validationResult ) return false;
24545 
24546     } // validation
24547 #endif
24548 
24549 max__AttributeData* attributeData = newData<max__AttributeData>(attributeDataPtr);
24550 
24551 const ParserChar** attributeArray = attributes.attributes;
24552 if ( attributeArray )
24553 {
24554     while (true)
24555     {
24556         const ParserChar * attribute = *attributeArray;
24557         if ( !attribute )
24558             break;
24559         StringHash hash = GeneratedSaxParser::Utils::calculateStringHash(attribute);
24560         attributeArray++;
24561         if ( !attributeArray )
24562             return false;
24563         const ParserChar* attributeValue = *attributeArray;
24564         attributeArray++;
24565 
24566 
24567     switch ( hash )
24568     {
24569     case HASH_ATTRIBUTE_sid:
24570     {
24571 
24572 attributeData->sid = attributeValue;
24573 #ifdef GENERATEDSAXPARSER_VALIDATION
24574     if ( mValidate )
24575     {
24576     ParserError::ErrorType simpleTypeValidationResult = validate__NCName(attributeData->sid, strlen(attributeData->sid));
24577     if (simpleTypeValidationResult != ParserError::SIMPLE_TYPE_VALIDATION_OK)
24578     {
24579         if( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL,
24580             simpleTypeValidationResult,
24581             HASH_ELEMENT_MAX,
24582             HASH_ATTRIBUTE_sid,
24583             attributeValue) )
24584         {
24585             return false;
24586         }
24587     }
24588     } // validation
24589 #endif
24590 
24591     break;
24592     }
24593     default:
24594     {
24595         if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_UNKNOWN_ATTRIBUTE, HASH_ELEMENT_MAX, attribute, attributeValue))
24596             {return false;}
24597     }
24598     }
24599     }
24600 }
24601 
24602 
24603     return true;
24604 }
24605 
24606 //---------------------------------------------------------------------
_preEnd__max()24607 bool ColladaParserAutoGen14Private::_preEnd__max()
24608 {
24609 #ifdef GENERATEDSAXPARSER_VALIDATION
24610     if ( mValidate )
24611     {
24612 
24613         bool validationResult = _validateEnd__max();
24614         if ( !validationResult ) return false;
24615 
24616     } // validation
24617 #endif
24618 
24619 #ifdef GENERATEDSAXPARSER_VALIDATION
24620     if ( mValidate )
24621     {
24622         float3____float3__ValidationData* validationData = (float3____float3__ValidationData*)mValidationDataStack.top();
24623         DISABLE_WARNING_UNUSED(validationData)
24624 bool returnValue = floatDataEnd( &ColladaParserAutoGen14::data__max, &validate__float3__streamEnd, &validationData->validationWholeSize, 0 );
24625         ParserError::ErrorType simpleTypeValidationResult = validate__float3(0, (*(&validationData->validationWholeSize)));
24626         mValidationDataStack.deleteObject();
24627         if (simpleTypeValidationResult != ParserError::SIMPLE_TYPE_VALIDATION_OK)
24628         {
24629             if( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL,
24630                 simpleTypeValidationResult,
24631                 HASH_ELEMENT_MAX,
24632                 (ParserChar*)0, 0 ) )
24633             {
24634                 return false;
24635             }
24636         }
24637         return returnValue;
24638     }
24639     else
24640     {
24641 return floatDataEnd( &ColladaParserAutoGen14::data__max );
24642     }
24643 #else
24644     {
24645 return floatDataEnd( &ColladaParserAutoGen14::data__max );
24646     } // validation
24647 #endif
24648 
24649 }
24650 
24651 //---------------------------------------------------------------------
_freeAttributes__max(void * attributeData)24652 bool ColladaParserAutoGen14Private::_freeAttributes__max( void* attributeData )
24653 {
24654     max__AttributeData* typedAttributeData = static_cast<max__AttributeData*>(attributeData);
24655 
24656     typedAttributeData->~max__AttributeData();
24657 
24658     return true;
24659 }
24660 
24661 //---------------------------------------------------------------------
_data__limits__linear(const ParserChar * text,size_t textLength)24662 bool ColladaParserAutoGen14Private::_data__limits__linear( const ParserChar* text, size_t textLength )
24663 {
24664     return true;
24665 }
24666 
24667 //---------------------------------------------------------------------
_preBegin__limits__linear(const ParserAttributes & attributes,void ** attributeDataPtr,void ** validationDataPtr)24668 bool ColladaParserAutoGen14Private::_preBegin__limits__linear( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
24669 {
24670 #ifdef GENERATEDSAXPARSER_VALIDATION
24671     if ( mValidate )
24672     {
24673 
24674         bool validationResult = _validateBegin__limits__linear( attributes, attributeDataPtr, validationDataPtr );
24675         if ( !validationResult ) return false;
24676 
24677     } // validation
24678 #endif
24679 
24680     return true;
24681 }
24682 
24683 //---------------------------------------------------------------------
_preEnd__limits__linear()24684 bool ColladaParserAutoGen14Private::_preEnd__limits__linear()
24685 {
24686 #ifdef GENERATEDSAXPARSER_VALIDATION
24687     if ( mValidate )
24688     {
24689 
24690         bool validationResult = _validateEnd__limits__linear();
24691         if ( !validationResult ) return false;
24692 
24693     } // validation
24694 #endif
24695 
24696     return true;
24697 }
24698 
24699 //---------------------------------------------------------------------
_freeAttributes__limits__linear(void * attributeData)24700 bool ColladaParserAutoGen14Private::_freeAttributes__limits__linear( void* attributeData )
24701 {
24702     return true;
24703 }
24704 
24705 //---------------------------------------------------------------------
_data__spring(const ParserChar * text,size_t textLength)24706 bool ColladaParserAutoGen14Private::_data__spring( const ParserChar* text, size_t textLength )
24707 {
24708     return true;
24709 }
24710 
24711 //---------------------------------------------------------------------
_preBegin__spring(const ParserAttributes & attributes,void ** attributeDataPtr,void ** validationDataPtr)24712 bool ColladaParserAutoGen14Private::_preBegin__spring( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
24713 {
24714 #ifdef GENERATEDSAXPARSER_VALIDATION
24715     if ( mValidate )
24716     {
24717 
24718         bool validationResult = _validateBegin__spring( attributes, attributeDataPtr, validationDataPtr );
24719         if ( !validationResult ) return false;
24720 
24721     } // validation
24722 #endif
24723 
24724     return true;
24725 }
24726 
24727 //---------------------------------------------------------------------
_preEnd__spring()24728 bool ColladaParserAutoGen14Private::_preEnd__spring()
24729 {
24730 #ifdef GENERATEDSAXPARSER_VALIDATION
24731     if ( mValidate )
24732     {
24733 
24734         bool validationResult = _validateEnd__spring();
24735         if ( !validationResult ) return false;
24736 
24737     } // validation
24738 #endif
24739 
24740     return true;
24741 }
24742 
24743 //---------------------------------------------------------------------
_freeAttributes__spring(void * attributeData)24744 bool ColladaParserAutoGen14Private::_freeAttributes__spring( void* attributeData )
24745 {
24746     return true;
24747 }
24748 
24749 //---------------------------------------------------------------------
_data__angular(const ParserChar * text,size_t textLength)24750 bool ColladaParserAutoGen14Private::_data__angular( const ParserChar* text, size_t textLength )
24751 {
24752     return true;
24753 }
24754 
24755 //---------------------------------------------------------------------
_preBegin__angular(const ParserAttributes & attributes,void ** attributeDataPtr,void ** validationDataPtr)24756 bool ColladaParserAutoGen14Private::_preBegin__angular( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
24757 {
24758 #ifdef GENERATEDSAXPARSER_VALIDATION
24759     if ( mValidate )
24760     {
24761 
24762         bool validationResult = _validateBegin__angular( attributes, attributeDataPtr, validationDataPtr );
24763         if ( !validationResult ) return false;
24764 
24765     } // validation
24766 #endif
24767 
24768     return true;
24769 }
24770 
24771 //---------------------------------------------------------------------
_preEnd__angular()24772 bool ColladaParserAutoGen14Private::_preEnd__angular()
24773 {
24774 #ifdef GENERATEDSAXPARSER_VALIDATION
24775     if ( mValidate )
24776     {
24777 
24778         bool validationResult = _validateEnd__angular();
24779         if ( !validationResult ) return false;
24780 
24781     } // validation
24782 #endif
24783 
24784     return true;
24785 }
24786 
24787 //---------------------------------------------------------------------
_freeAttributes__angular(void * attributeData)24788 bool ColladaParserAutoGen14Private::_freeAttributes__angular( void* attributeData )
24789 {
24790     return true;
24791 }
24792 
24793 //---------------------------------------------------------------------
24794 const stiffness__AttributeData stiffness__AttributeData::DEFAULT = {0};
24795 
24796 //---------------------------------------------------------------------
_data__stiffness(const ParserChar * text,size_t textLength)24797 bool ColladaParserAutoGen14Private::_data__stiffness( const ParserChar* text, size_t textLength )
24798 {
24799 if (!mLastIncompleteFragmentInCharacterData)
24800 {
24801     mLastIncompleteFragmentInCharacterData = (ParserChar*)mStackMemoryManager.newObject(textLength);
24802     memcpy(mLastIncompleteFragmentInCharacterData, text, textLength);
24803     mEndOfDataInCurrentObjectOnStack = mLastIncompleteFragmentInCharacterData + textLength;
24804 }
24805 else
24806 {
24807     ParserChar* tmp = (ParserChar*)mStackMemoryManager.growObject(textLength);
24808     if ( tmp != mLastIncompleteFragmentInCharacterData ) {
24809         mEndOfDataInCurrentObjectOnStack = (mEndOfDataInCurrentObjectOnStack - mLastIncompleteFragmentInCharacterData) + tmp;
24810         mLastIncompleteFragmentInCharacterData = tmp;
24811     }
24812     memcpy(mEndOfDataInCurrentObjectOnStack, text, textLength);
24813     mEndOfDataInCurrentObjectOnStack += textLength;
24814 }
24815 return true;
24816 }
24817 
24818 //---------------------------------------------------------------------
_preBegin__stiffness(const ParserAttributes & attributes,void ** attributeDataPtr,void ** validationDataPtr)24819 bool ColladaParserAutoGen14Private::_preBegin__stiffness( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
24820 {
24821 #ifdef GENERATEDSAXPARSER_VALIDATION
24822     if ( mValidate )
24823     {
24824 
24825         bool validationResult = _validateBegin__stiffness( attributes, attributeDataPtr, validationDataPtr );
24826         if ( !validationResult ) return false;
24827 
24828     } // validation
24829 #endif
24830 
24831 stiffness__AttributeData* attributeData = newData<stiffness__AttributeData>(attributeDataPtr);
24832 
24833 const ParserChar** attributeArray = attributes.attributes;
24834 if ( attributeArray )
24835 {
24836     while (true)
24837     {
24838         const ParserChar * attribute = *attributeArray;
24839         if ( !attribute )
24840             break;
24841         StringHash hash = GeneratedSaxParser::Utils::calculateStringHash(attribute);
24842         attributeArray++;
24843         if ( !attributeArray )
24844             return false;
24845         const ParserChar* attributeValue = *attributeArray;
24846         attributeArray++;
24847 
24848 
24849     switch ( hash )
24850     {
24851     case HASH_ATTRIBUTE_sid:
24852     {
24853 
24854 attributeData->sid = attributeValue;
24855 #ifdef GENERATEDSAXPARSER_VALIDATION
24856     if ( mValidate )
24857     {
24858     ParserError::ErrorType simpleTypeValidationResult = validate__NCName(attributeData->sid, strlen(attributeData->sid));
24859     if (simpleTypeValidationResult != ParserError::SIMPLE_TYPE_VALIDATION_OK)
24860     {
24861         if( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL,
24862             simpleTypeValidationResult,
24863             HASH_ELEMENT_STIFFNESS,
24864             HASH_ATTRIBUTE_sid,
24865             attributeValue) )
24866         {
24867             return false;
24868         }
24869     }
24870     } // validation
24871 #endif
24872 
24873     break;
24874     }
24875     default:
24876     {
24877         if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_UNKNOWN_ATTRIBUTE, HASH_ELEMENT_STIFFNESS, attribute, attributeValue))
24878             {return false;}
24879     }
24880     }
24881     }
24882 }
24883 
24884 
24885     return true;
24886 }
24887 
24888 //---------------------------------------------------------------------
_preEnd__stiffness()24889 bool ColladaParserAutoGen14Private::_preEnd__stiffness()
24890 {
24891 #ifdef GENERATEDSAXPARSER_VALIDATION
24892     if ( mValidate )
24893     {
24894 
24895         bool validationResult = _validateEnd__stiffness();
24896         if ( !validationResult ) return false;
24897 
24898     } // validation
24899 #endif
24900 
24901 bool failed;
24902 const ParserChar* ptrForErr = mLastIncompleteFragmentInCharacterData;
24903 DISABLE_WARNING_UNUSED(ptrForErr)
24904 float parameter = GeneratedSaxParser::Utils::toFloat((const ParserChar**)&mLastIncompleteFragmentInCharacterData, mEndOfDataInCurrentObjectOnStack, failed);
24905 bool returnValue;
24906 if (!failed)
24907 {
24908     returnValue = mImpl->data__stiffness(parameter);
24909 }
24910 else
24911     returnValue = !handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_TEXTDATA_PARSING_FAILED, HASH_ELEMENT_STIFFNESS, (const ParserChar*)0, mLastIncompleteFragmentInCharacterData);
24912 if (mLastIncompleteFragmentInCharacterData)
24913     mStackMemoryManager.deleteObject();
24914 mLastIncompleteFragmentInCharacterData = 0;
24915 mEndOfDataInCurrentObjectOnStack = 0;
24916 return returnValue;
24917 }
24918 
24919 //---------------------------------------------------------------------
_freeAttributes__stiffness(void * attributeData)24920 bool ColladaParserAutoGen14Private::_freeAttributes__stiffness( void* attributeData )
24921 {
24922     stiffness__AttributeData* typedAttributeData = static_cast<stiffness__AttributeData*>(attributeData);
24923 
24924     typedAttributeData->~stiffness__AttributeData();
24925 
24926     return true;
24927 }
24928 
24929 //---------------------------------------------------------------------
24930 const damping__AttributeData damping__AttributeData::DEFAULT = {0};
24931 
24932 //---------------------------------------------------------------------
_data__damping(const ParserChar * text,size_t textLength)24933 bool ColladaParserAutoGen14Private::_data__damping( const ParserChar* text, size_t textLength )
24934 {
24935 if (!mLastIncompleteFragmentInCharacterData)
24936 {
24937     mLastIncompleteFragmentInCharacterData = (ParserChar*)mStackMemoryManager.newObject(textLength);
24938     memcpy(mLastIncompleteFragmentInCharacterData, text, textLength);
24939     mEndOfDataInCurrentObjectOnStack = mLastIncompleteFragmentInCharacterData + textLength;
24940 }
24941 else
24942 {
24943     ParserChar* tmp = (ParserChar*)mStackMemoryManager.growObject(textLength);
24944     if ( tmp != mLastIncompleteFragmentInCharacterData ) {
24945         mEndOfDataInCurrentObjectOnStack = (mEndOfDataInCurrentObjectOnStack - mLastIncompleteFragmentInCharacterData) + tmp;
24946         mLastIncompleteFragmentInCharacterData = tmp;
24947     }
24948     memcpy(mEndOfDataInCurrentObjectOnStack, text, textLength);
24949     mEndOfDataInCurrentObjectOnStack += textLength;
24950 }
24951 return true;
24952 }
24953 
24954 //---------------------------------------------------------------------
_preBegin__damping(const ParserAttributes & attributes,void ** attributeDataPtr,void ** validationDataPtr)24955 bool ColladaParserAutoGen14Private::_preBegin__damping( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
24956 {
24957 #ifdef GENERATEDSAXPARSER_VALIDATION
24958     if ( mValidate )
24959     {
24960 
24961         bool validationResult = _validateBegin__damping( attributes, attributeDataPtr, validationDataPtr );
24962         if ( !validationResult ) return false;
24963 
24964     } // validation
24965 #endif
24966 
24967 damping__AttributeData* attributeData = newData<damping__AttributeData>(attributeDataPtr);
24968 
24969 const ParserChar** attributeArray = attributes.attributes;
24970 if ( attributeArray )
24971 {
24972     while (true)
24973     {
24974         const ParserChar * attribute = *attributeArray;
24975         if ( !attribute )
24976             break;
24977         StringHash hash = GeneratedSaxParser::Utils::calculateStringHash(attribute);
24978         attributeArray++;
24979         if ( !attributeArray )
24980             return false;
24981         const ParserChar* attributeValue = *attributeArray;
24982         attributeArray++;
24983 
24984 
24985     switch ( hash )
24986     {
24987     case HASH_ATTRIBUTE_sid:
24988     {
24989 
24990 attributeData->sid = attributeValue;
24991 #ifdef GENERATEDSAXPARSER_VALIDATION
24992     if ( mValidate )
24993     {
24994     ParserError::ErrorType simpleTypeValidationResult = validate__NCName(attributeData->sid, strlen(attributeData->sid));
24995     if (simpleTypeValidationResult != ParserError::SIMPLE_TYPE_VALIDATION_OK)
24996     {
24997         if( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL,
24998             simpleTypeValidationResult,
24999             HASH_ELEMENT_DAMPING,
25000             HASH_ATTRIBUTE_sid,
25001             attributeValue) )
25002         {
25003             return false;
25004         }
25005     }
25006     } // validation
25007 #endif
25008 
25009     break;
25010     }
25011     default:
25012     {
25013         if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_UNKNOWN_ATTRIBUTE, HASH_ELEMENT_DAMPING, attribute, attributeValue))
25014             {return false;}
25015     }
25016     }
25017     }
25018 }
25019 
25020 
25021     return true;
25022 }
25023 
25024 //---------------------------------------------------------------------
_preEnd__damping()25025 bool ColladaParserAutoGen14Private::_preEnd__damping()
25026 {
25027 #ifdef GENERATEDSAXPARSER_VALIDATION
25028     if ( mValidate )
25029     {
25030 
25031         bool validationResult = _validateEnd__damping();
25032         if ( !validationResult ) return false;
25033 
25034     } // validation
25035 #endif
25036 
25037 bool failed;
25038 const ParserChar* ptrForErr = mLastIncompleteFragmentInCharacterData;
25039 DISABLE_WARNING_UNUSED(ptrForErr)
25040 float parameter = GeneratedSaxParser::Utils::toFloat((const ParserChar**)&mLastIncompleteFragmentInCharacterData, mEndOfDataInCurrentObjectOnStack, failed);
25041 bool returnValue;
25042 if (!failed)
25043 {
25044     returnValue = mImpl->data__damping(parameter);
25045 }
25046 else
25047     returnValue = !handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_TEXTDATA_PARSING_FAILED, HASH_ELEMENT_DAMPING, (const ParserChar*)0, mLastIncompleteFragmentInCharacterData);
25048 if (mLastIncompleteFragmentInCharacterData)
25049     mStackMemoryManager.deleteObject();
25050 mLastIncompleteFragmentInCharacterData = 0;
25051 mEndOfDataInCurrentObjectOnStack = 0;
25052 return returnValue;
25053 }
25054 
25055 //---------------------------------------------------------------------
_freeAttributes__damping(void * attributeData)25056 bool ColladaParserAutoGen14Private::_freeAttributes__damping( void* attributeData )
25057 {
25058     damping__AttributeData* typedAttributeData = static_cast<damping__AttributeData*>(attributeData);
25059 
25060     typedAttributeData->~damping__AttributeData();
25061 
25062     return true;
25063 }
25064 
25065 //---------------------------------------------------------------------
25066 const target_value__AttributeData target_value__AttributeData::DEFAULT = {0};
25067 
25068 //---------------------------------------------------------------------
_data__target_value(const ParserChar * text,size_t textLength)25069 bool ColladaParserAutoGen14Private::_data__target_value( const ParserChar* text, size_t textLength )
25070 {
25071 if (!mLastIncompleteFragmentInCharacterData)
25072 {
25073     mLastIncompleteFragmentInCharacterData = (ParserChar*)mStackMemoryManager.newObject(textLength);
25074     memcpy(mLastIncompleteFragmentInCharacterData, text, textLength);
25075     mEndOfDataInCurrentObjectOnStack = mLastIncompleteFragmentInCharacterData + textLength;
25076 }
25077 else
25078 {
25079     ParserChar* tmp = (ParserChar*)mStackMemoryManager.growObject(textLength);
25080     if ( tmp != mLastIncompleteFragmentInCharacterData ) {
25081         mEndOfDataInCurrentObjectOnStack = (mEndOfDataInCurrentObjectOnStack - mLastIncompleteFragmentInCharacterData) + tmp;
25082         mLastIncompleteFragmentInCharacterData = tmp;
25083     }
25084     memcpy(mEndOfDataInCurrentObjectOnStack, text, textLength);
25085     mEndOfDataInCurrentObjectOnStack += textLength;
25086 }
25087 return true;
25088 }
25089 
25090 //---------------------------------------------------------------------
_preBegin__target_value(const ParserAttributes & attributes,void ** attributeDataPtr,void ** validationDataPtr)25091 bool ColladaParserAutoGen14Private::_preBegin__target_value( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
25092 {
25093 #ifdef GENERATEDSAXPARSER_VALIDATION
25094     if ( mValidate )
25095     {
25096 
25097         bool validationResult = _validateBegin__target_value( attributes, attributeDataPtr, validationDataPtr );
25098         if ( !validationResult ) return false;
25099 
25100     } // validation
25101 #endif
25102 
25103 target_value__AttributeData* attributeData = newData<target_value__AttributeData>(attributeDataPtr);
25104 
25105 const ParserChar** attributeArray = attributes.attributes;
25106 if ( attributeArray )
25107 {
25108     while (true)
25109     {
25110         const ParserChar * attribute = *attributeArray;
25111         if ( !attribute )
25112             break;
25113         StringHash hash = GeneratedSaxParser::Utils::calculateStringHash(attribute);
25114         attributeArray++;
25115         if ( !attributeArray )
25116             return false;
25117         const ParserChar* attributeValue = *attributeArray;
25118         attributeArray++;
25119 
25120 
25121     switch ( hash )
25122     {
25123     case HASH_ATTRIBUTE_sid:
25124     {
25125 
25126 attributeData->sid = attributeValue;
25127 #ifdef GENERATEDSAXPARSER_VALIDATION
25128     if ( mValidate )
25129     {
25130     ParserError::ErrorType simpleTypeValidationResult = validate__NCName(attributeData->sid, strlen(attributeData->sid));
25131     if (simpleTypeValidationResult != ParserError::SIMPLE_TYPE_VALIDATION_OK)
25132     {
25133         if( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL,
25134             simpleTypeValidationResult,
25135             HASH_ELEMENT_TARGET_VALUE,
25136             HASH_ATTRIBUTE_sid,
25137             attributeValue) )
25138         {
25139             return false;
25140         }
25141     }
25142     } // validation
25143 #endif
25144 
25145     break;
25146     }
25147     default:
25148     {
25149         if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_UNKNOWN_ATTRIBUTE, HASH_ELEMENT_TARGET_VALUE, attribute, attributeValue))
25150             {return false;}
25151     }
25152     }
25153     }
25154 }
25155 
25156 
25157     return true;
25158 }
25159 
25160 //---------------------------------------------------------------------
_preEnd__target_value()25161 bool ColladaParserAutoGen14Private::_preEnd__target_value()
25162 {
25163 #ifdef GENERATEDSAXPARSER_VALIDATION
25164     if ( mValidate )
25165     {
25166 
25167         bool validationResult = _validateEnd__target_value();
25168         if ( !validationResult ) return false;
25169 
25170     } // validation
25171 #endif
25172 
25173 bool failed;
25174 const ParserChar* ptrForErr = mLastIncompleteFragmentInCharacterData;
25175 DISABLE_WARNING_UNUSED(ptrForErr)
25176 float parameter = GeneratedSaxParser::Utils::toFloat((const ParserChar**)&mLastIncompleteFragmentInCharacterData, mEndOfDataInCurrentObjectOnStack, failed);
25177 bool returnValue;
25178 if (!failed)
25179 {
25180     returnValue = mImpl->data__target_value(parameter);
25181 }
25182 else
25183     returnValue = !handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_TEXTDATA_PARSING_FAILED, HASH_ELEMENT_TARGET_VALUE, (const ParserChar*)0, mLastIncompleteFragmentInCharacterData);
25184 if (mLastIncompleteFragmentInCharacterData)
25185     mStackMemoryManager.deleteObject();
25186 mLastIncompleteFragmentInCharacterData = 0;
25187 mEndOfDataInCurrentObjectOnStack = 0;
25188 return returnValue;
25189 }
25190 
25191 //---------------------------------------------------------------------
_freeAttributes__target_value(void * attributeData)25192 bool ColladaParserAutoGen14Private::_freeAttributes__target_value( void* attributeData )
25193 {
25194     target_value__AttributeData* typedAttributeData = static_cast<target_value__AttributeData*>(attributeData);
25195 
25196     typedAttributeData->~target_value__AttributeData();
25197 
25198     return true;
25199 }
25200 
25201 //---------------------------------------------------------------------
_data__spring__linear(const ParserChar * text,size_t textLength)25202 bool ColladaParserAutoGen14Private::_data__spring__linear( const ParserChar* text, size_t textLength )
25203 {
25204     return true;
25205 }
25206 
25207 //---------------------------------------------------------------------
_preBegin__spring__linear(const ParserAttributes & attributes,void ** attributeDataPtr,void ** validationDataPtr)25208 bool ColladaParserAutoGen14Private::_preBegin__spring__linear( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
25209 {
25210 #ifdef GENERATEDSAXPARSER_VALIDATION
25211     if ( mValidate )
25212     {
25213 
25214         bool validationResult = _validateBegin__spring__linear( attributes, attributeDataPtr, validationDataPtr );
25215         if ( !validationResult ) return false;
25216 
25217     } // validation
25218 #endif
25219 
25220     return true;
25221 }
25222 
25223 //---------------------------------------------------------------------
_preEnd__spring__linear()25224 bool ColladaParserAutoGen14Private::_preEnd__spring__linear()
25225 {
25226 #ifdef GENERATEDSAXPARSER_VALIDATION
25227     if ( mValidate )
25228     {
25229 
25230         bool validationResult = _validateEnd__spring__linear();
25231         if ( !validationResult ) return false;
25232 
25233     } // validation
25234 #endif
25235 
25236     return true;
25237 }
25238 
25239 //---------------------------------------------------------------------
_freeAttributes__spring__linear(void * attributeData)25240 bool ColladaParserAutoGen14Private::_freeAttributes__spring__linear( void* attributeData )
25241 {
25242     return true;
25243 }
25244 
25245 //---------------------------------------------------------------------
25246 const instance_physics_model__AttributeData instance_physics_model__AttributeData::DEFAULT = {0, 0, 0, 0, 0};
25247 
25248 //---------------------------------------------------------------------
_data__instance_physics_model(const ParserChar * text,size_t textLength)25249 bool ColladaParserAutoGen14Private::_data__instance_physics_model( const ParserChar* text, size_t textLength )
25250 {
25251     return true;
25252 }
25253 
25254 //---------------------------------------------------------------------
_preBegin__instance_physics_model(const ParserAttributes & attributes,void ** attributeDataPtr,void ** validationDataPtr)25255 bool ColladaParserAutoGen14Private::_preBegin__instance_physics_model( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
25256 {
25257 #ifdef GENERATEDSAXPARSER_VALIDATION
25258     if ( mValidate )
25259     {
25260 
25261         bool validationResult = _validateBegin__instance_physics_model( attributes, attributeDataPtr, validationDataPtr );
25262         if ( !validationResult ) return false;
25263 
25264     } // validation
25265 #endif
25266 
25267 instance_physics_model__AttributeData* attributeData = newData<instance_physics_model__AttributeData>(attributeDataPtr);
25268 
25269 const ParserChar** attributeArray = attributes.attributes;
25270 if ( attributeArray )
25271 {
25272     while (true)
25273     {
25274         const ParserChar * attribute = *attributeArray;
25275         if ( !attribute )
25276             break;
25277         StringHash hash = GeneratedSaxParser::Utils::calculateStringHash(attribute);
25278         attributeArray++;
25279         if ( !attributeArray )
25280             return false;
25281         const ParserChar* attributeValue = *attributeArray;
25282         attributeArray++;
25283 
25284 
25285     switch ( hash )
25286     {
25287     case HASH_ATTRIBUTE_url:
25288     {
25289 bool failed;
25290 attributeData->url = GeneratedSaxParser::Utils::toURI(&attributeValue, failed);
25291 if ( failed && handleError(ParserError::SEVERITY_ERROR_NONCRITICAL,
25292         ParserError::ERROR_ATTRIBUTE_PARSING_FAILED,
25293         HASH_ELEMENT_INSTANCE_PHYSICS_MODEL,
25294         HASH_ATTRIBUTE_url,
25295         attributeValue))
25296 {
25297     return false;
25298 }
25299 if ( !failed )
25300     attributeData->present_attributes |= instance_physics_model__AttributeData::ATTRIBUTE_URL_PRESENT;
25301 
25302     break;
25303     }
25304     case HASH_ATTRIBUTE_sid:
25305     {
25306 
25307 attributeData->sid = attributeValue;
25308 #ifdef GENERATEDSAXPARSER_VALIDATION
25309     if ( mValidate )
25310     {
25311     ParserError::ErrorType simpleTypeValidationResult = validate__NCName(attributeData->sid, strlen(attributeData->sid));
25312     if (simpleTypeValidationResult != ParserError::SIMPLE_TYPE_VALIDATION_OK)
25313     {
25314         if( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL,
25315             simpleTypeValidationResult,
25316             HASH_ELEMENT_INSTANCE_PHYSICS_MODEL,
25317             HASH_ATTRIBUTE_sid,
25318             attributeValue) )
25319         {
25320             return false;
25321         }
25322     }
25323     } // validation
25324 #endif
25325 
25326     break;
25327     }
25328     case HASH_ATTRIBUTE_name:
25329     {
25330 
25331 attributeData->name = attributeValue;
25332 #ifdef GENERATEDSAXPARSER_VALIDATION
25333     if ( mValidate )
25334     {
25335     ParserError::ErrorType simpleTypeValidationResult = validate__NCName(attributeData->name, strlen(attributeData->name));
25336     if (simpleTypeValidationResult != ParserError::SIMPLE_TYPE_VALIDATION_OK)
25337     {
25338         if( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL,
25339             simpleTypeValidationResult,
25340             HASH_ELEMENT_INSTANCE_PHYSICS_MODEL,
25341             HASH_ATTRIBUTE_name,
25342             attributeValue) )
25343         {
25344             return false;
25345         }
25346     }
25347     } // validation
25348 #endif
25349 
25350     break;
25351     }
25352     case HASH_ATTRIBUTE_parent:
25353     {
25354 bool failed;
25355 attributeData->parent = GeneratedSaxParser::Utils::toURI(&attributeValue, failed);
25356 if ( failed && handleError(ParserError::SEVERITY_ERROR_NONCRITICAL,
25357         ParserError::ERROR_ATTRIBUTE_PARSING_FAILED,
25358         HASH_ELEMENT_INSTANCE_PHYSICS_MODEL,
25359         HASH_ATTRIBUTE_parent,
25360         attributeValue))
25361 {
25362     return false;
25363 }
25364 if ( !failed )
25365     attributeData->present_attributes |= instance_physics_model__AttributeData::ATTRIBUTE_PARENT_PRESENT;
25366 
25367     break;
25368     }
25369     default:
25370     {
25371         if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_UNKNOWN_ATTRIBUTE, HASH_ELEMENT_INSTANCE_PHYSICS_MODEL, attribute, attributeValue))
25372             {return false;}
25373     }
25374     }
25375     }
25376 }
25377 if ((attributeData->present_attributes & instance_physics_model__AttributeData::ATTRIBUTE_URL_PRESENT) == 0)
25378 {
25379     attributeData->url = COLLADABU::URI("");
25380 }
25381 if ((attributeData->present_attributes & instance_physics_model__AttributeData::ATTRIBUTE_PARENT_PRESENT) == 0)
25382 {
25383     attributeData->parent = COLLADABU::URI("");
25384 }
25385 if ( (attributeData->present_attributes & instance_physics_model__AttributeData::ATTRIBUTE_URL_PRESENT) == 0 )
25386 {
25387     if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_REQUIRED_ATTRIBUTE_MISSING, HASH_ELEMENT_INSTANCE_PHYSICS_MODEL, HASH_ATTRIBUTE_url, 0 ) )
25388         return false;
25389 }
25390 
25391 
25392     return true;
25393 }
25394 
25395 //---------------------------------------------------------------------
_preEnd__instance_physics_model()25396 bool ColladaParserAutoGen14Private::_preEnd__instance_physics_model()
25397 {
25398 #ifdef GENERATEDSAXPARSER_VALIDATION
25399     if ( mValidate )
25400     {
25401 
25402         bool validationResult = _validateEnd__instance_physics_model();
25403         if ( !validationResult ) return false;
25404 
25405     } // validation
25406 #endif
25407 
25408     return true;
25409 }
25410 
25411 //---------------------------------------------------------------------
_freeAttributes__instance_physics_model(void * attributeData)25412 bool ColladaParserAutoGen14Private::_freeAttributes__instance_physics_model( void* attributeData )
25413 {
25414     instance_physics_model__AttributeData* typedAttributeData = static_cast<instance_physics_model__AttributeData*>(attributeData);
25415 
25416     typedAttributeData->~instance_physics_model__AttributeData();
25417 
25418     return true;
25419 }
25420 
25421 //---------------------------------------------------------------------
25422 const instance_force_field__AttributeData instance_force_field__AttributeData::DEFAULT = {0, 0, 0, 0};
25423 
25424 //---------------------------------------------------------------------
_data__instance_force_field(const ParserChar * text,size_t textLength)25425 bool ColladaParserAutoGen14Private::_data__instance_force_field( const ParserChar* text, size_t textLength )
25426 {
25427     return true;
25428 }
25429 
25430 //---------------------------------------------------------------------
_preBegin__instance_force_field(const ParserAttributes & attributes,void ** attributeDataPtr,void ** validationDataPtr)25431 bool ColladaParserAutoGen14Private::_preBegin__instance_force_field( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
25432 {
25433 #ifdef GENERATEDSAXPARSER_VALIDATION
25434     if ( mValidate )
25435     {
25436 
25437         bool validationResult = _validateBegin__instance_force_field( attributes, attributeDataPtr, validationDataPtr );
25438         if ( !validationResult ) return false;
25439 
25440     } // validation
25441 #endif
25442 
25443 instance_force_field__AttributeData* attributeData = newData<instance_force_field__AttributeData>(attributeDataPtr);
25444 
25445 const ParserChar** attributeArray = attributes.attributes;
25446 if ( attributeArray )
25447 {
25448     while (true)
25449     {
25450         const ParserChar * attribute = *attributeArray;
25451         if ( !attribute )
25452             break;
25453         StringHash hash = GeneratedSaxParser::Utils::calculateStringHash(attribute);
25454         attributeArray++;
25455         if ( !attributeArray )
25456             return false;
25457         const ParserChar* attributeValue = *attributeArray;
25458         attributeArray++;
25459 
25460 
25461     switch ( hash )
25462     {
25463     case HASH_ATTRIBUTE_url:
25464     {
25465 bool failed;
25466 attributeData->url = GeneratedSaxParser::Utils::toURI(&attributeValue, failed);
25467 if ( failed && handleError(ParserError::SEVERITY_ERROR_NONCRITICAL,
25468         ParserError::ERROR_ATTRIBUTE_PARSING_FAILED,
25469         HASH_ELEMENT_INSTANCE_FORCE_FIELD,
25470         HASH_ATTRIBUTE_url,
25471         attributeValue))
25472 {
25473     return false;
25474 }
25475 if ( !failed )
25476     attributeData->present_attributes |= instance_force_field__AttributeData::ATTRIBUTE_URL_PRESENT;
25477 
25478     break;
25479     }
25480     case HASH_ATTRIBUTE_sid:
25481     {
25482 
25483 attributeData->sid = attributeValue;
25484 #ifdef GENERATEDSAXPARSER_VALIDATION
25485     if ( mValidate )
25486     {
25487     ParserError::ErrorType simpleTypeValidationResult = validate__NCName(attributeData->sid, strlen(attributeData->sid));
25488     if (simpleTypeValidationResult != ParserError::SIMPLE_TYPE_VALIDATION_OK)
25489     {
25490         if( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL,
25491             simpleTypeValidationResult,
25492             HASH_ELEMENT_INSTANCE_FORCE_FIELD,
25493             HASH_ATTRIBUTE_sid,
25494             attributeValue) )
25495         {
25496             return false;
25497         }
25498     }
25499     } // validation
25500 #endif
25501 
25502     break;
25503     }
25504     case HASH_ATTRIBUTE_name:
25505     {
25506 
25507 attributeData->name = attributeValue;
25508 #ifdef GENERATEDSAXPARSER_VALIDATION
25509     if ( mValidate )
25510     {
25511     ParserError::ErrorType simpleTypeValidationResult = validate__NCName(attributeData->name, strlen(attributeData->name));
25512     if (simpleTypeValidationResult != ParserError::SIMPLE_TYPE_VALIDATION_OK)
25513     {
25514         if( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL,
25515             simpleTypeValidationResult,
25516             HASH_ELEMENT_INSTANCE_FORCE_FIELD,
25517             HASH_ATTRIBUTE_name,
25518             attributeValue) )
25519         {
25520             return false;
25521         }
25522     }
25523     } // validation
25524 #endif
25525 
25526     break;
25527     }
25528     default:
25529     {
25530         if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_UNKNOWN_ATTRIBUTE, HASH_ELEMENT_INSTANCE_FORCE_FIELD, attribute, attributeValue))
25531             {return false;}
25532     }
25533     }
25534     }
25535 }
25536 if ((attributeData->present_attributes & instance_force_field__AttributeData::ATTRIBUTE_URL_PRESENT) == 0)
25537 {
25538     attributeData->url = COLLADABU::URI("");
25539 }
25540 if ( (attributeData->present_attributes & instance_force_field__AttributeData::ATTRIBUTE_URL_PRESENT) == 0 )
25541 {
25542     if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_REQUIRED_ATTRIBUTE_MISSING, HASH_ELEMENT_INSTANCE_FORCE_FIELD, HASH_ATTRIBUTE_url, 0 ) )
25543         return false;
25544 }
25545 
25546 
25547     return true;
25548 }
25549 
25550 //---------------------------------------------------------------------
_preEnd__instance_force_field()25551 bool ColladaParserAutoGen14Private::_preEnd__instance_force_field()
25552 {
25553 #ifdef GENERATEDSAXPARSER_VALIDATION
25554     if ( mValidate )
25555     {
25556 
25557         bool validationResult = _validateEnd__instance_force_field();
25558         if ( !validationResult ) return false;
25559 
25560     } // validation
25561 #endif
25562 
25563     return true;
25564 }
25565 
25566 //---------------------------------------------------------------------
_freeAttributes__instance_force_field(void * attributeData)25567 bool ColladaParserAutoGen14Private::_freeAttributes__instance_force_field( void* attributeData )
25568 {
25569     instance_force_field__AttributeData* typedAttributeData = static_cast<instance_force_field__AttributeData*>(attributeData);
25570 
25571     typedAttributeData->~instance_force_field__AttributeData();
25572 
25573     return true;
25574 }
25575 
25576 //---------------------------------------------------------------------
25577 const instance_rigid_body__AttributeData instance_rigid_body__AttributeData::DEFAULT = {0, 0, 0, 0, 0};
25578 
25579 //---------------------------------------------------------------------
_data__instance_rigid_body(const ParserChar * text,size_t textLength)25580 bool ColladaParserAutoGen14Private::_data__instance_rigid_body( const ParserChar* text, size_t textLength )
25581 {
25582     return true;
25583 }
25584 
25585 //---------------------------------------------------------------------
_preBegin__instance_rigid_body(const ParserAttributes & attributes,void ** attributeDataPtr,void ** validationDataPtr)25586 bool ColladaParserAutoGen14Private::_preBegin__instance_rigid_body( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
25587 {
25588 #ifdef GENERATEDSAXPARSER_VALIDATION
25589     if ( mValidate )
25590     {
25591 
25592         bool validationResult = _validateBegin__instance_rigid_body( attributes, attributeDataPtr, validationDataPtr );
25593         if ( !validationResult ) return false;
25594 
25595     } // validation
25596 #endif
25597 
25598 instance_rigid_body__AttributeData* attributeData = newData<instance_rigid_body__AttributeData>(attributeDataPtr);
25599 
25600 const ParserChar** attributeArray = attributes.attributes;
25601 if ( attributeArray )
25602 {
25603     while (true)
25604     {
25605         const ParserChar * attribute = *attributeArray;
25606         if ( !attribute )
25607             break;
25608         StringHash hash = GeneratedSaxParser::Utils::calculateStringHash(attribute);
25609         attributeArray++;
25610         if ( !attributeArray )
25611             return false;
25612         const ParserChar* attributeValue = *attributeArray;
25613         attributeArray++;
25614 
25615 
25616     switch ( hash )
25617     {
25618     case HASH_ATTRIBUTE_body:
25619     {
25620 
25621 attributeData->body = attributeValue;
25622 #ifdef GENERATEDSAXPARSER_VALIDATION
25623     if ( mValidate )
25624     {
25625     ParserError::ErrorType simpleTypeValidationResult = validate__NCName(attributeData->body, strlen(attributeData->body));
25626     if (simpleTypeValidationResult != ParserError::SIMPLE_TYPE_VALIDATION_OK)
25627     {
25628         if( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL,
25629             simpleTypeValidationResult,
25630             HASH_ELEMENT_INSTANCE_RIGID_BODY,
25631             HASH_ATTRIBUTE_body,
25632             attributeValue) )
25633         {
25634             return false;
25635         }
25636     }
25637     } // validation
25638 #endif
25639 
25640     break;
25641     }
25642     case HASH_ATTRIBUTE_sid:
25643     {
25644 
25645 attributeData->sid = attributeValue;
25646 #ifdef GENERATEDSAXPARSER_VALIDATION
25647     if ( mValidate )
25648     {
25649     ParserError::ErrorType simpleTypeValidationResult = validate__NCName(attributeData->sid, strlen(attributeData->sid));
25650     if (simpleTypeValidationResult != ParserError::SIMPLE_TYPE_VALIDATION_OK)
25651     {
25652         if( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL,
25653             simpleTypeValidationResult,
25654             HASH_ELEMENT_INSTANCE_RIGID_BODY,
25655             HASH_ATTRIBUTE_sid,
25656             attributeValue) )
25657         {
25658             return false;
25659         }
25660     }
25661     } // validation
25662 #endif
25663 
25664     break;
25665     }
25666     case HASH_ATTRIBUTE_name:
25667     {
25668 
25669 attributeData->name = attributeValue;
25670 #ifdef GENERATEDSAXPARSER_VALIDATION
25671     if ( mValidate )
25672     {
25673     ParserError::ErrorType simpleTypeValidationResult = validate__NCName(attributeData->name, strlen(attributeData->name));
25674     if (simpleTypeValidationResult != ParserError::SIMPLE_TYPE_VALIDATION_OK)
25675     {
25676         if( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL,
25677             simpleTypeValidationResult,
25678             HASH_ELEMENT_INSTANCE_RIGID_BODY,
25679             HASH_ATTRIBUTE_name,
25680             attributeValue) )
25681         {
25682             return false;
25683         }
25684     }
25685     } // validation
25686 #endif
25687 
25688     break;
25689     }
25690     case HASH_ATTRIBUTE_target:
25691     {
25692 bool failed;
25693 attributeData->target = GeneratedSaxParser::Utils::toURI(&attributeValue, failed);
25694 if ( failed && handleError(ParserError::SEVERITY_ERROR_NONCRITICAL,
25695         ParserError::ERROR_ATTRIBUTE_PARSING_FAILED,
25696         HASH_ELEMENT_INSTANCE_RIGID_BODY,
25697         HASH_ATTRIBUTE_target,
25698         attributeValue))
25699 {
25700     return false;
25701 }
25702 if ( !failed )
25703     attributeData->present_attributes |= instance_rigid_body__AttributeData::ATTRIBUTE_TARGET_PRESENT;
25704 
25705     break;
25706     }
25707     default:
25708     {
25709         if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_UNKNOWN_ATTRIBUTE, HASH_ELEMENT_INSTANCE_RIGID_BODY, attribute, attributeValue))
25710             {return false;}
25711     }
25712     }
25713     }
25714 }
25715 if ((attributeData->present_attributes & instance_rigid_body__AttributeData::ATTRIBUTE_TARGET_PRESENT) == 0)
25716 {
25717     attributeData->target = COLLADABU::URI("");
25718 }
25719 if ( !attributeData->body )
25720 {
25721     if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_REQUIRED_ATTRIBUTE_MISSING, HASH_ELEMENT_INSTANCE_RIGID_BODY, HASH_ATTRIBUTE_body, 0 ) )
25722         return false;
25723 }
25724 if ( (attributeData->present_attributes & instance_rigid_body__AttributeData::ATTRIBUTE_TARGET_PRESENT) == 0 )
25725 {
25726     if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_REQUIRED_ATTRIBUTE_MISSING, HASH_ELEMENT_INSTANCE_RIGID_BODY, HASH_ATTRIBUTE_target, 0 ) )
25727         return false;
25728 }
25729 
25730 
25731     return true;
25732 }
25733 
25734 //---------------------------------------------------------------------
_preEnd__instance_rigid_body()25735 bool ColladaParserAutoGen14Private::_preEnd__instance_rigid_body()
25736 {
25737 #ifdef GENERATEDSAXPARSER_VALIDATION
25738     if ( mValidate )
25739     {
25740 
25741         bool validationResult = _validateEnd__instance_rigid_body();
25742         if ( !validationResult ) return false;
25743 
25744     } // validation
25745 #endif
25746 
25747     return true;
25748 }
25749 
25750 //---------------------------------------------------------------------
_freeAttributes__instance_rigid_body(void * attributeData)25751 bool ColladaParserAutoGen14Private::_freeAttributes__instance_rigid_body( void* attributeData )
25752 {
25753     instance_rigid_body__AttributeData* typedAttributeData = static_cast<instance_rigid_body__AttributeData*>(attributeData);
25754 
25755     typedAttributeData->~instance_rigid_body__AttributeData();
25756 
25757     return true;
25758 }
25759 
25760 //---------------------------------------------------------------------
_data__instance_rigid_body__technique_common(const ParserChar * text,size_t textLength)25761 bool ColladaParserAutoGen14Private::_data__instance_rigid_body__technique_common( const ParserChar* text, size_t textLength )
25762 {
25763     return true;
25764 }
25765 
25766 //---------------------------------------------------------------------
_preBegin__instance_rigid_body__technique_common(const ParserAttributes & attributes,void ** attributeDataPtr,void ** validationDataPtr)25767 bool ColladaParserAutoGen14Private::_preBegin__instance_rigid_body__technique_common( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
25768 {
25769 #ifdef GENERATEDSAXPARSER_VALIDATION
25770     if ( mValidate )
25771     {
25772 
25773         bool validationResult = _validateBegin__instance_rigid_body__technique_common( attributes, attributeDataPtr, validationDataPtr );
25774         if ( !validationResult ) return false;
25775 
25776     } // validation
25777 #endif
25778 
25779     return true;
25780 }
25781 
25782 //---------------------------------------------------------------------
_preEnd__instance_rigid_body__technique_common()25783 bool ColladaParserAutoGen14Private::_preEnd__instance_rigid_body__technique_common()
25784 {
25785 #ifdef GENERATEDSAXPARSER_VALIDATION
25786     if ( mValidate )
25787     {
25788 
25789         bool validationResult = _validateEnd__instance_rigid_body__technique_common();
25790         if ( !validationResult ) return false;
25791 
25792     } // validation
25793 #endif
25794 
25795     return true;
25796 }
25797 
25798 //---------------------------------------------------------------------
_freeAttributes__instance_rigid_body__technique_common(void * attributeData)25799 bool ColladaParserAutoGen14Private::_freeAttributes__instance_rigid_body__technique_common( void* attributeData )
25800 {
25801     return true;
25802 }
25803 
25804 //---------------------------------------------------------------------
_data__angular_velocity(const ParserChar * text,size_t textLength)25805 bool ColladaParserAutoGen14Private::_data__angular_velocity( const ParserChar* text, size_t textLength )
25806 {
25807 #ifdef GENERATEDSAXPARSER_VALIDATION
25808     if ( mValidate )
25809     {
25810         float3____float3__ValidationData* validationData = (float3____float3__ValidationData*)mValidationDataStack.top();
25811         DISABLE_WARNING_UNUSED(validationData)
25812 return characterData2FloatData(text, textLength, &ColladaParserAutoGen14::data__angular_velocity, &validate__float3__stream, &validationData->validationWholeSize, 0);
25813     }
25814     else
25815     {
25816 return characterData2FloatData(text, textLength, &ColladaParserAutoGen14::data__angular_velocity);
25817     }
25818 #else
25819     {
25820 return characterData2FloatData(text, textLength, &ColladaParserAutoGen14::data__angular_velocity);
25821     } // validation
25822 #endif
25823 
25824 }
25825 
25826 //---------------------------------------------------------------------
_preBegin__angular_velocity(const ParserAttributes & attributes,void ** attributeDataPtr,void ** validationDataPtr)25827 bool ColladaParserAutoGen14Private::_preBegin__angular_velocity( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
25828 {
25829 #ifdef GENERATEDSAXPARSER_VALIDATION
25830     if ( mValidate )
25831     {
25832 
25833         bool validationResult = _validateBegin__angular_velocity( attributes, attributeDataPtr, validationDataPtr );
25834         if ( !validationResult ) return false;
25835 
25836     } // validation
25837 #endif
25838 
25839     return true;
25840 }
25841 
25842 //---------------------------------------------------------------------
_preEnd__angular_velocity()25843 bool ColladaParserAutoGen14Private::_preEnd__angular_velocity()
25844 {
25845 #ifdef GENERATEDSAXPARSER_VALIDATION
25846     if ( mValidate )
25847     {
25848 
25849         bool validationResult = _validateEnd__angular_velocity();
25850         if ( !validationResult ) return false;
25851 
25852     } // validation
25853 #endif
25854 
25855 #ifdef GENERATEDSAXPARSER_VALIDATION
25856     if ( mValidate )
25857     {
25858         float3____float3__ValidationData* validationData = (float3____float3__ValidationData*)mValidationDataStack.top();
25859         DISABLE_WARNING_UNUSED(validationData)
25860 bool returnValue = floatDataEnd( &ColladaParserAutoGen14::data__angular_velocity, &validate__float3__streamEnd, &validationData->validationWholeSize, 0 );
25861         ParserError::ErrorType simpleTypeValidationResult = validate__float3(0, (*(&validationData->validationWholeSize)));
25862         mValidationDataStack.deleteObject();
25863         if (simpleTypeValidationResult != ParserError::SIMPLE_TYPE_VALIDATION_OK)
25864         {
25865             if( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL,
25866                 simpleTypeValidationResult,
25867                 HASH_ELEMENT_ANGULAR_VELOCITY,
25868                 (ParserChar*)0, 0 ) )
25869             {
25870                 return false;
25871             }
25872         }
25873         return returnValue;
25874     }
25875     else
25876     {
25877 return floatDataEnd( &ColladaParserAutoGen14::data__angular_velocity );
25878     }
25879 #else
25880     {
25881 return floatDataEnd( &ColladaParserAutoGen14::data__angular_velocity );
25882     } // validation
25883 #endif
25884 
25885 }
25886 
25887 //---------------------------------------------------------------------
_freeAttributes__angular_velocity(void * attributeData)25888 bool ColladaParserAutoGen14Private::_freeAttributes__angular_velocity( void* attributeData )
25889 {
25890     return true;
25891 }
25892 
25893 //---------------------------------------------------------------------
_data__velocity(const ParserChar * text,size_t textLength)25894 bool ColladaParserAutoGen14Private::_data__velocity( const ParserChar* text, size_t textLength )
25895 {
25896 #ifdef GENERATEDSAXPARSER_VALIDATION
25897     if ( mValidate )
25898     {
25899         float3____float3__ValidationData* validationData = (float3____float3__ValidationData*)mValidationDataStack.top();
25900         DISABLE_WARNING_UNUSED(validationData)
25901 return characterData2FloatData(text, textLength, &ColladaParserAutoGen14::data__velocity, &validate__float3__stream, &validationData->validationWholeSize, 0);
25902     }
25903     else
25904     {
25905 return characterData2FloatData(text, textLength, &ColladaParserAutoGen14::data__velocity);
25906     }
25907 #else
25908     {
25909 return characterData2FloatData(text, textLength, &ColladaParserAutoGen14::data__velocity);
25910     } // validation
25911 #endif
25912 
25913 }
25914 
25915 //---------------------------------------------------------------------
_preBegin__velocity(const ParserAttributes & attributes,void ** attributeDataPtr,void ** validationDataPtr)25916 bool ColladaParserAutoGen14Private::_preBegin__velocity( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
25917 {
25918 #ifdef GENERATEDSAXPARSER_VALIDATION
25919     if ( mValidate )
25920     {
25921 
25922         bool validationResult = _validateBegin__velocity( attributes, attributeDataPtr, validationDataPtr );
25923         if ( !validationResult ) return false;
25924 
25925     } // validation
25926 #endif
25927 
25928     return true;
25929 }
25930 
25931 //---------------------------------------------------------------------
_preEnd__velocity()25932 bool ColladaParserAutoGen14Private::_preEnd__velocity()
25933 {
25934 #ifdef GENERATEDSAXPARSER_VALIDATION
25935     if ( mValidate )
25936     {
25937 
25938         bool validationResult = _validateEnd__velocity();
25939         if ( !validationResult ) return false;
25940 
25941     } // validation
25942 #endif
25943 
25944 #ifdef GENERATEDSAXPARSER_VALIDATION
25945     if ( mValidate )
25946     {
25947         float3____float3__ValidationData* validationData = (float3____float3__ValidationData*)mValidationDataStack.top();
25948         DISABLE_WARNING_UNUSED(validationData)
25949 bool returnValue = floatDataEnd( &ColladaParserAutoGen14::data__velocity, &validate__float3__streamEnd, &validationData->validationWholeSize, 0 );
25950         ParserError::ErrorType simpleTypeValidationResult = validate__float3(0, (*(&validationData->validationWholeSize)));
25951         mValidationDataStack.deleteObject();
25952         if (simpleTypeValidationResult != ParserError::SIMPLE_TYPE_VALIDATION_OK)
25953         {
25954             if( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL,
25955                 simpleTypeValidationResult,
25956                 HASH_ELEMENT_VELOCITY,
25957                 (ParserChar*)0, 0 ) )
25958             {
25959                 return false;
25960             }
25961         }
25962         return returnValue;
25963     }
25964     else
25965     {
25966 return floatDataEnd( &ColladaParserAutoGen14::data__velocity );
25967     }
25968 #else
25969     {
25970 return floatDataEnd( &ColladaParserAutoGen14::data__velocity );
25971     } // validation
25972 #endif
25973 
25974 }
25975 
25976 //---------------------------------------------------------------------
_freeAttributes__velocity(void * attributeData)25977 bool ColladaParserAutoGen14Private::_freeAttributes__velocity( void* attributeData )
25978 {
25979     return true;
25980 }
25981 
25982 //---------------------------------------------------------------------
25983 const instance_rigid_body__technique_common__dynamic__AttributeData instance_rigid_body__technique_common__dynamic__AttributeData::DEFAULT = {0};
25984 
25985 //---------------------------------------------------------------------
_data__instance_rigid_body__technique_common__dynamic(const ParserChar * text,size_t textLength)25986 bool ColladaParserAutoGen14Private::_data__instance_rigid_body__technique_common__dynamic( const ParserChar* text, size_t textLength )
25987 {
25988 if (!mLastIncompleteFragmentInCharacterData)
25989 {
25990     mLastIncompleteFragmentInCharacterData = (ParserChar*)mStackMemoryManager.newObject(textLength);
25991     memcpy(mLastIncompleteFragmentInCharacterData, text, textLength);
25992     mEndOfDataInCurrentObjectOnStack = mLastIncompleteFragmentInCharacterData + textLength;
25993 }
25994 else
25995 {
25996     ParserChar* tmp = (ParserChar*)mStackMemoryManager.growObject(textLength);
25997     if ( tmp != mLastIncompleteFragmentInCharacterData ) {
25998         mEndOfDataInCurrentObjectOnStack = (mEndOfDataInCurrentObjectOnStack - mLastIncompleteFragmentInCharacterData) + tmp;
25999         mLastIncompleteFragmentInCharacterData = tmp;
26000     }
26001     memcpy(mEndOfDataInCurrentObjectOnStack, text, textLength);
26002     mEndOfDataInCurrentObjectOnStack += textLength;
26003 }
26004 return true;
26005 }
26006 
26007 //---------------------------------------------------------------------
_preBegin__instance_rigid_body__technique_common__dynamic(const ParserAttributes & attributes,void ** attributeDataPtr,void ** validationDataPtr)26008 bool ColladaParserAutoGen14Private::_preBegin__instance_rigid_body__technique_common__dynamic( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
26009 {
26010 #ifdef GENERATEDSAXPARSER_VALIDATION
26011     if ( mValidate )
26012     {
26013 
26014         bool validationResult = _validateBegin__instance_rigid_body__technique_common__dynamic( attributes, attributeDataPtr, validationDataPtr );
26015         if ( !validationResult ) return false;
26016 
26017     } // validation
26018 #endif
26019 
26020 instance_rigid_body__technique_common__dynamic__AttributeData* attributeData = newData<instance_rigid_body__technique_common__dynamic__AttributeData>(attributeDataPtr);
26021 
26022 const ParserChar** attributeArray = attributes.attributes;
26023 if ( attributeArray )
26024 {
26025     while (true)
26026     {
26027         const ParserChar * attribute = *attributeArray;
26028         if ( !attribute )
26029             break;
26030         StringHash hash = GeneratedSaxParser::Utils::calculateStringHash(attribute);
26031         attributeArray++;
26032         if ( !attributeArray )
26033             return false;
26034         const ParserChar* attributeValue = *attributeArray;
26035         attributeArray++;
26036 
26037 
26038     switch ( hash )
26039     {
26040     case HASH_ATTRIBUTE_sid:
26041     {
26042 
26043 attributeData->sid = attributeValue;
26044 #ifdef GENERATEDSAXPARSER_VALIDATION
26045     if ( mValidate )
26046     {
26047     ParserError::ErrorType simpleTypeValidationResult = validate__NCName(attributeData->sid, strlen(attributeData->sid));
26048     if (simpleTypeValidationResult != ParserError::SIMPLE_TYPE_VALIDATION_OK)
26049     {
26050         if( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL,
26051             simpleTypeValidationResult,
26052             HASH_ELEMENT_DYNAMIC,
26053             HASH_ATTRIBUTE_sid,
26054             attributeValue) )
26055         {
26056             return false;
26057         }
26058     }
26059     } // validation
26060 #endif
26061 
26062     break;
26063     }
26064     default:
26065     {
26066         if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_UNKNOWN_ATTRIBUTE, HASH_ELEMENT_DYNAMIC, attribute, attributeValue))
26067             {return false;}
26068     }
26069     }
26070     }
26071 }
26072 
26073 
26074     return true;
26075 }
26076 
26077 //---------------------------------------------------------------------
_preEnd__instance_rigid_body__technique_common__dynamic()26078 bool ColladaParserAutoGen14Private::_preEnd__instance_rigid_body__technique_common__dynamic()
26079 {
26080 #ifdef GENERATEDSAXPARSER_VALIDATION
26081     if ( mValidate )
26082     {
26083 
26084         bool validationResult = _validateEnd__instance_rigid_body__technique_common__dynamic();
26085         if ( !validationResult ) return false;
26086 
26087     } // validation
26088 #endif
26089 
26090 bool failed;
26091 const ParserChar* ptrForErr = mLastIncompleteFragmentInCharacterData;
26092 DISABLE_WARNING_UNUSED(ptrForErr)
26093 bool parameter = GeneratedSaxParser::Utils::toBool((const ParserChar**)&mLastIncompleteFragmentInCharacterData, mEndOfDataInCurrentObjectOnStack, failed);
26094 bool returnValue;
26095 if (!failed)
26096 {
26097     returnValue = mImpl->data__instance_rigid_body__technique_common__dynamic(parameter);
26098 }
26099 else
26100     returnValue = !handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_TEXTDATA_PARSING_FAILED, HASH_ELEMENT_DYNAMIC, (const ParserChar*)0, mLastIncompleteFragmentInCharacterData);
26101 if (mLastIncompleteFragmentInCharacterData)
26102     mStackMemoryManager.deleteObject();
26103 mLastIncompleteFragmentInCharacterData = 0;
26104 mEndOfDataInCurrentObjectOnStack = 0;
26105 return returnValue;
26106 }
26107 
26108 //---------------------------------------------------------------------
_freeAttributes__instance_rigid_body__technique_common__dynamic(void * attributeData)26109 bool ColladaParserAutoGen14Private::_freeAttributes__instance_rigid_body__technique_common__dynamic( void* attributeData )
26110 {
26111     instance_rigid_body__technique_common__dynamic__AttributeData* typedAttributeData = static_cast<instance_rigid_body__technique_common__dynamic__AttributeData*>(attributeData);
26112 
26113     typedAttributeData->~instance_rigid_body__technique_common__dynamic__AttributeData();
26114 
26115     return true;
26116 }
26117 
26118 //---------------------------------------------------------------------
_data__instance_rigid_body__technique_common__mass_frame(const ParserChar * text,size_t textLength)26119 bool ColladaParserAutoGen14Private::_data__instance_rigid_body__technique_common__mass_frame( const ParserChar* text, size_t textLength )
26120 {
26121     return true;
26122 }
26123 
26124 //---------------------------------------------------------------------
_preBegin__instance_rigid_body__technique_common__mass_frame(const ParserAttributes & attributes,void ** attributeDataPtr,void ** validationDataPtr)26125 bool ColladaParserAutoGen14Private::_preBegin__instance_rigid_body__technique_common__mass_frame( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
26126 {
26127 #ifdef GENERATEDSAXPARSER_VALIDATION
26128     if ( mValidate )
26129     {
26130 
26131         bool validationResult = _validateBegin__instance_rigid_body__technique_common__mass_frame( attributes, attributeDataPtr, validationDataPtr );
26132         if ( !validationResult ) return false;
26133 
26134     } // validation
26135 #endif
26136 
26137     return true;
26138 }
26139 
26140 //---------------------------------------------------------------------
_preEnd__instance_rigid_body__technique_common__mass_frame()26141 bool ColladaParserAutoGen14Private::_preEnd__instance_rigid_body__technique_common__mass_frame()
26142 {
26143 #ifdef GENERATEDSAXPARSER_VALIDATION
26144     if ( mValidate )
26145     {
26146 
26147         bool validationResult = _validateEnd__instance_rigid_body__technique_common__mass_frame();
26148         if ( !validationResult ) return false;
26149 
26150     } // validation
26151 #endif
26152 
26153     return true;
26154 }
26155 
26156 //---------------------------------------------------------------------
_freeAttributes__instance_rigid_body__technique_common__mass_frame(void * attributeData)26157 bool ColladaParserAutoGen14Private::_freeAttributes__instance_rigid_body__technique_common__mass_frame( void* attributeData )
26158 {
26159     return true;
26160 }
26161 
26162 //---------------------------------------------------------------------
_data__instance_rigid_body__technique_common__shape(const ParserChar * text,size_t textLength)26163 bool ColladaParserAutoGen14Private::_data__instance_rigid_body__technique_common__shape( const ParserChar* text, size_t textLength )
26164 {
26165     return true;
26166 }
26167 
26168 //---------------------------------------------------------------------
_preBegin__instance_rigid_body__technique_common__shape(const ParserAttributes & attributes,void ** attributeDataPtr,void ** validationDataPtr)26169 bool ColladaParserAutoGen14Private::_preBegin__instance_rigid_body__technique_common__shape( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
26170 {
26171 #ifdef GENERATEDSAXPARSER_VALIDATION
26172     if ( mValidate )
26173     {
26174 
26175         bool validationResult = _validateBegin__instance_rigid_body__technique_common__shape( attributes, attributeDataPtr, validationDataPtr );
26176         if ( !validationResult ) return false;
26177 
26178     } // validation
26179 #endif
26180 
26181     return true;
26182 }
26183 
26184 //---------------------------------------------------------------------
_preEnd__instance_rigid_body__technique_common__shape()26185 bool ColladaParserAutoGen14Private::_preEnd__instance_rigid_body__technique_common__shape()
26186 {
26187 #ifdef GENERATEDSAXPARSER_VALIDATION
26188     if ( mValidate )
26189     {
26190 
26191         bool validationResult = _validateEnd__instance_rigid_body__technique_common__shape();
26192         if ( !validationResult ) return false;
26193 
26194     } // validation
26195 #endif
26196 
26197     return true;
26198 }
26199 
26200 //---------------------------------------------------------------------
_freeAttributes__instance_rigid_body__technique_common__shape(void * attributeData)26201 bool ColladaParserAutoGen14Private::_freeAttributes__instance_rigid_body__technique_common__shape( void* attributeData )
26202 {
26203     return true;
26204 }
26205 
26206 //---------------------------------------------------------------------
26207 const instance_rigid_body__technique_common__shape__hollow__AttributeData instance_rigid_body__technique_common__shape__hollow__AttributeData::DEFAULT = {0};
26208 
26209 //---------------------------------------------------------------------
_data__instance_rigid_body__technique_common__shape__hollow(const ParserChar * text,size_t textLength)26210 bool ColladaParserAutoGen14Private::_data__instance_rigid_body__technique_common__shape__hollow( const ParserChar* text, size_t textLength )
26211 {
26212 if (!mLastIncompleteFragmentInCharacterData)
26213 {
26214     mLastIncompleteFragmentInCharacterData = (ParserChar*)mStackMemoryManager.newObject(textLength);
26215     memcpy(mLastIncompleteFragmentInCharacterData, text, textLength);
26216     mEndOfDataInCurrentObjectOnStack = mLastIncompleteFragmentInCharacterData + textLength;
26217 }
26218 else
26219 {
26220     ParserChar* tmp = (ParserChar*)mStackMemoryManager.growObject(textLength);
26221     if ( tmp != mLastIncompleteFragmentInCharacterData ) {
26222         mEndOfDataInCurrentObjectOnStack = (mEndOfDataInCurrentObjectOnStack - mLastIncompleteFragmentInCharacterData) + tmp;
26223         mLastIncompleteFragmentInCharacterData = tmp;
26224     }
26225     memcpy(mEndOfDataInCurrentObjectOnStack, text, textLength);
26226     mEndOfDataInCurrentObjectOnStack += textLength;
26227 }
26228 return true;
26229 }
26230 
26231 //---------------------------------------------------------------------
_preBegin__instance_rigid_body__technique_common__shape__hollow(const ParserAttributes & attributes,void ** attributeDataPtr,void ** validationDataPtr)26232 bool ColladaParserAutoGen14Private::_preBegin__instance_rigid_body__technique_common__shape__hollow( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
26233 {
26234 #ifdef GENERATEDSAXPARSER_VALIDATION
26235     if ( mValidate )
26236     {
26237 
26238         bool validationResult = _validateBegin__instance_rigid_body__technique_common__shape__hollow( attributes, attributeDataPtr, validationDataPtr );
26239         if ( !validationResult ) return false;
26240 
26241     } // validation
26242 #endif
26243 
26244 instance_rigid_body__technique_common__shape__hollow__AttributeData* attributeData = newData<instance_rigid_body__technique_common__shape__hollow__AttributeData>(attributeDataPtr);
26245 
26246 const ParserChar** attributeArray = attributes.attributes;
26247 if ( attributeArray )
26248 {
26249     while (true)
26250     {
26251         const ParserChar * attribute = *attributeArray;
26252         if ( !attribute )
26253             break;
26254         StringHash hash = GeneratedSaxParser::Utils::calculateStringHash(attribute);
26255         attributeArray++;
26256         if ( !attributeArray )
26257             return false;
26258         const ParserChar* attributeValue = *attributeArray;
26259         attributeArray++;
26260 
26261 
26262     switch ( hash )
26263     {
26264     case HASH_ATTRIBUTE_sid:
26265     {
26266 
26267 attributeData->sid = attributeValue;
26268 #ifdef GENERATEDSAXPARSER_VALIDATION
26269     if ( mValidate )
26270     {
26271     ParserError::ErrorType simpleTypeValidationResult = validate__NCName(attributeData->sid, strlen(attributeData->sid));
26272     if (simpleTypeValidationResult != ParserError::SIMPLE_TYPE_VALIDATION_OK)
26273     {
26274         if( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL,
26275             simpleTypeValidationResult,
26276             HASH_ELEMENT_HOLLOW,
26277             HASH_ATTRIBUTE_sid,
26278             attributeValue) )
26279         {
26280             return false;
26281         }
26282     }
26283     } // validation
26284 #endif
26285 
26286     break;
26287     }
26288     default:
26289     {
26290         if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_UNKNOWN_ATTRIBUTE, HASH_ELEMENT_HOLLOW, attribute, attributeValue))
26291             {return false;}
26292     }
26293     }
26294     }
26295 }
26296 
26297 
26298     return true;
26299 }
26300 
26301 //---------------------------------------------------------------------
_preEnd__instance_rigid_body__technique_common__shape__hollow()26302 bool ColladaParserAutoGen14Private::_preEnd__instance_rigid_body__technique_common__shape__hollow()
26303 {
26304 #ifdef GENERATEDSAXPARSER_VALIDATION
26305     if ( mValidate )
26306     {
26307 
26308         bool validationResult = _validateEnd__instance_rigid_body__technique_common__shape__hollow();
26309         if ( !validationResult ) return false;
26310 
26311     } // validation
26312 #endif
26313 
26314 bool failed;
26315 const ParserChar* ptrForErr = mLastIncompleteFragmentInCharacterData;
26316 DISABLE_WARNING_UNUSED(ptrForErr)
26317 bool parameter = GeneratedSaxParser::Utils::toBool((const ParserChar**)&mLastIncompleteFragmentInCharacterData, mEndOfDataInCurrentObjectOnStack, failed);
26318 bool returnValue;
26319 if (!failed)
26320 {
26321     returnValue = mImpl->data__instance_rigid_body__technique_common__shape__hollow(parameter);
26322 }
26323 else
26324     returnValue = !handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_TEXTDATA_PARSING_FAILED, HASH_ELEMENT_HOLLOW, (const ParserChar*)0, mLastIncompleteFragmentInCharacterData);
26325 if (mLastIncompleteFragmentInCharacterData)
26326     mStackMemoryManager.deleteObject();
26327 mLastIncompleteFragmentInCharacterData = 0;
26328 mEndOfDataInCurrentObjectOnStack = 0;
26329 return returnValue;
26330 }
26331 
26332 //---------------------------------------------------------------------
_freeAttributes__instance_rigid_body__technique_common__shape__hollow(void * attributeData)26333 bool ColladaParserAutoGen14Private::_freeAttributes__instance_rigid_body__technique_common__shape__hollow( void* attributeData )
26334 {
26335     instance_rigid_body__technique_common__shape__hollow__AttributeData* typedAttributeData = static_cast<instance_rigid_body__technique_common__shape__hollow__AttributeData*>(attributeData);
26336 
26337     typedAttributeData->~instance_rigid_body__technique_common__shape__hollow__AttributeData();
26338 
26339     return true;
26340 }
26341 
26342 //---------------------------------------------------------------------
26343 const instance_rigid_constraint__AttributeData instance_rigid_constraint__AttributeData::DEFAULT = {0, 0, 0};
26344 
26345 //---------------------------------------------------------------------
_data__instance_rigid_constraint(const ParserChar * text,size_t textLength)26346 bool ColladaParserAutoGen14Private::_data__instance_rigid_constraint( const ParserChar* text, size_t textLength )
26347 {
26348     return true;
26349 }
26350 
26351 //---------------------------------------------------------------------
_preBegin__instance_rigid_constraint(const ParserAttributes & attributes,void ** attributeDataPtr,void ** validationDataPtr)26352 bool ColladaParserAutoGen14Private::_preBegin__instance_rigid_constraint( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
26353 {
26354 #ifdef GENERATEDSAXPARSER_VALIDATION
26355     if ( mValidate )
26356     {
26357 
26358         bool validationResult = _validateBegin__instance_rigid_constraint( attributes, attributeDataPtr, validationDataPtr );
26359         if ( !validationResult ) return false;
26360 
26361     } // validation
26362 #endif
26363 
26364 instance_rigid_constraint__AttributeData* attributeData = newData<instance_rigid_constraint__AttributeData>(attributeDataPtr);
26365 
26366 const ParserChar** attributeArray = attributes.attributes;
26367 if ( attributeArray )
26368 {
26369     while (true)
26370     {
26371         const ParserChar * attribute = *attributeArray;
26372         if ( !attribute )
26373             break;
26374         StringHash hash = GeneratedSaxParser::Utils::calculateStringHash(attribute);
26375         attributeArray++;
26376         if ( !attributeArray )
26377             return false;
26378         const ParserChar* attributeValue = *attributeArray;
26379         attributeArray++;
26380 
26381 
26382     switch ( hash )
26383     {
26384     case HASH_ATTRIBUTE_constraint:
26385     {
26386 
26387 attributeData->constraint = attributeValue;
26388 #ifdef GENERATEDSAXPARSER_VALIDATION
26389     if ( mValidate )
26390     {
26391     ParserError::ErrorType simpleTypeValidationResult = validate__NCName(attributeData->constraint, strlen(attributeData->constraint));
26392     if (simpleTypeValidationResult != ParserError::SIMPLE_TYPE_VALIDATION_OK)
26393     {
26394         if( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL,
26395             simpleTypeValidationResult,
26396             HASH_ELEMENT_INSTANCE_RIGID_CONSTRAINT,
26397             HASH_ATTRIBUTE_constraint,
26398             attributeValue) )
26399         {
26400             return false;
26401         }
26402     }
26403     } // validation
26404 #endif
26405 
26406     break;
26407     }
26408     case HASH_ATTRIBUTE_sid:
26409     {
26410 
26411 attributeData->sid = attributeValue;
26412 #ifdef GENERATEDSAXPARSER_VALIDATION
26413     if ( mValidate )
26414     {
26415     ParserError::ErrorType simpleTypeValidationResult = validate__NCName(attributeData->sid, strlen(attributeData->sid));
26416     if (simpleTypeValidationResult != ParserError::SIMPLE_TYPE_VALIDATION_OK)
26417     {
26418         if( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL,
26419             simpleTypeValidationResult,
26420             HASH_ELEMENT_INSTANCE_RIGID_CONSTRAINT,
26421             HASH_ATTRIBUTE_sid,
26422             attributeValue) )
26423         {
26424             return false;
26425         }
26426     }
26427     } // validation
26428 #endif
26429 
26430     break;
26431     }
26432     case HASH_ATTRIBUTE_name:
26433     {
26434 
26435 attributeData->name = attributeValue;
26436 #ifdef GENERATEDSAXPARSER_VALIDATION
26437     if ( mValidate )
26438     {
26439     ParserError::ErrorType simpleTypeValidationResult = validate__NCName(attributeData->name, strlen(attributeData->name));
26440     if (simpleTypeValidationResult != ParserError::SIMPLE_TYPE_VALIDATION_OK)
26441     {
26442         if( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL,
26443             simpleTypeValidationResult,
26444             HASH_ELEMENT_INSTANCE_RIGID_CONSTRAINT,
26445             HASH_ATTRIBUTE_name,
26446             attributeValue) )
26447         {
26448             return false;
26449         }
26450     }
26451     } // validation
26452 #endif
26453 
26454     break;
26455     }
26456     default:
26457     {
26458         if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_UNKNOWN_ATTRIBUTE, HASH_ELEMENT_INSTANCE_RIGID_CONSTRAINT, attribute, attributeValue))
26459             {return false;}
26460     }
26461     }
26462     }
26463 }
26464 if ( !attributeData->constraint )
26465 {
26466     if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_REQUIRED_ATTRIBUTE_MISSING, HASH_ELEMENT_INSTANCE_RIGID_CONSTRAINT, HASH_ATTRIBUTE_constraint, 0 ) )
26467         return false;
26468 }
26469 
26470 
26471     return true;
26472 }
26473 
26474 //---------------------------------------------------------------------
_preEnd__instance_rigid_constraint()26475 bool ColladaParserAutoGen14Private::_preEnd__instance_rigid_constraint()
26476 {
26477 #ifdef GENERATEDSAXPARSER_VALIDATION
26478     if ( mValidate )
26479     {
26480 
26481         bool validationResult = _validateEnd__instance_rigid_constraint();
26482         if ( !validationResult ) return false;
26483 
26484     } // validation
26485 #endif
26486 
26487     return true;
26488 }
26489 
26490 //---------------------------------------------------------------------
_freeAttributes__instance_rigid_constraint(void * attributeData)26491 bool ColladaParserAutoGen14Private::_freeAttributes__instance_rigid_constraint( void* attributeData )
26492 {
26493     instance_rigid_constraint__AttributeData* typedAttributeData = static_cast<instance_rigid_constraint__AttributeData*>(attributeData);
26494 
26495     typedAttributeData->~instance_rigid_constraint__AttributeData();
26496 
26497     return true;
26498 }
26499 
26500 //---------------------------------------------------------------------
26501 const library_physics_scenes__AttributeData library_physics_scenes__AttributeData::DEFAULT = {0, 0};
26502 
26503 //---------------------------------------------------------------------
_data__library_physics_scenes(const ParserChar * text,size_t textLength)26504 bool ColladaParserAutoGen14Private::_data__library_physics_scenes( const ParserChar* text, size_t textLength )
26505 {
26506     return true;
26507 }
26508 
26509 //---------------------------------------------------------------------
_preBegin__library_physics_scenes(const ParserAttributes & attributes,void ** attributeDataPtr,void ** validationDataPtr)26510 bool ColladaParserAutoGen14Private::_preBegin__library_physics_scenes( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
26511 {
26512 #ifdef GENERATEDSAXPARSER_VALIDATION
26513     if ( mValidate )
26514     {
26515 
26516         bool validationResult = _validateBegin__library_physics_scenes( attributes, attributeDataPtr, validationDataPtr );
26517         if ( !validationResult ) return false;
26518 
26519     } // validation
26520 #endif
26521 
26522 library_physics_scenes__AttributeData* attributeData = newData<library_physics_scenes__AttributeData>(attributeDataPtr);
26523 
26524 const ParserChar** attributeArray = attributes.attributes;
26525 if ( attributeArray )
26526 {
26527     while (true)
26528     {
26529         const ParserChar * attribute = *attributeArray;
26530         if ( !attribute )
26531             break;
26532         StringHash hash = GeneratedSaxParser::Utils::calculateStringHash(attribute);
26533         attributeArray++;
26534         if ( !attributeArray )
26535             return false;
26536         const ParserChar* attributeValue = *attributeArray;
26537         attributeArray++;
26538 
26539 
26540     switch ( hash )
26541     {
26542     case HASH_ATTRIBUTE_id:
26543     {
26544 
26545 attributeData->id = attributeValue;
26546 
26547     break;
26548     }
26549     case HASH_ATTRIBUTE_name:
26550     {
26551 
26552 attributeData->name = attributeValue;
26553 #ifdef GENERATEDSAXPARSER_VALIDATION
26554     if ( mValidate )
26555     {
26556     ParserError::ErrorType simpleTypeValidationResult = validate__NCName(attributeData->name, strlen(attributeData->name));
26557     if (simpleTypeValidationResult != ParserError::SIMPLE_TYPE_VALIDATION_OK)
26558     {
26559         if( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL,
26560             simpleTypeValidationResult,
26561             HASH_ELEMENT_LIBRARY_PHYSICS_SCENES,
26562             HASH_ATTRIBUTE_name,
26563             attributeValue) )
26564         {
26565             return false;
26566         }
26567     }
26568     } // validation
26569 #endif
26570 
26571     break;
26572     }
26573     default:
26574     {
26575         if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_UNKNOWN_ATTRIBUTE, HASH_ELEMENT_LIBRARY_PHYSICS_SCENES, attribute, attributeValue))
26576             {return false;}
26577     }
26578     }
26579     }
26580 }
26581 
26582 
26583     return true;
26584 }
26585 
26586 //---------------------------------------------------------------------
_preEnd__library_physics_scenes()26587 bool ColladaParserAutoGen14Private::_preEnd__library_physics_scenes()
26588 {
26589 #ifdef GENERATEDSAXPARSER_VALIDATION
26590     if ( mValidate )
26591     {
26592 
26593         bool validationResult = _validateEnd__library_physics_scenes();
26594         if ( !validationResult ) return false;
26595 
26596     } // validation
26597 #endif
26598 
26599     return true;
26600 }
26601 
26602 //---------------------------------------------------------------------
_freeAttributes__library_physics_scenes(void * attributeData)26603 bool ColladaParserAutoGen14Private::_freeAttributes__library_physics_scenes( void* attributeData )
26604 {
26605     library_physics_scenes__AttributeData* typedAttributeData = static_cast<library_physics_scenes__AttributeData*>(attributeData);
26606 
26607     typedAttributeData->~library_physics_scenes__AttributeData();
26608 
26609     return true;
26610 }
26611 
26612 //---------------------------------------------------------------------
26613 const physics_scene__AttributeData physics_scene__AttributeData::DEFAULT = {0, 0};
26614 
26615 //---------------------------------------------------------------------
_data__physics_scene(const ParserChar * text,size_t textLength)26616 bool ColladaParserAutoGen14Private::_data__physics_scene( const ParserChar* text, size_t textLength )
26617 {
26618     return true;
26619 }
26620 
26621 //---------------------------------------------------------------------
_preBegin__physics_scene(const ParserAttributes & attributes,void ** attributeDataPtr,void ** validationDataPtr)26622 bool ColladaParserAutoGen14Private::_preBegin__physics_scene( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
26623 {
26624 #ifdef GENERATEDSAXPARSER_VALIDATION
26625     if ( mValidate )
26626     {
26627 
26628         bool validationResult = _validateBegin__physics_scene( attributes, attributeDataPtr, validationDataPtr );
26629         if ( !validationResult ) return false;
26630 
26631     } // validation
26632 #endif
26633 
26634 physics_scene__AttributeData* attributeData = newData<physics_scene__AttributeData>(attributeDataPtr);
26635 
26636 const ParserChar** attributeArray = attributes.attributes;
26637 if ( attributeArray )
26638 {
26639     while (true)
26640     {
26641         const ParserChar * attribute = *attributeArray;
26642         if ( !attribute )
26643             break;
26644         StringHash hash = GeneratedSaxParser::Utils::calculateStringHash(attribute);
26645         attributeArray++;
26646         if ( !attributeArray )
26647             return false;
26648         const ParserChar* attributeValue = *attributeArray;
26649         attributeArray++;
26650 
26651 
26652     switch ( hash )
26653     {
26654     case HASH_ATTRIBUTE_id:
26655     {
26656 
26657 attributeData->id = attributeValue;
26658 
26659     break;
26660     }
26661     case HASH_ATTRIBUTE_name:
26662     {
26663 
26664 attributeData->name = attributeValue;
26665 #ifdef GENERATEDSAXPARSER_VALIDATION
26666     if ( mValidate )
26667     {
26668     ParserError::ErrorType simpleTypeValidationResult = validate__NCName(attributeData->name, strlen(attributeData->name));
26669     if (simpleTypeValidationResult != ParserError::SIMPLE_TYPE_VALIDATION_OK)
26670     {
26671         if( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL,
26672             simpleTypeValidationResult,
26673             HASH_ELEMENT_PHYSICS_SCENE,
26674             HASH_ATTRIBUTE_name,
26675             attributeValue) )
26676         {
26677             return false;
26678         }
26679     }
26680     } // validation
26681 #endif
26682 
26683     break;
26684     }
26685     default:
26686     {
26687         if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_UNKNOWN_ATTRIBUTE, HASH_ELEMENT_PHYSICS_SCENE, attribute, attributeValue))
26688             {return false;}
26689     }
26690     }
26691     }
26692 }
26693 
26694 
26695     return true;
26696 }
26697 
26698 //---------------------------------------------------------------------
_preEnd__physics_scene()26699 bool ColladaParserAutoGen14Private::_preEnd__physics_scene()
26700 {
26701 #ifdef GENERATEDSAXPARSER_VALIDATION
26702     if ( mValidate )
26703     {
26704 
26705         bool validationResult = _validateEnd__physics_scene();
26706         if ( !validationResult ) return false;
26707 
26708     } // validation
26709 #endif
26710 
26711     return true;
26712 }
26713 
26714 //---------------------------------------------------------------------
_freeAttributes__physics_scene(void * attributeData)26715 bool ColladaParserAutoGen14Private::_freeAttributes__physics_scene( void* attributeData )
26716 {
26717     physics_scene__AttributeData* typedAttributeData = static_cast<physics_scene__AttributeData*>(attributeData);
26718 
26719     typedAttributeData->~physics_scene__AttributeData();
26720 
26721     return true;
26722 }
26723 
26724 //---------------------------------------------------------------------
_data__physics_scene__technique_common(const ParserChar * text,size_t textLength)26725 bool ColladaParserAutoGen14Private::_data__physics_scene__technique_common( const ParserChar* text, size_t textLength )
26726 {
26727     return true;
26728 }
26729 
26730 //---------------------------------------------------------------------
_preBegin__physics_scene__technique_common(const ParserAttributes & attributes,void ** attributeDataPtr,void ** validationDataPtr)26731 bool ColladaParserAutoGen14Private::_preBegin__physics_scene__technique_common( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
26732 {
26733 #ifdef GENERATEDSAXPARSER_VALIDATION
26734     if ( mValidate )
26735     {
26736 
26737         bool validationResult = _validateBegin__physics_scene__technique_common( attributes, attributeDataPtr, validationDataPtr );
26738         if ( !validationResult ) return false;
26739 
26740     } // validation
26741 #endif
26742 
26743     return true;
26744 }
26745 
26746 //---------------------------------------------------------------------
_preEnd__physics_scene__technique_common()26747 bool ColladaParserAutoGen14Private::_preEnd__physics_scene__technique_common()
26748 {
26749 #ifdef GENERATEDSAXPARSER_VALIDATION
26750     if ( mValidate )
26751     {
26752 
26753         bool validationResult = _validateEnd__physics_scene__technique_common();
26754         if ( !validationResult ) return false;
26755 
26756     } // validation
26757 #endif
26758 
26759     return true;
26760 }
26761 
26762 //---------------------------------------------------------------------
_freeAttributes__physics_scene__technique_common(void * attributeData)26763 bool ColladaParserAutoGen14Private::_freeAttributes__physics_scene__technique_common( void* attributeData )
26764 {
26765     return true;
26766 }
26767 
26768 //---------------------------------------------------------------------
26769 const gravity__AttributeData gravity__AttributeData::DEFAULT = {0};
26770 
26771 //---------------------------------------------------------------------
_data__gravity(const ParserChar * text,size_t textLength)26772 bool ColladaParserAutoGen14Private::_data__gravity( const ParserChar* text, size_t textLength )
26773 {
26774 #ifdef GENERATEDSAXPARSER_VALIDATION
26775     if ( mValidate )
26776     {
26777         float3____float3__ValidationData* validationData = (float3____float3__ValidationData*)mValidationDataStack.top();
26778         DISABLE_WARNING_UNUSED(validationData)
26779 return characterData2FloatData(text, textLength, &ColladaParserAutoGen14::data__gravity, &validate__float3__stream, &validationData->validationWholeSize, 0);
26780     }
26781     else
26782     {
26783 return characterData2FloatData(text, textLength, &ColladaParserAutoGen14::data__gravity);
26784     }
26785 #else
26786     {
26787 return characterData2FloatData(text, textLength, &ColladaParserAutoGen14::data__gravity);
26788     } // validation
26789 #endif
26790 
26791 }
26792 
26793 //---------------------------------------------------------------------
_preBegin__gravity(const ParserAttributes & attributes,void ** attributeDataPtr,void ** validationDataPtr)26794 bool ColladaParserAutoGen14Private::_preBegin__gravity( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
26795 {
26796 #ifdef GENERATEDSAXPARSER_VALIDATION
26797     if ( mValidate )
26798     {
26799 
26800         bool validationResult = _validateBegin__gravity( attributes, attributeDataPtr, validationDataPtr );
26801         if ( !validationResult ) return false;
26802 
26803     } // validation
26804 #endif
26805 
26806 gravity__AttributeData* attributeData = newData<gravity__AttributeData>(attributeDataPtr);
26807 
26808 const ParserChar** attributeArray = attributes.attributes;
26809 if ( attributeArray )
26810 {
26811     while (true)
26812     {
26813         const ParserChar * attribute = *attributeArray;
26814         if ( !attribute )
26815             break;
26816         StringHash hash = GeneratedSaxParser::Utils::calculateStringHash(attribute);
26817         attributeArray++;
26818         if ( !attributeArray )
26819             return false;
26820         const ParserChar* attributeValue = *attributeArray;
26821         attributeArray++;
26822 
26823 
26824     switch ( hash )
26825     {
26826     case HASH_ATTRIBUTE_sid:
26827     {
26828 
26829 attributeData->sid = attributeValue;
26830 #ifdef GENERATEDSAXPARSER_VALIDATION
26831     if ( mValidate )
26832     {
26833     ParserError::ErrorType simpleTypeValidationResult = validate__NCName(attributeData->sid, strlen(attributeData->sid));
26834     if (simpleTypeValidationResult != ParserError::SIMPLE_TYPE_VALIDATION_OK)
26835     {
26836         if( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL,
26837             simpleTypeValidationResult,
26838             HASH_ELEMENT_GRAVITY,
26839             HASH_ATTRIBUTE_sid,
26840             attributeValue) )
26841         {
26842             return false;
26843         }
26844     }
26845     } // validation
26846 #endif
26847 
26848     break;
26849     }
26850     default:
26851     {
26852         if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_UNKNOWN_ATTRIBUTE, HASH_ELEMENT_GRAVITY, attribute, attributeValue))
26853             {return false;}
26854     }
26855     }
26856     }
26857 }
26858 
26859 
26860     return true;
26861 }
26862 
26863 //---------------------------------------------------------------------
_preEnd__gravity()26864 bool ColladaParserAutoGen14Private::_preEnd__gravity()
26865 {
26866 #ifdef GENERATEDSAXPARSER_VALIDATION
26867     if ( mValidate )
26868     {
26869 
26870         bool validationResult = _validateEnd__gravity();
26871         if ( !validationResult ) return false;
26872 
26873     } // validation
26874 #endif
26875 
26876 #ifdef GENERATEDSAXPARSER_VALIDATION
26877     if ( mValidate )
26878     {
26879         float3____float3__ValidationData* validationData = (float3____float3__ValidationData*)mValidationDataStack.top();
26880         DISABLE_WARNING_UNUSED(validationData)
26881 bool returnValue = floatDataEnd( &ColladaParserAutoGen14::data__gravity, &validate__float3__streamEnd, &validationData->validationWholeSize, 0 );
26882         ParserError::ErrorType simpleTypeValidationResult = validate__float3(0, (*(&validationData->validationWholeSize)));
26883         mValidationDataStack.deleteObject();
26884         if (simpleTypeValidationResult != ParserError::SIMPLE_TYPE_VALIDATION_OK)
26885         {
26886             if( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL,
26887                 simpleTypeValidationResult,
26888                 HASH_ELEMENT_GRAVITY,
26889                 (ParserChar*)0, 0 ) )
26890             {
26891                 return false;
26892             }
26893         }
26894         return returnValue;
26895     }
26896     else
26897     {
26898 return floatDataEnd( &ColladaParserAutoGen14::data__gravity );
26899     }
26900 #else
26901     {
26902 return floatDataEnd( &ColladaParserAutoGen14::data__gravity );
26903     } // validation
26904 #endif
26905 
26906 }
26907 
26908 //---------------------------------------------------------------------
_freeAttributes__gravity(void * attributeData)26909 bool ColladaParserAutoGen14Private::_freeAttributes__gravity( void* attributeData )
26910 {
26911     gravity__AttributeData* typedAttributeData = static_cast<gravity__AttributeData*>(attributeData);
26912 
26913     typedAttributeData->~gravity__AttributeData();
26914 
26915     return true;
26916 }
26917 
26918 //---------------------------------------------------------------------
26919 const time_step__AttributeData time_step__AttributeData::DEFAULT = {0};
26920 
26921 //---------------------------------------------------------------------
_data__time_step(const ParserChar * text,size_t textLength)26922 bool ColladaParserAutoGen14Private::_data__time_step( const ParserChar* text, size_t textLength )
26923 {
26924 if (!mLastIncompleteFragmentInCharacterData)
26925 {
26926     mLastIncompleteFragmentInCharacterData = (ParserChar*)mStackMemoryManager.newObject(textLength);
26927     memcpy(mLastIncompleteFragmentInCharacterData, text, textLength);
26928     mEndOfDataInCurrentObjectOnStack = mLastIncompleteFragmentInCharacterData + textLength;
26929 }
26930 else
26931 {
26932     ParserChar* tmp = (ParserChar*)mStackMemoryManager.growObject(textLength);
26933     if ( tmp != mLastIncompleteFragmentInCharacterData ) {
26934         mEndOfDataInCurrentObjectOnStack = (mEndOfDataInCurrentObjectOnStack - mLastIncompleteFragmentInCharacterData) + tmp;
26935         mLastIncompleteFragmentInCharacterData = tmp;
26936     }
26937     memcpy(mEndOfDataInCurrentObjectOnStack, text, textLength);
26938     mEndOfDataInCurrentObjectOnStack += textLength;
26939 }
26940 return true;
26941 }
26942 
26943 //---------------------------------------------------------------------
_preBegin__time_step(const ParserAttributes & attributes,void ** attributeDataPtr,void ** validationDataPtr)26944 bool ColladaParserAutoGen14Private::_preBegin__time_step( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
26945 {
26946 #ifdef GENERATEDSAXPARSER_VALIDATION
26947     if ( mValidate )
26948     {
26949 
26950         bool validationResult = _validateBegin__time_step( attributes, attributeDataPtr, validationDataPtr );
26951         if ( !validationResult ) return false;
26952 
26953     } // validation
26954 #endif
26955 
26956 time_step__AttributeData* attributeData = newData<time_step__AttributeData>(attributeDataPtr);
26957 
26958 const ParserChar** attributeArray = attributes.attributes;
26959 if ( attributeArray )
26960 {
26961     while (true)
26962     {
26963         const ParserChar * attribute = *attributeArray;
26964         if ( !attribute )
26965             break;
26966         StringHash hash = GeneratedSaxParser::Utils::calculateStringHash(attribute);
26967         attributeArray++;
26968         if ( !attributeArray )
26969             return false;
26970         const ParserChar* attributeValue = *attributeArray;
26971         attributeArray++;
26972 
26973 
26974     switch ( hash )
26975     {
26976     case HASH_ATTRIBUTE_sid:
26977     {
26978 
26979 attributeData->sid = attributeValue;
26980 #ifdef GENERATEDSAXPARSER_VALIDATION
26981     if ( mValidate )
26982     {
26983     ParserError::ErrorType simpleTypeValidationResult = validate__NCName(attributeData->sid, strlen(attributeData->sid));
26984     if (simpleTypeValidationResult != ParserError::SIMPLE_TYPE_VALIDATION_OK)
26985     {
26986         if( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL,
26987             simpleTypeValidationResult,
26988             HASH_ELEMENT_TIME_STEP,
26989             HASH_ATTRIBUTE_sid,
26990             attributeValue) )
26991         {
26992             return false;
26993         }
26994     }
26995     } // validation
26996 #endif
26997 
26998     break;
26999     }
27000     default:
27001     {
27002         if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_UNKNOWN_ATTRIBUTE, HASH_ELEMENT_TIME_STEP, attribute, attributeValue))
27003             {return false;}
27004     }
27005     }
27006     }
27007 }
27008 
27009 
27010     return true;
27011 }
27012 
27013 //---------------------------------------------------------------------
_preEnd__time_step()27014 bool ColladaParserAutoGen14Private::_preEnd__time_step()
27015 {
27016 #ifdef GENERATEDSAXPARSER_VALIDATION
27017     if ( mValidate )
27018     {
27019 
27020         bool validationResult = _validateEnd__time_step();
27021         if ( !validationResult ) return false;
27022 
27023     } // validation
27024 #endif
27025 
27026 bool failed;
27027 const ParserChar* ptrForErr = mLastIncompleteFragmentInCharacterData;
27028 DISABLE_WARNING_UNUSED(ptrForErr)
27029 float parameter = GeneratedSaxParser::Utils::toFloat((const ParserChar**)&mLastIncompleteFragmentInCharacterData, mEndOfDataInCurrentObjectOnStack, failed);
27030 bool returnValue;
27031 if (!failed)
27032 {
27033     returnValue = mImpl->data__time_step(parameter);
27034 }
27035 else
27036     returnValue = !handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_TEXTDATA_PARSING_FAILED, HASH_ELEMENT_TIME_STEP, (const ParserChar*)0, mLastIncompleteFragmentInCharacterData);
27037 if (mLastIncompleteFragmentInCharacterData)
27038     mStackMemoryManager.deleteObject();
27039 mLastIncompleteFragmentInCharacterData = 0;
27040 mEndOfDataInCurrentObjectOnStack = 0;
27041 return returnValue;
27042 }
27043 
27044 //---------------------------------------------------------------------
_freeAttributes__time_step(void * attributeData)27045 bool ColladaParserAutoGen14Private::_freeAttributes__time_step( void* attributeData )
27046 {
27047     time_step__AttributeData* typedAttributeData = static_cast<time_step__AttributeData*>(attributeData);
27048 
27049     typedAttributeData->~time_step__AttributeData();
27050 
27051     return true;
27052 }
27053 
27054 //---------------------------------------------------------------------
27055 const library_visual_scenes__AttributeData library_visual_scenes__AttributeData::DEFAULT = {0, 0};
27056 
27057 //---------------------------------------------------------------------
_data__library_visual_scenes(const ParserChar * text,size_t textLength)27058 bool ColladaParserAutoGen14Private::_data__library_visual_scenes( const ParserChar* text, size_t textLength )
27059 {
27060     return true;
27061 }
27062 
27063 //---------------------------------------------------------------------
_preBegin__library_visual_scenes(const ParserAttributes & attributes,void ** attributeDataPtr,void ** validationDataPtr)27064 bool ColladaParserAutoGen14Private::_preBegin__library_visual_scenes( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
27065 {
27066 #ifdef GENERATEDSAXPARSER_VALIDATION
27067     if ( mValidate )
27068     {
27069 
27070         bool validationResult = _validateBegin__library_visual_scenes( attributes, attributeDataPtr, validationDataPtr );
27071         if ( !validationResult ) return false;
27072 
27073     } // validation
27074 #endif
27075 
27076 library_visual_scenes__AttributeData* attributeData = newData<library_visual_scenes__AttributeData>(attributeDataPtr);
27077 
27078 const ParserChar** attributeArray = attributes.attributes;
27079 if ( attributeArray )
27080 {
27081     while (true)
27082     {
27083         const ParserChar * attribute = *attributeArray;
27084         if ( !attribute )
27085             break;
27086         StringHash hash = GeneratedSaxParser::Utils::calculateStringHash(attribute);
27087         attributeArray++;
27088         if ( !attributeArray )
27089             return false;
27090         const ParserChar* attributeValue = *attributeArray;
27091         attributeArray++;
27092 
27093 
27094     switch ( hash )
27095     {
27096     case HASH_ATTRIBUTE_id:
27097     {
27098 
27099 attributeData->id = attributeValue;
27100 
27101     break;
27102     }
27103     case HASH_ATTRIBUTE_name:
27104     {
27105 
27106 attributeData->name = attributeValue;
27107 #ifdef GENERATEDSAXPARSER_VALIDATION
27108     if ( mValidate )
27109     {
27110     ParserError::ErrorType simpleTypeValidationResult = validate__NCName(attributeData->name, strlen(attributeData->name));
27111     if (simpleTypeValidationResult != ParserError::SIMPLE_TYPE_VALIDATION_OK)
27112     {
27113         if( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL,
27114             simpleTypeValidationResult,
27115             HASH_ELEMENT_LIBRARY_VISUAL_SCENES,
27116             HASH_ATTRIBUTE_name,
27117             attributeValue) )
27118         {
27119             return false;
27120         }
27121     }
27122     } // validation
27123 #endif
27124 
27125     break;
27126     }
27127     default:
27128     {
27129         if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_UNKNOWN_ATTRIBUTE, HASH_ELEMENT_LIBRARY_VISUAL_SCENES, attribute, attributeValue))
27130             {return false;}
27131     }
27132     }
27133     }
27134 }
27135 
27136 
27137     return true;
27138 }
27139 
27140 //---------------------------------------------------------------------
_preEnd__library_visual_scenes()27141 bool ColladaParserAutoGen14Private::_preEnd__library_visual_scenes()
27142 {
27143 #ifdef GENERATEDSAXPARSER_VALIDATION
27144     if ( mValidate )
27145     {
27146 
27147         bool validationResult = _validateEnd__library_visual_scenes();
27148         if ( !validationResult ) return false;
27149 
27150     } // validation
27151 #endif
27152 
27153     return true;
27154 }
27155 
27156 //---------------------------------------------------------------------
_freeAttributes__library_visual_scenes(void * attributeData)27157 bool ColladaParserAutoGen14Private::_freeAttributes__library_visual_scenes( void* attributeData )
27158 {
27159     library_visual_scenes__AttributeData* typedAttributeData = static_cast<library_visual_scenes__AttributeData*>(attributeData);
27160 
27161     typedAttributeData->~library_visual_scenes__AttributeData();
27162 
27163     return true;
27164 }
27165 
27166 //---------------------------------------------------------------------
27167 const visual_scene__AttributeData visual_scene__AttributeData::DEFAULT = {0, 0};
27168 
27169 //---------------------------------------------------------------------
_data__visual_scene(const ParserChar * text,size_t textLength)27170 bool ColladaParserAutoGen14Private::_data__visual_scene( const ParserChar* text, size_t textLength )
27171 {
27172     return true;
27173 }
27174 
27175 //---------------------------------------------------------------------
_preBegin__visual_scene(const ParserAttributes & attributes,void ** attributeDataPtr,void ** validationDataPtr)27176 bool ColladaParserAutoGen14Private::_preBegin__visual_scene( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
27177 {
27178 #ifdef GENERATEDSAXPARSER_VALIDATION
27179     if ( mValidate )
27180     {
27181 
27182         bool validationResult = _validateBegin__visual_scene( attributes, attributeDataPtr, validationDataPtr );
27183         if ( !validationResult ) return false;
27184 
27185     } // validation
27186 #endif
27187 
27188 visual_scene__AttributeData* attributeData = newData<visual_scene__AttributeData>(attributeDataPtr);
27189 
27190 const ParserChar** attributeArray = attributes.attributes;
27191 if ( attributeArray )
27192 {
27193     while (true)
27194     {
27195         const ParserChar * attribute = *attributeArray;
27196         if ( !attribute )
27197             break;
27198         StringHash hash = GeneratedSaxParser::Utils::calculateStringHash(attribute);
27199         attributeArray++;
27200         if ( !attributeArray )
27201             return false;
27202         const ParserChar* attributeValue = *attributeArray;
27203         attributeArray++;
27204 
27205 
27206     switch ( hash )
27207     {
27208     case HASH_ATTRIBUTE_id:
27209     {
27210 
27211 attributeData->id = attributeValue;
27212 
27213     break;
27214     }
27215     case HASH_ATTRIBUTE_name:
27216     {
27217 
27218 attributeData->name = attributeValue;
27219 #ifdef GENERATEDSAXPARSER_VALIDATION
27220     if ( mValidate )
27221     {
27222     ParserError::ErrorType simpleTypeValidationResult = validate__NCName(attributeData->name, strlen(attributeData->name));
27223     if (simpleTypeValidationResult != ParserError::SIMPLE_TYPE_VALIDATION_OK)
27224     {
27225         if( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL,
27226             simpleTypeValidationResult,
27227             HASH_ELEMENT_VISUAL_SCENE,
27228             HASH_ATTRIBUTE_name,
27229             attributeValue) )
27230         {
27231             return false;
27232         }
27233     }
27234     } // validation
27235 #endif
27236 
27237     break;
27238     }
27239     default:
27240     {
27241         if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_UNKNOWN_ATTRIBUTE, HASH_ELEMENT_VISUAL_SCENE, attribute, attributeValue))
27242             {return false;}
27243     }
27244     }
27245     }
27246 }
27247 
27248 
27249     return true;
27250 }
27251 
27252 //---------------------------------------------------------------------
_preEnd__visual_scene()27253 bool ColladaParserAutoGen14Private::_preEnd__visual_scene()
27254 {
27255 #ifdef GENERATEDSAXPARSER_VALIDATION
27256     if ( mValidate )
27257     {
27258 
27259         bool validationResult = _validateEnd__visual_scene();
27260         if ( !validationResult ) return false;
27261 
27262     } // validation
27263 #endif
27264 
27265     return true;
27266 }
27267 
27268 //---------------------------------------------------------------------
_freeAttributes__visual_scene(void * attributeData)27269 bool ColladaParserAutoGen14Private::_freeAttributes__visual_scene( void* attributeData )
27270 {
27271     visual_scene__AttributeData* typedAttributeData = static_cast<visual_scene__AttributeData*>(attributeData);
27272 
27273     typedAttributeData->~visual_scene__AttributeData();
27274 
27275     return true;
27276 }
27277 
27278 //---------------------------------------------------------------------
27279 const evaluate_scene__AttributeData evaluate_scene__AttributeData::DEFAULT = {0};
27280 
27281 //---------------------------------------------------------------------
_data__evaluate_scene(const ParserChar * text,size_t textLength)27282 bool ColladaParserAutoGen14Private::_data__evaluate_scene( const ParserChar* text, size_t textLength )
27283 {
27284     return true;
27285 }
27286 
27287 //---------------------------------------------------------------------
_preBegin__evaluate_scene(const ParserAttributes & attributes,void ** attributeDataPtr,void ** validationDataPtr)27288 bool ColladaParserAutoGen14Private::_preBegin__evaluate_scene( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
27289 {
27290 #ifdef GENERATEDSAXPARSER_VALIDATION
27291     if ( mValidate )
27292     {
27293 
27294         bool validationResult = _validateBegin__evaluate_scene( attributes, attributeDataPtr, validationDataPtr );
27295         if ( !validationResult ) return false;
27296 
27297     } // validation
27298 #endif
27299 
27300 evaluate_scene__AttributeData* attributeData = newData<evaluate_scene__AttributeData>(attributeDataPtr);
27301 
27302 const ParserChar** attributeArray = attributes.attributes;
27303 if ( attributeArray )
27304 {
27305     while (true)
27306     {
27307         const ParserChar * attribute = *attributeArray;
27308         if ( !attribute )
27309             break;
27310         StringHash hash = GeneratedSaxParser::Utils::calculateStringHash(attribute);
27311         attributeArray++;
27312         if ( !attributeArray )
27313             return false;
27314         const ParserChar* attributeValue = *attributeArray;
27315         attributeArray++;
27316 
27317 
27318     switch ( hash )
27319     {
27320     case HASH_ATTRIBUTE_name:
27321     {
27322 
27323 attributeData->name = attributeValue;
27324 #ifdef GENERATEDSAXPARSER_VALIDATION
27325     if ( mValidate )
27326     {
27327     ParserError::ErrorType simpleTypeValidationResult = validate__NCName(attributeData->name, strlen(attributeData->name));
27328     if (simpleTypeValidationResult != ParserError::SIMPLE_TYPE_VALIDATION_OK)
27329     {
27330         if( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL,
27331             simpleTypeValidationResult,
27332             HASH_ELEMENT_EVALUATE_SCENE,
27333             HASH_ATTRIBUTE_name,
27334             attributeValue) )
27335         {
27336             return false;
27337         }
27338     }
27339     } // validation
27340 #endif
27341 
27342     break;
27343     }
27344     default:
27345     {
27346         if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_UNKNOWN_ATTRIBUTE, HASH_ELEMENT_EVALUATE_SCENE, attribute, attributeValue))
27347             {return false;}
27348     }
27349     }
27350     }
27351 }
27352 
27353 
27354     return true;
27355 }
27356 
27357 //---------------------------------------------------------------------
_preEnd__evaluate_scene()27358 bool ColladaParserAutoGen14Private::_preEnd__evaluate_scene()
27359 {
27360 #ifdef GENERATEDSAXPARSER_VALIDATION
27361     if ( mValidate )
27362     {
27363 
27364         bool validationResult = _validateEnd__evaluate_scene();
27365         if ( !validationResult ) return false;
27366 
27367     } // validation
27368 #endif
27369 
27370     return true;
27371 }
27372 
27373 //---------------------------------------------------------------------
_freeAttributes__evaluate_scene(void * attributeData)27374 bool ColladaParserAutoGen14Private::_freeAttributes__evaluate_scene( void* attributeData )
27375 {
27376     evaluate_scene__AttributeData* typedAttributeData = static_cast<evaluate_scene__AttributeData*>(attributeData);
27377 
27378     typedAttributeData->~evaluate_scene__AttributeData();
27379 
27380     return true;
27381 }
27382 
27383 //---------------------------------------------------------------------
27384 const render__AttributeData render__AttributeData::DEFAULT = {0, 0};
27385 
27386 //---------------------------------------------------------------------
_data__render(const ParserChar * text,size_t textLength)27387 bool ColladaParserAutoGen14Private::_data__render( const ParserChar* text, size_t textLength )
27388 {
27389     return true;
27390 }
27391 
27392 //---------------------------------------------------------------------
_preBegin__render(const ParserAttributes & attributes,void ** attributeDataPtr,void ** validationDataPtr)27393 bool ColladaParserAutoGen14Private::_preBegin__render( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
27394 {
27395 #ifdef GENERATEDSAXPARSER_VALIDATION
27396     if ( mValidate )
27397     {
27398 
27399         bool validationResult = _validateBegin__render( attributes, attributeDataPtr, validationDataPtr );
27400         if ( !validationResult ) return false;
27401 
27402     } // validation
27403 #endif
27404 
27405 render__AttributeData* attributeData = newData<render__AttributeData>(attributeDataPtr);
27406 
27407 const ParserChar** attributeArray = attributes.attributes;
27408 if ( attributeArray )
27409 {
27410     while (true)
27411     {
27412         const ParserChar * attribute = *attributeArray;
27413         if ( !attribute )
27414             break;
27415         StringHash hash = GeneratedSaxParser::Utils::calculateStringHash(attribute);
27416         attributeArray++;
27417         if ( !attributeArray )
27418             return false;
27419         const ParserChar* attributeValue = *attributeArray;
27420         attributeArray++;
27421 
27422 
27423     switch ( hash )
27424     {
27425     case HASH_ATTRIBUTE_camera_node:
27426     {
27427 bool failed;
27428 attributeData->camera_node = GeneratedSaxParser::Utils::toURI(&attributeValue, failed);
27429 if ( failed && handleError(ParserError::SEVERITY_ERROR_NONCRITICAL,
27430         ParserError::ERROR_ATTRIBUTE_PARSING_FAILED,
27431         HASH_ELEMENT_RENDER,
27432         HASH_ATTRIBUTE_camera_node,
27433         attributeValue))
27434 {
27435     return false;
27436 }
27437 if ( !failed )
27438     attributeData->present_attributes |= render__AttributeData::ATTRIBUTE_CAMERA_NODE_PRESENT;
27439 
27440     break;
27441     }
27442     default:
27443     {
27444         if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_UNKNOWN_ATTRIBUTE, HASH_ELEMENT_RENDER, attribute, attributeValue))
27445             {return false;}
27446     }
27447     }
27448     }
27449 }
27450 if ((attributeData->present_attributes & render__AttributeData::ATTRIBUTE_CAMERA_NODE_PRESENT) == 0)
27451 {
27452     attributeData->camera_node = COLLADABU::URI("");
27453 }
27454 if ( (attributeData->present_attributes & render__AttributeData::ATTRIBUTE_CAMERA_NODE_PRESENT) == 0 )
27455 {
27456     if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_REQUIRED_ATTRIBUTE_MISSING, HASH_ELEMENT_RENDER, HASH_ATTRIBUTE_camera_node, 0 ) )
27457         return false;
27458 }
27459 
27460 
27461     return true;
27462 }
27463 
27464 //---------------------------------------------------------------------
_preEnd__render()27465 bool ColladaParserAutoGen14Private::_preEnd__render()
27466 {
27467 #ifdef GENERATEDSAXPARSER_VALIDATION
27468     if ( mValidate )
27469     {
27470 
27471         bool validationResult = _validateEnd__render();
27472         if ( !validationResult ) return false;
27473 
27474     } // validation
27475 #endif
27476 
27477     return true;
27478 }
27479 
27480 //---------------------------------------------------------------------
_freeAttributes__render(void * attributeData)27481 bool ColladaParserAutoGen14Private::_freeAttributes__render( void* attributeData )
27482 {
27483     render__AttributeData* typedAttributeData = static_cast<render__AttributeData*>(attributeData);
27484 
27485     typedAttributeData->~render__AttributeData();
27486 
27487     return true;
27488 }
27489 
27490 //---------------------------------------------------------------------
_data__layer(const ParserChar * text,size_t textLength)27491 bool ColladaParserAutoGen14Private::_data__layer( const ParserChar* text, size_t textLength )
27492 {
27493 if (!mLastIncompleteFragmentInCharacterData)
27494 {
27495     mLastIncompleteFragmentInCharacterData = (ParserChar*)mStackMemoryManager.newObject(textLength);
27496     memcpy(mLastIncompleteFragmentInCharacterData, text, textLength);
27497     mEndOfDataInCurrentObjectOnStack = mLastIncompleteFragmentInCharacterData + textLength;
27498 }
27499 else
27500 {
27501     ParserChar* tmp = (ParserChar*)mStackMemoryManager.growObject(textLength);
27502     if ( tmp != mLastIncompleteFragmentInCharacterData ) {
27503         mEndOfDataInCurrentObjectOnStack = (mEndOfDataInCurrentObjectOnStack - mLastIncompleteFragmentInCharacterData) + tmp;
27504         mLastIncompleteFragmentInCharacterData = tmp;
27505     }
27506     memcpy(mEndOfDataInCurrentObjectOnStack, text, textLength);
27507     mEndOfDataInCurrentObjectOnStack += textLength;
27508 }
27509 return true;
27510 }
27511 
27512 //---------------------------------------------------------------------
_preBegin__layer(const ParserAttributes & attributes,void ** attributeDataPtr,void ** validationDataPtr)27513 bool ColladaParserAutoGen14Private::_preBegin__layer( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
27514 {
27515 #ifdef GENERATEDSAXPARSER_VALIDATION
27516     if ( mValidate )
27517     {
27518 
27519         bool validationResult = _validateBegin__layer( attributes, attributeDataPtr, validationDataPtr );
27520         if ( !validationResult ) return false;
27521 
27522     } // validation
27523 #endif
27524 
27525     return true;
27526 }
27527 
27528 //---------------------------------------------------------------------
_preEnd__layer()27529 bool ColladaParserAutoGen14Private::_preEnd__layer()
27530 {
27531 #ifdef GENERATEDSAXPARSER_VALIDATION
27532     if ( mValidate )
27533     {
27534 
27535         bool validationResult = _validateEnd__layer();
27536         if ( !validationResult ) return false;
27537 
27538     } // validation
27539 #endif
27540 
27541 bool returnValue = true;
27542 #ifdef GENERATEDSAXPARSER_VALIDATION
27543     if ( mValidate )
27544     {
27545 ParserError::ErrorType simpleTypeValidationResult = validate__NCName(mLastIncompleteFragmentInCharacterData, mEndOfDataInCurrentObjectOnStack - mLastIncompleteFragmentInCharacterData);
27546 if (simpleTypeValidationResult != ParserError::SIMPLE_TYPE_VALIDATION_OK)
27547 {
27548     ParserChar msg[21];
27549     Utils::fillErrorMsg(msg, mLastIncompleteFragmentInCharacterData, 20);
27550     if( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL,
27551         simpleTypeValidationResult,
27552         0,
27553         msg) )
27554     {
27555         returnValue =  false;
27556     }
27557 }
27558 if (!returnValue)
27559 {
27560     mStackMemoryManager.deleteObject();
27561     mLastIncompleteFragmentInCharacterData = 0;
27562     mEndOfDataInCurrentObjectOnStack = 0;
27563     return returnValue;
27564 }
27565     } // validation
27566 #endif
27567 returnValue = mImpl->data__layer(mLastIncompleteFragmentInCharacterData, mEndOfDataInCurrentObjectOnStack - mLastIncompleteFragmentInCharacterData);
27568 mStackMemoryManager.deleteObject();
27569 mLastIncompleteFragmentInCharacterData = 0;
27570 mEndOfDataInCurrentObjectOnStack = 0;
27571 return returnValue;
27572 
27573 }
27574 
27575 //---------------------------------------------------------------------
_freeAttributes__layer(void * attributeData)27576 bool ColladaParserAutoGen14Private::_freeAttributes__layer( void* attributeData )
27577 {
27578     return true;
27579 }
27580 
27581 //---------------------------------------------------------------------
_data__scene(const ParserChar * text,size_t textLength)27582 bool ColladaParserAutoGen14Private::_data__scene( const ParserChar* text, size_t textLength )
27583 {
27584     return true;
27585 }
27586 
27587 //---------------------------------------------------------------------
_preBegin__scene(const ParserAttributes & attributes,void ** attributeDataPtr,void ** validationDataPtr)27588 bool ColladaParserAutoGen14Private::_preBegin__scene( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
27589 {
27590 #ifdef GENERATEDSAXPARSER_VALIDATION
27591     if ( mValidate )
27592     {
27593 
27594         bool validationResult = _validateBegin__scene( attributes, attributeDataPtr, validationDataPtr );
27595         if ( !validationResult ) return false;
27596 
27597     } // validation
27598 #endif
27599 
27600     return true;
27601 }
27602 
27603 //---------------------------------------------------------------------
_preEnd__scene()27604 bool ColladaParserAutoGen14Private::_preEnd__scene()
27605 {
27606 #ifdef GENERATEDSAXPARSER_VALIDATION
27607     if ( mValidate )
27608     {
27609 
27610         bool validationResult = _validateEnd__scene();
27611         if ( !validationResult ) return false;
27612 
27613     } // validation
27614 #endif
27615 
27616     return true;
27617 }
27618 
27619 //---------------------------------------------------------------------
_freeAttributes__scene(void * attributeData)27620 bool ColladaParserAutoGen14Private::_freeAttributes__scene( void* attributeData )
27621 {
27622     return true;
27623 }
27624 
27625 //---------------------------------------------------------------------
27626 const instance_physics_scene__AttributeData instance_physics_scene__AttributeData::DEFAULT = {0, 0, 0, 0};
27627 
27628 //---------------------------------------------------------------------
_data__instance_physics_scene(const ParserChar * text,size_t textLength)27629 bool ColladaParserAutoGen14Private::_data__instance_physics_scene( const ParserChar* text, size_t textLength )
27630 {
27631     return true;
27632 }
27633 
27634 //---------------------------------------------------------------------
_preBegin__instance_physics_scene(const ParserAttributes & attributes,void ** attributeDataPtr,void ** validationDataPtr)27635 bool ColladaParserAutoGen14Private::_preBegin__instance_physics_scene( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
27636 {
27637 #ifdef GENERATEDSAXPARSER_VALIDATION
27638     if ( mValidate )
27639     {
27640 
27641         bool validationResult = _validateBegin__instance_physics_scene( attributes, attributeDataPtr, validationDataPtr );
27642         if ( !validationResult ) return false;
27643 
27644     } // validation
27645 #endif
27646 
27647 instance_physics_scene__AttributeData* attributeData = newData<instance_physics_scene__AttributeData>(attributeDataPtr);
27648 
27649 const ParserChar** attributeArray = attributes.attributes;
27650 if ( attributeArray )
27651 {
27652     while (true)
27653     {
27654         const ParserChar * attribute = *attributeArray;
27655         if ( !attribute )
27656             break;
27657         StringHash hash = GeneratedSaxParser::Utils::calculateStringHash(attribute);
27658         attributeArray++;
27659         if ( !attributeArray )
27660             return false;
27661         const ParserChar* attributeValue = *attributeArray;
27662         attributeArray++;
27663 
27664 
27665     switch ( hash )
27666     {
27667     case HASH_ATTRIBUTE_url:
27668     {
27669 bool failed;
27670 attributeData->url = GeneratedSaxParser::Utils::toURI(&attributeValue, failed);
27671 if ( failed && handleError(ParserError::SEVERITY_ERROR_NONCRITICAL,
27672         ParserError::ERROR_ATTRIBUTE_PARSING_FAILED,
27673         HASH_ELEMENT_INSTANCE_PHYSICS_SCENE,
27674         HASH_ATTRIBUTE_url,
27675         attributeValue))
27676 {
27677     return false;
27678 }
27679 if ( !failed )
27680     attributeData->present_attributes |= instance_physics_scene__AttributeData::ATTRIBUTE_URL_PRESENT;
27681 
27682     break;
27683     }
27684     case HASH_ATTRIBUTE_sid:
27685     {
27686 
27687 attributeData->sid = attributeValue;
27688 #ifdef GENERATEDSAXPARSER_VALIDATION
27689     if ( mValidate )
27690     {
27691     ParserError::ErrorType simpleTypeValidationResult = validate__NCName(attributeData->sid, strlen(attributeData->sid));
27692     if (simpleTypeValidationResult != ParserError::SIMPLE_TYPE_VALIDATION_OK)
27693     {
27694         if( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL,
27695             simpleTypeValidationResult,
27696             HASH_ELEMENT_INSTANCE_PHYSICS_SCENE,
27697             HASH_ATTRIBUTE_sid,
27698             attributeValue) )
27699         {
27700             return false;
27701         }
27702     }
27703     } // validation
27704 #endif
27705 
27706     break;
27707     }
27708     case HASH_ATTRIBUTE_name:
27709     {
27710 
27711 attributeData->name = attributeValue;
27712 #ifdef GENERATEDSAXPARSER_VALIDATION
27713     if ( mValidate )
27714     {
27715     ParserError::ErrorType simpleTypeValidationResult = validate__NCName(attributeData->name, strlen(attributeData->name));
27716     if (simpleTypeValidationResult != ParserError::SIMPLE_TYPE_VALIDATION_OK)
27717     {
27718         if( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL,
27719             simpleTypeValidationResult,
27720             HASH_ELEMENT_INSTANCE_PHYSICS_SCENE,
27721             HASH_ATTRIBUTE_name,
27722             attributeValue) )
27723         {
27724             return false;
27725         }
27726     }
27727     } // validation
27728 #endif
27729 
27730     break;
27731     }
27732     default:
27733     {
27734         if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_UNKNOWN_ATTRIBUTE, HASH_ELEMENT_INSTANCE_PHYSICS_SCENE, attribute, attributeValue))
27735             {return false;}
27736     }
27737     }
27738     }
27739 }
27740 if ((attributeData->present_attributes & instance_physics_scene__AttributeData::ATTRIBUTE_URL_PRESENT) == 0)
27741 {
27742     attributeData->url = COLLADABU::URI("");
27743 }
27744 if ( (attributeData->present_attributes & instance_physics_scene__AttributeData::ATTRIBUTE_URL_PRESENT) == 0 )
27745 {
27746     if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_REQUIRED_ATTRIBUTE_MISSING, HASH_ELEMENT_INSTANCE_PHYSICS_SCENE, HASH_ATTRIBUTE_url, 0 ) )
27747         return false;
27748 }
27749 
27750 
27751     return true;
27752 }
27753 
27754 //---------------------------------------------------------------------
_preEnd__instance_physics_scene()27755 bool ColladaParserAutoGen14Private::_preEnd__instance_physics_scene()
27756 {
27757 #ifdef GENERATEDSAXPARSER_VALIDATION
27758     if ( mValidate )
27759     {
27760 
27761         bool validationResult = _validateEnd__instance_physics_scene();
27762         if ( !validationResult ) return false;
27763 
27764     } // validation
27765 #endif
27766 
27767     return true;
27768 }
27769 
27770 //---------------------------------------------------------------------
_freeAttributes__instance_physics_scene(void * attributeData)27771 bool ColladaParserAutoGen14Private::_freeAttributes__instance_physics_scene( void* attributeData )
27772 {
27773     instance_physics_scene__AttributeData* typedAttributeData = static_cast<instance_physics_scene__AttributeData*>(attributeData);
27774 
27775     typedAttributeData->~instance_physics_scene__AttributeData();
27776 
27777     return true;
27778 }
27779 
27780 //---------------------------------------------------------------------
27781 const instance_visual_scene__AttributeData instance_visual_scene__AttributeData::DEFAULT = {0, 0, 0, 0};
27782 
27783 //---------------------------------------------------------------------
_data__instance_visual_scene(const ParserChar * text,size_t textLength)27784 bool ColladaParserAutoGen14Private::_data__instance_visual_scene( const ParserChar* text, size_t textLength )
27785 {
27786     return true;
27787 }
27788 
27789 //---------------------------------------------------------------------
_preBegin__instance_visual_scene(const ParserAttributes & attributes,void ** attributeDataPtr,void ** validationDataPtr)27790 bool ColladaParserAutoGen14Private::_preBegin__instance_visual_scene( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
27791 {
27792 #ifdef GENERATEDSAXPARSER_VALIDATION
27793     if ( mValidate )
27794     {
27795 
27796         bool validationResult = _validateBegin__instance_visual_scene( attributes, attributeDataPtr, validationDataPtr );
27797         if ( !validationResult ) return false;
27798 
27799     } // validation
27800 #endif
27801 
27802 instance_visual_scene__AttributeData* attributeData = newData<instance_visual_scene__AttributeData>(attributeDataPtr);
27803 
27804 const ParserChar** attributeArray = attributes.attributes;
27805 if ( attributeArray )
27806 {
27807     while (true)
27808     {
27809         const ParserChar * attribute = *attributeArray;
27810         if ( !attribute )
27811             break;
27812         StringHash hash = GeneratedSaxParser::Utils::calculateStringHash(attribute);
27813         attributeArray++;
27814         if ( !attributeArray )
27815             return false;
27816         const ParserChar* attributeValue = *attributeArray;
27817         attributeArray++;
27818 
27819 
27820     switch ( hash )
27821     {
27822     case HASH_ATTRIBUTE_url:
27823     {
27824 bool failed;
27825 attributeData->url = GeneratedSaxParser::Utils::toURI(&attributeValue, failed);
27826 if ( failed && handleError(ParserError::SEVERITY_ERROR_NONCRITICAL,
27827         ParserError::ERROR_ATTRIBUTE_PARSING_FAILED,
27828         HASH_ELEMENT_INSTANCE_VISUAL_SCENE,
27829         HASH_ATTRIBUTE_url,
27830         attributeValue))
27831 {
27832     return false;
27833 }
27834 if ( !failed )
27835     attributeData->present_attributes |= instance_visual_scene__AttributeData::ATTRIBUTE_URL_PRESENT;
27836 
27837     break;
27838     }
27839     case HASH_ATTRIBUTE_sid:
27840     {
27841 
27842 attributeData->sid = attributeValue;
27843 #ifdef GENERATEDSAXPARSER_VALIDATION
27844     if ( mValidate )
27845     {
27846     ParserError::ErrorType simpleTypeValidationResult = validate__NCName(attributeData->sid, strlen(attributeData->sid));
27847     if (simpleTypeValidationResult != ParserError::SIMPLE_TYPE_VALIDATION_OK)
27848     {
27849         if( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL,
27850             simpleTypeValidationResult,
27851             HASH_ELEMENT_INSTANCE_VISUAL_SCENE,
27852             HASH_ATTRIBUTE_sid,
27853             attributeValue) )
27854         {
27855             return false;
27856         }
27857     }
27858     } // validation
27859 #endif
27860 
27861     break;
27862     }
27863     case HASH_ATTRIBUTE_name:
27864     {
27865 
27866 attributeData->name = attributeValue;
27867 #ifdef GENERATEDSAXPARSER_VALIDATION
27868     if ( mValidate )
27869     {
27870     ParserError::ErrorType simpleTypeValidationResult = validate__NCName(attributeData->name, strlen(attributeData->name));
27871     if (simpleTypeValidationResult != ParserError::SIMPLE_TYPE_VALIDATION_OK)
27872     {
27873         if( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL,
27874             simpleTypeValidationResult,
27875             HASH_ELEMENT_INSTANCE_VISUAL_SCENE,
27876             HASH_ATTRIBUTE_name,
27877             attributeValue) )
27878         {
27879             return false;
27880         }
27881     }
27882     } // validation
27883 #endif
27884 
27885     break;
27886     }
27887     default:
27888     {
27889         if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_UNKNOWN_ATTRIBUTE, HASH_ELEMENT_INSTANCE_VISUAL_SCENE, attribute, attributeValue))
27890             {return false;}
27891     }
27892     }
27893     }
27894 }
27895 if ((attributeData->present_attributes & instance_visual_scene__AttributeData::ATTRIBUTE_URL_PRESENT) == 0)
27896 {
27897     attributeData->url = COLLADABU::URI("");
27898 }
27899 if ( (attributeData->present_attributes & instance_visual_scene__AttributeData::ATTRIBUTE_URL_PRESENT) == 0 )
27900 {
27901     if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_REQUIRED_ATTRIBUTE_MISSING, HASH_ELEMENT_INSTANCE_VISUAL_SCENE, HASH_ATTRIBUTE_url, 0 ) )
27902         return false;
27903 }
27904 
27905 
27906     return true;
27907 }
27908 
27909 //---------------------------------------------------------------------
_preEnd__instance_visual_scene()27910 bool ColladaParserAutoGen14Private::_preEnd__instance_visual_scene()
27911 {
27912 #ifdef GENERATEDSAXPARSER_VALIDATION
27913     if ( mValidate )
27914     {
27915 
27916         bool validationResult = _validateEnd__instance_visual_scene();
27917         if ( !validationResult ) return false;
27918 
27919     } // validation
27920 #endif
27921 
27922     return true;
27923 }
27924 
27925 //---------------------------------------------------------------------
_freeAttributes__instance_visual_scene(void * attributeData)27926 bool ColladaParserAutoGen14Private::_freeAttributes__instance_visual_scene( void* attributeData )
27927 {
27928     instance_visual_scene__AttributeData* typedAttributeData = static_cast<instance_visual_scene__AttributeData*>(attributeData);
27929 
27930     typedAttributeData->~instance_visual_scene__AttributeData();
27931 
27932     return true;
27933 }
27934 
27935 //---------------------------------------------------------------------
27936 const profile_GLES__AttributeData profile_GLES__AttributeData::DEFAULT = {0, (const ParserChar*)"PC"};
27937 
27938 //---------------------------------------------------------------------
_data__profile_GLES(const ParserChar * text,size_t textLength)27939 bool ColladaParserAutoGen14Private::_data__profile_GLES( const ParserChar* text, size_t textLength )
27940 {
27941     return true;
27942 }
27943 
27944 //---------------------------------------------------------------------
_preBegin__profile_GLES(const ParserAttributes & attributes,void ** attributeDataPtr,void ** validationDataPtr)27945 bool ColladaParserAutoGen14Private::_preBegin__profile_GLES( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
27946 {
27947 #ifdef GENERATEDSAXPARSER_VALIDATION
27948     if ( mValidate )
27949     {
27950 
27951         bool validationResult = _validateBegin__profile_GLES( attributes, attributeDataPtr, validationDataPtr );
27952         if ( !validationResult ) return false;
27953 
27954     } // validation
27955 #endif
27956 
27957 profile_GLES__AttributeData* attributeData = newData<profile_GLES__AttributeData>(attributeDataPtr);
27958 
27959 const ParserChar** attributeArray = attributes.attributes;
27960 if ( attributeArray )
27961 {
27962     while (true)
27963     {
27964         const ParserChar * attribute = *attributeArray;
27965         if ( !attribute )
27966             break;
27967         StringHash hash = GeneratedSaxParser::Utils::calculateStringHash(attribute);
27968         attributeArray++;
27969         if ( !attributeArray )
27970             return false;
27971         const ParserChar* attributeValue = *attributeArray;
27972         attributeArray++;
27973 
27974 
27975     switch ( hash )
27976     {
27977     case HASH_ATTRIBUTE_id:
27978     {
27979 
27980 attributeData->id = attributeValue;
27981 
27982     break;
27983     }
27984     case HASH_ATTRIBUTE_platform:
27985     {
27986 
27987 attributeData->platform = attributeValue;
27988 #ifdef GENERATEDSAXPARSER_VALIDATION
27989     if ( mValidate )
27990     {
27991     ParserError::ErrorType simpleTypeValidationResult = validate__NCName(attributeData->platform, strlen(attributeData->platform));
27992     if (simpleTypeValidationResult != ParserError::SIMPLE_TYPE_VALIDATION_OK)
27993     {
27994         if( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL,
27995             simpleTypeValidationResult,
27996             HASH_ELEMENT_PROFILE_GLES,
27997             HASH_ATTRIBUTE_platform,
27998             attributeValue) )
27999         {
28000             return false;
28001         }
28002     }
28003     } // validation
28004 #endif
28005 
28006     break;
28007     }
28008     default:
28009     {
28010         if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_UNKNOWN_ATTRIBUTE, HASH_ELEMENT_PROFILE_GLES, attribute, attributeValue))
28011             {return false;}
28012     }
28013     }
28014     }
28015 }
28016 
28017 
28018     return true;
28019 }
28020 
28021 //---------------------------------------------------------------------
_preEnd__profile_GLES()28022 bool ColladaParserAutoGen14Private::_preEnd__profile_GLES()
28023 {
28024 #ifdef GENERATEDSAXPARSER_VALIDATION
28025     if ( mValidate )
28026     {
28027 
28028         bool validationResult = _validateEnd__profile_GLES();
28029         if ( !validationResult ) return false;
28030 
28031     } // validation
28032 #endif
28033 
28034     return true;
28035 }
28036 
28037 //---------------------------------------------------------------------
_freeAttributes__profile_GLES(void * attributeData)28038 bool ColladaParserAutoGen14Private::_freeAttributes__profile_GLES( void* attributeData )
28039 {
28040     profile_GLES__AttributeData* typedAttributeData = static_cast<profile_GLES__AttributeData*>(attributeData);
28041 
28042     typedAttributeData->~profile_GLES__AttributeData();
28043 
28044     return true;
28045 }
28046 
28047 //---------------------------------------------------------------------
28048 const newparam____gles_newparam__AttributeData newparam____gles_newparam__AttributeData::DEFAULT = {0};
28049 
28050 //---------------------------------------------------------------------
_data__newparam____gles_newparam(const ParserChar * text,size_t textLength)28051 bool ColladaParserAutoGen14Private::_data__newparam____gles_newparam( const ParserChar* text, size_t textLength )
28052 {
28053     return true;
28054 }
28055 
28056 //---------------------------------------------------------------------
_preBegin__newparam____gles_newparam(const ParserAttributes & attributes,void ** attributeDataPtr,void ** validationDataPtr)28057 bool ColladaParserAutoGen14Private::_preBegin__newparam____gles_newparam( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
28058 {
28059 #ifdef GENERATEDSAXPARSER_VALIDATION
28060     if ( mValidate )
28061     {
28062 
28063         bool validationResult = _validateBegin__newparam____gles_newparam( attributes, attributeDataPtr, validationDataPtr );
28064         if ( !validationResult ) return false;
28065 
28066     } // validation
28067 #endif
28068 
28069 newparam____gles_newparam__AttributeData* attributeData = newData<newparam____gles_newparam__AttributeData>(attributeDataPtr);
28070 
28071 const ParserChar** attributeArray = attributes.attributes;
28072 if ( attributeArray )
28073 {
28074     while (true)
28075     {
28076         const ParserChar * attribute = *attributeArray;
28077         if ( !attribute )
28078             break;
28079         StringHash hash = GeneratedSaxParser::Utils::calculateStringHash(attribute);
28080         attributeArray++;
28081         if ( !attributeArray )
28082             return false;
28083         const ParserChar* attributeValue = *attributeArray;
28084         attributeArray++;
28085 
28086 
28087     switch ( hash )
28088     {
28089     case HASH_ATTRIBUTE_sid:
28090     {
28091 
28092 attributeData->sid = attributeValue;
28093 #ifdef GENERATEDSAXPARSER_VALIDATION
28094     if ( mValidate )
28095     {
28096     ParserError::ErrorType simpleTypeValidationResult = validate__NCName(attributeData->sid, strlen(attributeData->sid));
28097     if (simpleTypeValidationResult != ParserError::SIMPLE_TYPE_VALIDATION_OK)
28098     {
28099         if( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL,
28100             simpleTypeValidationResult,
28101             HASH_ELEMENT_NEWPARAM,
28102             HASH_ATTRIBUTE_sid,
28103             attributeValue) )
28104         {
28105             return false;
28106         }
28107     }
28108     } // validation
28109 #endif
28110 
28111     break;
28112     }
28113     default:
28114     {
28115         if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_UNKNOWN_ATTRIBUTE, HASH_ELEMENT_NEWPARAM, attribute, attributeValue))
28116             {return false;}
28117     }
28118     }
28119     }
28120 }
28121 if ( !attributeData->sid )
28122 {
28123     if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_REQUIRED_ATTRIBUTE_MISSING, HASH_ELEMENT_NEWPARAM, HASH_ATTRIBUTE_sid, 0 ) )
28124         return false;
28125 }
28126 
28127 
28128     return true;
28129 }
28130 
28131 //---------------------------------------------------------------------
_preEnd__newparam____gles_newparam()28132 bool ColladaParserAutoGen14Private::_preEnd__newparam____gles_newparam()
28133 {
28134 #ifdef GENERATEDSAXPARSER_VALIDATION
28135     if ( mValidate )
28136     {
28137 
28138         bool validationResult = _validateEnd__newparam____gles_newparam();
28139         if ( !validationResult ) return false;
28140 
28141     } // validation
28142 #endif
28143 
28144     return true;
28145 }
28146 
28147 //---------------------------------------------------------------------
_freeAttributes__newparam____gles_newparam(void * attributeData)28148 bool ColladaParserAutoGen14Private::_freeAttributes__newparam____gles_newparam( void* attributeData )
28149 {
28150     newparam____gles_newparam__AttributeData* typedAttributeData = static_cast<newparam____gles_newparam__AttributeData*>(attributeData);
28151 
28152     typedAttributeData->~newparam____gles_newparam__AttributeData();
28153 
28154     return true;
28155 }
28156 
28157 //---------------------------------------------------------------------
28158 const texture_pipeline____gles_texture_pipeline__AttributeData texture_pipeline____gles_texture_pipeline__AttributeData::DEFAULT = {0};
28159 
28160 //---------------------------------------------------------------------
_data__texture_pipeline____gles_texture_pipeline(const ParserChar * text,size_t textLength)28161 bool ColladaParserAutoGen14Private::_data__texture_pipeline____gles_texture_pipeline( const ParserChar* text, size_t textLength )
28162 {
28163     return true;
28164 }
28165 
28166 //---------------------------------------------------------------------
_preBegin__texture_pipeline____gles_texture_pipeline(const ParserAttributes & attributes,void ** attributeDataPtr,void ** validationDataPtr)28167 bool ColladaParserAutoGen14Private::_preBegin__texture_pipeline____gles_texture_pipeline( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
28168 {
28169 #ifdef GENERATEDSAXPARSER_VALIDATION
28170     if ( mValidate )
28171     {
28172 
28173         bool validationResult = _validateBegin__texture_pipeline____gles_texture_pipeline( attributes, attributeDataPtr, validationDataPtr );
28174         if ( !validationResult ) return false;
28175 
28176     } // validation
28177 #endif
28178 
28179 texture_pipeline____gles_texture_pipeline__AttributeData* attributeData = newData<texture_pipeline____gles_texture_pipeline__AttributeData>(attributeDataPtr);
28180 
28181 const ParserChar** attributeArray = attributes.attributes;
28182 if ( attributeArray )
28183 {
28184     while (true)
28185     {
28186         const ParserChar * attribute = *attributeArray;
28187         if ( !attribute )
28188             break;
28189         StringHash hash = GeneratedSaxParser::Utils::calculateStringHash(attribute);
28190         attributeArray++;
28191         if ( !attributeArray )
28192             return false;
28193         const ParserChar* attributeValue = *attributeArray;
28194         attributeArray++;
28195 
28196 
28197     switch ( hash )
28198     {
28199     case HASH_ATTRIBUTE_sid:
28200     {
28201 
28202 attributeData->sid = attributeValue;
28203 #ifdef GENERATEDSAXPARSER_VALIDATION
28204     if ( mValidate )
28205     {
28206     ParserError::ErrorType simpleTypeValidationResult = validate__NCName(attributeData->sid, strlen(attributeData->sid));
28207     if (simpleTypeValidationResult != ParserError::SIMPLE_TYPE_VALIDATION_OK)
28208     {
28209         if( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL,
28210             simpleTypeValidationResult,
28211             HASH_ELEMENT_TEXTURE_PIPELINE,
28212             HASH_ATTRIBUTE_sid,
28213             attributeValue) )
28214         {
28215             return false;
28216         }
28217     }
28218     } // validation
28219 #endif
28220 
28221     break;
28222     }
28223     default:
28224     {
28225         if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_UNKNOWN_ATTRIBUTE, HASH_ELEMENT_TEXTURE_PIPELINE, attribute, attributeValue))
28226             {return false;}
28227     }
28228     }
28229     }
28230 }
28231 
28232 
28233     return true;
28234 }
28235 
28236 //---------------------------------------------------------------------
_preEnd__texture_pipeline____gles_texture_pipeline()28237 bool ColladaParserAutoGen14Private::_preEnd__texture_pipeline____gles_texture_pipeline()
28238 {
28239 #ifdef GENERATEDSAXPARSER_VALIDATION
28240     if ( mValidate )
28241     {
28242 
28243         bool validationResult = _validateEnd__texture_pipeline____gles_texture_pipeline();
28244         if ( !validationResult ) return false;
28245 
28246     } // validation
28247 #endif
28248 
28249     return true;
28250 }
28251 
28252 //---------------------------------------------------------------------
_freeAttributes__texture_pipeline____gles_texture_pipeline(void * attributeData)28253 bool ColladaParserAutoGen14Private::_freeAttributes__texture_pipeline____gles_texture_pipeline( void* attributeData )
28254 {
28255     texture_pipeline____gles_texture_pipeline__AttributeData* typedAttributeData = static_cast<texture_pipeline____gles_texture_pipeline__AttributeData*>(attributeData);
28256 
28257     typedAttributeData->~texture_pipeline____gles_texture_pipeline__AttributeData();
28258 
28259     return true;
28260 }
28261 
28262 //---------------------------------------------------------------------
_data__texcombiner(const ParserChar * text,size_t textLength)28263 bool ColladaParserAutoGen14Private::_data__texcombiner( const ParserChar* text, size_t textLength )
28264 {
28265     return true;
28266 }
28267 
28268 //---------------------------------------------------------------------
_preBegin__texcombiner(const ParserAttributes & attributes,void ** attributeDataPtr,void ** validationDataPtr)28269 bool ColladaParserAutoGen14Private::_preBegin__texcombiner( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
28270 {
28271 #ifdef GENERATEDSAXPARSER_VALIDATION
28272     if ( mValidate )
28273     {
28274 
28275         bool validationResult = _validateBegin__texcombiner( attributes, attributeDataPtr, validationDataPtr );
28276         if ( !validationResult ) return false;
28277 
28278     } // validation
28279 #endif
28280 
28281     return true;
28282 }
28283 
28284 //---------------------------------------------------------------------
_preEnd__texcombiner()28285 bool ColladaParserAutoGen14Private::_preEnd__texcombiner()
28286 {
28287 #ifdef GENERATEDSAXPARSER_VALIDATION
28288     if ( mValidate )
28289     {
28290 
28291         bool validationResult = _validateEnd__texcombiner();
28292         if ( !validationResult ) return false;
28293 
28294     } // validation
28295 #endif
28296 
28297     return true;
28298 }
28299 
28300 //---------------------------------------------------------------------
_freeAttributes__texcombiner(void * attributeData)28301 bool ColladaParserAutoGen14Private::_freeAttributes__texcombiner( void* attributeData )
28302 {
28303     return true;
28304 }
28305 
28306 //---------------------------------------------------------------------
28307 const constant____gles_texture_constant_type__AttributeData constant____gles_texture_constant_type__AttributeData::DEFAULT = {0, GeneratedSaxParser::XSList<float>(), 0};
28308 
28309 //---------------------------------------------------------------------
_data__constant____gles_texture_constant_type(const ParserChar * text,size_t textLength)28310 bool ColladaParserAutoGen14Private::_data__constant____gles_texture_constant_type( const ParserChar* text, size_t textLength )
28311 {
28312     return true;
28313 }
28314 
28315 //---------------------------------------------------------------------
_preBegin__constant____gles_texture_constant_type(const ParserAttributes & attributes,void ** attributeDataPtr,void ** validationDataPtr)28316 bool ColladaParserAutoGen14Private::_preBegin__constant____gles_texture_constant_type( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
28317 {
28318 #ifdef GENERATEDSAXPARSER_VALIDATION
28319     if ( mValidate )
28320     {
28321 
28322         bool validationResult = _validateBegin__constant____gles_texture_constant_type( attributes, attributeDataPtr, validationDataPtr );
28323         if ( !validationResult ) return false;
28324 
28325     } // validation
28326 #endif
28327 
28328 constant____gles_texture_constant_type__AttributeData* attributeData = newData<constant____gles_texture_constant_type__AttributeData>(attributeDataPtr);
28329 
28330 const ParserChar** attributeArray = attributes.attributes;
28331 if ( attributeArray )
28332 {
28333     while (true)
28334     {
28335         const ParserChar * attribute = *attributeArray;
28336         if ( !attribute )
28337             break;
28338         StringHash hash = GeneratedSaxParser::Utils::calculateStringHash(attribute);
28339         attributeArray++;
28340         if ( !attributeArray )
28341             return false;
28342         const ParserChar* attributeValue = *attributeArray;
28343         attributeArray++;
28344 
28345 
28346     switch ( hash )
28347     {
28348     case HASH_ATTRIBUTE_value:
28349     {
28350 bool failed;
28351 #ifdef GENERATEDSAXPARSER_VALIDATION
28352     if ( mValidate )
28353     {
28354 failed = !characterData2FloatList(attributeValue, attributeData->value, 0, HASH_ELEMENT_CONSTANT, HASH_ATTRIBUTE_value);
28355     }
28356     else
28357     {
28358 failed = !characterData2FloatList(attributeValue, attributeData->value);
28359     }
28360 #else
28361     {
28362 failed = !characterData2FloatList(attributeValue, attributeData->value);
28363     } // validation
28364 #endif
28365 if ( failed && handleError(ParserError::SEVERITY_ERROR_NONCRITICAL,
28366         ParserError::ERROR_ATTRIBUTE_PARSING_FAILED,
28367         HASH_ELEMENT_CONSTANT,
28368         HASH_ATTRIBUTE_value,
28369         attributeValue))
28370 {
28371     return false;
28372 }
28373 #ifdef GENERATEDSAXPARSER_VALIDATION
28374     if ( mValidate )
28375     {
28376     ParserError::ErrorType simpleTypeValidationResult = validate__float4(attributeData->value.data, attributeData->value.size);
28377     if (simpleTypeValidationResult != ParserError::SIMPLE_TYPE_VALIDATION_OK)
28378     {
28379         if( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL,
28380             simpleTypeValidationResult,
28381             HASH_ELEMENT_CONSTANT,
28382             HASH_ATTRIBUTE_value,
28383             attributeValue) )
28384         {
28385             return false;
28386         }
28387     }
28388     } // validation
28389 #endif
28390 
28391 if ( !failed )
28392     attributeData->present_attributes |= constant____gles_texture_constant_type__AttributeData::ATTRIBUTE_VALUE_PRESENT;
28393 
28394     break;
28395     }
28396     case HASH_ATTRIBUTE_param:
28397     {
28398 
28399 attributeData->param = attributeValue;
28400 #ifdef GENERATEDSAXPARSER_VALIDATION
28401     if ( mValidate )
28402     {
28403     ParserError::ErrorType simpleTypeValidationResult = validate__NCName(attributeData->param, strlen(attributeData->param));
28404     if (simpleTypeValidationResult != ParserError::SIMPLE_TYPE_VALIDATION_OK)
28405     {
28406         if( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL,
28407             simpleTypeValidationResult,
28408             HASH_ELEMENT_CONSTANT,
28409             HASH_ATTRIBUTE_param,
28410             attributeValue) )
28411         {
28412             return false;
28413         }
28414     }
28415     } // validation
28416 #endif
28417 
28418     break;
28419     }
28420     default:
28421     {
28422         if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_UNKNOWN_ATTRIBUTE, HASH_ELEMENT_CONSTANT, attribute, attributeValue))
28423             {return false;}
28424     }
28425     }
28426     }
28427 }
28428 if ((attributeData->present_attributes & constant____gles_texture_constant_type__AttributeData::ATTRIBUTE_VALUE_PRESENT) == 0)
28429 {
28430     attributeData->value = GeneratedSaxParser::XSList<float>();
28431 }
28432 
28433 
28434     return true;
28435 }
28436 
28437 //---------------------------------------------------------------------
_preEnd__constant____gles_texture_constant_type()28438 bool ColladaParserAutoGen14Private::_preEnd__constant____gles_texture_constant_type()
28439 {
28440 #ifdef GENERATEDSAXPARSER_VALIDATION
28441     if ( mValidate )
28442     {
28443 
28444         bool validationResult = _validateEnd__constant____gles_texture_constant_type();
28445         if ( !validationResult ) return false;
28446 
28447     } // validation
28448 #endif
28449 
28450     return true;
28451 }
28452 
28453 //---------------------------------------------------------------------
_freeAttributes__constant____gles_texture_constant_type(void * attributeData)28454 bool ColladaParserAutoGen14Private::_freeAttributes__constant____gles_texture_constant_type( void* attributeData )
28455 {
28456     constant____gles_texture_constant_type__AttributeData* typedAttributeData = static_cast<constant____gles_texture_constant_type__AttributeData*>(attributeData);
28457     if (typedAttributeData->value.data)
28458     {
28459         mStackMemoryManager.deleteObject();
28460     }
28461 
28462 
28463     typedAttributeData->~constant____gles_texture_constant_type__AttributeData();
28464 
28465     return true;
28466 }
28467 
28468 //---------------------------------------------------------------------
28469 const RGB__AttributeData RGB__AttributeData::DEFAULT = {0, ENUM__gles_texcombiner_operatorRGB_enums__NOT_PRESENT, 0};
28470 
28471 //---------------------------------------------------------------------
_data__RGB(const ParserChar * text,size_t textLength)28472 bool ColladaParserAutoGen14Private::_data__RGB( const ParserChar* text, size_t textLength )
28473 {
28474     return true;
28475 }
28476 
28477 //---------------------------------------------------------------------
_preBegin__RGB(const ParserAttributes & attributes,void ** attributeDataPtr,void ** validationDataPtr)28478 bool ColladaParserAutoGen14Private::_preBegin__RGB( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
28479 {
28480 #ifdef GENERATEDSAXPARSER_VALIDATION
28481     if ( mValidate )
28482     {
28483 
28484         bool validationResult = _validateBegin__RGB( attributes, attributeDataPtr, validationDataPtr );
28485         if ( !validationResult ) return false;
28486 
28487     } // validation
28488 #endif
28489 
28490 RGB__AttributeData* attributeData = newData<RGB__AttributeData>(attributeDataPtr);
28491 
28492 const ParserChar** attributeArray = attributes.attributes;
28493 if ( attributeArray )
28494 {
28495     while (true)
28496     {
28497         const ParserChar * attribute = *attributeArray;
28498         if ( !attribute )
28499             break;
28500         StringHash hash = GeneratedSaxParser::Utils::calculateStringHash(attribute);
28501         attributeArray++;
28502         if ( !attributeArray )
28503             return false;
28504         const ParserChar* attributeValue = *attributeArray;
28505         attributeArray++;
28506 
28507 
28508     switch ( hash )
28509     {
28510     case HASH_ATTRIBUTE_operator:
28511     {
28512 bool failed;
28513 attributeData->_operator = Utils::toEnum<ENUM__gles_texcombiner_operatorRGB_enums, StringHash, ENUM__gles_texcombiner_operatorRGB_enums__COUNT>(attributeValue, failed, ENUM__gles_texcombiner_operatorRGB_enumsMap, Utils::calculateStringHash);
28514 if ( failed && handleError(ParserError::SEVERITY_ERROR_NONCRITICAL,
28515         ParserError::ERROR_ATTRIBUTE_PARSING_FAILED,
28516         HASH_ELEMENT_RGB,
28517         HASH_ATTRIBUTE_operator,
28518         attributeValue))
28519 {
28520     return false;
28521 }
28522 
28523     break;
28524     }
28525     case HASH_ATTRIBUTE_scale:
28526     {
28527 bool failed;
28528 attributeData->scale = GeneratedSaxParser::Utils::toFloat(attributeValue, failed);
28529 if ( failed && handleError(ParserError::SEVERITY_ERROR_NONCRITICAL,
28530         ParserError::ERROR_ATTRIBUTE_PARSING_FAILED,
28531         HASH_ELEMENT_RGB,
28532         HASH_ATTRIBUTE_scale,
28533         attributeValue))
28534 {
28535     return false;
28536 }
28537 if ( !failed )
28538     attributeData->present_attributes |= RGB__AttributeData::ATTRIBUTE_SCALE_PRESENT;
28539 
28540     break;
28541     }
28542     default:
28543     {
28544         if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_UNKNOWN_ATTRIBUTE, HASH_ELEMENT_RGB, attribute, attributeValue))
28545             {return false;}
28546     }
28547     }
28548     }
28549 }
28550 
28551 
28552     return true;
28553 }
28554 
28555 //---------------------------------------------------------------------
_preEnd__RGB()28556 bool ColladaParserAutoGen14Private::_preEnd__RGB()
28557 {
28558 #ifdef GENERATEDSAXPARSER_VALIDATION
28559     if ( mValidate )
28560     {
28561 
28562         bool validationResult = _validateEnd__RGB();
28563         if ( !validationResult ) return false;
28564 
28565     } // validation
28566 #endif
28567 
28568     return true;
28569 }
28570 
28571 //---------------------------------------------------------------------
_freeAttributes__RGB(void * attributeData)28572 bool ColladaParserAutoGen14Private::_freeAttributes__RGB( void* attributeData )
28573 {
28574     RGB__AttributeData* typedAttributeData = static_cast<RGB__AttributeData*>(attributeData);
28575 
28576     typedAttributeData->~RGB__AttributeData();
28577 
28578     return true;
28579 }
28580 
28581 //---------------------------------------------------------------------
toEnumDataPrefix_ENUM__gles_texcombiner_operatorRGB_enums(const ParserChar * prefixedBuffer,const ParserChar * prefixedBufferEnd,const ParserChar ** buffer,const ParserChar * bufferEnd,bool & failed,const std::pair<StringHash,ENUM__gles_texcombiner_operatorRGB_enums> * enumMap,StringHash (* baseConversionFunc)(const ParserChar **,const ParserChar *,bool &))28582 ENUM__gles_texcombiner_operatorRGB_enums ColladaParserAutoGen14Private::toEnumDataPrefix_ENUM__gles_texcombiner_operatorRGB_enums (
28583     const ParserChar* prefixedBuffer,
28584     const ParserChar* prefixedBufferEnd,
28585     const ParserChar** buffer,
28586     const ParserChar* bufferEnd,
28587     bool& failed,
28588     const std::pair<StringHash, ENUM__gles_texcombiner_operatorRGB_enums>* enumMap,
28589     StringHash (*baseConversionFunc)( const ParserChar**, const ParserChar*, bool& )
28590 )
28591 {
28592     return toEnumDataPrefix<ENUM__gles_texcombiner_operatorRGB_enums, StringHash, ENUM__gles_texcombiner_operatorRGB_enums__COUNT, &toEnum_ENUM__gles_texcombiner_operatorRGB_enums>(prefixedBuffer, prefixedBufferEnd, buffer, bufferEnd, failed, enumMap, baseConversionFunc);
28593 }
28594 
28595 //---------------------------------------------------------------------
characterData2EnumData_ENUM__gles_texcombiner_operatorRGB_enums(const ParserChar * text,size_t textLength,bool (ColladaParserAutoGen14::* dataFunction)(const ENUM__gles_texcombiner_operatorRGB_enums *,size_t),StringHash (* baseConversionFunc)(const ParserChar **,const ParserChar *,bool &))28596 bool ColladaParserAutoGen14Private::characterData2EnumData_ENUM__gles_texcombiner_operatorRGB_enums (
28597     const ParserChar* text,
28598     size_t textLength,
28599     bool ( ColladaParserAutoGen14::*dataFunction )(const ENUM__gles_texcombiner_operatorRGB_enums*, size_t ),
28600     StringHash (*baseConversionFunc)( const ParserChar**, const ParserChar*, bool& )
28601 )
28602 {
28603     return characterData2EnumData<ENUM__gles_texcombiner_operatorRGB_enums, StringHash, ENUM__gles_texcombiner_operatorRGB_enums__COUNT>(text, textLength, dataFunction, ENUM__gles_texcombiner_operatorRGB_enumsMap, baseConversionFunc, &toEnum_ENUM__gles_texcombiner_operatorRGB_enums, &ColladaParserAutoGen14Private::toEnumDataPrefix_ENUM__gles_texcombiner_operatorRGB_enums);
28604 }
28605 
28606 //---------------------------------------------------------------------
dataEnumEnd_ENUM__gles_texcombiner_operatorRGB_enums(bool (ColladaParserAutoGen14::* dataFunction)(const ENUM__gles_texcombiner_operatorRGB_enums *,size_t),const std::pair<StringHash,ENUM__gles_texcombiner_operatorRGB_enums> * enumMap,StringHash (* baseConversionFunc)(const ParserChar **,const ParserChar *,bool &),ENUM__gles_texcombiner_operatorRGB_enums (* toEnumFunc)(const ParserChar **,const ParserChar *,bool &,const std::pair<StringHash,ENUM__gles_texcombiner_operatorRGB_enums> * enumMap,StringHash (* baseConversionFunc)(const ParserChar **,const ParserChar *,bool &)))28607 bool ColladaParserAutoGen14Private::dataEnumEnd_ENUM__gles_texcombiner_operatorRGB_enums (
28608     bool ( ColladaParserAutoGen14::*dataFunction )(const ENUM__gles_texcombiner_operatorRGB_enums*, size_t ),
28609     const std::pair<StringHash, ENUM__gles_texcombiner_operatorRGB_enums>* enumMap,
28610     StringHash (*baseConversionFunc)( const ParserChar**, const ParserChar*, bool& ),
28611     ENUM__gles_texcombiner_operatorRGB_enums (*toEnumFunc)( const ParserChar**, const ParserChar*, bool&, const std::pair<StringHash, ENUM__gles_texcombiner_operatorRGB_enums>* enumMap, StringHash (*baseConversionFunc)( const ParserChar**, const ParserChar*, bool& ))
28612 )
28613 {
28614     return dataEnumEnd<ENUM__gles_texcombiner_operatorRGB_enums, StringHash, ENUM__gles_texcombiner_operatorRGB_enums__COUNT>(dataFunction, enumMap, baseConversionFunc, toEnumFunc);
28615 }
28616 
28617 //---------------------------------------------------------------------
28618 const argument____gles_texcombiner_argumentRGB_type__AttributeData argument____gles_texcombiner_argumentRGB_type__AttributeData::DEFAULT = {ENUM__gles_texcombiner_source_enums__NOT_PRESENT, ENUM__gles_texcombiner_operandRGB_enums__SRC_COLOR, 0};
28619 
28620 //---------------------------------------------------------------------
_data__argument____gles_texcombiner_argumentRGB_type(const ParserChar * text,size_t textLength)28621 bool ColladaParserAutoGen14Private::_data__argument____gles_texcombiner_argumentRGB_type( const ParserChar* text, size_t textLength )
28622 {
28623     return true;
28624 }
28625 
28626 //---------------------------------------------------------------------
_preBegin__argument____gles_texcombiner_argumentRGB_type(const ParserAttributes & attributes,void ** attributeDataPtr,void ** validationDataPtr)28627 bool ColladaParserAutoGen14Private::_preBegin__argument____gles_texcombiner_argumentRGB_type( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
28628 {
28629 #ifdef GENERATEDSAXPARSER_VALIDATION
28630     if ( mValidate )
28631     {
28632 
28633         bool validationResult = _validateBegin__argument____gles_texcombiner_argumentRGB_type( attributes, attributeDataPtr, validationDataPtr );
28634         if ( !validationResult ) return false;
28635 
28636     } // validation
28637 #endif
28638 
28639 argument____gles_texcombiner_argumentRGB_type__AttributeData* attributeData = newData<argument____gles_texcombiner_argumentRGB_type__AttributeData>(attributeDataPtr);
28640 
28641 const ParserChar** attributeArray = attributes.attributes;
28642 if ( attributeArray )
28643 {
28644     while (true)
28645     {
28646         const ParserChar * attribute = *attributeArray;
28647         if ( !attribute )
28648             break;
28649         StringHash hash = GeneratedSaxParser::Utils::calculateStringHash(attribute);
28650         attributeArray++;
28651         if ( !attributeArray )
28652             return false;
28653         const ParserChar* attributeValue = *attributeArray;
28654         attributeArray++;
28655 
28656 
28657     switch ( hash )
28658     {
28659     case HASH_ATTRIBUTE_source:
28660     {
28661 bool failed;
28662 attributeData->source = Utils::toEnum<ENUM__gles_texcombiner_source_enums, StringHash, ENUM__gles_texcombiner_source_enums__COUNT>(attributeValue, failed, ENUM__gles_texcombiner_source_enumsMap, Utils::calculateStringHash);
28663 if ( failed && handleError(ParserError::SEVERITY_ERROR_NONCRITICAL,
28664         ParserError::ERROR_ATTRIBUTE_PARSING_FAILED,
28665         HASH_ELEMENT_ARGUMENT,
28666         HASH_ATTRIBUTE_source,
28667         attributeValue))
28668 {
28669     return false;
28670 }
28671 
28672     break;
28673     }
28674     case HASH_ATTRIBUTE_operand:
28675     {
28676 bool failed;
28677 attributeData->operand = Utils::toEnum<ENUM__gles_texcombiner_operandRGB_enums, StringHash, ENUM__gles_texcombiner_operandRGB_enums__COUNT>(attributeValue, failed, ENUM__gles_texcombiner_operandRGB_enumsMap, Utils::calculateStringHash);
28678 if ( failed && handleError(ParserError::SEVERITY_ERROR_NONCRITICAL,
28679         ParserError::ERROR_ATTRIBUTE_PARSING_FAILED,
28680         HASH_ELEMENT_ARGUMENT,
28681         HASH_ATTRIBUTE_operand,
28682         attributeValue))
28683 {
28684     return false;
28685 }
28686 
28687     break;
28688     }
28689     case HASH_ATTRIBUTE_unit:
28690     {
28691 
28692 attributeData->unit = attributeValue;
28693 #ifdef GENERATEDSAXPARSER_VALIDATION
28694     if ( mValidate )
28695     {
28696     ParserError::ErrorType simpleTypeValidationResult = validate__NCName(attributeData->unit, strlen(attributeData->unit));
28697     if (simpleTypeValidationResult != ParserError::SIMPLE_TYPE_VALIDATION_OK)
28698     {
28699         if( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL,
28700             simpleTypeValidationResult,
28701             HASH_ELEMENT_ARGUMENT,
28702             HASH_ATTRIBUTE_unit,
28703             attributeValue) )
28704         {
28705             return false;
28706         }
28707     }
28708     } // validation
28709 #endif
28710 
28711     break;
28712     }
28713     default:
28714     {
28715         if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_UNKNOWN_ATTRIBUTE, HASH_ELEMENT_ARGUMENT, attribute, attributeValue))
28716             {return false;}
28717     }
28718     }
28719     }
28720 }
28721 
28722 
28723     return true;
28724 }
28725 
28726 //---------------------------------------------------------------------
_preEnd__argument____gles_texcombiner_argumentRGB_type()28727 bool ColladaParserAutoGen14Private::_preEnd__argument____gles_texcombiner_argumentRGB_type()
28728 {
28729 #ifdef GENERATEDSAXPARSER_VALIDATION
28730     if ( mValidate )
28731     {
28732 
28733         bool validationResult = _validateEnd__argument____gles_texcombiner_argumentRGB_type();
28734         if ( !validationResult ) return false;
28735 
28736     } // validation
28737 #endif
28738 
28739     return true;
28740 }
28741 
28742 //---------------------------------------------------------------------
_freeAttributes__argument____gles_texcombiner_argumentRGB_type(void * attributeData)28743 bool ColladaParserAutoGen14Private::_freeAttributes__argument____gles_texcombiner_argumentRGB_type( void* attributeData )
28744 {
28745     argument____gles_texcombiner_argumentRGB_type__AttributeData* typedAttributeData = static_cast<argument____gles_texcombiner_argumentRGB_type__AttributeData*>(attributeData);
28746 
28747     typedAttributeData->~argument____gles_texcombiner_argumentRGB_type__AttributeData();
28748 
28749     return true;
28750 }
28751 
28752 //---------------------------------------------------------------------
toEnumDataPrefix_ENUM__gles_texcombiner_source_enums(const ParserChar * prefixedBuffer,const ParserChar * prefixedBufferEnd,const ParserChar ** buffer,const ParserChar * bufferEnd,bool & failed,const std::pair<StringHash,ENUM__gles_texcombiner_source_enums> * enumMap,StringHash (* baseConversionFunc)(const ParserChar **,const ParserChar *,bool &))28753 ENUM__gles_texcombiner_source_enums ColladaParserAutoGen14Private::toEnumDataPrefix_ENUM__gles_texcombiner_source_enums (
28754     const ParserChar* prefixedBuffer,
28755     const ParserChar* prefixedBufferEnd,
28756     const ParserChar** buffer,
28757     const ParserChar* bufferEnd,
28758     bool& failed,
28759     const std::pair<StringHash, ENUM__gles_texcombiner_source_enums>* enumMap,
28760     StringHash (*baseConversionFunc)( const ParserChar**, const ParserChar*, bool& )
28761 )
28762 {
28763     return toEnumDataPrefix<ENUM__gles_texcombiner_source_enums, StringHash, ENUM__gles_texcombiner_source_enums__COUNT, &toEnum_ENUM__gles_texcombiner_source_enums>(prefixedBuffer, prefixedBufferEnd, buffer, bufferEnd, failed, enumMap, baseConversionFunc);
28764 }
28765 
28766 //---------------------------------------------------------------------
characterData2EnumData_ENUM__gles_texcombiner_source_enums(const ParserChar * text,size_t textLength,bool (ColladaParserAutoGen14::* dataFunction)(const ENUM__gles_texcombiner_source_enums *,size_t),StringHash (* baseConversionFunc)(const ParserChar **,const ParserChar *,bool &))28767 bool ColladaParserAutoGen14Private::characterData2EnumData_ENUM__gles_texcombiner_source_enums (
28768     const ParserChar* text,
28769     size_t textLength,
28770     bool ( ColladaParserAutoGen14::*dataFunction )(const ENUM__gles_texcombiner_source_enums*, size_t ),
28771     StringHash (*baseConversionFunc)( const ParserChar**, const ParserChar*, bool& )
28772 )
28773 {
28774     return characterData2EnumData<ENUM__gles_texcombiner_source_enums, StringHash, ENUM__gles_texcombiner_source_enums__COUNT>(text, textLength, dataFunction, ENUM__gles_texcombiner_source_enumsMap, baseConversionFunc, &toEnum_ENUM__gles_texcombiner_source_enums, &ColladaParserAutoGen14Private::toEnumDataPrefix_ENUM__gles_texcombiner_source_enums);
28775 }
28776 
28777 //---------------------------------------------------------------------
dataEnumEnd_ENUM__gles_texcombiner_source_enums(bool (ColladaParserAutoGen14::* dataFunction)(const ENUM__gles_texcombiner_source_enums *,size_t),const std::pair<StringHash,ENUM__gles_texcombiner_source_enums> * enumMap,StringHash (* baseConversionFunc)(const ParserChar **,const ParserChar *,bool &),ENUM__gles_texcombiner_source_enums (* toEnumFunc)(const ParserChar **,const ParserChar *,bool &,const std::pair<StringHash,ENUM__gles_texcombiner_source_enums> * enumMap,StringHash (* baseConversionFunc)(const ParserChar **,const ParserChar *,bool &)))28778 bool ColladaParserAutoGen14Private::dataEnumEnd_ENUM__gles_texcombiner_source_enums (
28779     bool ( ColladaParserAutoGen14::*dataFunction )(const ENUM__gles_texcombiner_source_enums*, size_t ),
28780     const std::pair<StringHash, ENUM__gles_texcombiner_source_enums>* enumMap,
28781     StringHash (*baseConversionFunc)( const ParserChar**, const ParserChar*, bool& ),
28782     ENUM__gles_texcombiner_source_enums (*toEnumFunc)( const ParserChar**, const ParserChar*, bool&, const std::pair<StringHash, ENUM__gles_texcombiner_source_enums>* enumMap, StringHash (*baseConversionFunc)( const ParserChar**, const ParserChar*, bool& ))
28783 )
28784 {
28785     return dataEnumEnd<ENUM__gles_texcombiner_source_enums, StringHash, ENUM__gles_texcombiner_source_enums__COUNT>(dataFunction, enumMap, baseConversionFunc, toEnumFunc);
28786 }
28787 
28788 //---------------------------------------------------------------------
toEnumDataPrefix_ENUM__gles_texcombiner_operandRGB_enums(const ParserChar * prefixedBuffer,const ParserChar * prefixedBufferEnd,const ParserChar ** buffer,const ParserChar * bufferEnd,bool & failed,const std::pair<StringHash,ENUM__gles_texcombiner_operandRGB_enums> * enumMap,StringHash (* baseConversionFunc)(const ParserChar **,const ParserChar *,bool &))28789 ENUM__gles_texcombiner_operandRGB_enums ColladaParserAutoGen14Private::toEnumDataPrefix_ENUM__gles_texcombiner_operandRGB_enums (
28790     const ParserChar* prefixedBuffer,
28791     const ParserChar* prefixedBufferEnd,
28792     const ParserChar** buffer,
28793     const ParserChar* bufferEnd,
28794     bool& failed,
28795     const std::pair<StringHash, ENUM__gles_texcombiner_operandRGB_enums>* enumMap,
28796     StringHash (*baseConversionFunc)( const ParserChar**, const ParserChar*, bool& )
28797 )
28798 {
28799     return toEnumDataPrefix<ENUM__gles_texcombiner_operandRGB_enums, StringHash, ENUM__gles_texcombiner_operandRGB_enums__COUNT, &toEnum_ENUM__gles_texcombiner_operandRGB_enums>(prefixedBuffer, prefixedBufferEnd, buffer, bufferEnd, failed, enumMap, baseConversionFunc);
28800 }
28801 
28802 //---------------------------------------------------------------------
characterData2EnumData_ENUM__gles_texcombiner_operandRGB_enums(const ParserChar * text,size_t textLength,bool (ColladaParserAutoGen14::* dataFunction)(const ENUM__gles_texcombiner_operandRGB_enums *,size_t),StringHash (* baseConversionFunc)(const ParserChar **,const ParserChar *,bool &))28803 bool ColladaParserAutoGen14Private::characterData2EnumData_ENUM__gles_texcombiner_operandRGB_enums (
28804     const ParserChar* text,
28805     size_t textLength,
28806     bool ( ColladaParserAutoGen14::*dataFunction )(const ENUM__gles_texcombiner_operandRGB_enums*, size_t ),
28807     StringHash (*baseConversionFunc)( const ParserChar**, const ParserChar*, bool& )
28808 )
28809 {
28810     return characterData2EnumData<ENUM__gles_texcombiner_operandRGB_enums, StringHash, ENUM__gles_texcombiner_operandRGB_enums__COUNT>(text, textLength, dataFunction, ENUM__gles_texcombiner_operandRGB_enumsMap, baseConversionFunc, &toEnum_ENUM__gles_texcombiner_operandRGB_enums, &ColladaParserAutoGen14Private::toEnumDataPrefix_ENUM__gles_texcombiner_operandRGB_enums);
28811 }
28812 
28813 //---------------------------------------------------------------------
dataEnumEnd_ENUM__gles_texcombiner_operandRGB_enums(bool (ColladaParserAutoGen14::* dataFunction)(const ENUM__gles_texcombiner_operandRGB_enums *,size_t),const std::pair<StringHash,ENUM__gles_texcombiner_operandRGB_enums> * enumMap,StringHash (* baseConversionFunc)(const ParserChar **,const ParserChar *,bool &),ENUM__gles_texcombiner_operandRGB_enums (* toEnumFunc)(const ParserChar **,const ParserChar *,bool &,const std::pair<StringHash,ENUM__gles_texcombiner_operandRGB_enums> * enumMap,StringHash (* baseConversionFunc)(const ParserChar **,const ParserChar *,bool &)))28814 bool ColladaParserAutoGen14Private::dataEnumEnd_ENUM__gles_texcombiner_operandRGB_enums (
28815     bool ( ColladaParserAutoGen14::*dataFunction )(const ENUM__gles_texcombiner_operandRGB_enums*, size_t ),
28816     const std::pair<StringHash, ENUM__gles_texcombiner_operandRGB_enums>* enumMap,
28817     StringHash (*baseConversionFunc)( const ParserChar**, const ParserChar*, bool& ),
28818     ENUM__gles_texcombiner_operandRGB_enums (*toEnumFunc)( const ParserChar**, const ParserChar*, bool&, const std::pair<StringHash, ENUM__gles_texcombiner_operandRGB_enums>* enumMap, StringHash (*baseConversionFunc)( const ParserChar**, const ParserChar*, bool& ))
28819 )
28820 {
28821     return dataEnumEnd<ENUM__gles_texcombiner_operandRGB_enums, StringHash, ENUM__gles_texcombiner_operandRGB_enums__COUNT>(dataFunction, enumMap, baseConversionFunc, toEnumFunc);
28822 }
28823 
28824 //---------------------------------------------------------------------
28825 const alpha____gles_texcombiner_commandAlpha_type__AttributeData alpha____gles_texcombiner_commandAlpha_type__AttributeData::DEFAULT = {0, ENUM__gles_texcombiner_operatorAlpha_enums__NOT_PRESENT, 0};
28826 
28827 //---------------------------------------------------------------------
_data__alpha____gles_texcombiner_commandAlpha_type(const ParserChar * text,size_t textLength)28828 bool ColladaParserAutoGen14Private::_data__alpha____gles_texcombiner_commandAlpha_type( const ParserChar* text, size_t textLength )
28829 {
28830     return true;
28831 }
28832 
28833 //---------------------------------------------------------------------
_preBegin__alpha____gles_texcombiner_commandAlpha_type(const ParserAttributes & attributes,void ** attributeDataPtr,void ** validationDataPtr)28834 bool ColladaParserAutoGen14Private::_preBegin__alpha____gles_texcombiner_commandAlpha_type( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
28835 {
28836 #ifdef GENERATEDSAXPARSER_VALIDATION
28837     if ( mValidate )
28838     {
28839 
28840         bool validationResult = _validateBegin__alpha____gles_texcombiner_commandAlpha_type( attributes, attributeDataPtr, validationDataPtr );
28841         if ( !validationResult ) return false;
28842 
28843     } // validation
28844 #endif
28845 
28846 alpha____gles_texcombiner_commandAlpha_type__AttributeData* attributeData = newData<alpha____gles_texcombiner_commandAlpha_type__AttributeData>(attributeDataPtr);
28847 
28848 const ParserChar** attributeArray = attributes.attributes;
28849 if ( attributeArray )
28850 {
28851     while (true)
28852     {
28853         const ParserChar * attribute = *attributeArray;
28854         if ( !attribute )
28855             break;
28856         StringHash hash = GeneratedSaxParser::Utils::calculateStringHash(attribute);
28857         attributeArray++;
28858         if ( !attributeArray )
28859             return false;
28860         const ParserChar* attributeValue = *attributeArray;
28861         attributeArray++;
28862 
28863 
28864     switch ( hash )
28865     {
28866     case HASH_ATTRIBUTE_operator:
28867     {
28868 bool failed;
28869 attributeData->_operator = Utils::toEnum<ENUM__gles_texcombiner_operatorAlpha_enums, StringHash, ENUM__gles_texcombiner_operatorAlpha_enums__COUNT>(attributeValue, failed, ENUM__gles_texcombiner_operatorAlpha_enumsMap, Utils::calculateStringHash);
28870 if ( failed && handleError(ParserError::SEVERITY_ERROR_NONCRITICAL,
28871         ParserError::ERROR_ATTRIBUTE_PARSING_FAILED,
28872         HASH_ELEMENT_ALPHA,
28873         HASH_ATTRIBUTE_operator,
28874         attributeValue))
28875 {
28876     return false;
28877 }
28878 
28879     break;
28880     }
28881     case HASH_ATTRIBUTE_scale:
28882     {
28883 bool failed;
28884 attributeData->scale = GeneratedSaxParser::Utils::toFloat(attributeValue, failed);
28885 if ( failed && handleError(ParserError::SEVERITY_ERROR_NONCRITICAL,
28886         ParserError::ERROR_ATTRIBUTE_PARSING_FAILED,
28887         HASH_ELEMENT_ALPHA,
28888         HASH_ATTRIBUTE_scale,
28889         attributeValue))
28890 {
28891     return false;
28892 }
28893 if ( !failed )
28894     attributeData->present_attributes |= alpha____gles_texcombiner_commandAlpha_type__AttributeData::ATTRIBUTE_SCALE_PRESENT;
28895 
28896     break;
28897     }
28898     default:
28899     {
28900         if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_UNKNOWN_ATTRIBUTE, HASH_ELEMENT_ALPHA, attribute, attributeValue))
28901             {return false;}
28902     }
28903     }
28904     }
28905 }
28906 
28907 
28908     return true;
28909 }
28910 
28911 //---------------------------------------------------------------------
_preEnd__alpha____gles_texcombiner_commandAlpha_type()28912 bool ColladaParserAutoGen14Private::_preEnd__alpha____gles_texcombiner_commandAlpha_type()
28913 {
28914 #ifdef GENERATEDSAXPARSER_VALIDATION
28915     if ( mValidate )
28916     {
28917 
28918         bool validationResult = _validateEnd__alpha____gles_texcombiner_commandAlpha_type();
28919         if ( !validationResult ) return false;
28920 
28921     } // validation
28922 #endif
28923 
28924     return true;
28925 }
28926 
28927 //---------------------------------------------------------------------
_freeAttributes__alpha____gles_texcombiner_commandAlpha_type(void * attributeData)28928 bool ColladaParserAutoGen14Private::_freeAttributes__alpha____gles_texcombiner_commandAlpha_type( void* attributeData )
28929 {
28930     alpha____gles_texcombiner_commandAlpha_type__AttributeData* typedAttributeData = static_cast<alpha____gles_texcombiner_commandAlpha_type__AttributeData*>(attributeData);
28931 
28932     typedAttributeData->~alpha____gles_texcombiner_commandAlpha_type__AttributeData();
28933 
28934     return true;
28935 }
28936 
28937 //---------------------------------------------------------------------
toEnumDataPrefix_ENUM__gles_texcombiner_operatorAlpha_enums(const ParserChar * prefixedBuffer,const ParserChar * prefixedBufferEnd,const ParserChar ** buffer,const ParserChar * bufferEnd,bool & failed,const std::pair<StringHash,ENUM__gles_texcombiner_operatorAlpha_enums> * enumMap,StringHash (* baseConversionFunc)(const ParserChar **,const ParserChar *,bool &))28938 ENUM__gles_texcombiner_operatorAlpha_enums ColladaParserAutoGen14Private::toEnumDataPrefix_ENUM__gles_texcombiner_operatorAlpha_enums (
28939     const ParserChar* prefixedBuffer,
28940     const ParserChar* prefixedBufferEnd,
28941     const ParserChar** buffer,
28942     const ParserChar* bufferEnd,
28943     bool& failed,
28944     const std::pair<StringHash, ENUM__gles_texcombiner_operatorAlpha_enums>* enumMap,
28945     StringHash (*baseConversionFunc)( const ParserChar**, const ParserChar*, bool& )
28946 )
28947 {
28948     return toEnumDataPrefix<ENUM__gles_texcombiner_operatorAlpha_enums, StringHash, ENUM__gles_texcombiner_operatorAlpha_enums__COUNT, &toEnum_ENUM__gles_texcombiner_operatorAlpha_enums>(prefixedBuffer, prefixedBufferEnd, buffer, bufferEnd, failed, enumMap, baseConversionFunc);
28949 }
28950 
28951 //---------------------------------------------------------------------
characterData2EnumData_ENUM__gles_texcombiner_operatorAlpha_enums(const ParserChar * text,size_t textLength,bool (ColladaParserAutoGen14::* dataFunction)(const ENUM__gles_texcombiner_operatorAlpha_enums *,size_t),StringHash (* baseConversionFunc)(const ParserChar **,const ParserChar *,bool &))28952 bool ColladaParserAutoGen14Private::characterData2EnumData_ENUM__gles_texcombiner_operatorAlpha_enums (
28953     const ParserChar* text,
28954     size_t textLength,
28955     bool ( ColladaParserAutoGen14::*dataFunction )(const ENUM__gles_texcombiner_operatorAlpha_enums*, size_t ),
28956     StringHash (*baseConversionFunc)( const ParserChar**, const ParserChar*, bool& )
28957 )
28958 {
28959     return characterData2EnumData<ENUM__gles_texcombiner_operatorAlpha_enums, StringHash, ENUM__gles_texcombiner_operatorAlpha_enums__COUNT>(text, textLength, dataFunction, ENUM__gles_texcombiner_operatorAlpha_enumsMap, baseConversionFunc, &toEnum_ENUM__gles_texcombiner_operatorAlpha_enums, &ColladaParserAutoGen14Private::toEnumDataPrefix_ENUM__gles_texcombiner_operatorAlpha_enums);
28960 }
28961 
28962 //---------------------------------------------------------------------
dataEnumEnd_ENUM__gles_texcombiner_operatorAlpha_enums(bool (ColladaParserAutoGen14::* dataFunction)(const ENUM__gles_texcombiner_operatorAlpha_enums *,size_t),const std::pair<StringHash,ENUM__gles_texcombiner_operatorAlpha_enums> * enumMap,StringHash (* baseConversionFunc)(const ParserChar **,const ParserChar *,bool &),ENUM__gles_texcombiner_operatorAlpha_enums (* toEnumFunc)(const ParserChar **,const ParserChar *,bool &,const std::pair<StringHash,ENUM__gles_texcombiner_operatorAlpha_enums> * enumMap,StringHash (* baseConversionFunc)(const ParserChar **,const ParserChar *,bool &)))28963 bool ColladaParserAutoGen14Private::dataEnumEnd_ENUM__gles_texcombiner_operatorAlpha_enums (
28964     bool ( ColladaParserAutoGen14::*dataFunction )(const ENUM__gles_texcombiner_operatorAlpha_enums*, size_t ),
28965     const std::pair<StringHash, ENUM__gles_texcombiner_operatorAlpha_enums>* enumMap,
28966     StringHash (*baseConversionFunc)( const ParserChar**, const ParserChar*, bool& ),
28967     ENUM__gles_texcombiner_operatorAlpha_enums (*toEnumFunc)( const ParserChar**, const ParserChar*, bool&, const std::pair<StringHash, ENUM__gles_texcombiner_operatorAlpha_enums>* enumMap, StringHash (*baseConversionFunc)( const ParserChar**, const ParserChar*, bool& ))
28968 )
28969 {
28970     return dataEnumEnd<ENUM__gles_texcombiner_operatorAlpha_enums, StringHash, ENUM__gles_texcombiner_operatorAlpha_enums__COUNT>(dataFunction, enumMap, baseConversionFunc, toEnumFunc);
28971 }
28972 
28973 //---------------------------------------------------------------------
28974 const argument____gles_texcombiner_argumentAlpha_type__AttributeData argument____gles_texcombiner_argumentAlpha_type__AttributeData::DEFAULT = {ENUM__gles_texcombiner_source_enums__NOT_PRESENT, ENUM__gles_texcombiner_operandAlpha_enums__SRC_ALPHA, 0};
28975 
28976 //---------------------------------------------------------------------
_data__argument____gles_texcombiner_argumentAlpha_type(const ParserChar * text,size_t textLength)28977 bool ColladaParserAutoGen14Private::_data__argument____gles_texcombiner_argumentAlpha_type( const ParserChar* text, size_t textLength )
28978 {
28979     return true;
28980 }
28981 
28982 //---------------------------------------------------------------------
_preBegin__argument____gles_texcombiner_argumentAlpha_type(const ParserAttributes & attributes,void ** attributeDataPtr,void ** validationDataPtr)28983 bool ColladaParserAutoGen14Private::_preBegin__argument____gles_texcombiner_argumentAlpha_type( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
28984 {
28985 #ifdef GENERATEDSAXPARSER_VALIDATION
28986     if ( mValidate )
28987     {
28988 
28989         bool validationResult = _validateBegin__argument____gles_texcombiner_argumentAlpha_type( attributes, attributeDataPtr, validationDataPtr );
28990         if ( !validationResult ) return false;
28991 
28992     } // validation
28993 #endif
28994 
28995 argument____gles_texcombiner_argumentAlpha_type__AttributeData* attributeData = newData<argument____gles_texcombiner_argumentAlpha_type__AttributeData>(attributeDataPtr);
28996 
28997 const ParserChar** attributeArray = attributes.attributes;
28998 if ( attributeArray )
28999 {
29000     while (true)
29001     {
29002         const ParserChar * attribute = *attributeArray;
29003         if ( !attribute )
29004             break;
29005         StringHash hash = GeneratedSaxParser::Utils::calculateStringHash(attribute);
29006         attributeArray++;
29007         if ( !attributeArray )
29008             return false;
29009         const ParserChar* attributeValue = *attributeArray;
29010         attributeArray++;
29011 
29012 
29013     switch ( hash )
29014     {
29015     case HASH_ATTRIBUTE_source:
29016     {
29017 bool failed;
29018 attributeData->source = Utils::toEnum<ENUM__gles_texcombiner_source_enums, StringHash, ENUM__gles_texcombiner_source_enums__COUNT>(attributeValue, failed, ENUM__gles_texcombiner_source_enumsMap, Utils::calculateStringHash);
29019 if ( failed && handleError(ParserError::SEVERITY_ERROR_NONCRITICAL,
29020         ParserError::ERROR_ATTRIBUTE_PARSING_FAILED,
29021         HASH_ELEMENT_ARGUMENT,
29022         HASH_ATTRIBUTE_source,
29023         attributeValue))
29024 {
29025     return false;
29026 }
29027 
29028     break;
29029     }
29030     case HASH_ATTRIBUTE_operand:
29031     {
29032 bool failed;
29033 attributeData->operand = Utils::toEnum<ENUM__gles_texcombiner_operandAlpha_enums, StringHash, ENUM__gles_texcombiner_operandAlpha_enums__COUNT>(attributeValue, failed, ENUM__gles_texcombiner_operandAlpha_enumsMap, Utils::calculateStringHash);
29034 if ( failed && handleError(ParserError::SEVERITY_ERROR_NONCRITICAL,
29035         ParserError::ERROR_ATTRIBUTE_PARSING_FAILED,
29036         HASH_ELEMENT_ARGUMENT,
29037         HASH_ATTRIBUTE_operand,
29038         attributeValue))
29039 {
29040     return false;
29041 }
29042 
29043     break;
29044     }
29045     case HASH_ATTRIBUTE_unit:
29046     {
29047 
29048 attributeData->unit = attributeValue;
29049 #ifdef GENERATEDSAXPARSER_VALIDATION
29050     if ( mValidate )
29051     {
29052     ParserError::ErrorType simpleTypeValidationResult = validate__NCName(attributeData->unit, strlen(attributeData->unit));
29053     if (simpleTypeValidationResult != ParserError::SIMPLE_TYPE_VALIDATION_OK)
29054     {
29055         if( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL,
29056             simpleTypeValidationResult,
29057             HASH_ELEMENT_ARGUMENT,
29058             HASH_ATTRIBUTE_unit,
29059             attributeValue) )
29060         {
29061             return false;
29062         }
29063     }
29064     } // validation
29065 #endif
29066 
29067     break;
29068     }
29069     default:
29070     {
29071         if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_UNKNOWN_ATTRIBUTE, HASH_ELEMENT_ARGUMENT, attribute, attributeValue))
29072             {return false;}
29073     }
29074     }
29075     }
29076 }
29077 
29078 
29079     return true;
29080 }
29081 
29082 //---------------------------------------------------------------------
_preEnd__argument____gles_texcombiner_argumentAlpha_type()29083 bool ColladaParserAutoGen14Private::_preEnd__argument____gles_texcombiner_argumentAlpha_type()
29084 {
29085 #ifdef GENERATEDSAXPARSER_VALIDATION
29086     if ( mValidate )
29087     {
29088 
29089         bool validationResult = _validateEnd__argument____gles_texcombiner_argumentAlpha_type();
29090         if ( !validationResult ) return false;
29091 
29092     } // validation
29093 #endif
29094 
29095     return true;
29096 }
29097 
29098 //---------------------------------------------------------------------
_freeAttributes__argument____gles_texcombiner_argumentAlpha_type(void * attributeData)29099 bool ColladaParserAutoGen14Private::_freeAttributes__argument____gles_texcombiner_argumentAlpha_type( void* attributeData )
29100 {
29101     argument____gles_texcombiner_argumentAlpha_type__AttributeData* typedAttributeData = static_cast<argument____gles_texcombiner_argumentAlpha_type__AttributeData*>(attributeData);
29102 
29103     typedAttributeData->~argument____gles_texcombiner_argumentAlpha_type__AttributeData();
29104 
29105     return true;
29106 }
29107 
29108 //---------------------------------------------------------------------
toEnumDataPrefix_ENUM__gles_texcombiner_operandAlpha_enums(const ParserChar * prefixedBuffer,const ParserChar * prefixedBufferEnd,const ParserChar ** buffer,const ParserChar * bufferEnd,bool & failed,const std::pair<StringHash,ENUM__gles_texcombiner_operandAlpha_enums> * enumMap,StringHash (* baseConversionFunc)(const ParserChar **,const ParserChar *,bool &))29109 ENUM__gles_texcombiner_operandAlpha_enums ColladaParserAutoGen14Private::toEnumDataPrefix_ENUM__gles_texcombiner_operandAlpha_enums (
29110     const ParserChar* prefixedBuffer,
29111     const ParserChar* prefixedBufferEnd,
29112     const ParserChar** buffer,
29113     const ParserChar* bufferEnd,
29114     bool& failed,
29115     const std::pair<StringHash, ENUM__gles_texcombiner_operandAlpha_enums>* enumMap,
29116     StringHash (*baseConversionFunc)( const ParserChar**, const ParserChar*, bool& )
29117 )
29118 {
29119     return toEnumDataPrefix<ENUM__gles_texcombiner_operandAlpha_enums, StringHash, ENUM__gles_texcombiner_operandAlpha_enums__COUNT, &toEnum_ENUM__gles_texcombiner_operandAlpha_enums>(prefixedBuffer, prefixedBufferEnd, buffer, bufferEnd, failed, enumMap, baseConversionFunc);
29120 }
29121 
29122 //---------------------------------------------------------------------
characterData2EnumData_ENUM__gles_texcombiner_operandAlpha_enums(const ParserChar * text,size_t textLength,bool (ColladaParserAutoGen14::* dataFunction)(const ENUM__gles_texcombiner_operandAlpha_enums *,size_t),StringHash (* baseConversionFunc)(const ParserChar **,const ParserChar *,bool &))29123 bool ColladaParserAutoGen14Private::characterData2EnumData_ENUM__gles_texcombiner_operandAlpha_enums (
29124     const ParserChar* text,
29125     size_t textLength,
29126     bool ( ColladaParserAutoGen14::*dataFunction )(const ENUM__gles_texcombiner_operandAlpha_enums*, size_t ),
29127     StringHash (*baseConversionFunc)( const ParserChar**, const ParserChar*, bool& )
29128 )
29129 {
29130     return characterData2EnumData<ENUM__gles_texcombiner_operandAlpha_enums, StringHash, ENUM__gles_texcombiner_operandAlpha_enums__COUNT>(text, textLength, dataFunction, ENUM__gles_texcombiner_operandAlpha_enumsMap, baseConversionFunc, &toEnum_ENUM__gles_texcombiner_operandAlpha_enums, &ColladaParserAutoGen14Private::toEnumDataPrefix_ENUM__gles_texcombiner_operandAlpha_enums);
29131 }
29132 
29133 //---------------------------------------------------------------------
dataEnumEnd_ENUM__gles_texcombiner_operandAlpha_enums(bool (ColladaParserAutoGen14::* dataFunction)(const ENUM__gles_texcombiner_operandAlpha_enums *,size_t),const std::pair<StringHash,ENUM__gles_texcombiner_operandAlpha_enums> * enumMap,StringHash (* baseConversionFunc)(const ParserChar **,const ParserChar *,bool &),ENUM__gles_texcombiner_operandAlpha_enums (* toEnumFunc)(const ParserChar **,const ParserChar *,bool &,const std::pair<StringHash,ENUM__gles_texcombiner_operandAlpha_enums> * enumMap,StringHash (* baseConversionFunc)(const ParserChar **,const ParserChar *,bool &)))29134 bool ColladaParserAutoGen14Private::dataEnumEnd_ENUM__gles_texcombiner_operandAlpha_enums (
29135     bool ( ColladaParserAutoGen14::*dataFunction )(const ENUM__gles_texcombiner_operandAlpha_enums*, size_t ),
29136     const std::pair<StringHash, ENUM__gles_texcombiner_operandAlpha_enums>* enumMap,
29137     StringHash (*baseConversionFunc)( const ParserChar**, const ParserChar*, bool& ),
29138     ENUM__gles_texcombiner_operandAlpha_enums (*toEnumFunc)( const ParserChar**, const ParserChar*, bool&, const std::pair<StringHash, ENUM__gles_texcombiner_operandAlpha_enums>* enumMap, StringHash (*baseConversionFunc)( const ParserChar**, const ParserChar*, bool& ))
29139 )
29140 {
29141     return dataEnumEnd<ENUM__gles_texcombiner_operandAlpha_enums, StringHash, ENUM__gles_texcombiner_operandAlpha_enums__COUNT>(dataFunction, enumMap, baseConversionFunc, toEnumFunc);
29142 }
29143 
29144 //---------------------------------------------------------------------
29145 const texenv__AttributeData texenv__AttributeData::DEFAULT = {ENUM__gles_texenv_mode_enums__NOT_PRESENT, 0};
29146 
29147 //---------------------------------------------------------------------
_data__texenv(const ParserChar * text,size_t textLength)29148 bool ColladaParserAutoGen14Private::_data__texenv( const ParserChar* text, size_t textLength )
29149 {
29150     return true;
29151 }
29152 
29153 //---------------------------------------------------------------------
_preBegin__texenv(const ParserAttributes & attributes,void ** attributeDataPtr,void ** validationDataPtr)29154 bool ColladaParserAutoGen14Private::_preBegin__texenv( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
29155 {
29156 #ifdef GENERATEDSAXPARSER_VALIDATION
29157     if ( mValidate )
29158     {
29159 
29160         bool validationResult = _validateBegin__texenv( attributes, attributeDataPtr, validationDataPtr );
29161         if ( !validationResult ) return false;
29162 
29163     } // validation
29164 #endif
29165 
29166 texenv__AttributeData* attributeData = newData<texenv__AttributeData>(attributeDataPtr);
29167 
29168 const ParserChar** attributeArray = attributes.attributes;
29169 if ( attributeArray )
29170 {
29171     while (true)
29172     {
29173         const ParserChar * attribute = *attributeArray;
29174         if ( !attribute )
29175             break;
29176         StringHash hash = GeneratedSaxParser::Utils::calculateStringHash(attribute);
29177         attributeArray++;
29178         if ( !attributeArray )
29179             return false;
29180         const ParserChar* attributeValue = *attributeArray;
29181         attributeArray++;
29182 
29183 
29184     switch ( hash )
29185     {
29186     case HASH_ATTRIBUTE_operator:
29187     {
29188 bool failed;
29189 attributeData->_operator = Utils::toEnum<ENUM__gles_texenv_mode_enums, StringHash, ENUM__gles_texenv_mode_enums__COUNT>(attributeValue, failed, ENUM__gles_texenv_mode_enumsMap, Utils::calculateStringHash);
29190 if ( failed && handleError(ParserError::SEVERITY_ERROR_NONCRITICAL,
29191         ParserError::ERROR_ATTRIBUTE_PARSING_FAILED,
29192         HASH_ELEMENT_TEXENV,
29193         HASH_ATTRIBUTE_operator,
29194         attributeValue))
29195 {
29196     return false;
29197 }
29198 
29199     break;
29200     }
29201     case HASH_ATTRIBUTE_unit:
29202     {
29203 
29204 attributeData->unit = attributeValue;
29205 #ifdef GENERATEDSAXPARSER_VALIDATION
29206     if ( mValidate )
29207     {
29208     ParserError::ErrorType simpleTypeValidationResult = validate__NCName(attributeData->unit, strlen(attributeData->unit));
29209     if (simpleTypeValidationResult != ParserError::SIMPLE_TYPE_VALIDATION_OK)
29210     {
29211         if( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL,
29212             simpleTypeValidationResult,
29213             HASH_ELEMENT_TEXENV,
29214             HASH_ATTRIBUTE_unit,
29215             attributeValue) )
29216         {
29217             return false;
29218         }
29219     }
29220     } // validation
29221 #endif
29222 
29223     break;
29224     }
29225     default:
29226     {
29227         if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_UNKNOWN_ATTRIBUTE, HASH_ELEMENT_TEXENV, attribute, attributeValue))
29228             {return false;}
29229     }
29230     }
29231     }
29232 }
29233 
29234 
29235     return true;
29236 }
29237 
29238 //---------------------------------------------------------------------
_preEnd__texenv()29239 bool ColladaParserAutoGen14Private::_preEnd__texenv()
29240 {
29241 #ifdef GENERATEDSAXPARSER_VALIDATION
29242     if ( mValidate )
29243     {
29244 
29245         bool validationResult = _validateEnd__texenv();
29246         if ( !validationResult ) return false;
29247 
29248     } // validation
29249 #endif
29250 
29251     return true;
29252 }
29253 
29254 //---------------------------------------------------------------------
_freeAttributes__texenv(void * attributeData)29255 bool ColladaParserAutoGen14Private::_freeAttributes__texenv( void* attributeData )
29256 {
29257     texenv__AttributeData* typedAttributeData = static_cast<texenv__AttributeData*>(attributeData);
29258 
29259     typedAttributeData->~texenv__AttributeData();
29260 
29261     return true;
29262 }
29263 
29264 //---------------------------------------------------------------------
toEnumDataPrefix_ENUM__gles_texenv_mode_enums(const ParserChar * prefixedBuffer,const ParserChar * prefixedBufferEnd,const ParserChar ** buffer,const ParserChar * bufferEnd,bool & failed,const std::pair<StringHash,ENUM__gles_texenv_mode_enums> * enumMap,StringHash (* baseConversionFunc)(const ParserChar **,const ParserChar *,bool &))29265 ENUM__gles_texenv_mode_enums ColladaParserAutoGen14Private::toEnumDataPrefix_ENUM__gles_texenv_mode_enums (
29266     const ParserChar* prefixedBuffer,
29267     const ParserChar* prefixedBufferEnd,
29268     const ParserChar** buffer,
29269     const ParserChar* bufferEnd,
29270     bool& failed,
29271     const std::pair<StringHash, ENUM__gles_texenv_mode_enums>* enumMap,
29272     StringHash (*baseConversionFunc)( const ParserChar**, const ParserChar*, bool& )
29273 )
29274 {
29275     return toEnumDataPrefix<ENUM__gles_texenv_mode_enums, StringHash, ENUM__gles_texenv_mode_enums__COUNT, &toEnum_ENUM__gles_texenv_mode_enums>(prefixedBuffer, prefixedBufferEnd, buffer, bufferEnd, failed, enumMap, baseConversionFunc);
29276 }
29277 
29278 //---------------------------------------------------------------------
characterData2EnumData_ENUM__gles_texenv_mode_enums(const ParserChar * text,size_t textLength,bool (ColladaParserAutoGen14::* dataFunction)(const ENUM__gles_texenv_mode_enums *,size_t),StringHash (* baseConversionFunc)(const ParserChar **,const ParserChar *,bool &))29279 bool ColladaParserAutoGen14Private::characterData2EnumData_ENUM__gles_texenv_mode_enums (
29280     const ParserChar* text,
29281     size_t textLength,
29282     bool ( ColladaParserAutoGen14::*dataFunction )(const ENUM__gles_texenv_mode_enums*, size_t ),
29283     StringHash (*baseConversionFunc)( const ParserChar**, const ParserChar*, bool& )
29284 )
29285 {
29286     return characterData2EnumData<ENUM__gles_texenv_mode_enums, StringHash, ENUM__gles_texenv_mode_enums__COUNT>(text, textLength, dataFunction, ENUM__gles_texenv_mode_enumsMap, baseConversionFunc, &toEnum_ENUM__gles_texenv_mode_enums, &ColladaParserAutoGen14Private::toEnumDataPrefix_ENUM__gles_texenv_mode_enums);
29287 }
29288 
29289 //---------------------------------------------------------------------
dataEnumEnd_ENUM__gles_texenv_mode_enums(bool (ColladaParserAutoGen14::* dataFunction)(const ENUM__gles_texenv_mode_enums *,size_t),const std::pair<StringHash,ENUM__gles_texenv_mode_enums> * enumMap,StringHash (* baseConversionFunc)(const ParserChar **,const ParserChar *,bool &),ENUM__gles_texenv_mode_enums (* toEnumFunc)(const ParserChar **,const ParserChar *,bool &,const std::pair<StringHash,ENUM__gles_texenv_mode_enums> * enumMap,StringHash (* baseConversionFunc)(const ParserChar **,const ParserChar *,bool &)))29290 bool ColladaParserAutoGen14Private::dataEnumEnd_ENUM__gles_texenv_mode_enums (
29291     bool ( ColladaParserAutoGen14::*dataFunction )(const ENUM__gles_texenv_mode_enums*, size_t ),
29292     const std::pair<StringHash, ENUM__gles_texenv_mode_enums>* enumMap,
29293     StringHash (*baseConversionFunc)( const ParserChar**, const ParserChar*, bool& ),
29294     ENUM__gles_texenv_mode_enums (*toEnumFunc)( const ParserChar**, const ParserChar*, bool&, const std::pair<StringHash, ENUM__gles_texenv_mode_enums>* enumMap, StringHash (*baseConversionFunc)( const ParserChar**, const ParserChar*, bool& ))
29295 )
29296 {
29297     return dataEnumEnd<ENUM__gles_texenv_mode_enums, StringHash, ENUM__gles_texenv_mode_enums__COUNT>(dataFunction, enumMap, baseConversionFunc, toEnumFunc);
29298 }
29299 
29300 //---------------------------------------------------------------------
29301 const sampler_state____gles_sampler_state__AttributeData sampler_state____gles_sampler_state__AttributeData::DEFAULT = {0};
29302 
29303 //---------------------------------------------------------------------
_data__sampler_state____gles_sampler_state(const ParserChar * text,size_t textLength)29304 bool ColladaParserAutoGen14Private::_data__sampler_state____gles_sampler_state( const ParserChar* text, size_t textLength )
29305 {
29306     return true;
29307 }
29308 
29309 //---------------------------------------------------------------------
_preBegin__sampler_state____gles_sampler_state(const ParserAttributes & attributes,void ** attributeDataPtr,void ** validationDataPtr)29310 bool ColladaParserAutoGen14Private::_preBegin__sampler_state____gles_sampler_state( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
29311 {
29312 #ifdef GENERATEDSAXPARSER_VALIDATION
29313     if ( mValidate )
29314     {
29315 
29316         bool validationResult = _validateBegin__sampler_state____gles_sampler_state( attributes, attributeDataPtr, validationDataPtr );
29317         if ( !validationResult ) return false;
29318 
29319     } // validation
29320 #endif
29321 
29322 sampler_state____gles_sampler_state__AttributeData* attributeData = newData<sampler_state____gles_sampler_state__AttributeData>(attributeDataPtr);
29323 
29324 const ParserChar** attributeArray = attributes.attributes;
29325 if ( attributeArray )
29326 {
29327     while (true)
29328     {
29329         const ParserChar * attribute = *attributeArray;
29330         if ( !attribute )
29331             break;
29332         StringHash hash = GeneratedSaxParser::Utils::calculateStringHash(attribute);
29333         attributeArray++;
29334         if ( !attributeArray )
29335             return false;
29336         const ParserChar* attributeValue = *attributeArray;
29337         attributeArray++;
29338 
29339 
29340     switch ( hash )
29341     {
29342     case HASH_ATTRIBUTE_sid:
29343     {
29344 
29345 attributeData->sid = attributeValue;
29346 #ifdef GENERATEDSAXPARSER_VALIDATION
29347     if ( mValidate )
29348     {
29349     ParserError::ErrorType simpleTypeValidationResult = validate__NCName(attributeData->sid, strlen(attributeData->sid));
29350     if (simpleTypeValidationResult != ParserError::SIMPLE_TYPE_VALIDATION_OK)
29351     {
29352         if( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL,
29353             simpleTypeValidationResult,
29354             HASH_ELEMENT_SAMPLER_STATE,
29355             HASH_ATTRIBUTE_sid,
29356             attributeValue) )
29357         {
29358             return false;
29359         }
29360     }
29361     } // validation
29362 #endif
29363 
29364     break;
29365     }
29366     default:
29367     {
29368         if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_UNKNOWN_ATTRIBUTE, HASH_ELEMENT_SAMPLER_STATE, attribute, attributeValue))
29369             {return false;}
29370     }
29371     }
29372     }
29373 }
29374 
29375 
29376     return true;
29377 }
29378 
29379 //---------------------------------------------------------------------
_preEnd__sampler_state____gles_sampler_state()29380 bool ColladaParserAutoGen14Private::_preEnd__sampler_state____gles_sampler_state()
29381 {
29382 #ifdef GENERATEDSAXPARSER_VALIDATION
29383     if ( mValidate )
29384     {
29385 
29386         bool validationResult = _validateEnd__sampler_state____gles_sampler_state();
29387         if ( !validationResult ) return false;
29388 
29389     } // validation
29390 #endif
29391 
29392     return true;
29393 }
29394 
29395 //---------------------------------------------------------------------
_freeAttributes__sampler_state____gles_sampler_state(void * attributeData)29396 bool ColladaParserAutoGen14Private::_freeAttributes__sampler_state____gles_sampler_state( void* attributeData )
29397 {
29398     sampler_state____gles_sampler_state__AttributeData* typedAttributeData = static_cast<sampler_state____gles_sampler_state__AttributeData*>(attributeData);
29399 
29400     typedAttributeData->~sampler_state____gles_sampler_state__AttributeData();
29401 
29402     return true;
29403 }
29404 
29405 //---------------------------------------------------------------------
_data__wrap_s____gles_sampler_wrap(const ParserChar * text,size_t textLength)29406 bool ColladaParserAutoGen14Private::_data__wrap_s____gles_sampler_wrap( const ParserChar* text, size_t textLength )
29407 {
29408 if (!mLastIncompleteFragmentInCharacterData)
29409 {
29410     mLastIncompleteFragmentInCharacterData = (ParserChar*)mStackMemoryManager.newObject(textLength);
29411     memcpy(mLastIncompleteFragmentInCharacterData, text, textLength);
29412     mEndOfDataInCurrentObjectOnStack = mLastIncompleteFragmentInCharacterData + textLength;
29413 }
29414 else
29415 {
29416     ParserChar* tmp = (ParserChar*)mStackMemoryManager.growObject(textLength);
29417     if ( tmp != mLastIncompleteFragmentInCharacterData ) {
29418         mEndOfDataInCurrentObjectOnStack = (mEndOfDataInCurrentObjectOnStack - mLastIncompleteFragmentInCharacterData) + tmp;
29419         mLastIncompleteFragmentInCharacterData = tmp;
29420     }
29421     memcpy(mEndOfDataInCurrentObjectOnStack, text, textLength);
29422     mEndOfDataInCurrentObjectOnStack += textLength;
29423 }
29424 return true;
29425 }
29426 
29427 //---------------------------------------------------------------------
_preBegin__wrap_s____gles_sampler_wrap(const ParserAttributes & attributes,void ** attributeDataPtr,void ** validationDataPtr)29428 bool ColladaParserAutoGen14Private::_preBegin__wrap_s____gles_sampler_wrap( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
29429 {
29430 #ifdef GENERATEDSAXPARSER_VALIDATION
29431     if ( mValidate )
29432     {
29433 
29434         bool validationResult = _validateBegin__wrap_s____gles_sampler_wrap( attributes, attributeDataPtr, validationDataPtr );
29435         if ( !validationResult ) return false;
29436 
29437     } // validation
29438 #endif
29439 
29440     return true;
29441 }
29442 
29443 //---------------------------------------------------------------------
_preEnd__wrap_s____gles_sampler_wrap()29444 bool ColladaParserAutoGen14Private::_preEnd__wrap_s____gles_sampler_wrap()
29445 {
29446 #ifdef GENERATEDSAXPARSER_VALIDATION
29447     if ( mValidate )
29448     {
29449 
29450         bool validationResult = _validateEnd__wrap_s____gles_sampler_wrap();
29451         if ( !validationResult ) return false;
29452 
29453     } // validation
29454 #endif
29455 
29456 bool failed;
29457 ENUM__gles_sampler_wrap parameter = Utils::toEnum<ENUM__gles_sampler_wrap, StringHash, ENUM__gles_sampler_wrap__COUNT>((const ParserChar**)&mLastIncompleteFragmentInCharacterData, mEndOfDataInCurrentObjectOnStack, failed, ENUM__gles_sampler_wrapMap, Utils::calculateStringHash);
29458 bool returnValue;
29459 if (!failed)
29460 {
29461     returnValue = mImpl->data__wrap_s____gles_sampler_wrap(parameter);
29462 }
29463 else
29464     returnValue = !handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_TEXTDATA_PARSING_FAILED, HASH_ELEMENT_WRAP_S, (const ParserChar*)0, mLastIncompleteFragmentInCharacterData);
29465 if (mLastIncompleteFragmentInCharacterData)
29466     mStackMemoryManager.deleteObject();
29467 mLastIncompleteFragmentInCharacterData = 0;
29468 mEndOfDataInCurrentObjectOnStack = 0;
29469 return returnValue;
29470 
29471 }
29472 
29473 //---------------------------------------------------------------------
_freeAttributes__wrap_s____gles_sampler_wrap(void * attributeData)29474 bool ColladaParserAutoGen14Private::_freeAttributes__wrap_s____gles_sampler_wrap( void* attributeData )
29475 {
29476     return true;
29477 }
29478 
29479 //---------------------------------------------------------------------
toEnumDataPrefix_ENUM__gles_sampler_wrap(const ParserChar * prefixedBuffer,const ParserChar * prefixedBufferEnd,const ParserChar ** buffer,const ParserChar * bufferEnd,bool & failed,const std::pair<StringHash,ENUM__gles_sampler_wrap> * enumMap,StringHash (* baseConversionFunc)(const ParserChar **,const ParserChar *,bool &))29480 ENUM__gles_sampler_wrap ColladaParserAutoGen14Private::toEnumDataPrefix_ENUM__gles_sampler_wrap (
29481     const ParserChar* prefixedBuffer,
29482     const ParserChar* prefixedBufferEnd,
29483     const ParserChar** buffer,
29484     const ParserChar* bufferEnd,
29485     bool& failed,
29486     const std::pair<StringHash, ENUM__gles_sampler_wrap>* enumMap,
29487     StringHash (*baseConversionFunc)( const ParserChar**, const ParserChar*, bool& )
29488 )
29489 {
29490     return toEnumDataPrefix<ENUM__gles_sampler_wrap, StringHash, ENUM__gles_sampler_wrap__COUNT, &toEnum_ENUM__gles_sampler_wrap>(prefixedBuffer, prefixedBufferEnd, buffer, bufferEnd, failed, enumMap, baseConversionFunc);
29491 }
29492 
29493 //---------------------------------------------------------------------
characterData2EnumData_ENUM__gles_sampler_wrap(const ParserChar * text,size_t textLength,bool (ColladaParserAutoGen14::* dataFunction)(const ENUM__gles_sampler_wrap *,size_t),StringHash (* baseConversionFunc)(const ParserChar **,const ParserChar *,bool &))29494 bool ColladaParserAutoGen14Private::characterData2EnumData_ENUM__gles_sampler_wrap (
29495     const ParserChar* text,
29496     size_t textLength,
29497     bool ( ColladaParserAutoGen14::*dataFunction )(const ENUM__gles_sampler_wrap*, size_t ),
29498     StringHash (*baseConversionFunc)( const ParserChar**, const ParserChar*, bool& )
29499 )
29500 {
29501     return characterData2EnumData<ENUM__gles_sampler_wrap, StringHash, ENUM__gles_sampler_wrap__COUNT>(text, textLength, dataFunction, ENUM__gles_sampler_wrapMap, baseConversionFunc, &toEnum_ENUM__gles_sampler_wrap, &ColladaParserAutoGen14Private::toEnumDataPrefix_ENUM__gles_sampler_wrap);
29502 }
29503 
29504 //---------------------------------------------------------------------
dataEnumEnd_ENUM__gles_sampler_wrap(bool (ColladaParserAutoGen14::* dataFunction)(const ENUM__gles_sampler_wrap *,size_t),const std::pair<StringHash,ENUM__gles_sampler_wrap> * enumMap,StringHash (* baseConversionFunc)(const ParserChar **,const ParserChar *,bool &),ENUM__gles_sampler_wrap (* toEnumFunc)(const ParserChar **,const ParserChar *,bool &,const std::pair<StringHash,ENUM__gles_sampler_wrap> * enumMap,StringHash (* baseConversionFunc)(const ParserChar **,const ParserChar *,bool &)))29505 bool ColladaParserAutoGen14Private::dataEnumEnd_ENUM__gles_sampler_wrap (
29506     bool ( ColladaParserAutoGen14::*dataFunction )(const ENUM__gles_sampler_wrap*, size_t ),
29507     const std::pair<StringHash, ENUM__gles_sampler_wrap>* enumMap,
29508     StringHash (*baseConversionFunc)( const ParserChar**, const ParserChar*, bool& ),
29509     ENUM__gles_sampler_wrap (*toEnumFunc)( const ParserChar**, const ParserChar*, bool&, const std::pair<StringHash, ENUM__gles_sampler_wrap>* enumMap, StringHash (*baseConversionFunc)( const ParserChar**, const ParserChar*, bool& ))
29510 )
29511 {
29512     return dataEnumEnd<ENUM__gles_sampler_wrap, StringHash, ENUM__gles_sampler_wrap__COUNT>(dataFunction, enumMap, baseConversionFunc, toEnumFunc);
29513 }
29514 
29515 //---------------------------------------------------------------------
_data__wrap_t____gles_sampler_wrap(const ParserChar * text,size_t textLength)29516 bool ColladaParserAutoGen14Private::_data__wrap_t____gles_sampler_wrap( const ParserChar* text, size_t textLength )
29517 {
29518 if (!mLastIncompleteFragmentInCharacterData)
29519 {
29520     mLastIncompleteFragmentInCharacterData = (ParserChar*)mStackMemoryManager.newObject(textLength);
29521     memcpy(mLastIncompleteFragmentInCharacterData, text, textLength);
29522     mEndOfDataInCurrentObjectOnStack = mLastIncompleteFragmentInCharacterData + textLength;
29523 }
29524 else
29525 {
29526     ParserChar* tmp = (ParserChar*)mStackMemoryManager.growObject(textLength);
29527     if ( tmp != mLastIncompleteFragmentInCharacterData ) {
29528         mEndOfDataInCurrentObjectOnStack = (mEndOfDataInCurrentObjectOnStack - mLastIncompleteFragmentInCharacterData) + tmp;
29529         mLastIncompleteFragmentInCharacterData = tmp;
29530     }
29531     memcpy(mEndOfDataInCurrentObjectOnStack, text, textLength);
29532     mEndOfDataInCurrentObjectOnStack += textLength;
29533 }
29534 return true;
29535 }
29536 
29537 //---------------------------------------------------------------------
_preBegin__wrap_t____gles_sampler_wrap(const ParserAttributes & attributes,void ** attributeDataPtr,void ** validationDataPtr)29538 bool ColladaParserAutoGen14Private::_preBegin__wrap_t____gles_sampler_wrap( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
29539 {
29540 #ifdef GENERATEDSAXPARSER_VALIDATION
29541     if ( mValidate )
29542     {
29543 
29544         bool validationResult = _validateBegin__wrap_t____gles_sampler_wrap( attributes, attributeDataPtr, validationDataPtr );
29545         if ( !validationResult ) return false;
29546 
29547     } // validation
29548 #endif
29549 
29550     return true;
29551 }
29552 
29553 //---------------------------------------------------------------------
_preEnd__wrap_t____gles_sampler_wrap()29554 bool ColladaParserAutoGen14Private::_preEnd__wrap_t____gles_sampler_wrap()
29555 {
29556 #ifdef GENERATEDSAXPARSER_VALIDATION
29557     if ( mValidate )
29558     {
29559 
29560         bool validationResult = _validateEnd__wrap_t____gles_sampler_wrap();
29561         if ( !validationResult ) return false;
29562 
29563     } // validation
29564 #endif
29565 
29566 bool failed;
29567 ENUM__gles_sampler_wrap parameter = Utils::toEnum<ENUM__gles_sampler_wrap, StringHash, ENUM__gles_sampler_wrap__COUNT>((const ParserChar**)&mLastIncompleteFragmentInCharacterData, mEndOfDataInCurrentObjectOnStack, failed, ENUM__gles_sampler_wrapMap, Utils::calculateStringHash);
29568 bool returnValue;
29569 if (!failed)
29570 {
29571     returnValue = mImpl->data__wrap_t____gles_sampler_wrap(parameter);
29572 }
29573 else
29574     returnValue = !handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_TEXTDATA_PARSING_FAILED, HASH_ELEMENT_WRAP_T, (const ParserChar*)0, mLastIncompleteFragmentInCharacterData);
29575 if (mLastIncompleteFragmentInCharacterData)
29576     mStackMemoryManager.deleteObject();
29577 mLastIncompleteFragmentInCharacterData = 0;
29578 mEndOfDataInCurrentObjectOnStack = 0;
29579 return returnValue;
29580 
29581 }
29582 
29583 //---------------------------------------------------------------------
_freeAttributes__wrap_t____gles_sampler_wrap(void * attributeData)29584 bool ColladaParserAutoGen14Private::_freeAttributes__wrap_t____gles_sampler_wrap( void* attributeData )
29585 {
29586     return true;
29587 }
29588 
29589 //---------------------------------------------------------------------
29590 const texture_unit__AttributeData texture_unit__AttributeData::DEFAULT = {0};
29591 
29592 //---------------------------------------------------------------------
_data__texture_unit(const ParserChar * text,size_t textLength)29593 bool ColladaParserAutoGen14Private::_data__texture_unit( const ParserChar* text, size_t textLength )
29594 {
29595     return true;
29596 }
29597 
29598 //---------------------------------------------------------------------
_preBegin__texture_unit(const ParserAttributes & attributes,void ** attributeDataPtr,void ** validationDataPtr)29599 bool ColladaParserAutoGen14Private::_preBegin__texture_unit( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
29600 {
29601 #ifdef GENERATEDSAXPARSER_VALIDATION
29602     if ( mValidate )
29603     {
29604 
29605         bool validationResult = _validateBegin__texture_unit( attributes, attributeDataPtr, validationDataPtr );
29606         if ( !validationResult ) return false;
29607 
29608     } // validation
29609 #endif
29610 
29611 texture_unit__AttributeData* attributeData = newData<texture_unit__AttributeData>(attributeDataPtr);
29612 
29613 const ParserChar** attributeArray = attributes.attributes;
29614 if ( attributeArray )
29615 {
29616     while (true)
29617     {
29618         const ParserChar * attribute = *attributeArray;
29619         if ( !attribute )
29620             break;
29621         StringHash hash = GeneratedSaxParser::Utils::calculateStringHash(attribute);
29622         attributeArray++;
29623         if ( !attributeArray )
29624             return false;
29625         const ParserChar* attributeValue = *attributeArray;
29626         attributeArray++;
29627 
29628 
29629     switch ( hash )
29630     {
29631     case HASH_ATTRIBUTE_sid:
29632     {
29633 
29634 attributeData->sid = attributeValue;
29635 #ifdef GENERATEDSAXPARSER_VALIDATION
29636     if ( mValidate )
29637     {
29638     ParserError::ErrorType simpleTypeValidationResult = validate__NCName(attributeData->sid, strlen(attributeData->sid));
29639     if (simpleTypeValidationResult != ParserError::SIMPLE_TYPE_VALIDATION_OK)
29640     {
29641         if( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL,
29642             simpleTypeValidationResult,
29643             HASH_ELEMENT_TEXTURE_UNIT,
29644             HASH_ATTRIBUTE_sid,
29645             attributeValue) )
29646         {
29647             return false;
29648         }
29649     }
29650     } // validation
29651 #endif
29652 
29653     break;
29654     }
29655     default:
29656     {
29657         if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_UNKNOWN_ATTRIBUTE, HASH_ELEMENT_TEXTURE_UNIT, attribute, attributeValue))
29658             {return false;}
29659     }
29660     }
29661     }
29662 }
29663 
29664 
29665     return true;
29666 }
29667 
29668 //---------------------------------------------------------------------
_preEnd__texture_unit()29669 bool ColladaParserAutoGen14Private::_preEnd__texture_unit()
29670 {
29671 #ifdef GENERATEDSAXPARSER_VALIDATION
29672     if ( mValidate )
29673     {
29674 
29675         bool validationResult = _validateEnd__texture_unit();
29676         if ( !validationResult ) return false;
29677 
29678     } // validation
29679 #endif
29680 
29681     return true;
29682 }
29683 
29684 //---------------------------------------------------------------------
_freeAttributes__texture_unit(void * attributeData)29685 bool ColladaParserAutoGen14Private::_freeAttributes__texture_unit( void* attributeData )
29686 {
29687     texture_unit__AttributeData* typedAttributeData = static_cast<texture_unit__AttributeData*>(attributeData);
29688 
29689     typedAttributeData->~texture_unit__AttributeData();
29690 
29691     return true;
29692 }
29693 
29694 //---------------------------------------------------------------------
_data__surface____NCName(const ParserChar * text,size_t textLength)29695 bool ColladaParserAutoGen14Private::_data__surface____NCName( const ParserChar* text, size_t textLength )
29696 {
29697 if (!mLastIncompleteFragmentInCharacterData)
29698 {
29699     mLastIncompleteFragmentInCharacterData = (ParserChar*)mStackMemoryManager.newObject(textLength);
29700     memcpy(mLastIncompleteFragmentInCharacterData, text, textLength);
29701     mEndOfDataInCurrentObjectOnStack = mLastIncompleteFragmentInCharacterData + textLength;
29702 }
29703 else
29704 {
29705     ParserChar* tmp = (ParserChar*)mStackMemoryManager.growObject(textLength);
29706     if ( tmp != mLastIncompleteFragmentInCharacterData ) {
29707         mEndOfDataInCurrentObjectOnStack = (mEndOfDataInCurrentObjectOnStack - mLastIncompleteFragmentInCharacterData) + tmp;
29708         mLastIncompleteFragmentInCharacterData = tmp;
29709     }
29710     memcpy(mEndOfDataInCurrentObjectOnStack, text, textLength);
29711     mEndOfDataInCurrentObjectOnStack += textLength;
29712 }
29713 return true;
29714 }
29715 
29716 //---------------------------------------------------------------------
_preBegin__surface____NCName(const ParserAttributes & attributes,void ** attributeDataPtr,void ** validationDataPtr)29717 bool ColladaParserAutoGen14Private::_preBegin__surface____NCName( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
29718 {
29719 #ifdef GENERATEDSAXPARSER_VALIDATION
29720     if ( mValidate )
29721     {
29722 
29723         bool validationResult = _validateBegin__surface____NCName( attributes, attributeDataPtr, validationDataPtr );
29724         if ( !validationResult ) return false;
29725 
29726     } // validation
29727 #endif
29728 
29729     return true;
29730 }
29731 
29732 //---------------------------------------------------------------------
_preEnd__surface____NCName()29733 bool ColladaParserAutoGen14Private::_preEnd__surface____NCName()
29734 {
29735 #ifdef GENERATEDSAXPARSER_VALIDATION
29736     if ( mValidate )
29737     {
29738 
29739         bool validationResult = _validateEnd__surface____NCName();
29740         if ( !validationResult ) return false;
29741 
29742     } // validation
29743 #endif
29744 
29745 bool returnValue = true;
29746 #ifdef GENERATEDSAXPARSER_VALIDATION
29747     if ( mValidate )
29748     {
29749 ParserError::ErrorType simpleTypeValidationResult = validate__NCName(mLastIncompleteFragmentInCharacterData, mEndOfDataInCurrentObjectOnStack - mLastIncompleteFragmentInCharacterData);
29750 if (simpleTypeValidationResult != ParserError::SIMPLE_TYPE_VALIDATION_OK)
29751 {
29752     ParserChar msg[21];
29753     Utils::fillErrorMsg(msg, mLastIncompleteFragmentInCharacterData, 20);
29754     if( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL,
29755         simpleTypeValidationResult,
29756         0,
29757         msg) )
29758     {
29759         returnValue =  false;
29760     }
29761 }
29762 if (!returnValue)
29763 {
29764     mStackMemoryManager.deleteObject();
29765     mLastIncompleteFragmentInCharacterData = 0;
29766     mEndOfDataInCurrentObjectOnStack = 0;
29767     return returnValue;
29768 }
29769     } // validation
29770 #endif
29771 returnValue = mImpl->data__surface____NCName(mLastIncompleteFragmentInCharacterData, mEndOfDataInCurrentObjectOnStack - mLastIncompleteFragmentInCharacterData);
29772 mStackMemoryManager.deleteObject();
29773 mLastIncompleteFragmentInCharacterData = 0;
29774 mEndOfDataInCurrentObjectOnStack = 0;
29775 return returnValue;
29776 
29777 }
29778 
29779 //---------------------------------------------------------------------
_freeAttributes__surface____NCName(void * attributeData)29780 bool ColladaParserAutoGen14Private::_freeAttributes__surface____NCName( void* attributeData )
29781 {
29782     return true;
29783 }
29784 
29785 //---------------------------------------------------------------------
_data__sampler_state____NCName(const ParserChar * text,size_t textLength)29786 bool ColladaParserAutoGen14Private::_data__sampler_state____NCName( const ParserChar* text, size_t textLength )
29787 {
29788 if (!mLastIncompleteFragmentInCharacterData)
29789 {
29790     mLastIncompleteFragmentInCharacterData = (ParserChar*)mStackMemoryManager.newObject(textLength);
29791     memcpy(mLastIncompleteFragmentInCharacterData, text, textLength);
29792     mEndOfDataInCurrentObjectOnStack = mLastIncompleteFragmentInCharacterData + textLength;
29793 }
29794 else
29795 {
29796     ParserChar* tmp = (ParserChar*)mStackMemoryManager.growObject(textLength);
29797     if ( tmp != mLastIncompleteFragmentInCharacterData ) {
29798         mEndOfDataInCurrentObjectOnStack = (mEndOfDataInCurrentObjectOnStack - mLastIncompleteFragmentInCharacterData) + tmp;
29799         mLastIncompleteFragmentInCharacterData = tmp;
29800     }
29801     memcpy(mEndOfDataInCurrentObjectOnStack, text, textLength);
29802     mEndOfDataInCurrentObjectOnStack += textLength;
29803 }
29804 return true;
29805 }
29806 
29807 //---------------------------------------------------------------------
_preBegin__sampler_state____NCName(const ParserAttributes & attributes,void ** attributeDataPtr,void ** validationDataPtr)29808 bool ColladaParserAutoGen14Private::_preBegin__sampler_state____NCName( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
29809 {
29810 #ifdef GENERATEDSAXPARSER_VALIDATION
29811     if ( mValidate )
29812     {
29813 
29814         bool validationResult = _validateBegin__sampler_state____NCName( attributes, attributeDataPtr, validationDataPtr );
29815         if ( !validationResult ) return false;
29816 
29817     } // validation
29818 #endif
29819 
29820     return true;
29821 }
29822 
29823 //---------------------------------------------------------------------
_preEnd__sampler_state____NCName()29824 bool ColladaParserAutoGen14Private::_preEnd__sampler_state____NCName()
29825 {
29826 #ifdef GENERATEDSAXPARSER_VALIDATION
29827     if ( mValidate )
29828     {
29829 
29830         bool validationResult = _validateEnd__sampler_state____NCName();
29831         if ( !validationResult ) return false;
29832 
29833     } // validation
29834 #endif
29835 
29836 bool returnValue = true;
29837 #ifdef GENERATEDSAXPARSER_VALIDATION
29838     if ( mValidate )
29839     {
29840 ParserError::ErrorType simpleTypeValidationResult = validate__NCName(mLastIncompleteFragmentInCharacterData, mEndOfDataInCurrentObjectOnStack - mLastIncompleteFragmentInCharacterData);
29841 if (simpleTypeValidationResult != ParserError::SIMPLE_TYPE_VALIDATION_OK)
29842 {
29843     ParserChar msg[21];
29844     Utils::fillErrorMsg(msg, mLastIncompleteFragmentInCharacterData, 20);
29845     if( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL,
29846         simpleTypeValidationResult,
29847         0,
29848         msg) )
29849     {
29850         returnValue =  false;
29851     }
29852 }
29853 if (!returnValue)
29854 {
29855     mStackMemoryManager.deleteObject();
29856     mLastIncompleteFragmentInCharacterData = 0;
29857     mEndOfDataInCurrentObjectOnStack = 0;
29858     return returnValue;
29859 }
29860     } // validation
29861 #endif
29862 returnValue = mImpl->data__sampler_state____NCName(mLastIncompleteFragmentInCharacterData, mEndOfDataInCurrentObjectOnStack - mLastIncompleteFragmentInCharacterData);
29863 mStackMemoryManager.deleteObject();
29864 mLastIncompleteFragmentInCharacterData = 0;
29865 mEndOfDataInCurrentObjectOnStack = 0;
29866 return returnValue;
29867 
29868 }
29869 
29870 //---------------------------------------------------------------------
_freeAttributes__sampler_state____NCName(void * attributeData)29871 bool ColladaParserAutoGen14Private::_freeAttributes__sampler_state____NCName( void* attributeData )
29872 {
29873     return true;
29874 }
29875 
29876 //---------------------------------------------------------------------
29877 const texcoord__AttributeData texcoord__AttributeData::DEFAULT = {0};
29878 
29879 //---------------------------------------------------------------------
_data__texcoord(const ParserChar * text,size_t textLength)29880 bool ColladaParserAutoGen14Private::_data__texcoord( const ParserChar* text, size_t textLength )
29881 {
29882     return true;
29883 }
29884 
29885 //---------------------------------------------------------------------
_preBegin__texcoord(const ParserAttributes & attributes,void ** attributeDataPtr,void ** validationDataPtr)29886 bool ColladaParserAutoGen14Private::_preBegin__texcoord( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
29887 {
29888 #ifdef GENERATEDSAXPARSER_VALIDATION
29889     if ( mValidate )
29890     {
29891 
29892         bool validationResult = _validateBegin__texcoord( attributes, attributeDataPtr, validationDataPtr );
29893         if ( !validationResult ) return false;
29894 
29895     } // validation
29896 #endif
29897 
29898 texcoord__AttributeData* attributeData = newData<texcoord__AttributeData>(attributeDataPtr);
29899 
29900 const ParserChar** attributeArray = attributes.attributes;
29901 if ( attributeArray )
29902 {
29903     while (true)
29904     {
29905         const ParserChar * attribute = *attributeArray;
29906         if ( !attribute )
29907             break;
29908         StringHash hash = GeneratedSaxParser::Utils::calculateStringHash(attribute);
29909         attributeArray++;
29910         if ( !attributeArray )
29911             return false;
29912         const ParserChar* attributeValue = *attributeArray;
29913         attributeArray++;
29914 
29915 
29916     switch ( hash )
29917     {
29918     case HASH_ATTRIBUTE_semantic:
29919     {
29920 
29921 attributeData->semantic = attributeValue;
29922 #ifdef GENERATEDSAXPARSER_VALIDATION
29923     if ( mValidate )
29924     {
29925     ParserError::ErrorType simpleTypeValidationResult = validate__NCName(attributeData->semantic, strlen(attributeData->semantic));
29926     if (simpleTypeValidationResult != ParserError::SIMPLE_TYPE_VALIDATION_OK)
29927     {
29928         if( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL,
29929             simpleTypeValidationResult,
29930             HASH_ELEMENT_TEXCOORD,
29931             HASH_ATTRIBUTE_semantic,
29932             attributeValue) )
29933         {
29934             return false;
29935         }
29936     }
29937     } // validation
29938 #endif
29939 
29940     break;
29941     }
29942     default:
29943     {
29944         if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_UNKNOWN_ATTRIBUTE, HASH_ELEMENT_TEXCOORD, attribute, attributeValue))
29945             {return false;}
29946     }
29947     }
29948     }
29949 }
29950 
29951 
29952     return true;
29953 }
29954 
29955 //---------------------------------------------------------------------
_preEnd__texcoord()29956 bool ColladaParserAutoGen14Private::_preEnd__texcoord()
29957 {
29958 #ifdef GENERATEDSAXPARSER_VALIDATION
29959     if ( mValidate )
29960     {
29961 
29962         bool validationResult = _validateEnd__texcoord();
29963         if ( !validationResult ) return false;
29964 
29965     } // validation
29966 #endif
29967 
29968     return true;
29969 }
29970 
29971 //---------------------------------------------------------------------
_freeAttributes__texcoord(void * attributeData)29972 bool ColladaParserAutoGen14Private::_freeAttributes__texcoord( void* attributeData )
29973 {
29974     texcoord__AttributeData* typedAttributeData = static_cast<texcoord__AttributeData*>(attributeData);
29975 
29976     typedAttributeData->~texcoord__AttributeData();
29977 
29978     return true;
29979 }
29980 
29981 //---------------------------------------------------------------------
_data__enum____gles_enumeration(const ParserChar * text,size_t textLength)29982 bool ColladaParserAutoGen14Private::_data__enum____gles_enumeration( const ParserChar* text, size_t textLength )
29983 {
29984 if (!mLastIncompleteFragmentInCharacterData)
29985 {
29986     mLastIncompleteFragmentInCharacterData = (ParserChar*)mStackMemoryManager.newObject(textLength);
29987     memcpy(mLastIncompleteFragmentInCharacterData, text, textLength);
29988     mEndOfDataInCurrentObjectOnStack = mLastIncompleteFragmentInCharacterData + textLength;
29989 }
29990 else
29991 {
29992     ParserChar* tmp = (ParserChar*)mStackMemoryManager.growObject(textLength);
29993     if ( tmp != mLastIncompleteFragmentInCharacterData ) {
29994         mEndOfDataInCurrentObjectOnStack = (mEndOfDataInCurrentObjectOnStack - mLastIncompleteFragmentInCharacterData) + tmp;
29995         mLastIncompleteFragmentInCharacterData = tmp;
29996     }
29997     memcpy(mEndOfDataInCurrentObjectOnStack, text, textLength);
29998     mEndOfDataInCurrentObjectOnStack += textLength;
29999 }
30000 return true;
30001 }
30002 
30003 //---------------------------------------------------------------------
_preBegin__enum____gles_enumeration(const ParserAttributes & attributes,void ** attributeDataPtr,void ** validationDataPtr)30004 bool ColladaParserAutoGen14Private::_preBegin__enum____gles_enumeration( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
30005 {
30006 #ifdef GENERATEDSAXPARSER_VALIDATION
30007     if ( mValidate )
30008     {
30009 
30010         bool validationResult = _validateBegin__enum____gles_enumeration( attributes, attributeDataPtr, validationDataPtr );
30011         if ( !validationResult ) return false;
30012 
30013     } // validation
30014 #endif
30015 
30016     return true;
30017 }
30018 
30019 //---------------------------------------------------------------------
_preEnd__enum____gles_enumeration()30020 bool ColladaParserAutoGen14Private::_preEnd__enum____gles_enumeration()
30021 {
30022 #ifdef GENERATEDSAXPARSER_VALIDATION
30023     if ( mValidate )
30024     {
30025 
30026         bool validationResult = _validateEnd__enum____gles_enumeration();
30027         if ( !validationResult ) return false;
30028 
30029     } // validation
30030 #endif
30031 
30032 bool failed;
30033 const ParserChar* ptrForErr = mLastIncompleteFragmentInCharacterData;
30034 DISABLE_WARNING_UNUSED(ptrForErr)
30035 UNION__gles_enumeration parameter = toUnion_UNION__gles_enumeration( mLastIncompleteFragmentInCharacterData, (size_t)(mEndOfDataInCurrentObjectOnStack - mLastIncompleteFragmentInCharacterData), failed );
30036 bool returnValue;
30037 if (!failed)
30038 {
30039     returnValue = mImpl->data__enum____gles_enumeration(parameter);
30040 }
30041 else
30042     returnValue = !handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_TEXTDATA_PARSING_FAILED, HASH_ELEMENT_ENUM, (const ParserChar*)0, mLastIncompleteFragmentInCharacterData);
30043 if (mLastIncompleteFragmentInCharacterData)
30044     mStackMemoryManager.deleteObject();
30045 mLastIncompleteFragmentInCharacterData = 0;
30046 mEndOfDataInCurrentObjectOnStack = 0;
30047 return returnValue;
30048 
30049 }
30050 
30051 //---------------------------------------------------------------------
_freeAttributes__enum____gles_enumeration(void * attributeData)30052 bool ColladaParserAutoGen14Private::_freeAttributes__enum____gles_enumeration( void* attributeData )
30053 {
30054     return true;
30055 }
30056 
30057 //---------------------------------------------------------------------
toEnumDataPrefix_ENUM__gl_blend_type(const ParserChar * prefixedBuffer,const ParserChar * prefixedBufferEnd,const ParserChar ** buffer,const ParserChar * bufferEnd,bool & failed,const std::pair<StringHash,ENUM__gl_blend_type> * enumMap,StringHash (* baseConversionFunc)(const ParserChar **,const ParserChar *,bool &))30058 ENUM__gl_blend_type ColladaParserAutoGen14Private::toEnumDataPrefix_ENUM__gl_blend_type (
30059     const ParserChar* prefixedBuffer,
30060     const ParserChar* prefixedBufferEnd,
30061     const ParserChar** buffer,
30062     const ParserChar* bufferEnd,
30063     bool& failed,
30064     const std::pair<StringHash, ENUM__gl_blend_type>* enumMap,
30065     StringHash (*baseConversionFunc)( const ParserChar**, const ParserChar*, bool& )
30066 )
30067 {
30068     return toEnumDataPrefix<ENUM__gl_blend_type, StringHash, ENUM__gl_blend_type__COUNT, &toEnum_ENUM__gl_blend_type>(prefixedBuffer, prefixedBufferEnd, buffer, bufferEnd, failed, enumMap, baseConversionFunc);
30069 }
30070 
30071 //---------------------------------------------------------------------
characterData2EnumData_ENUM__gl_blend_type(const ParserChar * text,size_t textLength,bool (ColladaParserAutoGen14::* dataFunction)(const ENUM__gl_blend_type *,size_t),StringHash (* baseConversionFunc)(const ParserChar **,const ParserChar *,bool &))30072 bool ColladaParserAutoGen14Private::characterData2EnumData_ENUM__gl_blend_type (
30073     const ParserChar* text,
30074     size_t textLength,
30075     bool ( ColladaParserAutoGen14::*dataFunction )(const ENUM__gl_blend_type*, size_t ),
30076     StringHash (*baseConversionFunc)( const ParserChar**, const ParserChar*, bool& )
30077 )
30078 {
30079     return characterData2EnumData<ENUM__gl_blend_type, StringHash, ENUM__gl_blend_type__COUNT>(text, textLength, dataFunction, ENUM__gl_blend_typeMap, baseConversionFunc, &toEnum_ENUM__gl_blend_type, &ColladaParserAutoGen14Private::toEnumDataPrefix_ENUM__gl_blend_type);
30080 }
30081 
30082 //---------------------------------------------------------------------
dataEnumEnd_ENUM__gl_blend_type(bool (ColladaParserAutoGen14::* dataFunction)(const ENUM__gl_blend_type *,size_t),const std::pair<StringHash,ENUM__gl_blend_type> * enumMap,StringHash (* baseConversionFunc)(const ParserChar **,const ParserChar *,bool &),ENUM__gl_blend_type (* toEnumFunc)(const ParserChar **,const ParserChar *,bool &,const std::pair<StringHash,ENUM__gl_blend_type> * enumMap,StringHash (* baseConversionFunc)(const ParserChar **,const ParserChar *,bool &)))30083 bool ColladaParserAutoGen14Private::dataEnumEnd_ENUM__gl_blend_type (
30084     bool ( ColladaParserAutoGen14::*dataFunction )(const ENUM__gl_blend_type*, size_t ),
30085     const std::pair<StringHash, ENUM__gl_blend_type>* enumMap,
30086     StringHash (*baseConversionFunc)( const ParserChar**, const ParserChar*, bool& ),
30087     ENUM__gl_blend_type (*toEnumFunc)( const ParserChar**, const ParserChar*, bool&, const std::pair<StringHash, ENUM__gl_blend_type>* enumMap, StringHash (*baseConversionFunc)( const ParserChar**, const ParserChar*, bool& ))
30088 )
30089 {
30090     return dataEnumEnd<ENUM__gl_blend_type, StringHash, ENUM__gl_blend_type__COUNT>(dataFunction, enumMap, baseConversionFunc, toEnumFunc);
30091 }
30092 
30093 //---------------------------------------------------------------------
toEnumDataPrefix_ENUM__gl_face_type(const ParserChar * prefixedBuffer,const ParserChar * prefixedBufferEnd,const ParserChar ** buffer,const ParserChar * bufferEnd,bool & failed,const std::pair<StringHash,ENUM__gl_face_type> * enumMap,StringHash (* baseConversionFunc)(const ParserChar **,const ParserChar *,bool &))30094 ENUM__gl_face_type ColladaParserAutoGen14Private::toEnumDataPrefix_ENUM__gl_face_type (
30095     const ParserChar* prefixedBuffer,
30096     const ParserChar* prefixedBufferEnd,
30097     const ParserChar** buffer,
30098     const ParserChar* bufferEnd,
30099     bool& failed,
30100     const std::pair<StringHash, ENUM__gl_face_type>* enumMap,
30101     StringHash (*baseConversionFunc)( const ParserChar**, const ParserChar*, bool& )
30102 )
30103 {
30104     return toEnumDataPrefix<ENUM__gl_face_type, StringHash, ENUM__gl_face_type__COUNT, &toEnum_ENUM__gl_face_type>(prefixedBuffer, prefixedBufferEnd, buffer, bufferEnd, failed, enumMap, baseConversionFunc);
30105 }
30106 
30107 //---------------------------------------------------------------------
characterData2EnumData_ENUM__gl_face_type(const ParserChar * text,size_t textLength,bool (ColladaParserAutoGen14::* dataFunction)(const ENUM__gl_face_type *,size_t),StringHash (* baseConversionFunc)(const ParserChar **,const ParserChar *,bool &))30108 bool ColladaParserAutoGen14Private::characterData2EnumData_ENUM__gl_face_type (
30109     const ParserChar* text,
30110     size_t textLength,
30111     bool ( ColladaParserAutoGen14::*dataFunction )(const ENUM__gl_face_type*, size_t ),
30112     StringHash (*baseConversionFunc)( const ParserChar**, const ParserChar*, bool& )
30113 )
30114 {
30115     return characterData2EnumData<ENUM__gl_face_type, StringHash, ENUM__gl_face_type__COUNT>(text, textLength, dataFunction, ENUM__gl_face_typeMap, baseConversionFunc, &toEnum_ENUM__gl_face_type, &ColladaParserAutoGen14Private::toEnumDataPrefix_ENUM__gl_face_type);
30116 }
30117 
30118 //---------------------------------------------------------------------
dataEnumEnd_ENUM__gl_face_type(bool (ColladaParserAutoGen14::* dataFunction)(const ENUM__gl_face_type *,size_t),const std::pair<StringHash,ENUM__gl_face_type> * enumMap,StringHash (* baseConversionFunc)(const ParserChar **,const ParserChar *,bool &),ENUM__gl_face_type (* toEnumFunc)(const ParserChar **,const ParserChar *,bool &,const std::pair<StringHash,ENUM__gl_face_type> * enumMap,StringHash (* baseConversionFunc)(const ParserChar **,const ParserChar *,bool &)))30119 bool ColladaParserAutoGen14Private::dataEnumEnd_ENUM__gl_face_type (
30120     bool ( ColladaParserAutoGen14::*dataFunction )(const ENUM__gl_face_type*, size_t ),
30121     const std::pair<StringHash, ENUM__gl_face_type>* enumMap,
30122     StringHash (*baseConversionFunc)( const ParserChar**, const ParserChar*, bool& ),
30123     ENUM__gl_face_type (*toEnumFunc)( const ParserChar**, const ParserChar*, bool&, const std::pair<StringHash, ENUM__gl_face_type>* enumMap, StringHash (*baseConversionFunc)( const ParserChar**, const ParserChar*, bool& ))
30124 )
30125 {
30126     return dataEnumEnd<ENUM__gl_face_type, StringHash, ENUM__gl_face_type__COUNT>(dataFunction, enumMap, baseConversionFunc, toEnumFunc);
30127 }
30128 
30129 //---------------------------------------------------------------------
toEnumDataPrefix_ENUM__gl_func_type(const ParserChar * prefixedBuffer,const ParserChar * prefixedBufferEnd,const ParserChar ** buffer,const ParserChar * bufferEnd,bool & failed,const std::pair<StringHash,ENUM__gl_func_type> * enumMap,StringHash (* baseConversionFunc)(const ParserChar **,const ParserChar *,bool &))30130 ENUM__gl_func_type ColladaParserAutoGen14Private::toEnumDataPrefix_ENUM__gl_func_type (
30131     const ParserChar* prefixedBuffer,
30132     const ParserChar* prefixedBufferEnd,
30133     const ParserChar** buffer,
30134     const ParserChar* bufferEnd,
30135     bool& failed,
30136     const std::pair<StringHash, ENUM__gl_func_type>* enumMap,
30137     StringHash (*baseConversionFunc)( const ParserChar**, const ParserChar*, bool& )
30138 )
30139 {
30140     return toEnumDataPrefix<ENUM__gl_func_type, StringHash, ENUM__gl_func_type__COUNT, &toEnum_ENUM__gl_func_type>(prefixedBuffer, prefixedBufferEnd, buffer, bufferEnd, failed, enumMap, baseConversionFunc);
30141 }
30142 
30143 //---------------------------------------------------------------------
characterData2EnumData_ENUM__gl_func_type(const ParserChar * text,size_t textLength,bool (ColladaParserAutoGen14::* dataFunction)(const ENUM__gl_func_type *,size_t),StringHash (* baseConversionFunc)(const ParserChar **,const ParserChar *,bool &))30144 bool ColladaParserAutoGen14Private::characterData2EnumData_ENUM__gl_func_type (
30145     const ParserChar* text,
30146     size_t textLength,
30147     bool ( ColladaParserAutoGen14::*dataFunction )(const ENUM__gl_func_type*, size_t ),
30148     StringHash (*baseConversionFunc)( const ParserChar**, const ParserChar*, bool& )
30149 )
30150 {
30151     return characterData2EnumData<ENUM__gl_func_type, StringHash, ENUM__gl_func_type__COUNT>(text, textLength, dataFunction, ENUM__gl_func_typeMap, baseConversionFunc, &toEnum_ENUM__gl_func_type, &ColladaParserAutoGen14Private::toEnumDataPrefix_ENUM__gl_func_type);
30152 }
30153 
30154 //---------------------------------------------------------------------
dataEnumEnd_ENUM__gl_func_type(bool (ColladaParserAutoGen14::* dataFunction)(const ENUM__gl_func_type *,size_t),const std::pair<StringHash,ENUM__gl_func_type> * enumMap,StringHash (* baseConversionFunc)(const ParserChar **,const ParserChar *,bool &),ENUM__gl_func_type (* toEnumFunc)(const ParserChar **,const ParserChar *,bool &,const std::pair<StringHash,ENUM__gl_func_type> * enumMap,StringHash (* baseConversionFunc)(const ParserChar **,const ParserChar *,bool &)))30155 bool ColladaParserAutoGen14Private::dataEnumEnd_ENUM__gl_func_type (
30156     bool ( ColladaParserAutoGen14::*dataFunction )(const ENUM__gl_func_type*, size_t ),
30157     const std::pair<StringHash, ENUM__gl_func_type>* enumMap,
30158     StringHash (*baseConversionFunc)( const ParserChar**, const ParserChar*, bool& ),
30159     ENUM__gl_func_type (*toEnumFunc)( const ParserChar**, const ParserChar*, bool&, const std::pair<StringHash, ENUM__gl_func_type>* enumMap, StringHash (*baseConversionFunc)( const ParserChar**, const ParserChar*, bool& ))
30160 )
30161 {
30162     return dataEnumEnd<ENUM__gl_func_type, StringHash, ENUM__gl_func_type__COUNT>(dataFunction, enumMap, baseConversionFunc, toEnumFunc);
30163 }
30164 
30165 //---------------------------------------------------------------------
toEnumDataPrefix_ENUM__gl_stencil_op_type(const ParserChar * prefixedBuffer,const ParserChar * prefixedBufferEnd,const ParserChar ** buffer,const ParserChar * bufferEnd,bool & failed,const std::pair<StringHash,ENUM__gl_stencil_op_type> * enumMap,StringHash (* baseConversionFunc)(const ParserChar **,const ParserChar *,bool &))30166 ENUM__gl_stencil_op_type ColladaParserAutoGen14Private::toEnumDataPrefix_ENUM__gl_stencil_op_type (
30167     const ParserChar* prefixedBuffer,
30168     const ParserChar* prefixedBufferEnd,
30169     const ParserChar** buffer,
30170     const ParserChar* bufferEnd,
30171     bool& failed,
30172     const std::pair<StringHash, ENUM__gl_stencil_op_type>* enumMap,
30173     StringHash (*baseConversionFunc)( const ParserChar**, const ParserChar*, bool& )
30174 )
30175 {
30176     return toEnumDataPrefix<ENUM__gl_stencil_op_type, StringHash, ENUM__gl_stencil_op_type__COUNT, &toEnum_ENUM__gl_stencil_op_type>(prefixedBuffer, prefixedBufferEnd, buffer, bufferEnd, failed, enumMap, baseConversionFunc);
30177 }
30178 
30179 //---------------------------------------------------------------------
characterData2EnumData_ENUM__gl_stencil_op_type(const ParserChar * text,size_t textLength,bool (ColladaParserAutoGen14::* dataFunction)(const ENUM__gl_stencil_op_type *,size_t),StringHash (* baseConversionFunc)(const ParserChar **,const ParserChar *,bool &))30180 bool ColladaParserAutoGen14Private::characterData2EnumData_ENUM__gl_stencil_op_type (
30181     const ParserChar* text,
30182     size_t textLength,
30183     bool ( ColladaParserAutoGen14::*dataFunction )(const ENUM__gl_stencil_op_type*, size_t ),
30184     StringHash (*baseConversionFunc)( const ParserChar**, const ParserChar*, bool& )
30185 )
30186 {
30187     return characterData2EnumData<ENUM__gl_stencil_op_type, StringHash, ENUM__gl_stencil_op_type__COUNT>(text, textLength, dataFunction, ENUM__gl_stencil_op_typeMap, baseConversionFunc, &toEnum_ENUM__gl_stencil_op_type, &ColladaParserAutoGen14Private::toEnumDataPrefix_ENUM__gl_stencil_op_type);
30188 }
30189 
30190 //---------------------------------------------------------------------
dataEnumEnd_ENUM__gl_stencil_op_type(bool (ColladaParserAutoGen14::* dataFunction)(const ENUM__gl_stencil_op_type *,size_t),const std::pair<StringHash,ENUM__gl_stencil_op_type> * enumMap,StringHash (* baseConversionFunc)(const ParserChar **,const ParserChar *,bool &),ENUM__gl_stencil_op_type (* toEnumFunc)(const ParserChar **,const ParserChar *,bool &,const std::pair<StringHash,ENUM__gl_stencil_op_type> * enumMap,StringHash (* baseConversionFunc)(const ParserChar **,const ParserChar *,bool &)))30191 bool ColladaParserAutoGen14Private::dataEnumEnd_ENUM__gl_stencil_op_type (
30192     bool ( ColladaParserAutoGen14::*dataFunction )(const ENUM__gl_stencil_op_type*, size_t ),
30193     const std::pair<StringHash, ENUM__gl_stencil_op_type>* enumMap,
30194     StringHash (*baseConversionFunc)( const ParserChar**, const ParserChar*, bool& ),
30195     ENUM__gl_stencil_op_type (*toEnumFunc)( const ParserChar**, const ParserChar*, bool&, const std::pair<StringHash, ENUM__gl_stencil_op_type>* enumMap, StringHash (*baseConversionFunc)( const ParserChar**, const ParserChar*, bool& ))
30196 )
30197 {
30198     return dataEnumEnd<ENUM__gl_stencil_op_type, StringHash, ENUM__gl_stencil_op_type__COUNT>(dataFunction, enumMap, baseConversionFunc, toEnumFunc);
30199 }
30200 
30201 //---------------------------------------------------------------------
toEnumDataPrefix_ENUM__gl_material_type(const ParserChar * prefixedBuffer,const ParserChar * prefixedBufferEnd,const ParserChar ** buffer,const ParserChar * bufferEnd,bool & failed,const std::pair<StringHash,ENUM__gl_material_type> * enumMap,StringHash (* baseConversionFunc)(const ParserChar **,const ParserChar *,bool &))30202 ENUM__gl_material_type ColladaParserAutoGen14Private::toEnumDataPrefix_ENUM__gl_material_type (
30203     const ParserChar* prefixedBuffer,
30204     const ParserChar* prefixedBufferEnd,
30205     const ParserChar** buffer,
30206     const ParserChar* bufferEnd,
30207     bool& failed,
30208     const std::pair<StringHash, ENUM__gl_material_type>* enumMap,
30209     StringHash (*baseConversionFunc)( const ParserChar**, const ParserChar*, bool& )
30210 )
30211 {
30212     return toEnumDataPrefix<ENUM__gl_material_type, StringHash, ENUM__gl_material_type__COUNT, &toEnum_ENUM__gl_material_type>(prefixedBuffer, prefixedBufferEnd, buffer, bufferEnd, failed, enumMap, baseConversionFunc);
30213 }
30214 
30215 //---------------------------------------------------------------------
characterData2EnumData_ENUM__gl_material_type(const ParserChar * text,size_t textLength,bool (ColladaParserAutoGen14::* dataFunction)(const ENUM__gl_material_type *,size_t),StringHash (* baseConversionFunc)(const ParserChar **,const ParserChar *,bool &))30216 bool ColladaParserAutoGen14Private::characterData2EnumData_ENUM__gl_material_type (
30217     const ParserChar* text,
30218     size_t textLength,
30219     bool ( ColladaParserAutoGen14::*dataFunction )(const ENUM__gl_material_type*, size_t ),
30220     StringHash (*baseConversionFunc)( const ParserChar**, const ParserChar*, bool& )
30221 )
30222 {
30223     return characterData2EnumData<ENUM__gl_material_type, StringHash, ENUM__gl_material_type__COUNT>(text, textLength, dataFunction, ENUM__gl_material_typeMap, baseConversionFunc, &toEnum_ENUM__gl_material_type, &ColladaParserAutoGen14Private::toEnumDataPrefix_ENUM__gl_material_type);
30224 }
30225 
30226 //---------------------------------------------------------------------
dataEnumEnd_ENUM__gl_material_type(bool (ColladaParserAutoGen14::* dataFunction)(const ENUM__gl_material_type *,size_t),const std::pair<StringHash,ENUM__gl_material_type> * enumMap,StringHash (* baseConversionFunc)(const ParserChar **,const ParserChar *,bool &),ENUM__gl_material_type (* toEnumFunc)(const ParserChar **,const ParserChar *,bool &,const std::pair<StringHash,ENUM__gl_material_type> * enumMap,StringHash (* baseConversionFunc)(const ParserChar **,const ParserChar *,bool &)))30227 bool ColladaParserAutoGen14Private::dataEnumEnd_ENUM__gl_material_type (
30228     bool ( ColladaParserAutoGen14::*dataFunction )(const ENUM__gl_material_type*, size_t ),
30229     const std::pair<StringHash, ENUM__gl_material_type>* enumMap,
30230     StringHash (*baseConversionFunc)( const ParserChar**, const ParserChar*, bool& ),
30231     ENUM__gl_material_type (*toEnumFunc)( const ParserChar**, const ParserChar*, bool&, const std::pair<StringHash, ENUM__gl_material_type>* enumMap, StringHash (*baseConversionFunc)( const ParserChar**, const ParserChar*, bool& ))
30232 )
30233 {
30234     return dataEnumEnd<ENUM__gl_material_type, StringHash, ENUM__gl_material_type__COUNT>(dataFunction, enumMap, baseConversionFunc, toEnumFunc);
30235 }
30236 
30237 //---------------------------------------------------------------------
toEnumDataPrefix_ENUM__gl_fog_type(const ParserChar * prefixedBuffer,const ParserChar * prefixedBufferEnd,const ParserChar ** buffer,const ParserChar * bufferEnd,bool & failed,const std::pair<StringHash,ENUM__gl_fog_type> * enumMap,StringHash (* baseConversionFunc)(const ParserChar **,const ParserChar *,bool &))30238 ENUM__gl_fog_type ColladaParserAutoGen14Private::toEnumDataPrefix_ENUM__gl_fog_type (
30239     const ParserChar* prefixedBuffer,
30240     const ParserChar* prefixedBufferEnd,
30241     const ParserChar** buffer,
30242     const ParserChar* bufferEnd,
30243     bool& failed,
30244     const std::pair<StringHash, ENUM__gl_fog_type>* enumMap,
30245     StringHash (*baseConversionFunc)( const ParserChar**, const ParserChar*, bool& )
30246 )
30247 {
30248     return toEnumDataPrefix<ENUM__gl_fog_type, StringHash, ENUM__gl_fog_type__COUNT, &toEnum_ENUM__gl_fog_type>(prefixedBuffer, prefixedBufferEnd, buffer, bufferEnd, failed, enumMap, baseConversionFunc);
30249 }
30250 
30251 //---------------------------------------------------------------------
characterData2EnumData_ENUM__gl_fog_type(const ParserChar * text,size_t textLength,bool (ColladaParserAutoGen14::* dataFunction)(const ENUM__gl_fog_type *,size_t),StringHash (* baseConversionFunc)(const ParserChar **,const ParserChar *,bool &))30252 bool ColladaParserAutoGen14Private::characterData2EnumData_ENUM__gl_fog_type (
30253     const ParserChar* text,
30254     size_t textLength,
30255     bool ( ColladaParserAutoGen14::*dataFunction )(const ENUM__gl_fog_type*, size_t ),
30256     StringHash (*baseConversionFunc)( const ParserChar**, const ParserChar*, bool& )
30257 )
30258 {
30259     return characterData2EnumData<ENUM__gl_fog_type, StringHash, ENUM__gl_fog_type__COUNT>(text, textLength, dataFunction, ENUM__gl_fog_typeMap, baseConversionFunc, &toEnum_ENUM__gl_fog_type, &ColladaParserAutoGen14Private::toEnumDataPrefix_ENUM__gl_fog_type);
30260 }
30261 
30262 //---------------------------------------------------------------------
dataEnumEnd_ENUM__gl_fog_type(bool (ColladaParserAutoGen14::* dataFunction)(const ENUM__gl_fog_type *,size_t),const std::pair<StringHash,ENUM__gl_fog_type> * enumMap,StringHash (* baseConversionFunc)(const ParserChar **,const ParserChar *,bool &),ENUM__gl_fog_type (* toEnumFunc)(const ParserChar **,const ParserChar *,bool &,const std::pair<StringHash,ENUM__gl_fog_type> * enumMap,StringHash (* baseConversionFunc)(const ParserChar **,const ParserChar *,bool &)))30263 bool ColladaParserAutoGen14Private::dataEnumEnd_ENUM__gl_fog_type (
30264     bool ( ColladaParserAutoGen14::*dataFunction )(const ENUM__gl_fog_type*, size_t ),
30265     const std::pair<StringHash, ENUM__gl_fog_type>* enumMap,
30266     StringHash (*baseConversionFunc)( const ParserChar**, const ParserChar*, bool& ),
30267     ENUM__gl_fog_type (*toEnumFunc)( const ParserChar**, const ParserChar*, bool&, const std::pair<StringHash, ENUM__gl_fog_type>* enumMap, StringHash (*baseConversionFunc)( const ParserChar**, const ParserChar*, bool& ))
30268 )
30269 {
30270     return dataEnumEnd<ENUM__gl_fog_type, StringHash, ENUM__gl_fog_type__COUNT>(dataFunction, enumMap, baseConversionFunc, toEnumFunc);
30271 }
30272 
30273 //---------------------------------------------------------------------
toEnumDataPrefix_ENUM__gl_front_face_type(const ParserChar * prefixedBuffer,const ParserChar * prefixedBufferEnd,const ParserChar ** buffer,const ParserChar * bufferEnd,bool & failed,const std::pair<StringHash,ENUM__gl_front_face_type> * enumMap,StringHash (* baseConversionFunc)(const ParserChar **,const ParserChar *,bool &))30274 ENUM__gl_front_face_type ColladaParserAutoGen14Private::toEnumDataPrefix_ENUM__gl_front_face_type (
30275     const ParserChar* prefixedBuffer,
30276     const ParserChar* prefixedBufferEnd,
30277     const ParserChar** buffer,
30278     const ParserChar* bufferEnd,
30279     bool& failed,
30280     const std::pair<StringHash, ENUM__gl_front_face_type>* enumMap,
30281     StringHash (*baseConversionFunc)( const ParserChar**, const ParserChar*, bool& )
30282 )
30283 {
30284     return toEnumDataPrefix<ENUM__gl_front_face_type, StringHash, ENUM__gl_front_face_type__COUNT, &toEnum_ENUM__gl_front_face_type>(prefixedBuffer, prefixedBufferEnd, buffer, bufferEnd, failed, enumMap, baseConversionFunc);
30285 }
30286 
30287 //---------------------------------------------------------------------
characterData2EnumData_ENUM__gl_front_face_type(const ParserChar * text,size_t textLength,bool (ColladaParserAutoGen14::* dataFunction)(const ENUM__gl_front_face_type *,size_t),StringHash (* baseConversionFunc)(const ParserChar **,const ParserChar *,bool &))30288 bool ColladaParserAutoGen14Private::characterData2EnumData_ENUM__gl_front_face_type (
30289     const ParserChar* text,
30290     size_t textLength,
30291     bool ( ColladaParserAutoGen14::*dataFunction )(const ENUM__gl_front_face_type*, size_t ),
30292     StringHash (*baseConversionFunc)( const ParserChar**, const ParserChar*, bool& )
30293 )
30294 {
30295     return characterData2EnumData<ENUM__gl_front_face_type, StringHash, ENUM__gl_front_face_type__COUNT>(text, textLength, dataFunction, ENUM__gl_front_face_typeMap, baseConversionFunc, &toEnum_ENUM__gl_front_face_type, &ColladaParserAutoGen14Private::toEnumDataPrefix_ENUM__gl_front_face_type);
30296 }
30297 
30298 //---------------------------------------------------------------------
dataEnumEnd_ENUM__gl_front_face_type(bool (ColladaParserAutoGen14::* dataFunction)(const ENUM__gl_front_face_type *,size_t),const std::pair<StringHash,ENUM__gl_front_face_type> * enumMap,StringHash (* baseConversionFunc)(const ParserChar **,const ParserChar *,bool &),ENUM__gl_front_face_type (* toEnumFunc)(const ParserChar **,const ParserChar *,bool &,const std::pair<StringHash,ENUM__gl_front_face_type> * enumMap,StringHash (* baseConversionFunc)(const ParserChar **,const ParserChar *,bool &)))30299 bool ColladaParserAutoGen14Private::dataEnumEnd_ENUM__gl_front_face_type (
30300     bool ( ColladaParserAutoGen14::*dataFunction )(const ENUM__gl_front_face_type*, size_t ),
30301     const std::pair<StringHash, ENUM__gl_front_face_type>* enumMap,
30302     StringHash (*baseConversionFunc)( const ParserChar**, const ParserChar*, bool& ),
30303     ENUM__gl_front_face_type (*toEnumFunc)( const ParserChar**, const ParserChar*, bool&, const std::pair<StringHash, ENUM__gl_front_face_type>* enumMap, StringHash (*baseConversionFunc)( const ParserChar**, const ParserChar*, bool& ))
30304 )
30305 {
30306     return dataEnumEnd<ENUM__gl_front_face_type, StringHash, ENUM__gl_front_face_type__COUNT>(dataFunction, enumMap, baseConversionFunc, toEnumFunc);
30307 }
30308 
30309 //---------------------------------------------------------------------
toEnumDataPrefix_ENUM__gl_light_model_color_control_type(const ParserChar * prefixedBuffer,const ParserChar * prefixedBufferEnd,const ParserChar ** buffer,const ParserChar * bufferEnd,bool & failed,const std::pair<StringHash,ENUM__gl_light_model_color_control_type> * enumMap,StringHash (* baseConversionFunc)(const ParserChar **,const ParserChar *,bool &))30310 ENUM__gl_light_model_color_control_type ColladaParserAutoGen14Private::toEnumDataPrefix_ENUM__gl_light_model_color_control_type (
30311     const ParserChar* prefixedBuffer,
30312     const ParserChar* prefixedBufferEnd,
30313     const ParserChar** buffer,
30314     const ParserChar* bufferEnd,
30315     bool& failed,
30316     const std::pair<StringHash, ENUM__gl_light_model_color_control_type>* enumMap,
30317     StringHash (*baseConversionFunc)( const ParserChar**, const ParserChar*, bool& )
30318 )
30319 {
30320     return toEnumDataPrefix<ENUM__gl_light_model_color_control_type, StringHash, ENUM__gl_light_model_color_control_type__COUNT, &toEnum_ENUM__gl_light_model_color_control_type>(prefixedBuffer, prefixedBufferEnd, buffer, bufferEnd, failed, enumMap, baseConversionFunc);
30321 }
30322 
30323 //---------------------------------------------------------------------
characterData2EnumData_ENUM__gl_light_model_color_control_type(const ParserChar * text,size_t textLength,bool (ColladaParserAutoGen14::* dataFunction)(const ENUM__gl_light_model_color_control_type *,size_t),StringHash (* baseConversionFunc)(const ParserChar **,const ParserChar *,bool &))30324 bool ColladaParserAutoGen14Private::characterData2EnumData_ENUM__gl_light_model_color_control_type (
30325     const ParserChar* text,
30326     size_t textLength,
30327     bool ( ColladaParserAutoGen14::*dataFunction )(const ENUM__gl_light_model_color_control_type*, size_t ),
30328     StringHash (*baseConversionFunc)( const ParserChar**, const ParserChar*, bool& )
30329 )
30330 {
30331     return characterData2EnumData<ENUM__gl_light_model_color_control_type, StringHash, ENUM__gl_light_model_color_control_type__COUNT>(text, textLength, dataFunction, ENUM__gl_light_model_color_control_typeMap, baseConversionFunc, &toEnum_ENUM__gl_light_model_color_control_type, &ColladaParserAutoGen14Private::toEnumDataPrefix_ENUM__gl_light_model_color_control_type);
30332 }
30333 
30334 //---------------------------------------------------------------------
dataEnumEnd_ENUM__gl_light_model_color_control_type(bool (ColladaParserAutoGen14::* dataFunction)(const ENUM__gl_light_model_color_control_type *,size_t),const std::pair<StringHash,ENUM__gl_light_model_color_control_type> * enumMap,StringHash (* baseConversionFunc)(const ParserChar **,const ParserChar *,bool &),ENUM__gl_light_model_color_control_type (* toEnumFunc)(const ParserChar **,const ParserChar *,bool &,const std::pair<StringHash,ENUM__gl_light_model_color_control_type> * enumMap,StringHash (* baseConversionFunc)(const ParserChar **,const ParserChar *,bool &)))30335 bool ColladaParserAutoGen14Private::dataEnumEnd_ENUM__gl_light_model_color_control_type (
30336     bool ( ColladaParserAutoGen14::*dataFunction )(const ENUM__gl_light_model_color_control_type*, size_t ),
30337     const std::pair<StringHash, ENUM__gl_light_model_color_control_type>* enumMap,
30338     StringHash (*baseConversionFunc)( const ParserChar**, const ParserChar*, bool& ),
30339     ENUM__gl_light_model_color_control_type (*toEnumFunc)( const ParserChar**, const ParserChar*, bool&, const std::pair<StringHash, ENUM__gl_light_model_color_control_type>* enumMap, StringHash (*baseConversionFunc)( const ParserChar**, const ParserChar*, bool& ))
30340 )
30341 {
30342     return dataEnumEnd<ENUM__gl_light_model_color_control_type, StringHash, ENUM__gl_light_model_color_control_type__COUNT>(dataFunction, enumMap, baseConversionFunc, toEnumFunc);
30343 }
30344 
30345 //---------------------------------------------------------------------
toEnumDataPrefix_ENUM__gl_logic_op_type(const ParserChar * prefixedBuffer,const ParserChar * prefixedBufferEnd,const ParserChar ** buffer,const ParserChar * bufferEnd,bool & failed,const std::pair<StringHash,ENUM__gl_logic_op_type> * enumMap,StringHash (* baseConversionFunc)(const ParserChar **,const ParserChar *,bool &))30346 ENUM__gl_logic_op_type ColladaParserAutoGen14Private::toEnumDataPrefix_ENUM__gl_logic_op_type (
30347     const ParserChar* prefixedBuffer,
30348     const ParserChar* prefixedBufferEnd,
30349     const ParserChar** buffer,
30350     const ParserChar* bufferEnd,
30351     bool& failed,
30352     const std::pair<StringHash, ENUM__gl_logic_op_type>* enumMap,
30353     StringHash (*baseConversionFunc)( const ParserChar**, const ParserChar*, bool& )
30354 )
30355 {
30356     return toEnumDataPrefix<ENUM__gl_logic_op_type, StringHash, ENUM__gl_logic_op_type__COUNT, &toEnum_ENUM__gl_logic_op_type>(prefixedBuffer, prefixedBufferEnd, buffer, bufferEnd, failed, enumMap, baseConversionFunc);
30357 }
30358 
30359 //---------------------------------------------------------------------
characterData2EnumData_ENUM__gl_logic_op_type(const ParserChar * text,size_t textLength,bool (ColladaParserAutoGen14::* dataFunction)(const ENUM__gl_logic_op_type *,size_t),StringHash (* baseConversionFunc)(const ParserChar **,const ParserChar *,bool &))30360 bool ColladaParserAutoGen14Private::characterData2EnumData_ENUM__gl_logic_op_type (
30361     const ParserChar* text,
30362     size_t textLength,
30363     bool ( ColladaParserAutoGen14::*dataFunction )(const ENUM__gl_logic_op_type*, size_t ),
30364     StringHash (*baseConversionFunc)( const ParserChar**, const ParserChar*, bool& )
30365 )
30366 {
30367     return characterData2EnumData<ENUM__gl_logic_op_type, StringHash, ENUM__gl_logic_op_type__COUNT>(text, textLength, dataFunction, ENUM__gl_logic_op_typeMap, baseConversionFunc, &toEnum_ENUM__gl_logic_op_type, &ColladaParserAutoGen14Private::toEnumDataPrefix_ENUM__gl_logic_op_type);
30368 }
30369 
30370 //---------------------------------------------------------------------
dataEnumEnd_ENUM__gl_logic_op_type(bool (ColladaParserAutoGen14::* dataFunction)(const ENUM__gl_logic_op_type *,size_t),const std::pair<StringHash,ENUM__gl_logic_op_type> * enumMap,StringHash (* baseConversionFunc)(const ParserChar **,const ParserChar *,bool &),ENUM__gl_logic_op_type (* toEnumFunc)(const ParserChar **,const ParserChar *,bool &,const std::pair<StringHash,ENUM__gl_logic_op_type> * enumMap,StringHash (* baseConversionFunc)(const ParserChar **,const ParserChar *,bool &)))30371 bool ColladaParserAutoGen14Private::dataEnumEnd_ENUM__gl_logic_op_type (
30372     bool ( ColladaParserAutoGen14::*dataFunction )(const ENUM__gl_logic_op_type*, size_t ),
30373     const std::pair<StringHash, ENUM__gl_logic_op_type>* enumMap,
30374     StringHash (*baseConversionFunc)( const ParserChar**, const ParserChar*, bool& ),
30375     ENUM__gl_logic_op_type (*toEnumFunc)( const ParserChar**, const ParserChar*, bool&, const std::pair<StringHash, ENUM__gl_logic_op_type>* enumMap, StringHash (*baseConversionFunc)( const ParserChar**, const ParserChar*, bool& ))
30376 )
30377 {
30378     return dataEnumEnd<ENUM__gl_logic_op_type, StringHash, ENUM__gl_logic_op_type__COUNT>(dataFunction, enumMap, baseConversionFunc, toEnumFunc);
30379 }
30380 
30381 //---------------------------------------------------------------------
toEnumDataPrefix_ENUM__gl_polygon_mode_type(const ParserChar * prefixedBuffer,const ParserChar * prefixedBufferEnd,const ParserChar ** buffer,const ParserChar * bufferEnd,bool & failed,const std::pair<StringHash,ENUM__gl_polygon_mode_type> * enumMap,StringHash (* baseConversionFunc)(const ParserChar **,const ParserChar *,bool &))30382 ENUM__gl_polygon_mode_type ColladaParserAutoGen14Private::toEnumDataPrefix_ENUM__gl_polygon_mode_type (
30383     const ParserChar* prefixedBuffer,
30384     const ParserChar* prefixedBufferEnd,
30385     const ParserChar** buffer,
30386     const ParserChar* bufferEnd,
30387     bool& failed,
30388     const std::pair<StringHash, ENUM__gl_polygon_mode_type>* enumMap,
30389     StringHash (*baseConversionFunc)( const ParserChar**, const ParserChar*, bool& )
30390 )
30391 {
30392     return toEnumDataPrefix<ENUM__gl_polygon_mode_type, StringHash, ENUM__gl_polygon_mode_type__COUNT, &toEnum_ENUM__gl_polygon_mode_type>(prefixedBuffer, prefixedBufferEnd, buffer, bufferEnd, failed, enumMap, baseConversionFunc);
30393 }
30394 
30395 //---------------------------------------------------------------------
characterData2EnumData_ENUM__gl_polygon_mode_type(const ParserChar * text,size_t textLength,bool (ColladaParserAutoGen14::* dataFunction)(const ENUM__gl_polygon_mode_type *,size_t),StringHash (* baseConversionFunc)(const ParserChar **,const ParserChar *,bool &))30396 bool ColladaParserAutoGen14Private::characterData2EnumData_ENUM__gl_polygon_mode_type (
30397     const ParserChar* text,
30398     size_t textLength,
30399     bool ( ColladaParserAutoGen14::*dataFunction )(const ENUM__gl_polygon_mode_type*, size_t ),
30400     StringHash (*baseConversionFunc)( const ParserChar**, const ParserChar*, bool& )
30401 )
30402 {
30403     return characterData2EnumData<ENUM__gl_polygon_mode_type, StringHash, ENUM__gl_polygon_mode_type__COUNT>(text, textLength, dataFunction, ENUM__gl_polygon_mode_typeMap, baseConversionFunc, &toEnum_ENUM__gl_polygon_mode_type, &ColladaParserAutoGen14Private::toEnumDataPrefix_ENUM__gl_polygon_mode_type);
30404 }
30405 
30406 //---------------------------------------------------------------------
dataEnumEnd_ENUM__gl_polygon_mode_type(bool (ColladaParserAutoGen14::* dataFunction)(const ENUM__gl_polygon_mode_type *,size_t),const std::pair<StringHash,ENUM__gl_polygon_mode_type> * enumMap,StringHash (* baseConversionFunc)(const ParserChar **,const ParserChar *,bool &),ENUM__gl_polygon_mode_type (* toEnumFunc)(const ParserChar **,const ParserChar *,bool &,const std::pair<StringHash,ENUM__gl_polygon_mode_type> * enumMap,StringHash (* baseConversionFunc)(const ParserChar **,const ParserChar *,bool &)))30407 bool ColladaParserAutoGen14Private::dataEnumEnd_ENUM__gl_polygon_mode_type (
30408     bool ( ColladaParserAutoGen14::*dataFunction )(const ENUM__gl_polygon_mode_type*, size_t ),
30409     const std::pair<StringHash, ENUM__gl_polygon_mode_type>* enumMap,
30410     StringHash (*baseConversionFunc)( const ParserChar**, const ParserChar*, bool& ),
30411     ENUM__gl_polygon_mode_type (*toEnumFunc)( const ParserChar**, const ParserChar*, bool&, const std::pair<StringHash, ENUM__gl_polygon_mode_type>* enumMap, StringHash (*baseConversionFunc)( const ParserChar**, const ParserChar*, bool& ))
30412 )
30413 {
30414     return dataEnumEnd<ENUM__gl_polygon_mode_type, StringHash, ENUM__gl_polygon_mode_type__COUNT>(dataFunction, enumMap, baseConversionFunc, toEnumFunc);
30415 }
30416 
30417 //---------------------------------------------------------------------
toEnumDataPrefix_ENUM__gl_shade_model_type(const ParserChar * prefixedBuffer,const ParserChar * prefixedBufferEnd,const ParserChar ** buffer,const ParserChar * bufferEnd,bool & failed,const std::pair<StringHash,ENUM__gl_shade_model_type> * enumMap,StringHash (* baseConversionFunc)(const ParserChar **,const ParserChar *,bool &))30418 ENUM__gl_shade_model_type ColladaParserAutoGen14Private::toEnumDataPrefix_ENUM__gl_shade_model_type (
30419     const ParserChar* prefixedBuffer,
30420     const ParserChar* prefixedBufferEnd,
30421     const ParserChar** buffer,
30422     const ParserChar* bufferEnd,
30423     bool& failed,
30424     const std::pair<StringHash, ENUM__gl_shade_model_type>* enumMap,
30425     StringHash (*baseConversionFunc)( const ParserChar**, const ParserChar*, bool& )
30426 )
30427 {
30428     return toEnumDataPrefix<ENUM__gl_shade_model_type, StringHash, ENUM__gl_shade_model_type__COUNT, &toEnum_ENUM__gl_shade_model_type>(prefixedBuffer, prefixedBufferEnd, buffer, bufferEnd, failed, enumMap, baseConversionFunc);
30429 }
30430 
30431 //---------------------------------------------------------------------
characterData2EnumData_ENUM__gl_shade_model_type(const ParserChar * text,size_t textLength,bool (ColladaParserAutoGen14::* dataFunction)(const ENUM__gl_shade_model_type *,size_t),StringHash (* baseConversionFunc)(const ParserChar **,const ParserChar *,bool &))30432 bool ColladaParserAutoGen14Private::characterData2EnumData_ENUM__gl_shade_model_type (
30433     const ParserChar* text,
30434     size_t textLength,
30435     bool ( ColladaParserAutoGen14::*dataFunction )(const ENUM__gl_shade_model_type*, size_t ),
30436     StringHash (*baseConversionFunc)( const ParserChar**, const ParserChar*, bool& )
30437 )
30438 {
30439     return characterData2EnumData<ENUM__gl_shade_model_type, StringHash, ENUM__gl_shade_model_type__COUNT>(text, textLength, dataFunction, ENUM__gl_shade_model_typeMap, baseConversionFunc, &toEnum_ENUM__gl_shade_model_type, &ColladaParserAutoGen14Private::toEnumDataPrefix_ENUM__gl_shade_model_type);
30440 }
30441 
30442 //---------------------------------------------------------------------
dataEnumEnd_ENUM__gl_shade_model_type(bool (ColladaParserAutoGen14::* dataFunction)(const ENUM__gl_shade_model_type *,size_t),const std::pair<StringHash,ENUM__gl_shade_model_type> * enumMap,StringHash (* baseConversionFunc)(const ParserChar **,const ParserChar *,bool &),ENUM__gl_shade_model_type (* toEnumFunc)(const ParserChar **,const ParserChar *,bool &,const std::pair<StringHash,ENUM__gl_shade_model_type> * enumMap,StringHash (* baseConversionFunc)(const ParserChar **,const ParserChar *,bool &)))30443 bool ColladaParserAutoGen14Private::dataEnumEnd_ENUM__gl_shade_model_type (
30444     bool ( ColladaParserAutoGen14::*dataFunction )(const ENUM__gl_shade_model_type*, size_t ),
30445     const std::pair<StringHash, ENUM__gl_shade_model_type>* enumMap,
30446     StringHash (*baseConversionFunc)( const ParserChar**, const ParserChar*, bool& ),
30447     ENUM__gl_shade_model_type (*toEnumFunc)( const ParserChar**, const ParserChar*, bool&, const std::pair<StringHash, ENUM__gl_shade_model_type>* enumMap, StringHash (*baseConversionFunc)( const ParserChar**, const ParserChar*, bool& ))
30448 )
30449 {
30450     return dataEnumEnd<ENUM__gl_shade_model_type, StringHash, ENUM__gl_shade_model_type__COUNT>(dataFunction, enumMap, baseConversionFunc, toEnumFunc);
30451 }
30452 
30453 //---------------------------------------------------------------------
toUnionPrefix_UNION__gles_enumeration(const ParserChar * prefixedBuffer,const ParserChar * prefixedBufferEnd,const ParserChar ** buffer,const ParserChar * bufferEnd,bool & failed)30454 UNION__gles_enumeration ColladaParserAutoGen14Private::toUnionPrefix_UNION__gles_enumeration (
30455     const ParserChar* prefixedBuffer,
30456     const ParserChar* prefixedBufferEnd,
30457     const ParserChar** buffer,
30458     const ParserChar* bufferEnd,
30459     bool& failed
30460 )
30461 {
30462     return toDataPrefix<UNION__gles_enumeration>(prefixedBuffer, prefixedBufferEnd, buffer, bufferEnd, failed, toUnion_UNION__gles_enumeration);
30463 }
30464 
30465 //---------------------------------------------------------------------
30466 const profile_GLES__technique__AttributeData profile_GLES__technique__AttributeData::DEFAULT = {0, 0};
30467 
30468 //---------------------------------------------------------------------
_data__profile_GLES__technique(const ParserChar * text,size_t textLength)30469 bool ColladaParserAutoGen14Private::_data__profile_GLES__technique( const ParserChar* text, size_t textLength )
30470 {
30471     return true;
30472 }
30473 
30474 //---------------------------------------------------------------------
_preBegin__profile_GLES__technique(const ParserAttributes & attributes,void ** attributeDataPtr,void ** validationDataPtr)30475 bool ColladaParserAutoGen14Private::_preBegin__profile_GLES__technique( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
30476 {
30477 #ifdef GENERATEDSAXPARSER_VALIDATION
30478     if ( mValidate )
30479     {
30480 
30481         bool validationResult = _validateBegin__profile_GLES__technique( attributes, attributeDataPtr, validationDataPtr );
30482         if ( !validationResult ) return false;
30483 
30484     } // validation
30485 #endif
30486 
30487 profile_GLES__technique__AttributeData* attributeData = newData<profile_GLES__technique__AttributeData>(attributeDataPtr);
30488 
30489 const ParserChar** attributeArray = attributes.attributes;
30490 if ( attributeArray )
30491 {
30492     while (true)
30493     {
30494         const ParserChar * attribute = *attributeArray;
30495         if ( !attribute )
30496             break;
30497         StringHash hash = GeneratedSaxParser::Utils::calculateStringHash(attribute);
30498         attributeArray++;
30499         if ( !attributeArray )
30500             return false;
30501         const ParserChar* attributeValue = *attributeArray;
30502         attributeArray++;
30503 
30504 
30505     switch ( hash )
30506     {
30507     case HASH_ATTRIBUTE_id:
30508     {
30509 
30510 attributeData->id = attributeValue;
30511 
30512     break;
30513     }
30514     case HASH_ATTRIBUTE_sid:
30515     {
30516 
30517 attributeData->sid = attributeValue;
30518 #ifdef GENERATEDSAXPARSER_VALIDATION
30519     if ( mValidate )
30520     {
30521     ParserError::ErrorType simpleTypeValidationResult = validate__NCName(attributeData->sid, strlen(attributeData->sid));
30522     if (simpleTypeValidationResult != ParserError::SIMPLE_TYPE_VALIDATION_OK)
30523     {
30524         if( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL,
30525             simpleTypeValidationResult,
30526             HASH_ELEMENT_TECHNIQUE,
30527             HASH_ATTRIBUTE_sid,
30528             attributeValue) )
30529         {
30530             return false;
30531         }
30532     }
30533     } // validation
30534 #endif
30535 
30536     break;
30537     }
30538     default:
30539     {
30540         if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_UNKNOWN_ATTRIBUTE, HASH_ELEMENT_TECHNIQUE, attribute, attributeValue))
30541             {return false;}
30542     }
30543     }
30544     }
30545 }
30546 if ( !attributeData->sid )
30547 {
30548     if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_REQUIRED_ATTRIBUTE_MISSING, HASH_ELEMENT_TECHNIQUE, HASH_ATTRIBUTE_sid, 0 ) )
30549         return false;
30550 }
30551 
30552 
30553     return true;
30554 }
30555 
30556 //---------------------------------------------------------------------
_preEnd__profile_GLES__technique()30557 bool ColladaParserAutoGen14Private::_preEnd__profile_GLES__technique()
30558 {
30559 #ifdef GENERATEDSAXPARSER_VALIDATION
30560     if ( mValidate )
30561     {
30562 
30563         bool validationResult = _validateEnd__profile_GLES__technique();
30564         if ( !validationResult ) return false;
30565 
30566     } // validation
30567 #endif
30568 
30569     return true;
30570 }
30571 
30572 //---------------------------------------------------------------------
_freeAttributes__profile_GLES__technique(void * attributeData)30573 bool ColladaParserAutoGen14Private::_freeAttributes__profile_GLES__technique( void* attributeData )
30574 {
30575     profile_GLES__technique__AttributeData* typedAttributeData = static_cast<profile_GLES__technique__AttributeData*>(attributeData);
30576 
30577     typedAttributeData->~profile_GLES__technique__AttributeData();
30578 
30579     return true;
30580 }
30581 
30582 //---------------------------------------------------------------------
30583 const profile_GLES__technique__setparam__AttributeData profile_GLES__technique__setparam__AttributeData::DEFAULT = {0};
30584 
30585 //---------------------------------------------------------------------
_data__profile_GLES__technique__setparam(const ParserChar * text,size_t textLength)30586 bool ColladaParserAutoGen14Private::_data__profile_GLES__technique__setparam( const ParserChar* text, size_t textLength )
30587 {
30588     return true;
30589 }
30590 
30591 //---------------------------------------------------------------------
_preBegin__profile_GLES__technique__setparam(const ParserAttributes & attributes,void ** attributeDataPtr,void ** validationDataPtr)30592 bool ColladaParserAutoGen14Private::_preBegin__profile_GLES__technique__setparam( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
30593 {
30594 #ifdef GENERATEDSAXPARSER_VALIDATION
30595     if ( mValidate )
30596     {
30597 
30598         bool validationResult = _validateBegin__profile_GLES__technique__setparam( attributes, attributeDataPtr, validationDataPtr );
30599         if ( !validationResult ) return false;
30600 
30601     } // validation
30602 #endif
30603 
30604 profile_GLES__technique__setparam__AttributeData* attributeData = newData<profile_GLES__technique__setparam__AttributeData>(attributeDataPtr);
30605 
30606 const ParserChar** attributeArray = attributes.attributes;
30607 if ( attributeArray )
30608 {
30609     while (true)
30610     {
30611         const ParserChar * attribute = *attributeArray;
30612         if ( !attribute )
30613             break;
30614         StringHash hash = GeneratedSaxParser::Utils::calculateStringHash(attribute);
30615         attributeArray++;
30616         if ( !attributeArray )
30617             return false;
30618         const ParserChar* attributeValue = *attributeArray;
30619         attributeArray++;
30620 
30621 
30622     switch ( hash )
30623     {
30624     case HASH_ATTRIBUTE_ref:
30625     {
30626 
30627 attributeData->ref = attributeValue;
30628 #ifdef GENERATEDSAXPARSER_VALIDATION
30629     if ( mValidate )
30630     {
30631     ParserError::ErrorType simpleTypeValidationResult = validate__NCName(attributeData->ref, strlen(attributeData->ref));
30632     if (simpleTypeValidationResult != ParserError::SIMPLE_TYPE_VALIDATION_OK)
30633     {
30634         if( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL,
30635             simpleTypeValidationResult,
30636             HASH_ELEMENT_SETPARAM,
30637             HASH_ATTRIBUTE_ref,
30638             attributeValue) )
30639         {
30640             return false;
30641         }
30642     }
30643     } // validation
30644 #endif
30645 
30646     break;
30647     }
30648     default:
30649     {
30650         if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_UNKNOWN_ATTRIBUTE, HASH_ELEMENT_SETPARAM, attribute, attributeValue))
30651             {return false;}
30652     }
30653     }
30654     }
30655 }
30656 if ( !attributeData->ref )
30657 {
30658     if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_REQUIRED_ATTRIBUTE_MISSING, HASH_ELEMENT_SETPARAM, HASH_ATTRIBUTE_ref, 0 ) )
30659         return false;
30660 }
30661 
30662 
30663     return true;
30664 }
30665 
30666 //---------------------------------------------------------------------
_preEnd__profile_GLES__technique__setparam()30667 bool ColladaParserAutoGen14Private::_preEnd__profile_GLES__technique__setparam()
30668 {
30669 #ifdef GENERATEDSAXPARSER_VALIDATION
30670     if ( mValidate )
30671     {
30672 
30673         bool validationResult = _validateEnd__profile_GLES__technique__setparam();
30674         if ( !validationResult ) return false;
30675 
30676     } // validation
30677 #endif
30678 
30679     return true;
30680 }
30681 
30682 //---------------------------------------------------------------------
_freeAttributes__profile_GLES__technique__setparam(void * attributeData)30683 bool ColladaParserAutoGen14Private::_freeAttributes__profile_GLES__technique__setparam( void* attributeData )
30684 {
30685     profile_GLES__technique__setparam__AttributeData* typedAttributeData = static_cast<profile_GLES__technique__setparam__AttributeData*>(attributeData);
30686 
30687     typedAttributeData->~profile_GLES__technique__setparam__AttributeData();
30688 
30689     return true;
30690 }
30691 
30692 //---------------------------------------------------------------------
30693 const profile_GLES__technique__pass__AttributeData profile_GLES__technique__pass__AttributeData::DEFAULT = {0};
30694 
30695 //---------------------------------------------------------------------
_data__profile_GLES__technique__pass(const ParserChar * text,size_t textLength)30696 bool ColladaParserAutoGen14Private::_data__profile_GLES__technique__pass( const ParserChar* text, size_t textLength )
30697 {
30698     return true;
30699 }
30700 
30701 //---------------------------------------------------------------------
_preBegin__profile_GLES__technique__pass(const ParserAttributes & attributes,void ** attributeDataPtr,void ** validationDataPtr)30702 bool ColladaParserAutoGen14Private::_preBegin__profile_GLES__technique__pass( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
30703 {
30704 #ifdef GENERATEDSAXPARSER_VALIDATION
30705     if ( mValidate )
30706     {
30707 
30708         bool validationResult = _validateBegin__profile_GLES__technique__pass( attributes, attributeDataPtr, validationDataPtr );
30709         if ( !validationResult ) return false;
30710 
30711     } // validation
30712 #endif
30713 
30714 profile_GLES__technique__pass__AttributeData* attributeData = newData<profile_GLES__technique__pass__AttributeData>(attributeDataPtr);
30715 
30716 const ParserChar** attributeArray = attributes.attributes;
30717 if ( attributeArray )
30718 {
30719     while (true)
30720     {
30721         const ParserChar * attribute = *attributeArray;
30722         if ( !attribute )
30723             break;
30724         StringHash hash = GeneratedSaxParser::Utils::calculateStringHash(attribute);
30725         attributeArray++;
30726         if ( !attributeArray )
30727             return false;
30728         const ParserChar* attributeValue = *attributeArray;
30729         attributeArray++;
30730 
30731 
30732     switch ( hash )
30733     {
30734     case HASH_ATTRIBUTE_sid:
30735     {
30736 
30737 attributeData->sid = attributeValue;
30738 #ifdef GENERATEDSAXPARSER_VALIDATION
30739     if ( mValidate )
30740     {
30741     ParserError::ErrorType simpleTypeValidationResult = validate__NCName(attributeData->sid, strlen(attributeData->sid));
30742     if (simpleTypeValidationResult != ParserError::SIMPLE_TYPE_VALIDATION_OK)
30743     {
30744         if( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL,
30745             simpleTypeValidationResult,
30746             HASH_ELEMENT_PASS,
30747             HASH_ATTRIBUTE_sid,
30748             attributeValue) )
30749         {
30750             return false;
30751         }
30752     }
30753     } // validation
30754 #endif
30755 
30756     break;
30757     }
30758     default:
30759     {
30760         if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_UNKNOWN_ATTRIBUTE, HASH_ELEMENT_PASS, attribute, attributeValue))
30761             {return false;}
30762     }
30763     }
30764     }
30765 }
30766 
30767 
30768     return true;
30769 }
30770 
30771 //---------------------------------------------------------------------
_preEnd__profile_GLES__technique__pass()30772 bool ColladaParserAutoGen14Private::_preEnd__profile_GLES__technique__pass()
30773 {
30774 #ifdef GENERATEDSAXPARSER_VALIDATION
30775     if ( mValidate )
30776     {
30777 
30778         bool validationResult = _validateEnd__profile_GLES__technique__pass();
30779         if ( !validationResult ) return false;
30780 
30781     } // validation
30782 #endif
30783 
30784     return true;
30785 }
30786 
30787 //---------------------------------------------------------------------
_freeAttributes__profile_GLES__technique__pass(void * attributeData)30788 bool ColladaParserAutoGen14Private::_freeAttributes__profile_GLES__technique__pass( void* attributeData )
30789 {
30790     profile_GLES__technique__pass__AttributeData* typedAttributeData = static_cast<profile_GLES__technique__pass__AttributeData*>(attributeData);
30791 
30792     typedAttributeData->~profile_GLES__technique__pass__AttributeData();
30793 
30794     return true;
30795 }
30796 
30797 //---------------------------------------------------------------------
_data__color_target____gles_rendertarget_common(const ParserChar * text,size_t textLength)30798 bool ColladaParserAutoGen14Private::_data__color_target____gles_rendertarget_common( const ParserChar* text, size_t textLength )
30799 {
30800 if (!mLastIncompleteFragmentInCharacterData)
30801 {
30802     mLastIncompleteFragmentInCharacterData = (ParserChar*)mStackMemoryManager.newObject(textLength);
30803     memcpy(mLastIncompleteFragmentInCharacterData, text, textLength);
30804     mEndOfDataInCurrentObjectOnStack = mLastIncompleteFragmentInCharacterData + textLength;
30805 }
30806 else
30807 {
30808     ParserChar* tmp = (ParserChar*)mStackMemoryManager.growObject(textLength);
30809     if ( tmp != mLastIncompleteFragmentInCharacterData ) {
30810         mEndOfDataInCurrentObjectOnStack = (mEndOfDataInCurrentObjectOnStack - mLastIncompleteFragmentInCharacterData) + tmp;
30811         mLastIncompleteFragmentInCharacterData = tmp;
30812     }
30813     memcpy(mEndOfDataInCurrentObjectOnStack, text, textLength);
30814     mEndOfDataInCurrentObjectOnStack += textLength;
30815 }
30816 return true;
30817 }
30818 
30819 //---------------------------------------------------------------------
_preBegin__color_target____gles_rendertarget_common(const ParserAttributes & attributes,void ** attributeDataPtr,void ** validationDataPtr)30820 bool ColladaParserAutoGen14Private::_preBegin__color_target____gles_rendertarget_common( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
30821 {
30822 #ifdef GENERATEDSAXPARSER_VALIDATION
30823     if ( mValidate )
30824     {
30825 
30826         bool validationResult = _validateBegin__color_target____gles_rendertarget_common( attributes, attributeDataPtr, validationDataPtr );
30827         if ( !validationResult ) return false;
30828 
30829     } // validation
30830 #endif
30831 
30832     return true;
30833 }
30834 
30835 //---------------------------------------------------------------------
_preEnd__color_target____gles_rendertarget_common()30836 bool ColladaParserAutoGen14Private::_preEnd__color_target____gles_rendertarget_common()
30837 {
30838 #ifdef GENERATEDSAXPARSER_VALIDATION
30839     if ( mValidate )
30840     {
30841 
30842         bool validationResult = _validateEnd__color_target____gles_rendertarget_common();
30843         if ( !validationResult ) return false;
30844 
30845     } // validation
30846 #endif
30847 
30848 bool returnValue = true;
30849 #ifdef GENERATEDSAXPARSER_VALIDATION
30850     if ( mValidate )
30851     {
30852 ParserError::ErrorType simpleTypeValidationResult = validate__gles_rendertarget_common(mLastIncompleteFragmentInCharacterData, mEndOfDataInCurrentObjectOnStack - mLastIncompleteFragmentInCharacterData);
30853 if (simpleTypeValidationResult != ParserError::SIMPLE_TYPE_VALIDATION_OK)
30854 {
30855     ParserChar msg[21];
30856     Utils::fillErrorMsg(msg, mLastIncompleteFragmentInCharacterData, 20);
30857     if( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL,
30858         simpleTypeValidationResult,
30859         0,
30860         msg) )
30861     {
30862         returnValue =  false;
30863     }
30864 }
30865 if (!returnValue)
30866 {
30867     mStackMemoryManager.deleteObject();
30868     mLastIncompleteFragmentInCharacterData = 0;
30869     mEndOfDataInCurrentObjectOnStack = 0;
30870     return returnValue;
30871 }
30872     } // validation
30873 #endif
30874 returnValue = mImpl->data__color_target____gles_rendertarget_common(mLastIncompleteFragmentInCharacterData, mEndOfDataInCurrentObjectOnStack - mLastIncompleteFragmentInCharacterData);
30875 mStackMemoryManager.deleteObject();
30876 mLastIncompleteFragmentInCharacterData = 0;
30877 mEndOfDataInCurrentObjectOnStack = 0;
30878 return returnValue;
30879 
30880 }
30881 
30882 //---------------------------------------------------------------------
_freeAttributes__color_target____gles_rendertarget_common(void * attributeData)30883 bool ColladaParserAutoGen14Private::_freeAttributes__color_target____gles_rendertarget_common( void* attributeData )
30884 {
30885     return true;
30886 }
30887 
30888 //---------------------------------------------------------------------
_data__depth_target____gles_rendertarget_common(const ParserChar * text,size_t textLength)30889 bool ColladaParserAutoGen14Private::_data__depth_target____gles_rendertarget_common( const ParserChar* text, size_t textLength )
30890 {
30891 if (!mLastIncompleteFragmentInCharacterData)
30892 {
30893     mLastIncompleteFragmentInCharacterData = (ParserChar*)mStackMemoryManager.newObject(textLength);
30894     memcpy(mLastIncompleteFragmentInCharacterData, text, textLength);
30895     mEndOfDataInCurrentObjectOnStack = mLastIncompleteFragmentInCharacterData + textLength;
30896 }
30897 else
30898 {
30899     ParserChar* tmp = (ParserChar*)mStackMemoryManager.growObject(textLength);
30900     if ( tmp != mLastIncompleteFragmentInCharacterData ) {
30901         mEndOfDataInCurrentObjectOnStack = (mEndOfDataInCurrentObjectOnStack - mLastIncompleteFragmentInCharacterData) + tmp;
30902         mLastIncompleteFragmentInCharacterData = tmp;
30903     }
30904     memcpy(mEndOfDataInCurrentObjectOnStack, text, textLength);
30905     mEndOfDataInCurrentObjectOnStack += textLength;
30906 }
30907 return true;
30908 }
30909 
30910 //---------------------------------------------------------------------
_preBegin__depth_target____gles_rendertarget_common(const ParserAttributes & attributes,void ** attributeDataPtr,void ** validationDataPtr)30911 bool ColladaParserAutoGen14Private::_preBegin__depth_target____gles_rendertarget_common( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
30912 {
30913 #ifdef GENERATEDSAXPARSER_VALIDATION
30914     if ( mValidate )
30915     {
30916 
30917         bool validationResult = _validateBegin__depth_target____gles_rendertarget_common( attributes, attributeDataPtr, validationDataPtr );
30918         if ( !validationResult ) return false;
30919 
30920     } // validation
30921 #endif
30922 
30923     return true;
30924 }
30925 
30926 //---------------------------------------------------------------------
_preEnd__depth_target____gles_rendertarget_common()30927 bool ColladaParserAutoGen14Private::_preEnd__depth_target____gles_rendertarget_common()
30928 {
30929 #ifdef GENERATEDSAXPARSER_VALIDATION
30930     if ( mValidate )
30931     {
30932 
30933         bool validationResult = _validateEnd__depth_target____gles_rendertarget_common();
30934         if ( !validationResult ) return false;
30935 
30936     } // validation
30937 #endif
30938 
30939 bool returnValue = true;
30940 #ifdef GENERATEDSAXPARSER_VALIDATION
30941     if ( mValidate )
30942     {
30943 ParserError::ErrorType simpleTypeValidationResult = validate__gles_rendertarget_common(mLastIncompleteFragmentInCharacterData, mEndOfDataInCurrentObjectOnStack - mLastIncompleteFragmentInCharacterData);
30944 if (simpleTypeValidationResult != ParserError::SIMPLE_TYPE_VALIDATION_OK)
30945 {
30946     ParserChar msg[21];
30947     Utils::fillErrorMsg(msg, mLastIncompleteFragmentInCharacterData, 20);
30948     if( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL,
30949         simpleTypeValidationResult,
30950         0,
30951         msg) )
30952     {
30953         returnValue =  false;
30954     }
30955 }
30956 if (!returnValue)
30957 {
30958     mStackMemoryManager.deleteObject();
30959     mLastIncompleteFragmentInCharacterData = 0;
30960     mEndOfDataInCurrentObjectOnStack = 0;
30961     return returnValue;
30962 }
30963     } // validation
30964 #endif
30965 returnValue = mImpl->data__depth_target____gles_rendertarget_common(mLastIncompleteFragmentInCharacterData, mEndOfDataInCurrentObjectOnStack - mLastIncompleteFragmentInCharacterData);
30966 mStackMemoryManager.deleteObject();
30967 mLastIncompleteFragmentInCharacterData = 0;
30968 mEndOfDataInCurrentObjectOnStack = 0;
30969 return returnValue;
30970 
30971 }
30972 
30973 //---------------------------------------------------------------------
_freeAttributes__depth_target____gles_rendertarget_common(void * attributeData)30974 bool ColladaParserAutoGen14Private::_freeAttributes__depth_target____gles_rendertarget_common( void* attributeData )
30975 {
30976     return true;
30977 }
30978 
30979 //---------------------------------------------------------------------
_data__stencil_target____gles_rendertarget_common(const ParserChar * text,size_t textLength)30980 bool ColladaParserAutoGen14Private::_data__stencil_target____gles_rendertarget_common( const ParserChar* text, size_t textLength )
30981 {
30982 if (!mLastIncompleteFragmentInCharacterData)
30983 {
30984     mLastIncompleteFragmentInCharacterData = (ParserChar*)mStackMemoryManager.newObject(textLength);
30985     memcpy(mLastIncompleteFragmentInCharacterData, text, textLength);
30986     mEndOfDataInCurrentObjectOnStack = mLastIncompleteFragmentInCharacterData + textLength;
30987 }
30988 else
30989 {
30990     ParserChar* tmp = (ParserChar*)mStackMemoryManager.growObject(textLength);
30991     if ( tmp != mLastIncompleteFragmentInCharacterData ) {
30992         mEndOfDataInCurrentObjectOnStack = (mEndOfDataInCurrentObjectOnStack - mLastIncompleteFragmentInCharacterData) + tmp;
30993         mLastIncompleteFragmentInCharacterData = tmp;
30994     }
30995     memcpy(mEndOfDataInCurrentObjectOnStack, text, textLength);
30996     mEndOfDataInCurrentObjectOnStack += textLength;
30997 }
30998 return true;
30999 }
31000 
31001 //---------------------------------------------------------------------
_preBegin__stencil_target____gles_rendertarget_common(const ParserAttributes & attributes,void ** attributeDataPtr,void ** validationDataPtr)31002 bool ColladaParserAutoGen14Private::_preBegin__stencil_target____gles_rendertarget_common( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
31003 {
31004 #ifdef GENERATEDSAXPARSER_VALIDATION
31005     if ( mValidate )
31006     {
31007 
31008         bool validationResult = _validateBegin__stencil_target____gles_rendertarget_common( attributes, attributeDataPtr, validationDataPtr );
31009         if ( !validationResult ) return false;
31010 
31011     } // validation
31012 #endif
31013 
31014     return true;
31015 }
31016 
31017 //---------------------------------------------------------------------
_preEnd__stencil_target____gles_rendertarget_common()31018 bool ColladaParserAutoGen14Private::_preEnd__stencil_target____gles_rendertarget_common()
31019 {
31020 #ifdef GENERATEDSAXPARSER_VALIDATION
31021     if ( mValidate )
31022     {
31023 
31024         bool validationResult = _validateEnd__stencil_target____gles_rendertarget_common();
31025         if ( !validationResult ) return false;
31026 
31027     } // validation
31028 #endif
31029 
31030 bool returnValue = true;
31031 #ifdef GENERATEDSAXPARSER_VALIDATION
31032     if ( mValidate )
31033     {
31034 ParserError::ErrorType simpleTypeValidationResult = validate__gles_rendertarget_common(mLastIncompleteFragmentInCharacterData, mEndOfDataInCurrentObjectOnStack - mLastIncompleteFragmentInCharacterData);
31035 if (simpleTypeValidationResult != ParserError::SIMPLE_TYPE_VALIDATION_OK)
31036 {
31037     ParserChar msg[21];
31038     Utils::fillErrorMsg(msg, mLastIncompleteFragmentInCharacterData, 20);
31039     if( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL,
31040         simpleTypeValidationResult,
31041         0,
31042         msg) )
31043     {
31044         returnValue =  false;
31045     }
31046 }
31047 if (!returnValue)
31048 {
31049     mStackMemoryManager.deleteObject();
31050     mLastIncompleteFragmentInCharacterData = 0;
31051     mEndOfDataInCurrentObjectOnStack = 0;
31052     return returnValue;
31053 }
31054     } // validation
31055 #endif
31056 returnValue = mImpl->data__stencil_target____gles_rendertarget_common(mLastIncompleteFragmentInCharacterData, mEndOfDataInCurrentObjectOnStack - mLastIncompleteFragmentInCharacterData);
31057 mStackMemoryManager.deleteObject();
31058 mLastIncompleteFragmentInCharacterData = 0;
31059 mEndOfDataInCurrentObjectOnStack = 0;
31060 return returnValue;
31061 
31062 }
31063 
31064 //---------------------------------------------------------------------
_freeAttributes__stencil_target____gles_rendertarget_common(void * attributeData)31065 bool ColladaParserAutoGen14Private::_freeAttributes__stencil_target____gles_rendertarget_common( void* attributeData )
31066 {
31067     return true;
31068 }
31069 
31070 //---------------------------------------------------------------------
_data__color_clear____fx_color_common(const ParserChar * text,size_t textLength)31071 bool ColladaParserAutoGen14Private::_data__color_clear____fx_color_common( const ParserChar* text, size_t textLength )
31072 {
31073 #ifdef GENERATEDSAXPARSER_VALIDATION
31074     if ( mValidate )
31075     {
31076         border_color__ValidationData* validationData = (border_color__ValidationData*)mValidationDataStack.top();
31077         DISABLE_WARNING_UNUSED(validationData)
31078 return characterData2FloatData(text, textLength, &ColladaParserAutoGen14::data__color_clear____fx_color_common, &validate__fx_color_common__stream, &validationData->validationWholeSize, 0);
31079     }
31080     else
31081     {
31082 return characterData2FloatData(text, textLength, &ColladaParserAutoGen14::data__color_clear____fx_color_common);
31083     }
31084 #else
31085     {
31086 return characterData2FloatData(text, textLength, &ColladaParserAutoGen14::data__color_clear____fx_color_common);
31087     } // validation
31088 #endif
31089 
31090 }
31091 
31092 //---------------------------------------------------------------------
_preBegin__color_clear____fx_color_common(const ParserAttributes & attributes,void ** attributeDataPtr,void ** validationDataPtr)31093 bool ColladaParserAutoGen14Private::_preBegin__color_clear____fx_color_common( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
31094 {
31095 #ifdef GENERATEDSAXPARSER_VALIDATION
31096     if ( mValidate )
31097     {
31098 
31099         bool validationResult = _validateBegin__color_clear____fx_color_common( attributes, attributeDataPtr, validationDataPtr );
31100         if ( !validationResult ) return false;
31101 
31102     } // validation
31103 #endif
31104 
31105     return true;
31106 }
31107 
31108 //---------------------------------------------------------------------
_preEnd__color_clear____fx_color_common()31109 bool ColladaParserAutoGen14Private::_preEnd__color_clear____fx_color_common()
31110 {
31111 #ifdef GENERATEDSAXPARSER_VALIDATION
31112     if ( mValidate )
31113     {
31114 
31115         bool validationResult = _validateEnd__color_clear____fx_color_common();
31116         if ( !validationResult ) return false;
31117 
31118     } // validation
31119 #endif
31120 
31121 #ifdef GENERATEDSAXPARSER_VALIDATION
31122     if ( mValidate )
31123     {
31124         border_color__ValidationData* validationData = (border_color__ValidationData*)mValidationDataStack.top();
31125         DISABLE_WARNING_UNUSED(validationData)
31126 bool returnValue = floatDataEnd( &ColladaParserAutoGen14::data__color_clear____fx_color_common, &validate__fx_color_common__streamEnd, &validationData->validationWholeSize, 0 );
31127         ParserError::ErrorType simpleTypeValidationResult = validate__fx_color_common(0, (*(&validationData->validationWholeSize)));
31128         mValidationDataStack.deleteObject();
31129         if (simpleTypeValidationResult != ParserError::SIMPLE_TYPE_VALIDATION_OK)
31130         {
31131             if( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL,
31132                 simpleTypeValidationResult,
31133                 HASH_ELEMENT_COLOR_CLEAR,
31134                 (ParserChar*)0, 0 ) )
31135             {
31136                 return false;
31137             }
31138         }
31139         return returnValue;
31140     }
31141     else
31142     {
31143 return floatDataEnd( &ColladaParserAutoGen14::data__color_clear____fx_color_common );
31144     }
31145 #else
31146     {
31147 return floatDataEnd( &ColladaParserAutoGen14::data__color_clear____fx_color_common );
31148     } // validation
31149 #endif
31150 
31151 }
31152 
31153 //---------------------------------------------------------------------
_freeAttributes__color_clear____fx_color_common(void * attributeData)31154 bool ColladaParserAutoGen14Private::_freeAttributes__color_clear____fx_color_common( void* attributeData )
31155 {
31156     return true;
31157 }
31158 
31159 //---------------------------------------------------------------------
_data__depth_clear____float(const ParserChar * text,size_t textLength)31160 bool ColladaParserAutoGen14Private::_data__depth_clear____float( const ParserChar* text, size_t textLength )
31161 {
31162 if (!mLastIncompleteFragmentInCharacterData)
31163 {
31164     mLastIncompleteFragmentInCharacterData = (ParserChar*)mStackMemoryManager.newObject(textLength);
31165     memcpy(mLastIncompleteFragmentInCharacterData, text, textLength);
31166     mEndOfDataInCurrentObjectOnStack = mLastIncompleteFragmentInCharacterData + textLength;
31167 }
31168 else
31169 {
31170     ParserChar* tmp = (ParserChar*)mStackMemoryManager.growObject(textLength);
31171     if ( tmp != mLastIncompleteFragmentInCharacterData ) {
31172         mEndOfDataInCurrentObjectOnStack = (mEndOfDataInCurrentObjectOnStack - mLastIncompleteFragmentInCharacterData) + tmp;
31173         mLastIncompleteFragmentInCharacterData = tmp;
31174     }
31175     memcpy(mEndOfDataInCurrentObjectOnStack, text, textLength);
31176     mEndOfDataInCurrentObjectOnStack += textLength;
31177 }
31178 return true;
31179 }
31180 
31181 //---------------------------------------------------------------------
_preBegin__depth_clear____float(const ParserAttributes & attributes,void ** attributeDataPtr,void ** validationDataPtr)31182 bool ColladaParserAutoGen14Private::_preBegin__depth_clear____float( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
31183 {
31184 #ifdef GENERATEDSAXPARSER_VALIDATION
31185     if ( mValidate )
31186     {
31187 
31188         bool validationResult = _validateBegin__depth_clear____float( attributes, attributeDataPtr, validationDataPtr );
31189         if ( !validationResult ) return false;
31190 
31191     } // validation
31192 #endif
31193 
31194     return true;
31195 }
31196 
31197 //---------------------------------------------------------------------
_preEnd__depth_clear____float()31198 bool ColladaParserAutoGen14Private::_preEnd__depth_clear____float()
31199 {
31200 #ifdef GENERATEDSAXPARSER_VALIDATION
31201     if ( mValidate )
31202     {
31203 
31204         bool validationResult = _validateEnd__depth_clear____float();
31205         if ( !validationResult ) return false;
31206 
31207     } // validation
31208 #endif
31209 
31210 bool failed;
31211 const ParserChar* ptrForErr = mLastIncompleteFragmentInCharacterData;
31212 DISABLE_WARNING_UNUSED(ptrForErr)
31213 float parameter = GeneratedSaxParser::Utils::toFloat((const ParserChar**)&mLastIncompleteFragmentInCharacterData, mEndOfDataInCurrentObjectOnStack, failed);
31214 bool returnValue;
31215 if (!failed)
31216 {
31217     returnValue = mImpl->data__depth_clear____float(parameter);
31218 }
31219 else
31220     returnValue = !handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_TEXTDATA_PARSING_FAILED, HASH_ELEMENT_DEPTH_CLEAR, (const ParserChar*)0, mLastIncompleteFragmentInCharacterData);
31221 if (mLastIncompleteFragmentInCharacterData)
31222     mStackMemoryManager.deleteObject();
31223 mLastIncompleteFragmentInCharacterData = 0;
31224 mEndOfDataInCurrentObjectOnStack = 0;
31225 return returnValue;
31226 }
31227 
31228 //---------------------------------------------------------------------
_freeAttributes__depth_clear____float(void * attributeData)31229 bool ColladaParserAutoGen14Private::_freeAttributes__depth_clear____float( void* attributeData )
31230 {
31231     return true;
31232 }
31233 
31234 //---------------------------------------------------------------------
_data__stencil_clear____byte(const ParserChar * text,size_t textLength)31235 bool ColladaParserAutoGen14Private::_data__stencil_clear____byte( const ParserChar* text, size_t textLength )
31236 {
31237 if (!mLastIncompleteFragmentInCharacterData)
31238 {
31239     mLastIncompleteFragmentInCharacterData = (ParserChar*)mStackMemoryManager.newObject(textLength);
31240     memcpy(mLastIncompleteFragmentInCharacterData, text, textLength);
31241     mEndOfDataInCurrentObjectOnStack = mLastIncompleteFragmentInCharacterData + textLength;
31242 }
31243 else
31244 {
31245     ParserChar* tmp = (ParserChar*)mStackMemoryManager.growObject(textLength);
31246     if ( tmp != mLastIncompleteFragmentInCharacterData ) {
31247         mEndOfDataInCurrentObjectOnStack = (mEndOfDataInCurrentObjectOnStack - mLastIncompleteFragmentInCharacterData) + tmp;
31248         mLastIncompleteFragmentInCharacterData = tmp;
31249     }
31250     memcpy(mEndOfDataInCurrentObjectOnStack, text, textLength);
31251     mEndOfDataInCurrentObjectOnStack += textLength;
31252 }
31253 return true;
31254 }
31255 
31256 //---------------------------------------------------------------------
_preBegin__stencil_clear____byte(const ParserAttributes & attributes,void ** attributeDataPtr,void ** validationDataPtr)31257 bool ColladaParserAutoGen14Private::_preBegin__stencil_clear____byte( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
31258 {
31259 #ifdef GENERATEDSAXPARSER_VALIDATION
31260     if ( mValidate )
31261     {
31262 
31263         bool validationResult = _validateBegin__stencil_clear____byte( attributes, attributeDataPtr, validationDataPtr );
31264         if ( !validationResult ) return false;
31265 
31266     } // validation
31267 #endif
31268 
31269     return true;
31270 }
31271 
31272 //---------------------------------------------------------------------
_preEnd__stencil_clear____byte()31273 bool ColladaParserAutoGen14Private::_preEnd__stencil_clear____byte()
31274 {
31275 #ifdef GENERATEDSAXPARSER_VALIDATION
31276     if ( mValidate )
31277     {
31278 
31279         bool validationResult = _validateEnd__stencil_clear____byte();
31280         if ( !validationResult ) return false;
31281 
31282     } // validation
31283 #endif
31284 
31285 bool failed;
31286 const ParserChar* ptrForErr = mLastIncompleteFragmentInCharacterData;
31287 DISABLE_WARNING_UNUSED(ptrForErr)
31288 sint8 parameter = GeneratedSaxParser::Utils::toSint8((const ParserChar**)&mLastIncompleteFragmentInCharacterData, mEndOfDataInCurrentObjectOnStack, failed);
31289 bool returnValue;
31290 if (!failed)
31291 {
31292     returnValue = mImpl->data__stencil_clear____byte(parameter);
31293 }
31294 else
31295     returnValue = !handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_TEXTDATA_PARSING_FAILED, HASH_ELEMENT_STENCIL_CLEAR, (const ParserChar*)0, mLastIncompleteFragmentInCharacterData);
31296 if (mLastIncompleteFragmentInCharacterData)
31297     mStackMemoryManager.deleteObject();
31298 mLastIncompleteFragmentInCharacterData = 0;
31299 mEndOfDataInCurrentObjectOnStack = 0;
31300 return returnValue;
31301 }
31302 
31303 //---------------------------------------------------------------------
_freeAttributes__stencil_clear____byte(void * attributeData)31304 bool ColladaParserAutoGen14Private::_freeAttributes__stencil_clear____byte( void* attributeData )
31305 {
31306     return true;
31307 }
31308 
31309 //---------------------------------------------------------------------
_data__draw(const ParserChar * text,size_t textLength)31310 bool ColladaParserAutoGen14Private::_data__draw( const ParserChar* text, size_t textLength )
31311 {
31312 
31313 return mImpl->data__draw(text, textLength);
31314 }
31315 
31316 //---------------------------------------------------------------------
_preBegin__draw(const ParserAttributes & attributes,void ** attributeDataPtr,void ** validationDataPtr)31317 bool ColladaParserAutoGen14Private::_preBegin__draw( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
31318 {
31319 #ifdef GENERATEDSAXPARSER_VALIDATION
31320     if ( mValidate )
31321     {
31322 
31323         bool validationResult = _validateBegin__draw( attributes, attributeDataPtr, validationDataPtr );
31324         if ( !validationResult ) return false;
31325 
31326     } // validation
31327 #endif
31328 
31329     return true;
31330 }
31331 
31332 //---------------------------------------------------------------------
_preEnd__draw()31333 bool ColladaParserAutoGen14Private::_preEnd__draw()
31334 {
31335 #ifdef GENERATEDSAXPARSER_VALIDATION
31336     if ( mValidate )
31337     {
31338 
31339         bool validationResult = _validateEnd__draw();
31340         if ( !validationResult ) return false;
31341 
31342     } // validation
31343 #endif
31344 
31345     return true;
31346 }
31347 
31348 //---------------------------------------------------------------------
_freeAttributes__draw(void * attributeData)31349 bool ColladaParserAutoGen14Private::_freeAttributes__draw( void* attributeData )
31350 {
31351     return true;
31352 }
31353 
31354 //---------------------------------------------------------------------
_data__profile_GLES__technique__pass__alpha_func(const ParserChar * text,size_t textLength)31355 bool ColladaParserAutoGen14Private::_data__profile_GLES__technique__pass__alpha_func( const ParserChar* text, size_t textLength )
31356 {
31357     return true;
31358 }
31359 
31360 //---------------------------------------------------------------------
_preBegin__profile_GLES__technique__pass__alpha_func(const ParserAttributes & attributes,void ** attributeDataPtr,void ** validationDataPtr)31361 bool ColladaParserAutoGen14Private::_preBegin__profile_GLES__technique__pass__alpha_func( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
31362 {
31363 #ifdef GENERATEDSAXPARSER_VALIDATION
31364     if ( mValidate )
31365     {
31366 
31367         bool validationResult = _validateBegin__profile_GLES__technique__pass__alpha_func( attributes, attributeDataPtr, validationDataPtr );
31368         if ( !validationResult ) return false;
31369 
31370     } // validation
31371 #endif
31372 
31373     return true;
31374 }
31375 
31376 //---------------------------------------------------------------------
_preEnd__profile_GLES__technique__pass__alpha_func()31377 bool ColladaParserAutoGen14Private::_preEnd__profile_GLES__technique__pass__alpha_func()
31378 {
31379 #ifdef GENERATEDSAXPARSER_VALIDATION
31380     if ( mValidate )
31381     {
31382 
31383         bool validationResult = _validateEnd__profile_GLES__technique__pass__alpha_func();
31384         if ( !validationResult ) return false;
31385 
31386     } // validation
31387 #endif
31388 
31389     return true;
31390 }
31391 
31392 //---------------------------------------------------------------------
_freeAttributes__profile_GLES__technique__pass__alpha_func(void * attributeData)31393 bool ColladaParserAutoGen14Private::_freeAttributes__profile_GLES__technique__pass__alpha_func( void* attributeData )
31394 {
31395     return true;
31396 }
31397 
31398 //---------------------------------------------------------------------
31399 const profile_GLES__technique__pass__alpha_func__func__AttributeData profile_GLES__technique__pass__alpha_func__func__AttributeData::DEFAULT = {ENUM__gl_func_type__ALWAYS, 0};
31400 
31401 //---------------------------------------------------------------------
_data__profile_GLES__technique__pass__alpha_func__func(const ParserChar * text,size_t textLength)31402 bool ColladaParserAutoGen14Private::_data__profile_GLES__technique__pass__alpha_func__func( const ParserChar* text, size_t textLength )
31403 {
31404     return true;
31405 }
31406 
31407 //---------------------------------------------------------------------
_preBegin__profile_GLES__technique__pass__alpha_func__func(const ParserAttributes & attributes,void ** attributeDataPtr,void ** validationDataPtr)31408 bool ColladaParserAutoGen14Private::_preBegin__profile_GLES__technique__pass__alpha_func__func( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
31409 {
31410 #ifdef GENERATEDSAXPARSER_VALIDATION
31411     if ( mValidate )
31412     {
31413 
31414         bool validationResult = _validateBegin__profile_GLES__technique__pass__alpha_func__func( attributes, attributeDataPtr, validationDataPtr );
31415         if ( !validationResult ) return false;
31416 
31417     } // validation
31418 #endif
31419 
31420 profile_GLES__technique__pass__alpha_func__func__AttributeData* attributeData = newData<profile_GLES__technique__pass__alpha_func__func__AttributeData>(attributeDataPtr);
31421 
31422 const ParserChar** attributeArray = attributes.attributes;
31423 if ( attributeArray )
31424 {
31425     while (true)
31426     {
31427         const ParserChar * attribute = *attributeArray;
31428         if ( !attribute )
31429             break;
31430         StringHash hash = GeneratedSaxParser::Utils::calculateStringHash(attribute);
31431         attributeArray++;
31432         if ( !attributeArray )
31433             return false;
31434         const ParserChar* attributeValue = *attributeArray;
31435         attributeArray++;
31436 
31437 
31438     switch ( hash )
31439     {
31440     case HASH_ATTRIBUTE_value:
31441     {
31442 bool failed;
31443 attributeData->value = Utils::toEnum<ENUM__gl_func_type, StringHash, ENUM__gl_func_type__COUNT>(attributeValue, failed, ENUM__gl_func_typeMap, Utils::calculateStringHash);
31444 if ( failed && handleError(ParserError::SEVERITY_ERROR_NONCRITICAL,
31445         ParserError::ERROR_ATTRIBUTE_PARSING_FAILED,
31446         HASH_ELEMENT_FUNC,
31447         HASH_ATTRIBUTE_value,
31448         attributeValue))
31449 {
31450     return false;
31451 }
31452 
31453     break;
31454     }
31455     case HASH_ATTRIBUTE_param:
31456     {
31457 
31458 attributeData->param = attributeValue;
31459 #ifdef GENERATEDSAXPARSER_VALIDATION
31460     if ( mValidate )
31461     {
31462     ParserError::ErrorType simpleTypeValidationResult = validate__NCName(attributeData->param, strlen(attributeData->param));
31463     if (simpleTypeValidationResult != ParserError::SIMPLE_TYPE_VALIDATION_OK)
31464     {
31465         if( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL,
31466             simpleTypeValidationResult,
31467             HASH_ELEMENT_FUNC,
31468             HASH_ATTRIBUTE_param,
31469             attributeValue) )
31470         {
31471             return false;
31472         }
31473     }
31474     } // validation
31475 #endif
31476 
31477     break;
31478     }
31479     default:
31480     {
31481         if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_UNKNOWN_ATTRIBUTE, HASH_ELEMENT_FUNC, attribute, attributeValue))
31482             {return false;}
31483     }
31484     }
31485     }
31486 }
31487 
31488 
31489     return true;
31490 }
31491 
31492 //---------------------------------------------------------------------
_preEnd__profile_GLES__technique__pass__alpha_func__func()31493 bool ColladaParserAutoGen14Private::_preEnd__profile_GLES__technique__pass__alpha_func__func()
31494 {
31495 #ifdef GENERATEDSAXPARSER_VALIDATION
31496     if ( mValidate )
31497     {
31498 
31499         bool validationResult = _validateEnd__profile_GLES__technique__pass__alpha_func__func();
31500         if ( !validationResult ) return false;
31501 
31502     } // validation
31503 #endif
31504 
31505     return true;
31506 }
31507 
31508 //---------------------------------------------------------------------
_freeAttributes__profile_GLES__technique__pass__alpha_func__func(void * attributeData)31509 bool ColladaParserAutoGen14Private::_freeAttributes__profile_GLES__technique__pass__alpha_func__func( void* attributeData )
31510 {
31511     profile_GLES__technique__pass__alpha_func__func__AttributeData* typedAttributeData = static_cast<profile_GLES__technique__pass__alpha_func__func__AttributeData*>(attributeData);
31512 
31513     typedAttributeData->~profile_GLES__technique__pass__alpha_func__func__AttributeData();
31514 
31515     return true;
31516 }
31517 
31518 //---------------------------------------------------------------------
31519 const profile_GLES__technique__pass__alpha_func__value__AttributeData profile_GLES__technique__pass__alpha_func__value__AttributeData::DEFAULT = {0.0E1, 0};
31520 
31521 //---------------------------------------------------------------------
_data__profile_GLES__technique__pass__alpha_func__value(const ParserChar * text,size_t textLength)31522 bool ColladaParserAutoGen14Private::_data__profile_GLES__technique__pass__alpha_func__value( const ParserChar* text, size_t textLength )
31523 {
31524     return true;
31525 }
31526 
31527 //---------------------------------------------------------------------
_preBegin__profile_GLES__technique__pass__alpha_func__value(const ParserAttributes & attributes,void ** attributeDataPtr,void ** validationDataPtr)31528 bool ColladaParserAutoGen14Private::_preBegin__profile_GLES__technique__pass__alpha_func__value( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
31529 {
31530 #ifdef GENERATEDSAXPARSER_VALIDATION
31531     if ( mValidate )
31532     {
31533 
31534         bool validationResult = _validateBegin__profile_GLES__technique__pass__alpha_func__value( attributes, attributeDataPtr, validationDataPtr );
31535         if ( !validationResult ) return false;
31536 
31537     } // validation
31538 #endif
31539 
31540 profile_GLES__technique__pass__alpha_func__value__AttributeData* attributeData = newData<profile_GLES__technique__pass__alpha_func__value__AttributeData>(attributeDataPtr);
31541 
31542 const ParserChar** attributeArray = attributes.attributes;
31543 if ( attributeArray )
31544 {
31545     while (true)
31546     {
31547         const ParserChar * attribute = *attributeArray;
31548         if ( !attribute )
31549             break;
31550         StringHash hash = GeneratedSaxParser::Utils::calculateStringHash(attribute);
31551         attributeArray++;
31552         if ( !attributeArray )
31553             return false;
31554         const ParserChar* attributeValue = *attributeArray;
31555         attributeArray++;
31556 
31557 
31558     switch ( hash )
31559     {
31560     case HASH_ATTRIBUTE_value:
31561     {
31562 bool failed;
31563 attributeData->value = GeneratedSaxParser::Utils::toFloat(attributeValue, failed);
31564 if ( failed && handleError(ParserError::SEVERITY_ERROR_NONCRITICAL,
31565         ParserError::ERROR_ATTRIBUTE_PARSING_FAILED,
31566         HASH_ELEMENT_VALUE,
31567         HASH_ATTRIBUTE_value,
31568         attributeValue))
31569 {
31570     return false;
31571 }
31572 #ifdef GENERATEDSAXPARSER_VALIDATION
31573     if ( mValidate )
31574     {
31575     ParserError::ErrorType simpleTypeValidationResult = validate__gl_alpha_value_type(attributeData->value);
31576     if (simpleTypeValidationResult != ParserError::SIMPLE_TYPE_VALIDATION_OK)
31577     {
31578         if( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL,
31579             simpleTypeValidationResult,
31580             HASH_ELEMENT_VALUE,
31581             HASH_ATTRIBUTE_value,
31582             attributeValue) )
31583         {
31584             return false;
31585         }
31586     }
31587     } // validation
31588 #endif
31589 
31590     break;
31591     }
31592     case HASH_ATTRIBUTE_param:
31593     {
31594 
31595 attributeData->param = attributeValue;
31596 #ifdef GENERATEDSAXPARSER_VALIDATION
31597     if ( mValidate )
31598     {
31599     ParserError::ErrorType simpleTypeValidationResult = validate__NCName(attributeData->param, strlen(attributeData->param));
31600     if (simpleTypeValidationResult != ParserError::SIMPLE_TYPE_VALIDATION_OK)
31601     {
31602         if( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL,
31603             simpleTypeValidationResult,
31604             HASH_ELEMENT_VALUE,
31605             HASH_ATTRIBUTE_param,
31606             attributeValue) )
31607         {
31608             return false;
31609         }
31610     }
31611     } // validation
31612 #endif
31613 
31614     break;
31615     }
31616     default:
31617     {
31618         if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_UNKNOWN_ATTRIBUTE, HASH_ELEMENT_VALUE, attribute, attributeValue))
31619             {return false;}
31620     }
31621     }
31622     }
31623 }
31624 
31625 
31626     return true;
31627 }
31628 
31629 //---------------------------------------------------------------------
_preEnd__profile_GLES__technique__pass__alpha_func__value()31630 bool ColladaParserAutoGen14Private::_preEnd__profile_GLES__technique__pass__alpha_func__value()
31631 {
31632 #ifdef GENERATEDSAXPARSER_VALIDATION
31633     if ( mValidate )
31634     {
31635 
31636         bool validationResult = _validateEnd__profile_GLES__technique__pass__alpha_func__value();
31637         if ( !validationResult ) return false;
31638 
31639     } // validation
31640 #endif
31641 
31642     return true;
31643 }
31644 
31645 //---------------------------------------------------------------------
_freeAttributes__profile_GLES__technique__pass__alpha_func__value(void * attributeData)31646 bool ColladaParserAutoGen14Private::_freeAttributes__profile_GLES__technique__pass__alpha_func__value( void* attributeData )
31647 {
31648     profile_GLES__technique__pass__alpha_func__value__AttributeData* typedAttributeData = static_cast<profile_GLES__technique__pass__alpha_func__value__AttributeData*>(attributeData);
31649 
31650     typedAttributeData->~profile_GLES__technique__pass__alpha_func__value__AttributeData();
31651 
31652     return true;
31653 }
31654 
31655 //---------------------------------------------------------------------
_data__profile_GLES__technique__pass__blend_func(const ParserChar * text,size_t textLength)31656 bool ColladaParserAutoGen14Private::_data__profile_GLES__technique__pass__blend_func( const ParserChar* text, size_t textLength )
31657 {
31658     return true;
31659 }
31660 
31661 //---------------------------------------------------------------------
_preBegin__profile_GLES__technique__pass__blend_func(const ParserAttributes & attributes,void ** attributeDataPtr,void ** validationDataPtr)31662 bool ColladaParserAutoGen14Private::_preBegin__profile_GLES__technique__pass__blend_func( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
31663 {
31664 #ifdef GENERATEDSAXPARSER_VALIDATION
31665     if ( mValidate )
31666     {
31667 
31668         bool validationResult = _validateBegin__profile_GLES__technique__pass__blend_func( attributes, attributeDataPtr, validationDataPtr );
31669         if ( !validationResult ) return false;
31670 
31671     } // validation
31672 #endif
31673 
31674     return true;
31675 }
31676 
31677 //---------------------------------------------------------------------
_preEnd__profile_GLES__technique__pass__blend_func()31678 bool ColladaParserAutoGen14Private::_preEnd__profile_GLES__technique__pass__blend_func()
31679 {
31680 #ifdef GENERATEDSAXPARSER_VALIDATION
31681     if ( mValidate )
31682     {
31683 
31684         bool validationResult = _validateEnd__profile_GLES__technique__pass__blend_func();
31685         if ( !validationResult ) return false;
31686 
31687     } // validation
31688 #endif
31689 
31690     return true;
31691 }
31692 
31693 //---------------------------------------------------------------------
_freeAttributes__profile_GLES__technique__pass__blend_func(void * attributeData)31694 bool ColladaParserAutoGen14Private::_freeAttributes__profile_GLES__technique__pass__blend_func( void* attributeData )
31695 {
31696     return true;
31697 }
31698 
31699 //---------------------------------------------------------------------
31700 const profile_GLES__technique__pass__blend_func__src__AttributeData profile_GLES__technique__pass__blend_func__src__AttributeData::DEFAULT = {ENUM__gl_blend_type__ONE, 0};
31701 
31702 //---------------------------------------------------------------------
_data__profile_GLES__technique__pass__blend_func__src(const ParserChar * text,size_t textLength)31703 bool ColladaParserAutoGen14Private::_data__profile_GLES__technique__pass__blend_func__src( const ParserChar* text, size_t textLength )
31704 {
31705     return true;
31706 }
31707 
31708 //---------------------------------------------------------------------
_preBegin__profile_GLES__technique__pass__blend_func__src(const ParserAttributes & attributes,void ** attributeDataPtr,void ** validationDataPtr)31709 bool ColladaParserAutoGen14Private::_preBegin__profile_GLES__technique__pass__blend_func__src( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
31710 {
31711 #ifdef GENERATEDSAXPARSER_VALIDATION
31712     if ( mValidate )
31713     {
31714 
31715         bool validationResult = _validateBegin__profile_GLES__technique__pass__blend_func__src( attributes, attributeDataPtr, validationDataPtr );
31716         if ( !validationResult ) return false;
31717 
31718     } // validation
31719 #endif
31720 
31721 profile_GLES__technique__pass__blend_func__src__AttributeData* attributeData = newData<profile_GLES__technique__pass__blend_func__src__AttributeData>(attributeDataPtr);
31722 
31723 const ParserChar** attributeArray = attributes.attributes;
31724 if ( attributeArray )
31725 {
31726     while (true)
31727     {
31728         const ParserChar * attribute = *attributeArray;
31729         if ( !attribute )
31730             break;
31731         StringHash hash = GeneratedSaxParser::Utils::calculateStringHash(attribute);
31732         attributeArray++;
31733         if ( !attributeArray )
31734             return false;
31735         const ParserChar* attributeValue = *attributeArray;
31736         attributeArray++;
31737 
31738 
31739     switch ( hash )
31740     {
31741     case HASH_ATTRIBUTE_value:
31742     {
31743 bool failed;
31744 attributeData->value = Utils::toEnum<ENUM__gl_blend_type, StringHash, ENUM__gl_blend_type__COUNT>(attributeValue, failed, ENUM__gl_blend_typeMap, Utils::calculateStringHash);
31745 if ( failed && handleError(ParserError::SEVERITY_ERROR_NONCRITICAL,
31746         ParserError::ERROR_ATTRIBUTE_PARSING_FAILED,
31747         HASH_ELEMENT_SRC,
31748         HASH_ATTRIBUTE_value,
31749         attributeValue))
31750 {
31751     return false;
31752 }
31753 
31754     break;
31755     }
31756     case HASH_ATTRIBUTE_param:
31757     {
31758 
31759 attributeData->param = attributeValue;
31760 #ifdef GENERATEDSAXPARSER_VALIDATION
31761     if ( mValidate )
31762     {
31763     ParserError::ErrorType simpleTypeValidationResult = validate__NCName(attributeData->param, strlen(attributeData->param));
31764     if (simpleTypeValidationResult != ParserError::SIMPLE_TYPE_VALIDATION_OK)
31765     {
31766         if( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL,
31767             simpleTypeValidationResult,
31768             HASH_ELEMENT_SRC,
31769             HASH_ATTRIBUTE_param,
31770             attributeValue) )
31771         {
31772             return false;
31773         }
31774     }
31775     } // validation
31776 #endif
31777 
31778     break;
31779     }
31780     default:
31781     {
31782         if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_UNKNOWN_ATTRIBUTE, HASH_ELEMENT_SRC, attribute, attributeValue))
31783             {return false;}
31784     }
31785     }
31786     }
31787 }
31788 
31789 
31790     return true;
31791 }
31792 
31793 //---------------------------------------------------------------------
_preEnd__profile_GLES__technique__pass__blend_func__src()31794 bool ColladaParserAutoGen14Private::_preEnd__profile_GLES__technique__pass__blend_func__src()
31795 {
31796 #ifdef GENERATEDSAXPARSER_VALIDATION
31797     if ( mValidate )
31798     {
31799 
31800         bool validationResult = _validateEnd__profile_GLES__technique__pass__blend_func__src();
31801         if ( !validationResult ) return false;
31802 
31803     } // validation
31804 #endif
31805 
31806     return true;
31807 }
31808 
31809 //---------------------------------------------------------------------
_freeAttributes__profile_GLES__technique__pass__blend_func__src(void * attributeData)31810 bool ColladaParserAutoGen14Private::_freeAttributes__profile_GLES__technique__pass__blend_func__src( void* attributeData )
31811 {
31812     profile_GLES__technique__pass__blend_func__src__AttributeData* typedAttributeData = static_cast<profile_GLES__technique__pass__blend_func__src__AttributeData*>(attributeData);
31813 
31814     typedAttributeData->~profile_GLES__technique__pass__blend_func__src__AttributeData();
31815 
31816     return true;
31817 }
31818 
31819 //---------------------------------------------------------------------
31820 const profile_GLES__technique__pass__blend_func__dest__AttributeData profile_GLES__technique__pass__blend_func__dest__AttributeData::DEFAULT = {ENUM__gl_blend_type__ZERO, 0};
31821 
31822 //---------------------------------------------------------------------
_data__profile_GLES__technique__pass__blend_func__dest(const ParserChar * text,size_t textLength)31823 bool ColladaParserAutoGen14Private::_data__profile_GLES__technique__pass__blend_func__dest( const ParserChar* text, size_t textLength )
31824 {
31825     return true;
31826 }
31827 
31828 //---------------------------------------------------------------------
_preBegin__profile_GLES__technique__pass__blend_func__dest(const ParserAttributes & attributes,void ** attributeDataPtr,void ** validationDataPtr)31829 bool ColladaParserAutoGen14Private::_preBegin__profile_GLES__technique__pass__blend_func__dest( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
31830 {
31831 #ifdef GENERATEDSAXPARSER_VALIDATION
31832     if ( mValidate )
31833     {
31834 
31835         bool validationResult = _validateBegin__profile_GLES__technique__pass__blend_func__dest( attributes, attributeDataPtr, validationDataPtr );
31836         if ( !validationResult ) return false;
31837 
31838     } // validation
31839 #endif
31840 
31841 profile_GLES__technique__pass__blend_func__dest__AttributeData* attributeData = newData<profile_GLES__technique__pass__blend_func__dest__AttributeData>(attributeDataPtr);
31842 
31843 const ParserChar** attributeArray = attributes.attributes;
31844 if ( attributeArray )
31845 {
31846     while (true)
31847     {
31848         const ParserChar * attribute = *attributeArray;
31849         if ( !attribute )
31850             break;
31851         StringHash hash = GeneratedSaxParser::Utils::calculateStringHash(attribute);
31852         attributeArray++;
31853         if ( !attributeArray )
31854             return false;
31855         const ParserChar* attributeValue = *attributeArray;
31856         attributeArray++;
31857 
31858 
31859     switch ( hash )
31860     {
31861     case HASH_ATTRIBUTE_value:
31862     {
31863 bool failed;
31864 attributeData->value = Utils::toEnum<ENUM__gl_blend_type, StringHash, ENUM__gl_blend_type__COUNT>(attributeValue, failed, ENUM__gl_blend_typeMap, Utils::calculateStringHash);
31865 if ( failed && handleError(ParserError::SEVERITY_ERROR_NONCRITICAL,
31866         ParserError::ERROR_ATTRIBUTE_PARSING_FAILED,
31867         HASH_ELEMENT_DEST,
31868         HASH_ATTRIBUTE_value,
31869         attributeValue))
31870 {
31871     return false;
31872 }
31873 
31874     break;
31875     }
31876     case HASH_ATTRIBUTE_param:
31877     {
31878 
31879 attributeData->param = attributeValue;
31880 #ifdef GENERATEDSAXPARSER_VALIDATION
31881     if ( mValidate )
31882     {
31883     ParserError::ErrorType simpleTypeValidationResult = validate__NCName(attributeData->param, strlen(attributeData->param));
31884     if (simpleTypeValidationResult != ParserError::SIMPLE_TYPE_VALIDATION_OK)
31885     {
31886         if( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL,
31887             simpleTypeValidationResult,
31888             HASH_ELEMENT_DEST,
31889             HASH_ATTRIBUTE_param,
31890             attributeValue) )
31891         {
31892             return false;
31893         }
31894     }
31895     } // validation
31896 #endif
31897 
31898     break;
31899     }
31900     default:
31901     {
31902         if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_UNKNOWN_ATTRIBUTE, HASH_ELEMENT_DEST, attribute, attributeValue))
31903             {return false;}
31904     }
31905     }
31906     }
31907 }
31908 
31909 
31910     return true;
31911 }
31912 
31913 //---------------------------------------------------------------------
_preEnd__profile_GLES__technique__pass__blend_func__dest()31914 bool ColladaParserAutoGen14Private::_preEnd__profile_GLES__technique__pass__blend_func__dest()
31915 {
31916 #ifdef GENERATEDSAXPARSER_VALIDATION
31917     if ( mValidate )
31918     {
31919 
31920         bool validationResult = _validateEnd__profile_GLES__technique__pass__blend_func__dest();
31921         if ( !validationResult ) return false;
31922 
31923     } // validation
31924 #endif
31925 
31926     return true;
31927 }
31928 
31929 //---------------------------------------------------------------------
_freeAttributes__profile_GLES__technique__pass__blend_func__dest(void * attributeData)31930 bool ColladaParserAutoGen14Private::_freeAttributes__profile_GLES__technique__pass__blend_func__dest( void* attributeData )
31931 {
31932     profile_GLES__technique__pass__blend_func__dest__AttributeData* typedAttributeData = static_cast<profile_GLES__technique__pass__blend_func__dest__AttributeData*>(attributeData);
31933 
31934     typedAttributeData->~profile_GLES__technique__pass__blend_func__dest__AttributeData();
31935 
31936     return true;
31937 }
31938 
31939 //---------------------------------------------------------------------
31940 const profile_GLES__technique__pass__clear_color__AttributeData profile_GLES__technique__pass__clear_color__AttributeData::DEFAULT = {0, GeneratedSaxParser::XSList<float>(), 0};
31941 
31942 //---------------------------------------------------------------------
_data__profile_GLES__technique__pass__clear_color(const ParserChar * text,size_t textLength)31943 bool ColladaParserAutoGen14Private::_data__profile_GLES__technique__pass__clear_color( const ParserChar* text, size_t textLength )
31944 {
31945     return true;
31946 }
31947 
31948 //---------------------------------------------------------------------
_preBegin__profile_GLES__technique__pass__clear_color(const ParserAttributes & attributes,void ** attributeDataPtr,void ** validationDataPtr)31949 bool ColladaParserAutoGen14Private::_preBegin__profile_GLES__technique__pass__clear_color( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
31950 {
31951 #ifdef GENERATEDSAXPARSER_VALIDATION
31952     if ( mValidate )
31953     {
31954 
31955         bool validationResult = _validateBegin__profile_GLES__technique__pass__clear_color( attributes, attributeDataPtr, validationDataPtr );
31956         if ( !validationResult ) return false;
31957 
31958     } // validation
31959 #endif
31960 
31961 profile_GLES__technique__pass__clear_color__AttributeData* attributeData = newData<profile_GLES__technique__pass__clear_color__AttributeData>(attributeDataPtr);
31962 
31963 const ParserChar** attributeArray = attributes.attributes;
31964 if ( attributeArray )
31965 {
31966     while (true)
31967     {
31968         const ParserChar * attribute = *attributeArray;
31969         if ( !attribute )
31970             break;
31971         StringHash hash = GeneratedSaxParser::Utils::calculateStringHash(attribute);
31972         attributeArray++;
31973         if ( !attributeArray )
31974             return false;
31975         const ParserChar* attributeValue = *attributeArray;
31976         attributeArray++;
31977 
31978 
31979     switch ( hash )
31980     {
31981     case HASH_ATTRIBUTE_value:
31982     {
31983 bool failed;
31984 #ifdef GENERATEDSAXPARSER_VALIDATION
31985     if ( mValidate )
31986     {
31987 failed = !characterData2FloatList(attributeValue, attributeData->value, 0, HASH_ELEMENT_CLEAR_COLOR, HASH_ATTRIBUTE_value);
31988     }
31989     else
31990     {
31991 failed = !characterData2FloatList(attributeValue, attributeData->value);
31992     }
31993 #else
31994     {
31995 failed = !characterData2FloatList(attributeValue, attributeData->value);
31996     } // validation
31997 #endif
31998 if ( failed && handleError(ParserError::SEVERITY_ERROR_NONCRITICAL,
31999         ParserError::ERROR_ATTRIBUTE_PARSING_FAILED,
32000         HASH_ELEMENT_CLEAR_COLOR,
32001         HASH_ATTRIBUTE_value,
32002         attributeValue))
32003 {
32004     return false;
32005 }
32006 #ifdef GENERATEDSAXPARSER_VALIDATION
32007     if ( mValidate )
32008     {
32009     ParserError::ErrorType simpleTypeValidationResult = validate__float4(attributeData->value.data, attributeData->value.size);
32010     if (simpleTypeValidationResult != ParserError::SIMPLE_TYPE_VALIDATION_OK)
32011     {
32012         if( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL,
32013             simpleTypeValidationResult,
32014             HASH_ELEMENT_CLEAR_COLOR,
32015             HASH_ATTRIBUTE_value,
32016             attributeValue) )
32017         {
32018             return false;
32019         }
32020     }
32021     } // validation
32022 #endif
32023 
32024 if ( !failed )
32025     attributeData->present_attributes |= profile_GLES__technique__pass__clear_color__AttributeData::ATTRIBUTE_VALUE_PRESENT;
32026 
32027     break;
32028     }
32029     case HASH_ATTRIBUTE_param:
32030     {
32031 
32032 attributeData->param = attributeValue;
32033 #ifdef GENERATEDSAXPARSER_VALIDATION
32034     if ( mValidate )
32035     {
32036     ParserError::ErrorType simpleTypeValidationResult = validate__NCName(attributeData->param, strlen(attributeData->param));
32037     if (simpleTypeValidationResult != ParserError::SIMPLE_TYPE_VALIDATION_OK)
32038     {
32039         if( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL,
32040             simpleTypeValidationResult,
32041             HASH_ELEMENT_CLEAR_COLOR,
32042             HASH_ATTRIBUTE_param,
32043             attributeValue) )
32044         {
32045             return false;
32046         }
32047     }
32048     } // validation
32049 #endif
32050 
32051     break;
32052     }
32053     default:
32054     {
32055         if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_UNKNOWN_ATTRIBUTE, HASH_ELEMENT_CLEAR_COLOR, attribute, attributeValue))
32056             {return false;}
32057     }
32058     }
32059     }
32060 }
32061 if ((attributeData->present_attributes & profile_GLES__technique__pass__clear_color__AttributeData::ATTRIBUTE_VALUE_PRESENT) == 0)
32062 {
32063     attributeData->value = GeneratedSaxParser::XSList<float>();
32064 }
32065 
32066 
32067     return true;
32068 }
32069 
32070 //---------------------------------------------------------------------
_preEnd__profile_GLES__technique__pass__clear_color()32071 bool ColladaParserAutoGen14Private::_preEnd__profile_GLES__technique__pass__clear_color()
32072 {
32073 #ifdef GENERATEDSAXPARSER_VALIDATION
32074     if ( mValidate )
32075     {
32076 
32077         bool validationResult = _validateEnd__profile_GLES__technique__pass__clear_color();
32078         if ( !validationResult ) return false;
32079 
32080     } // validation
32081 #endif
32082 
32083     return true;
32084 }
32085 
32086 //---------------------------------------------------------------------
_freeAttributes__profile_GLES__technique__pass__clear_color(void * attributeData)32087 bool ColladaParserAutoGen14Private::_freeAttributes__profile_GLES__technique__pass__clear_color( void* attributeData )
32088 {
32089     profile_GLES__technique__pass__clear_color__AttributeData* typedAttributeData = static_cast<profile_GLES__technique__pass__clear_color__AttributeData*>(attributeData);
32090     if (typedAttributeData->value.data)
32091     {
32092         mStackMemoryManager.deleteObject();
32093     }
32094 
32095 
32096     typedAttributeData->~profile_GLES__technique__pass__clear_color__AttributeData();
32097 
32098     return true;
32099 }
32100 
32101 //---------------------------------------------------------------------
32102 const profile_GLES__technique__pass__clear_stencil__AttributeData profile_GLES__technique__pass__clear_stencil__AttributeData::DEFAULT = {0, 0, 0};
32103 
32104 //---------------------------------------------------------------------
_data__profile_GLES__technique__pass__clear_stencil(const ParserChar * text,size_t textLength)32105 bool ColladaParserAutoGen14Private::_data__profile_GLES__technique__pass__clear_stencil( const ParserChar* text, size_t textLength )
32106 {
32107     return true;
32108 }
32109 
32110 //---------------------------------------------------------------------
_preBegin__profile_GLES__technique__pass__clear_stencil(const ParserAttributes & attributes,void ** attributeDataPtr,void ** validationDataPtr)32111 bool ColladaParserAutoGen14Private::_preBegin__profile_GLES__technique__pass__clear_stencil( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
32112 {
32113 #ifdef GENERATEDSAXPARSER_VALIDATION
32114     if ( mValidate )
32115     {
32116 
32117         bool validationResult = _validateBegin__profile_GLES__technique__pass__clear_stencil( attributes, attributeDataPtr, validationDataPtr );
32118         if ( !validationResult ) return false;
32119 
32120     } // validation
32121 #endif
32122 
32123 profile_GLES__technique__pass__clear_stencil__AttributeData* attributeData = newData<profile_GLES__technique__pass__clear_stencil__AttributeData>(attributeDataPtr);
32124 
32125 const ParserChar** attributeArray = attributes.attributes;
32126 if ( attributeArray )
32127 {
32128     while (true)
32129     {
32130         const ParserChar * attribute = *attributeArray;
32131         if ( !attribute )
32132             break;
32133         StringHash hash = GeneratedSaxParser::Utils::calculateStringHash(attribute);
32134         attributeArray++;
32135         if ( !attributeArray )
32136             return false;
32137         const ParserChar* attributeValue = *attributeArray;
32138         attributeArray++;
32139 
32140 
32141     switch ( hash )
32142     {
32143     case HASH_ATTRIBUTE_value:
32144     {
32145 bool failed;
32146 attributeData->value = GeneratedSaxParser::Utils::toSint64(attributeValue, failed);
32147 if ( failed && handleError(ParserError::SEVERITY_ERROR_NONCRITICAL,
32148         ParserError::ERROR_ATTRIBUTE_PARSING_FAILED,
32149         HASH_ELEMENT_CLEAR_STENCIL,
32150         HASH_ATTRIBUTE_value,
32151         attributeValue))
32152 {
32153     return false;
32154 }
32155 if ( !failed )
32156     attributeData->present_attributes |= profile_GLES__technique__pass__clear_stencil__AttributeData::ATTRIBUTE_VALUE_PRESENT;
32157 
32158     break;
32159     }
32160     case HASH_ATTRIBUTE_param:
32161     {
32162 
32163 attributeData->param = attributeValue;
32164 #ifdef GENERATEDSAXPARSER_VALIDATION
32165     if ( mValidate )
32166     {
32167     ParserError::ErrorType simpleTypeValidationResult = validate__NCName(attributeData->param, strlen(attributeData->param));
32168     if (simpleTypeValidationResult != ParserError::SIMPLE_TYPE_VALIDATION_OK)
32169     {
32170         if( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL,
32171             simpleTypeValidationResult,
32172             HASH_ELEMENT_CLEAR_STENCIL,
32173             HASH_ATTRIBUTE_param,
32174             attributeValue) )
32175         {
32176             return false;
32177         }
32178     }
32179     } // validation
32180 #endif
32181 
32182     break;
32183     }
32184     default:
32185     {
32186         if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_UNKNOWN_ATTRIBUTE, HASH_ELEMENT_CLEAR_STENCIL, attribute, attributeValue))
32187             {return false;}
32188     }
32189     }
32190     }
32191 }
32192 
32193 
32194     return true;
32195 }
32196 
32197 //---------------------------------------------------------------------
_preEnd__profile_GLES__technique__pass__clear_stencil()32198 bool ColladaParserAutoGen14Private::_preEnd__profile_GLES__technique__pass__clear_stencil()
32199 {
32200 #ifdef GENERATEDSAXPARSER_VALIDATION
32201     if ( mValidate )
32202     {
32203 
32204         bool validationResult = _validateEnd__profile_GLES__technique__pass__clear_stencil();
32205         if ( !validationResult ) return false;
32206 
32207     } // validation
32208 #endif
32209 
32210     return true;
32211 }
32212 
32213 //---------------------------------------------------------------------
_freeAttributes__profile_GLES__technique__pass__clear_stencil(void * attributeData)32214 bool ColladaParserAutoGen14Private::_freeAttributes__profile_GLES__technique__pass__clear_stencil( void* attributeData )
32215 {
32216     profile_GLES__technique__pass__clear_stencil__AttributeData* typedAttributeData = static_cast<profile_GLES__technique__pass__clear_stencil__AttributeData*>(attributeData);
32217 
32218     typedAttributeData->~profile_GLES__technique__pass__clear_stencil__AttributeData();
32219 
32220     return true;
32221 }
32222 
32223 //---------------------------------------------------------------------
32224 const profile_GLES__technique__pass__clear_depth__AttributeData profile_GLES__technique__pass__clear_depth__AttributeData::DEFAULT = {0, 0, 0};
32225 
32226 //---------------------------------------------------------------------
_data__profile_GLES__technique__pass__clear_depth(const ParserChar * text,size_t textLength)32227 bool ColladaParserAutoGen14Private::_data__profile_GLES__technique__pass__clear_depth( const ParserChar* text, size_t textLength )
32228 {
32229     return true;
32230 }
32231 
32232 //---------------------------------------------------------------------
_preBegin__profile_GLES__technique__pass__clear_depth(const ParserAttributes & attributes,void ** attributeDataPtr,void ** validationDataPtr)32233 bool ColladaParserAutoGen14Private::_preBegin__profile_GLES__technique__pass__clear_depth( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
32234 {
32235 #ifdef GENERATEDSAXPARSER_VALIDATION
32236     if ( mValidate )
32237     {
32238 
32239         bool validationResult = _validateBegin__profile_GLES__technique__pass__clear_depth( attributes, attributeDataPtr, validationDataPtr );
32240         if ( !validationResult ) return false;
32241 
32242     } // validation
32243 #endif
32244 
32245 profile_GLES__technique__pass__clear_depth__AttributeData* attributeData = newData<profile_GLES__technique__pass__clear_depth__AttributeData>(attributeDataPtr);
32246 
32247 const ParserChar** attributeArray = attributes.attributes;
32248 if ( attributeArray )
32249 {
32250     while (true)
32251     {
32252         const ParserChar * attribute = *attributeArray;
32253         if ( !attribute )
32254             break;
32255         StringHash hash = GeneratedSaxParser::Utils::calculateStringHash(attribute);
32256         attributeArray++;
32257         if ( !attributeArray )
32258             return false;
32259         const ParserChar* attributeValue = *attributeArray;
32260         attributeArray++;
32261 
32262 
32263     switch ( hash )
32264     {
32265     case HASH_ATTRIBUTE_value:
32266     {
32267 bool failed;
32268 attributeData->value = GeneratedSaxParser::Utils::toFloat(attributeValue, failed);
32269 if ( failed && handleError(ParserError::SEVERITY_ERROR_NONCRITICAL,
32270         ParserError::ERROR_ATTRIBUTE_PARSING_FAILED,
32271         HASH_ELEMENT_CLEAR_DEPTH,
32272         HASH_ATTRIBUTE_value,
32273         attributeValue))
32274 {
32275     return false;
32276 }
32277 if ( !failed )
32278     attributeData->present_attributes |= profile_GLES__technique__pass__clear_depth__AttributeData::ATTRIBUTE_VALUE_PRESENT;
32279 
32280     break;
32281     }
32282     case HASH_ATTRIBUTE_param:
32283     {
32284 
32285 attributeData->param = attributeValue;
32286 #ifdef GENERATEDSAXPARSER_VALIDATION
32287     if ( mValidate )
32288     {
32289     ParserError::ErrorType simpleTypeValidationResult = validate__NCName(attributeData->param, strlen(attributeData->param));
32290     if (simpleTypeValidationResult != ParserError::SIMPLE_TYPE_VALIDATION_OK)
32291     {
32292         if( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL,
32293             simpleTypeValidationResult,
32294             HASH_ELEMENT_CLEAR_DEPTH,
32295             HASH_ATTRIBUTE_param,
32296             attributeValue) )
32297         {
32298             return false;
32299         }
32300     }
32301     } // validation
32302 #endif
32303 
32304     break;
32305     }
32306     default:
32307     {
32308         if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_UNKNOWN_ATTRIBUTE, HASH_ELEMENT_CLEAR_DEPTH, attribute, attributeValue))
32309             {return false;}
32310     }
32311     }
32312     }
32313 }
32314 
32315 
32316     return true;
32317 }
32318 
32319 //---------------------------------------------------------------------
_preEnd__profile_GLES__technique__pass__clear_depth()32320 bool ColladaParserAutoGen14Private::_preEnd__profile_GLES__technique__pass__clear_depth()
32321 {
32322 #ifdef GENERATEDSAXPARSER_VALIDATION
32323     if ( mValidate )
32324     {
32325 
32326         bool validationResult = _validateEnd__profile_GLES__technique__pass__clear_depth();
32327         if ( !validationResult ) return false;
32328 
32329     } // validation
32330 #endif
32331 
32332     return true;
32333 }
32334 
32335 //---------------------------------------------------------------------
_freeAttributes__profile_GLES__technique__pass__clear_depth(void * attributeData)32336 bool ColladaParserAutoGen14Private::_freeAttributes__profile_GLES__technique__pass__clear_depth( void* attributeData )
32337 {
32338     profile_GLES__technique__pass__clear_depth__AttributeData* typedAttributeData = static_cast<profile_GLES__technique__pass__clear_depth__AttributeData*>(attributeData);
32339 
32340     typedAttributeData->~profile_GLES__technique__pass__clear_depth__AttributeData();
32341 
32342     return true;
32343 }
32344 
32345 //---------------------------------------------------------------------
32346 const profile_GLES__technique__pass__clip_plane__AttributeData profile_GLES__technique__pass__clip_plane__AttributeData::DEFAULT = {0, GeneratedSaxParser::XSList<bool>(), 0, 0};
32347 
32348 //---------------------------------------------------------------------
_data__profile_GLES__technique__pass__clip_plane(const ParserChar * text,size_t textLength)32349 bool ColladaParserAutoGen14Private::_data__profile_GLES__technique__pass__clip_plane( const ParserChar* text, size_t textLength )
32350 {
32351     return true;
32352 }
32353 
32354 //---------------------------------------------------------------------
_preBegin__profile_GLES__technique__pass__clip_plane(const ParserAttributes & attributes,void ** attributeDataPtr,void ** validationDataPtr)32355 bool ColladaParserAutoGen14Private::_preBegin__profile_GLES__technique__pass__clip_plane( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
32356 {
32357 #ifdef GENERATEDSAXPARSER_VALIDATION
32358     if ( mValidate )
32359     {
32360 
32361         bool validationResult = _validateBegin__profile_GLES__technique__pass__clip_plane( attributes, attributeDataPtr, validationDataPtr );
32362         if ( !validationResult ) return false;
32363 
32364     } // validation
32365 #endif
32366 
32367 profile_GLES__technique__pass__clip_plane__AttributeData* attributeData = newData<profile_GLES__technique__pass__clip_plane__AttributeData>(attributeDataPtr);
32368 
32369 const ParserChar** attributeArray = attributes.attributes;
32370 if ( attributeArray )
32371 {
32372     while (true)
32373     {
32374         const ParserChar * attribute = *attributeArray;
32375         if ( !attribute )
32376             break;
32377         StringHash hash = GeneratedSaxParser::Utils::calculateStringHash(attribute);
32378         attributeArray++;
32379         if ( !attributeArray )
32380             return false;
32381         const ParserChar* attributeValue = *attributeArray;
32382         attributeArray++;
32383 
32384 
32385     switch ( hash )
32386     {
32387     case HASH_ATTRIBUTE_value:
32388     {
32389 bool failed;
32390 #ifdef GENERATEDSAXPARSER_VALIDATION
32391     if ( mValidate )
32392     {
32393 failed = !characterData2BoolList(attributeValue, attributeData->value, 0, HASH_ELEMENT_CLIP_PLANE, HASH_ATTRIBUTE_value);
32394     }
32395     else
32396     {
32397 failed = !characterData2BoolList(attributeValue, attributeData->value);
32398     }
32399 #else
32400     {
32401 failed = !characterData2BoolList(attributeValue, attributeData->value);
32402     } // validation
32403 #endif
32404 if ( failed && handleError(ParserError::SEVERITY_ERROR_NONCRITICAL,
32405         ParserError::ERROR_ATTRIBUTE_PARSING_FAILED,
32406         HASH_ELEMENT_CLIP_PLANE,
32407         HASH_ATTRIBUTE_value,
32408         attributeValue))
32409 {
32410     return false;
32411 }
32412 #ifdef GENERATEDSAXPARSER_VALIDATION
32413     if ( mValidate )
32414     {
32415     ParserError::ErrorType simpleTypeValidationResult = validate__bool4(attributeData->value.data, attributeData->value.size);
32416     if (simpleTypeValidationResult != ParserError::SIMPLE_TYPE_VALIDATION_OK)
32417     {
32418         if( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL,
32419             simpleTypeValidationResult,
32420             HASH_ELEMENT_CLIP_PLANE,
32421             HASH_ATTRIBUTE_value,
32422             attributeValue) )
32423         {
32424             return false;
32425         }
32426     }
32427     } // validation
32428 #endif
32429 
32430 if ( !failed )
32431     attributeData->present_attributes |= profile_GLES__technique__pass__clip_plane__AttributeData::ATTRIBUTE_VALUE_PRESENT;
32432 
32433     break;
32434     }
32435     case HASH_ATTRIBUTE_param:
32436     {
32437 
32438 attributeData->param = attributeValue;
32439 #ifdef GENERATEDSAXPARSER_VALIDATION
32440     if ( mValidate )
32441     {
32442     ParserError::ErrorType simpleTypeValidationResult = validate__NCName(attributeData->param, strlen(attributeData->param));
32443     if (simpleTypeValidationResult != ParserError::SIMPLE_TYPE_VALIDATION_OK)
32444     {
32445         if( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL,
32446             simpleTypeValidationResult,
32447             HASH_ELEMENT_CLIP_PLANE,
32448             HASH_ATTRIBUTE_param,
32449             attributeValue) )
32450         {
32451             return false;
32452         }
32453     }
32454     } // validation
32455 #endif
32456 
32457     break;
32458     }
32459     case HASH_ATTRIBUTE_index:
32460     {
32461 bool failed;
32462 attributeData->index = GeneratedSaxParser::Utils::toUint64(attributeValue, failed);
32463 if ( failed && handleError(ParserError::SEVERITY_ERROR_NONCRITICAL,
32464         ParserError::ERROR_ATTRIBUTE_PARSING_FAILED,
32465         HASH_ELEMENT_CLIP_PLANE,
32466         HASH_ATTRIBUTE_index,
32467         attributeValue))
32468 {
32469     return false;
32470 }
32471 #ifdef GENERATEDSAXPARSER_VALIDATION
32472     if ( mValidate )
32473     {
32474     ParserError::ErrorType simpleTypeValidationResult = validate__GLES_MAX_CLIP_PLANES_index(attributeData->index);
32475     if (simpleTypeValidationResult != ParserError::SIMPLE_TYPE_VALIDATION_OK)
32476     {
32477         if( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL,
32478             simpleTypeValidationResult,
32479             HASH_ELEMENT_CLIP_PLANE,
32480             HASH_ATTRIBUTE_index,
32481             attributeValue) )
32482         {
32483             return false;
32484         }
32485     }
32486     } // validation
32487 #endif
32488 if ( !failed )
32489     attributeData->present_attributes |= profile_GLES__technique__pass__clip_plane__AttributeData::ATTRIBUTE_INDEX_PRESENT;
32490 
32491     break;
32492     }
32493     default:
32494     {
32495         if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_UNKNOWN_ATTRIBUTE, HASH_ELEMENT_CLIP_PLANE, attribute, attributeValue))
32496             {return false;}
32497     }
32498     }
32499     }
32500 }
32501 if ((attributeData->present_attributes & profile_GLES__technique__pass__clip_plane__AttributeData::ATTRIBUTE_VALUE_PRESENT) == 0)
32502 {
32503     attributeData->value = GeneratedSaxParser::XSList<bool>();
32504 }
32505 if ( (attributeData->present_attributes & profile_GLES__technique__pass__clip_plane__AttributeData::ATTRIBUTE_INDEX_PRESENT) == 0 )
32506 {
32507     if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_REQUIRED_ATTRIBUTE_MISSING, HASH_ELEMENT_CLIP_PLANE, HASH_ATTRIBUTE_index, 0 ) )
32508         return false;
32509 }
32510 
32511 
32512     return true;
32513 }
32514 
32515 //---------------------------------------------------------------------
_preEnd__profile_GLES__technique__pass__clip_plane()32516 bool ColladaParserAutoGen14Private::_preEnd__profile_GLES__technique__pass__clip_plane()
32517 {
32518 #ifdef GENERATEDSAXPARSER_VALIDATION
32519     if ( mValidate )
32520     {
32521 
32522         bool validationResult = _validateEnd__profile_GLES__technique__pass__clip_plane();
32523         if ( !validationResult ) return false;
32524 
32525     } // validation
32526 #endif
32527 
32528     return true;
32529 }
32530 
32531 //---------------------------------------------------------------------
_freeAttributes__profile_GLES__technique__pass__clip_plane(void * attributeData)32532 bool ColladaParserAutoGen14Private::_freeAttributes__profile_GLES__technique__pass__clip_plane( void* attributeData )
32533 {
32534     profile_GLES__technique__pass__clip_plane__AttributeData* typedAttributeData = static_cast<profile_GLES__technique__pass__clip_plane__AttributeData*>(attributeData);
32535     if (typedAttributeData->value.data)
32536     {
32537         mStackMemoryManager.deleteObject();
32538     }
32539 
32540 
32541     typedAttributeData->~profile_GLES__technique__pass__clip_plane__AttributeData();
32542 
32543     return true;
32544 }
32545 
32546 //---------------------------------------------------------------------
32547 const profile_GLES__technique__pass__color_mask__AttributeData profile_GLES__technique__pass__color_mask__AttributeData::DEFAULT = {0, GeneratedSaxParser::XSList<bool>(), 0};
32548 
32549 //---------------------------------------------------------------------
_data__profile_GLES__technique__pass__color_mask(const ParserChar * text,size_t textLength)32550 bool ColladaParserAutoGen14Private::_data__profile_GLES__technique__pass__color_mask( const ParserChar* text, size_t textLength )
32551 {
32552     return true;
32553 }
32554 
32555 //---------------------------------------------------------------------
_preBegin__profile_GLES__technique__pass__color_mask(const ParserAttributes & attributes,void ** attributeDataPtr,void ** validationDataPtr)32556 bool ColladaParserAutoGen14Private::_preBegin__profile_GLES__technique__pass__color_mask( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
32557 {
32558 #ifdef GENERATEDSAXPARSER_VALIDATION
32559     if ( mValidate )
32560     {
32561 
32562         bool validationResult = _validateBegin__profile_GLES__technique__pass__color_mask( attributes, attributeDataPtr, validationDataPtr );
32563         if ( !validationResult ) return false;
32564 
32565     } // validation
32566 #endif
32567 
32568 profile_GLES__technique__pass__color_mask__AttributeData* attributeData = newData<profile_GLES__technique__pass__color_mask__AttributeData>(attributeDataPtr);
32569 
32570 const ParserChar** attributeArray = attributes.attributes;
32571 if ( attributeArray )
32572 {
32573     while (true)
32574     {
32575         const ParserChar * attribute = *attributeArray;
32576         if ( !attribute )
32577             break;
32578         StringHash hash = GeneratedSaxParser::Utils::calculateStringHash(attribute);
32579         attributeArray++;
32580         if ( !attributeArray )
32581             return false;
32582         const ParserChar* attributeValue = *attributeArray;
32583         attributeArray++;
32584 
32585 
32586     switch ( hash )
32587     {
32588     case HASH_ATTRIBUTE_value:
32589     {
32590 bool failed;
32591 #ifdef GENERATEDSAXPARSER_VALIDATION
32592     if ( mValidate )
32593     {
32594 failed = !characterData2BoolList(attributeValue, attributeData->value, 0, HASH_ELEMENT_COLOR_MASK, HASH_ATTRIBUTE_value);
32595     }
32596     else
32597     {
32598 failed = !characterData2BoolList(attributeValue, attributeData->value);
32599     }
32600 #else
32601     {
32602 failed = !characterData2BoolList(attributeValue, attributeData->value);
32603     } // validation
32604 #endif
32605 if ( failed && handleError(ParserError::SEVERITY_ERROR_NONCRITICAL,
32606         ParserError::ERROR_ATTRIBUTE_PARSING_FAILED,
32607         HASH_ELEMENT_COLOR_MASK,
32608         HASH_ATTRIBUTE_value,
32609         attributeValue))
32610 {
32611     return false;
32612 }
32613 #ifdef GENERATEDSAXPARSER_VALIDATION
32614     if ( mValidate )
32615     {
32616     ParserError::ErrorType simpleTypeValidationResult = validate__bool4(attributeData->value.data, attributeData->value.size);
32617     if (simpleTypeValidationResult != ParserError::SIMPLE_TYPE_VALIDATION_OK)
32618     {
32619         if( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL,
32620             simpleTypeValidationResult,
32621             HASH_ELEMENT_COLOR_MASK,
32622             HASH_ATTRIBUTE_value,
32623             attributeValue) )
32624         {
32625             return false;
32626         }
32627     }
32628     } // validation
32629 #endif
32630 
32631 if ( !failed )
32632     attributeData->present_attributes |= profile_GLES__technique__pass__color_mask__AttributeData::ATTRIBUTE_VALUE_PRESENT;
32633 
32634     break;
32635     }
32636     case HASH_ATTRIBUTE_param:
32637     {
32638 
32639 attributeData->param = attributeValue;
32640 #ifdef GENERATEDSAXPARSER_VALIDATION
32641     if ( mValidate )
32642     {
32643     ParserError::ErrorType simpleTypeValidationResult = validate__NCName(attributeData->param, strlen(attributeData->param));
32644     if (simpleTypeValidationResult != ParserError::SIMPLE_TYPE_VALIDATION_OK)
32645     {
32646         if( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL,
32647             simpleTypeValidationResult,
32648             HASH_ELEMENT_COLOR_MASK,
32649             HASH_ATTRIBUTE_param,
32650             attributeValue) )
32651         {
32652             return false;
32653         }
32654     }
32655     } // validation
32656 #endif
32657 
32658     break;
32659     }
32660     default:
32661     {
32662         if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_UNKNOWN_ATTRIBUTE, HASH_ELEMENT_COLOR_MASK, attribute, attributeValue))
32663             {return false;}
32664     }
32665     }
32666     }
32667 }
32668 if ((attributeData->present_attributes & profile_GLES__technique__pass__color_mask__AttributeData::ATTRIBUTE_VALUE_PRESENT) == 0)
32669 {
32670     attributeData->value = GeneratedSaxParser::XSList<bool>();
32671 }
32672 
32673 
32674     return true;
32675 }
32676 
32677 //---------------------------------------------------------------------
_preEnd__profile_GLES__technique__pass__color_mask()32678 bool ColladaParserAutoGen14Private::_preEnd__profile_GLES__technique__pass__color_mask()
32679 {
32680 #ifdef GENERATEDSAXPARSER_VALIDATION
32681     if ( mValidate )
32682     {
32683 
32684         bool validationResult = _validateEnd__profile_GLES__technique__pass__color_mask();
32685         if ( !validationResult ) return false;
32686 
32687     } // validation
32688 #endif
32689 
32690     return true;
32691 }
32692 
32693 //---------------------------------------------------------------------
_freeAttributes__profile_GLES__technique__pass__color_mask(void * attributeData)32694 bool ColladaParserAutoGen14Private::_freeAttributes__profile_GLES__technique__pass__color_mask( void* attributeData )
32695 {
32696     profile_GLES__technique__pass__color_mask__AttributeData* typedAttributeData = static_cast<profile_GLES__technique__pass__color_mask__AttributeData*>(attributeData);
32697     if (typedAttributeData->value.data)
32698     {
32699         mStackMemoryManager.deleteObject();
32700     }
32701 
32702 
32703     typedAttributeData->~profile_GLES__technique__pass__color_mask__AttributeData();
32704 
32705     return true;
32706 }
32707 
32708 //---------------------------------------------------------------------
32709 const profile_GLES__technique__pass__cull_face__AttributeData profile_GLES__technique__pass__cull_face__AttributeData::DEFAULT = {ENUM__gl_face_type__BACK, 0};
32710 
32711 //---------------------------------------------------------------------
_data__profile_GLES__technique__pass__cull_face(const ParserChar * text,size_t textLength)32712 bool ColladaParserAutoGen14Private::_data__profile_GLES__technique__pass__cull_face( const ParserChar* text, size_t textLength )
32713 {
32714     return true;
32715 }
32716 
32717 //---------------------------------------------------------------------
_preBegin__profile_GLES__technique__pass__cull_face(const ParserAttributes & attributes,void ** attributeDataPtr,void ** validationDataPtr)32718 bool ColladaParserAutoGen14Private::_preBegin__profile_GLES__technique__pass__cull_face( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
32719 {
32720 #ifdef GENERATEDSAXPARSER_VALIDATION
32721     if ( mValidate )
32722     {
32723 
32724         bool validationResult = _validateBegin__profile_GLES__technique__pass__cull_face( attributes, attributeDataPtr, validationDataPtr );
32725         if ( !validationResult ) return false;
32726 
32727     } // validation
32728 #endif
32729 
32730 profile_GLES__technique__pass__cull_face__AttributeData* attributeData = newData<profile_GLES__technique__pass__cull_face__AttributeData>(attributeDataPtr);
32731 
32732 const ParserChar** attributeArray = attributes.attributes;
32733 if ( attributeArray )
32734 {
32735     while (true)
32736     {
32737         const ParserChar * attribute = *attributeArray;
32738         if ( !attribute )
32739             break;
32740         StringHash hash = GeneratedSaxParser::Utils::calculateStringHash(attribute);
32741         attributeArray++;
32742         if ( !attributeArray )
32743             return false;
32744         const ParserChar* attributeValue = *attributeArray;
32745         attributeArray++;
32746 
32747 
32748     switch ( hash )
32749     {
32750     case HASH_ATTRIBUTE_value:
32751     {
32752 bool failed;
32753 attributeData->value = Utils::toEnum<ENUM__gl_face_type, StringHash, ENUM__gl_face_type__COUNT>(attributeValue, failed, ENUM__gl_face_typeMap, Utils::calculateStringHash);
32754 if ( failed && handleError(ParserError::SEVERITY_ERROR_NONCRITICAL,
32755         ParserError::ERROR_ATTRIBUTE_PARSING_FAILED,
32756         HASH_ELEMENT_CULL_FACE,
32757         HASH_ATTRIBUTE_value,
32758         attributeValue))
32759 {
32760     return false;
32761 }
32762 
32763     break;
32764     }
32765     case HASH_ATTRIBUTE_param:
32766     {
32767 
32768 attributeData->param = attributeValue;
32769 #ifdef GENERATEDSAXPARSER_VALIDATION
32770     if ( mValidate )
32771     {
32772     ParserError::ErrorType simpleTypeValidationResult = validate__NCName(attributeData->param, strlen(attributeData->param));
32773     if (simpleTypeValidationResult != ParserError::SIMPLE_TYPE_VALIDATION_OK)
32774     {
32775         if( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL,
32776             simpleTypeValidationResult,
32777             HASH_ELEMENT_CULL_FACE,
32778             HASH_ATTRIBUTE_param,
32779             attributeValue) )
32780         {
32781             return false;
32782         }
32783     }
32784     } // validation
32785 #endif
32786 
32787     break;
32788     }
32789     default:
32790     {
32791         if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_UNKNOWN_ATTRIBUTE, HASH_ELEMENT_CULL_FACE, attribute, attributeValue))
32792             {return false;}
32793     }
32794     }
32795     }
32796 }
32797 
32798 
32799     return true;
32800 }
32801 
32802 //---------------------------------------------------------------------
_preEnd__profile_GLES__technique__pass__cull_face()32803 bool ColladaParserAutoGen14Private::_preEnd__profile_GLES__technique__pass__cull_face()
32804 {
32805 #ifdef GENERATEDSAXPARSER_VALIDATION
32806     if ( mValidate )
32807     {
32808 
32809         bool validationResult = _validateEnd__profile_GLES__technique__pass__cull_face();
32810         if ( !validationResult ) return false;
32811 
32812     } // validation
32813 #endif
32814 
32815     return true;
32816 }
32817 
32818 //---------------------------------------------------------------------
_freeAttributes__profile_GLES__technique__pass__cull_face(void * attributeData)32819 bool ColladaParserAutoGen14Private::_freeAttributes__profile_GLES__technique__pass__cull_face( void* attributeData )
32820 {
32821     profile_GLES__technique__pass__cull_face__AttributeData* typedAttributeData = static_cast<profile_GLES__technique__pass__cull_face__AttributeData*>(attributeData);
32822 
32823     typedAttributeData->~profile_GLES__technique__pass__cull_face__AttributeData();
32824 
32825     return true;
32826 }
32827 
32828 //---------------------------------------------------------------------
32829 const profile_GLES__technique__pass__depth_func__AttributeData profile_GLES__technique__pass__depth_func__AttributeData::DEFAULT = {ENUM__gl_func_type__ALWAYS, 0};
32830 
32831 //---------------------------------------------------------------------
_data__profile_GLES__technique__pass__depth_func(const ParserChar * text,size_t textLength)32832 bool ColladaParserAutoGen14Private::_data__profile_GLES__technique__pass__depth_func( const ParserChar* text, size_t textLength )
32833 {
32834     return true;
32835 }
32836 
32837 //---------------------------------------------------------------------
_preBegin__profile_GLES__technique__pass__depth_func(const ParserAttributes & attributes,void ** attributeDataPtr,void ** validationDataPtr)32838 bool ColladaParserAutoGen14Private::_preBegin__profile_GLES__technique__pass__depth_func( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
32839 {
32840 #ifdef GENERATEDSAXPARSER_VALIDATION
32841     if ( mValidate )
32842     {
32843 
32844         bool validationResult = _validateBegin__profile_GLES__technique__pass__depth_func( attributes, attributeDataPtr, validationDataPtr );
32845         if ( !validationResult ) return false;
32846 
32847     } // validation
32848 #endif
32849 
32850 profile_GLES__technique__pass__depth_func__AttributeData* attributeData = newData<profile_GLES__technique__pass__depth_func__AttributeData>(attributeDataPtr);
32851 
32852 const ParserChar** attributeArray = attributes.attributes;
32853 if ( attributeArray )
32854 {
32855     while (true)
32856     {
32857         const ParserChar * attribute = *attributeArray;
32858         if ( !attribute )
32859             break;
32860         StringHash hash = GeneratedSaxParser::Utils::calculateStringHash(attribute);
32861         attributeArray++;
32862         if ( !attributeArray )
32863             return false;
32864         const ParserChar* attributeValue = *attributeArray;
32865         attributeArray++;
32866 
32867 
32868     switch ( hash )
32869     {
32870     case HASH_ATTRIBUTE_value:
32871     {
32872 bool failed;
32873 attributeData->value = Utils::toEnum<ENUM__gl_func_type, StringHash, ENUM__gl_func_type__COUNT>(attributeValue, failed, ENUM__gl_func_typeMap, Utils::calculateStringHash);
32874 if ( failed && handleError(ParserError::SEVERITY_ERROR_NONCRITICAL,
32875         ParserError::ERROR_ATTRIBUTE_PARSING_FAILED,
32876         HASH_ELEMENT_DEPTH_FUNC,
32877         HASH_ATTRIBUTE_value,
32878         attributeValue))
32879 {
32880     return false;
32881 }
32882 
32883     break;
32884     }
32885     case HASH_ATTRIBUTE_param:
32886     {
32887 
32888 attributeData->param = attributeValue;
32889 #ifdef GENERATEDSAXPARSER_VALIDATION
32890     if ( mValidate )
32891     {
32892     ParserError::ErrorType simpleTypeValidationResult = validate__NCName(attributeData->param, strlen(attributeData->param));
32893     if (simpleTypeValidationResult != ParserError::SIMPLE_TYPE_VALIDATION_OK)
32894     {
32895         if( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL,
32896             simpleTypeValidationResult,
32897             HASH_ELEMENT_DEPTH_FUNC,
32898             HASH_ATTRIBUTE_param,
32899             attributeValue) )
32900         {
32901             return false;
32902         }
32903     }
32904     } // validation
32905 #endif
32906 
32907     break;
32908     }
32909     default:
32910     {
32911         if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_UNKNOWN_ATTRIBUTE, HASH_ELEMENT_DEPTH_FUNC, attribute, attributeValue))
32912             {return false;}
32913     }
32914     }
32915     }
32916 }
32917 
32918 
32919     return true;
32920 }
32921 
32922 //---------------------------------------------------------------------
_preEnd__profile_GLES__technique__pass__depth_func()32923 bool ColladaParserAutoGen14Private::_preEnd__profile_GLES__technique__pass__depth_func()
32924 {
32925 #ifdef GENERATEDSAXPARSER_VALIDATION
32926     if ( mValidate )
32927     {
32928 
32929         bool validationResult = _validateEnd__profile_GLES__technique__pass__depth_func();
32930         if ( !validationResult ) return false;
32931 
32932     } // validation
32933 #endif
32934 
32935     return true;
32936 }
32937 
32938 //---------------------------------------------------------------------
_freeAttributes__profile_GLES__technique__pass__depth_func(void * attributeData)32939 bool ColladaParserAutoGen14Private::_freeAttributes__profile_GLES__technique__pass__depth_func( void* attributeData )
32940 {
32941     profile_GLES__technique__pass__depth_func__AttributeData* typedAttributeData = static_cast<profile_GLES__technique__pass__depth_func__AttributeData*>(attributeData);
32942 
32943     typedAttributeData->~profile_GLES__technique__pass__depth_func__AttributeData();
32944 
32945     return true;
32946 }
32947 
32948 //---------------------------------------------------------------------
32949 const profile_GLES__technique__pass__depth_mask__AttributeData profile_GLES__technique__pass__depth_mask__AttributeData::DEFAULT = {false, 0};
32950 
32951 //---------------------------------------------------------------------
_data__profile_GLES__technique__pass__depth_mask(const ParserChar * text,size_t textLength)32952 bool ColladaParserAutoGen14Private::_data__profile_GLES__technique__pass__depth_mask( const ParserChar* text, size_t textLength )
32953 {
32954     return true;
32955 }
32956 
32957 //---------------------------------------------------------------------
_preBegin__profile_GLES__technique__pass__depth_mask(const ParserAttributes & attributes,void ** attributeDataPtr,void ** validationDataPtr)32958 bool ColladaParserAutoGen14Private::_preBegin__profile_GLES__technique__pass__depth_mask( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
32959 {
32960 #ifdef GENERATEDSAXPARSER_VALIDATION
32961     if ( mValidate )
32962     {
32963 
32964         bool validationResult = _validateBegin__profile_GLES__technique__pass__depth_mask( attributes, attributeDataPtr, validationDataPtr );
32965         if ( !validationResult ) return false;
32966 
32967     } // validation
32968 #endif
32969 
32970 profile_GLES__technique__pass__depth_mask__AttributeData* attributeData = newData<profile_GLES__technique__pass__depth_mask__AttributeData>(attributeDataPtr);
32971 
32972 const ParserChar** attributeArray = attributes.attributes;
32973 if ( attributeArray )
32974 {
32975     while (true)
32976     {
32977         const ParserChar * attribute = *attributeArray;
32978         if ( !attribute )
32979             break;
32980         StringHash hash = GeneratedSaxParser::Utils::calculateStringHash(attribute);
32981         attributeArray++;
32982         if ( !attributeArray )
32983             return false;
32984         const ParserChar* attributeValue = *attributeArray;
32985         attributeArray++;
32986 
32987 
32988     switch ( hash )
32989     {
32990     case HASH_ATTRIBUTE_value:
32991     {
32992 bool failed;
32993 attributeData->value = GeneratedSaxParser::Utils::toBool(attributeValue, failed);
32994 if ( failed && handleError(ParserError::SEVERITY_ERROR_NONCRITICAL,
32995         ParserError::ERROR_ATTRIBUTE_PARSING_FAILED,
32996         HASH_ELEMENT_DEPTH_MASK,
32997         HASH_ATTRIBUTE_value,
32998         attributeValue))
32999 {
33000     return false;
33001 }
33002 
33003     break;
33004     }
33005     case HASH_ATTRIBUTE_param:
33006     {
33007 
33008 attributeData->param = attributeValue;
33009 #ifdef GENERATEDSAXPARSER_VALIDATION
33010     if ( mValidate )
33011     {
33012     ParserError::ErrorType simpleTypeValidationResult = validate__NCName(attributeData->param, strlen(attributeData->param));
33013     if (simpleTypeValidationResult != ParserError::SIMPLE_TYPE_VALIDATION_OK)
33014     {
33015         if( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL,
33016             simpleTypeValidationResult,
33017             HASH_ELEMENT_DEPTH_MASK,
33018             HASH_ATTRIBUTE_param,
33019             attributeValue) )
33020         {
33021             return false;
33022         }
33023     }
33024     } // validation
33025 #endif
33026 
33027     break;
33028     }
33029     default:
33030     {
33031         if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_UNKNOWN_ATTRIBUTE, HASH_ELEMENT_DEPTH_MASK, attribute, attributeValue))
33032             {return false;}
33033     }
33034     }
33035     }
33036 }
33037 
33038 
33039     return true;
33040 }
33041 
33042 //---------------------------------------------------------------------
_preEnd__profile_GLES__technique__pass__depth_mask()33043 bool ColladaParserAutoGen14Private::_preEnd__profile_GLES__technique__pass__depth_mask()
33044 {
33045 #ifdef GENERATEDSAXPARSER_VALIDATION
33046     if ( mValidate )
33047     {
33048 
33049         bool validationResult = _validateEnd__profile_GLES__technique__pass__depth_mask();
33050         if ( !validationResult ) return false;
33051 
33052     } // validation
33053 #endif
33054 
33055     return true;
33056 }
33057 
33058 //---------------------------------------------------------------------
_freeAttributes__profile_GLES__technique__pass__depth_mask(void * attributeData)33059 bool ColladaParserAutoGen14Private::_freeAttributes__profile_GLES__technique__pass__depth_mask( void* attributeData )
33060 {
33061     profile_GLES__technique__pass__depth_mask__AttributeData* typedAttributeData = static_cast<profile_GLES__technique__pass__depth_mask__AttributeData*>(attributeData);
33062 
33063     typedAttributeData->~profile_GLES__technique__pass__depth_mask__AttributeData();
33064 
33065     return true;
33066 }
33067 
33068 //---------------------------------------------------------------------
33069 const profile_GLES__technique__pass__depth_range__AttributeData profile_GLES__technique__pass__depth_range__AttributeData::DEFAULT = {0, GeneratedSaxParser::XSList<float>(), 0};
33070 
33071 //---------------------------------------------------------------------
_data__profile_GLES__technique__pass__depth_range(const ParserChar * text,size_t textLength)33072 bool ColladaParserAutoGen14Private::_data__profile_GLES__technique__pass__depth_range( const ParserChar* text, size_t textLength )
33073 {
33074     return true;
33075 }
33076 
33077 //---------------------------------------------------------------------
_preBegin__profile_GLES__technique__pass__depth_range(const ParserAttributes & attributes,void ** attributeDataPtr,void ** validationDataPtr)33078 bool ColladaParserAutoGen14Private::_preBegin__profile_GLES__technique__pass__depth_range( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
33079 {
33080 #ifdef GENERATEDSAXPARSER_VALIDATION
33081     if ( mValidate )
33082     {
33083 
33084         bool validationResult = _validateBegin__profile_GLES__technique__pass__depth_range( attributes, attributeDataPtr, validationDataPtr );
33085         if ( !validationResult ) return false;
33086 
33087     } // validation
33088 #endif
33089 
33090 profile_GLES__technique__pass__depth_range__AttributeData* attributeData = newData<profile_GLES__technique__pass__depth_range__AttributeData>(attributeDataPtr);
33091 
33092 const ParserChar** attributeArray = attributes.attributes;
33093 if ( attributeArray )
33094 {
33095     while (true)
33096     {
33097         const ParserChar * attribute = *attributeArray;
33098         if ( !attribute )
33099             break;
33100         StringHash hash = GeneratedSaxParser::Utils::calculateStringHash(attribute);
33101         attributeArray++;
33102         if ( !attributeArray )
33103             return false;
33104         const ParserChar* attributeValue = *attributeArray;
33105         attributeArray++;
33106 
33107 
33108     switch ( hash )
33109     {
33110     case HASH_ATTRIBUTE_value:
33111     {
33112 bool failed;
33113 #ifdef GENERATEDSAXPARSER_VALIDATION
33114     if ( mValidate )
33115     {
33116 failed = !characterData2FloatList(attributeValue, attributeData->value, 0, HASH_ELEMENT_DEPTH_RANGE, HASH_ATTRIBUTE_value);
33117     }
33118     else
33119     {
33120 failed = !characterData2FloatList(attributeValue, attributeData->value);
33121     }
33122 #else
33123     {
33124 failed = !characterData2FloatList(attributeValue, attributeData->value);
33125     } // validation
33126 #endif
33127 if ( failed && handleError(ParserError::SEVERITY_ERROR_NONCRITICAL,
33128         ParserError::ERROR_ATTRIBUTE_PARSING_FAILED,
33129         HASH_ELEMENT_DEPTH_RANGE,
33130         HASH_ATTRIBUTE_value,
33131         attributeValue))
33132 {
33133     return false;
33134 }
33135 #ifdef GENERATEDSAXPARSER_VALIDATION
33136     if ( mValidate )
33137     {
33138     ParserError::ErrorType simpleTypeValidationResult = validate__float2(attributeData->value.data, attributeData->value.size);
33139     if (simpleTypeValidationResult != ParserError::SIMPLE_TYPE_VALIDATION_OK)
33140     {
33141         if( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL,
33142             simpleTypeValidationResult,
33143             HASH_ELEMENT_DEPTH_RANGE,
33144             HASH_ATTRIBUTE_value,
33145             attributeValue) )
33146         {
33147             return false;
33148         }
33149     }
33150     } // validation
33151 #endif
33152 
33153 if ( !failed )
33154     attributeData->present_attributes |= profile_GLES__technique__pass__depth_range__AttributeData::ATTRIBUTE_VALUE_PRESENT;
33155 
33156     break;
33157     }
33158     case HASH_ATTRIBUTE_param:
33159     {
33160 
33161 attributeData->param = attributeValue;
33162 #ifdef GENERATEDSAXPARSER_VALIDATION
33163     if ( mValidate )
33164     {
33165     ParserError::ErrorType simpleTypeValidationResult = validate__NCName(attributeData->param, strlen(attributeData->param));
33166     if (simpleTypeValidationResult != ParserError::SIMPLE_TYPE_VALIDATION_OK)
33167     {
33168         if( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL,
33169             simpleTypeValidationResult,
33170             HASH_ELEMENT_DEPTH_RANGE,
33171             HASH_ATTRIBUTE_param,
33172             attributeValue) )
33173         {
33174             return false;
33175         }
33176     }
33177     } // validation
33178 #endif
33179 
33180     break;
33181     }
33182     default:
33183     {
33184         if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_UNKNOWN_ATTRIBUTE, HASH_ELEMENT_DEPTH_RANGE, attribute, attributeValue))
33185             {return false;}
33186     }
33187     }
33188     }
33189 }
33190 if ((attributeData->present_attributes & profile_GLES__technique__pass__depth_range__AttributeData::ATTRIBUTE_VALUE_PRESENT) == 0)
33191 {
33192     bool failed;
33193     failed = !characterData2FloatList("0.0E1 1.0E0", attributeData->value);
33194     if ( !failed )
33195     attributeData->present_attributes |= profile_GLES__technique__pass__depth_range__AttributeData::ATTRIBUTE_VALUE_PRESENT;
33196 }
33197 
33198 
33199     return true;
33200 }
33201 
33202 //---------------------------------------------------------------------
_preEnd__profile_GLES__technique__pass__depth_range()33203 bool ColladaParserAutoGen14Private::_preEnd__profile_GLES__technique__pass__depth_range()
33204 {
33205 #ifdef GENERATEDSAXPARSER_VALIDATION
33206     if ( mValidate )
33207     {
33208 
33209         bool validationResult = _validateEnd__profile_GLES__technique__pass__depth_range();
33210         if ( !validationResult ) return false;
33211 
33212     } // validation
33213 #endif
33214 
33215     return true;
33216 }
33217 
33218 //---------------------------------------------------------------------
_freeAttributes__profile_GLES__technique__pass__depth_range(void * attributeData)33219 bool ColladaParserAutoGen14Private::_freeAttributes__profile_GLES__technique__pass__depth_range( void* attributeData )
33220 {
33221     profile_GLES__technique__pass__depth_range__AttributeData* typedAttributeData = static_cast<profile_GLES__technique__pass__depth_range__AttributeData*>(attributeData);
33222     if (typedAttributeData->value.data)
33223     {
33224         mStackMemoryManager.deleteObject();
33225     }
33226 
33227 
33228     typedAttributeData->~profile_GLES__technique__pass__depth_range__AttributeData();
33229 
33230     return true;
33231 }
33232 
33233 //---------------------------------------------------------------------
33234 const profile_GLES__technique__pass__fog_color__AttributeData profile_GLES__technique__pass__fog_color__AttributeData::DEFAULT = {0, GeneratedSaxParser::XSList<float>(), 0};
33235 
33236 //---------------------------------------------------------------------
_data__profile_GLES__technique__pass__fog_color(const ParserChar * text,size_t textLength)33237 bool ColladaParserAutoGen14Private::_data__profile_GLES__technique__pass__fog_color( const ParserChar* text, size_t textLength )
33238 {
33239     return true;
33240 }
33241 
33242 //---------------------------------------------------------------------
_preBegin__profile_GLES__technique__pass__fog_color(const ParserAttributes & attributes,void ** attributeDataPtr,void ** validationDataPtr)33243 bool ColladaParserAutoGen14Private::_preBegin__profile_GLES__technique__pass__fog_color( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
33244 {
33245 #ifdef GENERATEDSAXPARSER_VALIDATION
33246     if ( mValidate )
33247     {
33248 
33249         bool validationResult = _validateBegin__profile_GLES__technique__pass__fog_color( attributes, attributeDataPtr, validationDataPtr );
33250         if ( !validationResult ) return false;
33251 
33252     } // validation
33253 #endif
33254 
33255 profile_GLES__technique__pass__fog_color__AttributeData* attributeData = newData<profile_GLES__technique__pass__fog_color__AttributeData>(attributeDataPtr);
33256 
33257 const ParserChar** attributeArray = attributes.attributes;
33258 if ( attributeArray )
33259 {
33260     while (true)
33261     {
33262         const ParserChar * attribute = *attributeArray;
33263         if ( !attribute )
33264             break;
33265         StringHash hash = GeneratedSaxParser::Utils::calculateStringHash(attribute);
33266         attributeArray++;
33267         if ( !attributeArray )
33268             return false;
33269         const ParserChar* attributeValue = *attributeArray;
33270         attributeArray++;
33271 
33272 
33273     switch ( hash )
33274     {
33275     case HASH_ATTRIBUTE_value:
33276     {
33277 bool failed;
33278 #ifdef GENERATEDSAXPARSER_VALIDATION
33279     if ( mValidate )
33280     {
33281 failed = !characterData2FloatList(attributeValue, attributeData->value, 0, HASH_ELEMENT_FOG_COLOR, HASH_ATTRIBUTE_value);
33282     }
33283     else
33284     {
33285 failed = !characterData2FloatList(attributeValue, attributeData->value);
33286     }
33287 #else
33288     {
33289 failed = !characterData2FloatList(attributeValue, attributeData->value);
33290     } // validation
33291 #endif
33292 if ( failed && handleError(ParserError::SEVERITY_ERROR_NONCRITICAL,
33293         ParserError::ERROR_ATTRIBUTE_PARSING_FAILED,
33294         HASH_ELEMENT_FOG_COLOR,
33295         HASH_ATTRIBUTE_value,
33296         attributeValue))
33297 {
33298     return false;
33299 }
33300 #ifdef GENERATEDSAXPARSER_VALIDATION
33301     if ( mValidate )
33302     {
33303     ParserError::ErrorType simpleTypeValidationResult = validate__float4(attributeData->value.data, attributeData->value.size);
33304     if (simpleTypeValidationResult != ParserError::SIMPLE_TYPE_VALIDATION_OK)
33305     {
33306         if( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL,
33307             simpleTypeValidationResult,
33308             HASH_ELEMENT_FOG_COLOR,
33309             HASH_ATTRIBUTE_value,
33310             attributeValue) )
33311         {
33312             return false;
33313         }
33314     }
33315     } // validation
33316 #endif
33317 
33318 if ( !failed )
33319     attributeData->present_attributes |= profile_GLES__technique__pass__fog_color__AttributeData::ATTRIBUTE_VALUE_PRESENT;
33320 
33321     break;
33322     }
33323     case HASH_ATTRIBUTE_param:
33324     {
33325 
33326 attributeData->param = attributeValue;
33327 #ifdef GENERATEDSAXPARSER_VALIDATION
33328     if ( mValidate )
33329     {
33330     ParserError::ErrorType simpleTypeValidationResult = validate__NCName(attributeData->param, strlen(attributeData->param));
33331     if (simpleTypeValidationResult != ParserError::SIMPLE_TYPE_VALIDATION_OK)
33332     {
33333         if( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL,
33334             simpleTypeValidationResult,
33335             HASH_ELEMENT_FOG_COLOR,
33336             HASH_ATTRIBUTE_param,
33337             attributeValue) )
33338         {
33339             return false;
33340         }
33341     }
33342     } // validation
33343 #endif
33344 
33345     break;
33346     }
33347     default:
33348     {
33349         if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_UNKNOWN_ATTRIBUTE, HASH_ELEMENT_FOG_COLOR, attribute, attributeValue))
33350             {return false;}
33351     }
33352     }
33353     }
33354 }
33355 if ((attributeData->present_attributes & profile_GLES__technique__pass__fog_color__AttributeData::ATTRIBUTE_VALUE_PRESENT) == 0)
33356 {
33357     bool failed;
33358     failed = !characterData2FloatList("0.0E1 0.0E1 0.0E1 0.0E1", attributeData->value);
33359     if ( !failed )
33360     attributeData->present_attributes |= profile_GLES__technique__pass__fog_color__AttributeData::ATTRIBUTE_VALUE_PRESENT;
33361 }
33362 
33363 
33364     return true;
33365 }
33366 
33367 //---------------------------------------------------------------------
_preEnd__profile_GLES__technique__pass__fog_color()33368 bool ColladaParserAutoGen14Private::_preEnd__profile_GLES__technique__pass__fog_color()
33369 {
33370 #ifdef GENERATEDSAXPARSER_VALIDATION
33371     if ( mValidate )
33372     {
33373 
33374         bool validationResult = _validateEnd__profile_GLES__technique__pass__fog_color();
33375         if ( !validationResult ) return false;
33376 
33377     } // validation
33378 #endif
33379 
33380     return true;
33381 }
33382 
33383 //---------------------------------------------------------------------
_freeAttributes__profile_GLES__technique__pass__fog_color(void * attributeData)33384 bool ColladaParserAutoGen14Private::_freeAttributes__profile_GLES__technique__pass__fog_color( void* attributeData )
33385 {
33386     profile_GLES__technique__pass__fog_color__AttributeData* typedAttributeData = static_cast<profile_GLES__technique__pass__fog_color__AttributeData*>(attributeData);
33387     if (typedAttributeData->value.data)
33388     {
33389         mStackMemoryManager.deleteObject();
33390     }
33391 
33392 
33393     typedAttributeData->~profile_GLES__technique__pass__fog_color__AttributeData();
33394 
33395     return true;
33396 }
33397 
33398 //---------------------------------------------------------------------
33399 const profile_GLES__technique__pass__fog_density__AttributeData profile_GLES__technique__pass__fog_density__AttributeData::DEFAULT = {1.0E0, 0};
33400 
33401 //---------------------------------------------------------------------
_data__profile_GLES__technique__pass__fog_density(const ParserChar * text,size_t textLength)33402 bool ColladaParserAutoGen14Private::_data__profile_GLES__technique__pass__fog_density( const ParserChar* text, size_t textLength )
33403 {
33404     return true;
33405 }
33406 
33407 //---------------------------------------------------------------------
_preBegin__profile_GLES__technique__pass__fog_density(const ParserAttributes & attributes,void ** attributeDataPtr,void ** validationDataPtr)33408 bool ColladaParserAutoGen14Private::_preBegin__profile_GLES__technique__pass__fog_density( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
33409 {
33410 #ifdef GENERATEDSAXPARSER_VALIDATION
33411     if ( mValidate )
33412     {
33413 
33414         bool validationResult = _validateBegin__profile_GLES__technique__pass__fog_density( attributes, attributeDataPtr, validationDataPtr );
33415         if ( !validationResult ) return false;
33416 
33417     } // validation
33418 #endif
33419 
33420 profile_GLES__technique__pass__fog_density__AttributeData* attributeData = newData<profile_GLES__technique__pass__fog_density__AttributeData>(attributeDataPtr);
33421 
33422 const ParserChar** attributeArray = attributes.attributes;
33423 if ( attributeArray )
33424 {
33425     while (true)
33426     {
33427         const ParserChar * attribute = *attributeArray;
33428         if ( !attribute )
33429             break;
33430         StringHash hash = GeneratedSaxParser::Utils::calculateStringHash(attribute);
33431         attributeArray++;
33432         if ( !attributeArray )
33433             return false;
33434         const ParserChar* attributeValue = *attributeArray;
33435         attributeArray++;
33436 
33437 
33438     switch ( hash )
33439     {
33440     case HASH_ATTRIBUTE_value:
33441     {
33442 bool failed;
33443 attributeData->value = GeneratedSaxParser::Utils::toFloat(attributeValue, failed);
33444 if ( failed && handleError(ParserError::SEVERITY_ERROR_NONCRITICAL,
33445         ParserError::ERROR_ATTRIBUTE_PARSING_FAILED,
33446         HASH_ELEMENT_FOG_DENSITY,
33447         HASH_ATTRIBUTE_value,
33448         attributeValue))
33449 {
33450     return false;
33451 }
33452 
33453     break;
33454     }
33455     case HASH_ATTRIBUTE_param:
33456     {
33457 
33458 attributeData->param = attributeValue;
33459 #ifdef GENERATEDSAXPARSER_VALIDATION
33460     if ( mValidate )
33461     {
33462     ParserError::ErrorType simpleTypeValidationResult = validate__NCName(attributeData->param, strlen(attributeData->param));
33463     if (simpleTypeValidationResult != ParserError::SIMPLE_TYPE_VALIDATION_OK)
33464     {
33465         if( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL,
33466             simpleTypeValidationResult,
33467             HASH_ELEMENT_FOG_DENSITY,
33468             HASH_ATTRIBUTE_param,
33469             attributeValue) )
33470         {
33471             return false;
33472         }
33473     }
33474     } // validation
33475 #endif
33476 
33477     break;
33478     }
33479     default:
33480     {
33481         if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_UNKNOWN_ATTRIBUTE, HASH_ELEMENT_FOG_DENSITY, attribute, attributeValue))
33482             {return false;}
33483     }
33484     }
33485     }
33486 }
33487 
33488 
33489     return true;
33490 }
33491 
33492 //---------------------------------------------------------------------
_preEnd__profile_GLES__technique__pass__fog_density()33493 bool ColladaParserAutoGen14Private::_preEnd__profile_GLES__technique__pass__fog_density()
33494 {
33495 #ifdef GENERATEDSAXPARSER_VALIDATION
33496     if ( mValidate )
33497     {
33498 
33499         bool validationResult = _validateEnd__profile_GLES__technique__pass__fog_density();
33500         if ( !validationResult ) return false;
33501 
33502     } // validation
33503 #endif
33504 
33505     return true;
33506 }
33507 
33508 //---------------------------------------------------------------------
_freeAttributes__profile_GLES__technique__pass__fog_density(void * attributeData)33509 bool ColladaParserAutoGen14Private::_freeAttributes__profile_GLES__technique__pass__fog_density( void* attributeData )
33510 {
33511     profile_GLES__technique__pass__fog_density__AttributeData* typedAttributeData = static_cast<profile_GLES__technique__pass__fog_density__AttributeData*>(attributeData);
33512 
33513     typedAttributeData->~profile_GLES__technique__pass__fog_density__AttributeData();
33514 
33515     return true;
33516 }
33517 
33518 //---------------------------------------------------------------------
33519 const profile_GLES__technique__pass__fog_mode__AttributeData profile_GLES__technique__pass__fog_mode__AttributeData::DEFAULT = {ENUM__gl_fog_type__EXP, 0};
33520 
33521 //---------------------------------------------------------------------
_data__profile_GLES__technique__pass__fog_mode(const ParserChar * text,size_t textLength)33522 bool ColladaParserAutoGen14Private::_data__profile_GLES__technique__pass__fog_mode( const ParserChar* text, size_t textLength )
33523 {
33524     return true;
33525 }
33526 
33527 //---------------------------------------------------------------------
_preBegin__profile_GLES__technique__pass__fog_mode(const ParserAttributes & attributes,void ** attributeDataPtr,void ** validationDataPtr)33528 bool ColladaParserAutoGen14Private::_preBegin__profile_GLES__technique__pass__fog_mode( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
33529 {
33530 #ifdef GENERATEDSAXPARSER_VALIDATION
33531     if ( mValidate )
33532     {
33533 
33534         bool validationResult = _validateBegin__profile_GLES__technique__pass__fog_mode( attributes, attributeDataPtr, validationDataPtr );
33535         if ( !validationResult ) return false;
33536 
33537     } // validation
33538 #endif
33539 
33540 profile_GLES__technique__pass__fog_mode__AttributeData* attributeData = newData<profile_GLES__technique__pass__fog_mode__AttributeData>(attributeDataPtr);
33541 
33542 const ParserChar** attributeArray = attributes.attributes;
33543 if ( attributeArray )
33544 {
33545     while (true)
33546     {
33547         const ParserChar * attribute = *attributeArray;
33548         if ( !attribute )
33549             break;
33550         StringHash hash = GeneratedSaxParser::Utils::calculateStringHash(attribute);
33551         attributeArray++;
33552         if ( !attributeArray )
33553             return false;
33554         const ParserChar* attributeValue = *attributeArray;
33555         attributeArray++;
33556 
33557 
33558     switch ( hash )
33559     {
33560     case HASH_ATTRIBUTE_value:
33561     {
33562 bool failed;
33563 attributeData->value = Utils::toEnum<ENUM__gl_fog_type, StringHash, ENUM__gl_fog_type__COUNT>(attributeValue, failed, ENUM__gl_fog_typeMap, Utils::calculateStringHash);
33564 if ( failed && handleError(ParserError::SEVERITY_ERROR_NONCRITICAL,
33565         ParserError::ERROR_ATTRIBUTE_PARSING_FAILED,
33566         HASH_ELEMENT_FOG_MODE,
33567         HASH_ATTRIBUTE_value,
33568         attributeValue))
33569 {
33570     return false;
33571 }
33572 
33573     break;
33574     }
33575     case HASH_ATTRIBUTE_param:
33576     {
33577 
33578 attributeData->param = attributeValue;
33579 #ifdef GENERATEDSAXPARSER_VALIDATION
33580     if ( mValidate )
33581     {
33582     ParserError::ErrorType simpleTypeValidationResult = validate__NCName(attributeData->param, strlen(attributeData->param));
33583     if (simpleTypeValidationResult != ParserError::SIMPLE_TYPE_VALIDATION_OK)
33584     {
33585         if( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL,
33586             simpleTypeValidationResult,
33587             HASH_ELEMENT_FOG_MODE,
33588             HASH_ATTRIBUTE_param,
33589             attributeValue) )
33590         {
33591             return false;
33592         }
33593     }
33594     } // validation
33595 #endif
33596 
33597     break;
33598     }
33599     default:
33600     {
33601         if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_UNKNOWN_ATTRIBUTE, HASH_ELEMENT_FOG_MODE, attribute, attributeValue))
33602             {return false;}
33603     }
33604     }
33605     }
33606 }
33607 
33608 
33609     return true;
33610 }
33611 
33612 //---------------------------------------------------------------------
_preEnd__profile_GLES__technique__pass__fog_mode()33613 bool ColladaParserAutoGen14Private::_preEnd__profile_GLES__technique__pass__fog_mode()
33614 {
33615 #ifdef GENERATEDSAXPARSER_VALIDATION
33616     if ( mValidate )
33617     {
33618 
33619         bool validationResult = _validateEnd__profile_GLES__technique__pass__fog_mode();
33620         if ( !validationResult ) return false;
33621 
33622     } // validation
33623 #endif
33624 
33625     return true;
33626 }
33627 
33628 //---------------------------------------------------------------------
_freeAttributes__profile_GLES__technique__pass__fog_mode(void * attributeData)33629 bool ColladaParserAutoGen14Private::_freeAttributes__profile_GLES__technique__pass__fog_mode( void* attributeData )
33630 {
33631     profile_GLES__technique__pass__fog_mode__AttributeData* typedAttributeData = static_cast<profile_GLES__technique__pass__fog_mode__AttributeData*>(attributeData);
33632 
33633     typedAttributeData->~profile_GLES__technique__pass__fog_mode__AttributeData();
33634 
33635     return true;
33636 }
33637 
33638 //---------------------------------------------------------------------
33639 const profile_GLES__technique__pass__fog_start__AttributeData profile_GLES__technique__pass__fog_start__AttributeData::DEFAULT = {0.0E1, 0};
33640 
33641 //---------------------------------------------------------------------
_data__profile_GLES__technique__pass__fog_start(const ParserChar * text,size_t textLength)33642 bool ColladaParserAutoGen14Private::_data__profile_GLES__technique__pass__fog_start( const ParserChar* text, size_t textLength )
33643 {
33644     return true;
33645 }
33646 
33647 //---------------------------------------------------------------------
_preBegin__profile_GLES__technique__pass__fog_start(const ParserAttributes & attributes,void ** attributeDataPtr,void ** validationDataPtr)33648 bool ColladaParserAutoGen14Private::_preBegin__profile_GLES__technique__pass__fog_start( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
33649 {
33650 #ifdef GENERATEDSAXPARSER_VALIDATION
33651     if ( mValidate )
33652     {
33653 
33654         bool validationResult = _validateBegin__profile_GLES__technique__pass__fog_start( attributes, attributeDataPtr, validationDataPtr );
33655         if ( !validationResult ) return false;
33656 
33657     } // validation
33658 #endif
33659 
33660 profile_GLES__technique__pass__fog_start__AttributeData* attributeData = newData<profile_GLES__technique__pass__fog_start__AttributeData>(attributeDataPtr);
33661 
33662 const ParserChar** attributeArray = attributes.attributes;
33663 if ( attributeArray )
33664 {
33665     while (true)
33666     {
33667         const ParserChar * attribute = *attributeArray;
33668         if ( !attribute )
33669             break;
33670         StringHash hash = GeneratedSaxParser::Utils::calculateStringHash(attribute);
33671         attributeArray++;
33672         if ( !attributeArray )
33673             return false;
33674         const ParserChar* attributeValue = *attributeArray;
33675         attributeArray++;
33676 
33677 
33678     switch ( hash )
33679     {
33680     case HASH_ATTRIBUTE_value:
33681     {
33682 bool failed;
33683 attributeData->value = GeneratedSaxParser::Utils::toFloat(attributeValue, failed);
33684 if ( failed && handleError(ParserError::SEVERITY_ERROR_NONCRITICAL,
33685         ParserError::ERROR_ATTRIBUTE_PARSING_FAILED,
33686         HASH_ELEMENT_FOG_START,
33687         HASH_ATTRIBUTE_value,
33688         attributeValue))
33689 {
33690     return false;
33691 }
33692 
33693     break;
33694     }
33695     case HASH_ATTRIBUTE_param:
33696     {
33697 
33698 attributeData->param = attributeValue;
33699 #ifdef GENERATEDSAXPARSER_VALIDATION
33700     if ( mValidate )
33701     {
33702     ParserError::ErrorType simpleTypeValidationResult = validate__NCName(attributeData->param, strlen(attributeData->param));
33703     if (simpleTypeValidationResult != ParserError::SIMPLE_TYPE_VALIDATION_OK)
33704     {
33705         if( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL,
33706             simpleTypeValidationResult,
33707             HASH_ELEMENT_FOG_START,
33708             HASH_ATTRIBUTE_param,
33709             attributeValue) )
33710         {
33711             return false;
33712         }
33713     }
33714     } // validation
33715 #endif
33716 
33717     break;
33718     }
33719     default:
33720     {
33721         if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_UNKNOWN_ATTRIBUTE, HASH_ELEMENT_FOG_START, attribute, attributeValue))
33722             {return false;}
33723     }
33724     }
33725     }
33726 }
33727 
33728 
33729     return true;
33730 }
33731 
33732 //---------------------------------------------------------------------
_preEnd__profile_GLES__technique__pass__fog_start()33733 bool ColladaParserAutoGen14Private::_preEnd__profile_GLES__technique__pass__fog_start()
33734 {
33735 #ifdef GENERATEDSAXPARSER_VALIDATION
33736     if ( mValidate )
33737     {
33738 
33739         bool validationResult = _validateEnd__profile_GLES__technique__pass__fog_start();
33740         if ( !validationResult ) return false;
33741 
33742     } // validation
33743 #endif
33744 
33745     return true;
33746 }
33747 
33748 //---------------------------------------------------------------------
_freeAttributes__profile_GLES__technique__pass__fog_start(void * attributeData)33749 bool ColladaParserAutoGen14Private::_freeAttributes__profile_GLES__technique__pass__fog_start( void* attributeData )
33750 {
33751     profile_GLES__technique__pass__fog_start__AttributeData* typedAttributeData = static_cast<profile_GLES__technique__pass__fog_start__AttributeData*>(attributeData);
33752 
33753     typedAttributeData->~profile_GLES__technique__pass__fog_start__AttributeData();
33754 
33755     return true;
33756 }
33757 
33758 //---------------------------------------------------------------------
33759 const profile_GLES__technique__pass__fog_end__AttributeData profile_GLES__technique__pass__fog_end__AttributeData::DEFAULT = {1.0E0, 0};
33760 
33761 //---------------------------------------------------------------------
_data__profile_GLES__technique__pass__fog_end(const ParserChar * text,size_t textLength)33762 bool ColladaParserAutoGen14Private::_data__profile_GLES__technique__pass__fog_end( const ParserChar* text, size_t textLength )
33763 {
33764     return true;
33765 }
33766 
33767 //---------------------------------------------------------------------
_preBegin__profile_GLES__technique__pass__fog_end(const ParserAttributes & attributes,void ** attributeDataPtr,void ** validationDataPtr)33768 bool ColladaParserAutoGen14Private::_preBegin__profile_GLES__technique__pass__fog_end( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
33769 {
33770 #ifdef GENERATEDSAXPARSER_VALIDATION
33771     if ( mValidate )
33772     {
33773 
33774         bool validationResult = _validateBegin__profile_GLES__technique__pass__fog_end( attributes, attributeDataPtr, validationDataPtr );
33775         if ( !validationResult ) return false;
33776 
33777     } // validation
33778 #endif
33779 
33780 profile_GLES__technique__pass__fog_end__AttributeData* attributeData = newData<profile_GLES__technique__pass__fog_end__AttributeData>(attributeDataPtr);
33781 
33782 const ParserChar** attributeArray = attributes.attributes;
33783 if ( attributeArray )
33784 {
33785     while (true)
33786     {
33787         const ParserChar * attribute = *attributeArray;
33788         if ( !attribute )
33789             break;
33790         StringHash hash = GeneratedSaxParser::Utils::calculateStringHash(attribute);
33791         attributeArray++;
33792         if ( !attributeArray )
33793             return false;
33794         const ParserChar* attributeValue = *attributeArray;
33795         attributeArray++;
33796 
33797 
33798     switch ( hash )
33799     {
33800     case HASH_ATTRIBUTE_value:
33801     {
33802 bool failed;
33803 attributeData->value = GeneratedSaxParser::Utils::toFloat(attributeValue, failed);
33804 if ( failed && handleError(ParserError::SEVERITY_ERROR_NONCRITICAL,
33805         ParserError::ERROR_ATTRIBUTE_PARSING_FAILED,
33806         HASH_ELEMENT_FOG_END,
33807         HASH_ATTRIBUTE_value,
33808         attributeValue))
33809 {
33810     return false;
33811 }
33812 
33813     break;
33814     }
33815     case HASH_ATTRIBUTE_param:
33816     {
33817 
33818 attributeData->param = attributeValue;
33819 #ifdef GENERATEDSAXPARSER_VALIDATION
33820     if ( mValidate )
33821     {
33822     ParserError::ErrorType simpleTypeValidationResult = validate__NCName(attributeData->param, strlen(attributeData->param));
33823     if (simpleTypeValidationResult != ParserError::SIMPLE_TYPE_VALIDATION_OK)
33824     {
33825         if( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL,
33826             simpleTypeValidationResult,
33827             HASH_ELEMENT_FOG_END,
33828             HASH_ATTRIBUTE_param,
33829             attributeValue) )
33830         {
33831             return false;
33832         }
33833     }
33834     } // validation
33835 #endif
33836 
33837     break;
33838     }
33839     default:
33840     {
33841         if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_UNKNOWN_ATTRIBUTE, HASH_ELEMENT_FOG_END, attribute, attributeValue))
33842             {return false;}
33843     }
33844     }
33845     }
33846 }
33847 
33848 
33849     return true;
33850 }
33851 
33852 //---------------------------------------------------------------------
_preEnd__profile_GLES__technique__pass__fog_end()33853 bool ColladaParserAutoGen14Private::_preEnd__profile_GLES__technique__pass__fog_end()
33854 {
33855 #ifdef GENERATEDSAXPARSER_VALIDATION
33856     if ( mValidate )
33857     {
33858 
33859         bool validationResult = _validateEnd__profile_GLES__technique__pass__fog_end();
33860         if ( !validationResult ) return false;
33861 
33862     } // validation
33863 #endif
33864 
33865     return true;
33866 }
33867 
33868 //---------------------------------------------------------------------
_freeAttributes__profile_GLES__technique__pass__fog_end(void * attributeData)33869 bool ColladaParserAutoGen14Private::_freeAttributes__profile_GLES__technique__pass__fog_end( void* attributeData )
33870 {
33871     profile_GLES__technique__pass__fog_end__AttributeData* typedAttributeData = static_cast<profile_GLES__technique__pass__fog_end__AttributeData*>(attributeData);
33872 
33873     typedAttributeData->~profile_GLES__technique__pass__fog_end__AttributeData();
33874 
33875     return true;
33876 }
33877 
33878 //---------------------------------------------------------------------
33879 const profile_GLES__technique__pass__front_face__AttributeData profile_GLES__technique__pass__front_face__AttributeData::DEFAULT = {ENUM__gl_front_face_type__CCW, 0};
33880 
33881 //---------------------------------------------------------------------
_data__profile_GLES__technique__pass__front_face(const ParserChar * text,size_t textLength)33882 bool ColladaParserAutoGen14Private::_data__profile_GLES__technique__pass__front_face( const ParserChar* text, size_t textLength )
33883 {
33884     return true;
33885 }
33886 
33887 //---------------------------------------------------------------------
_preBegin__profile_GLES__technique__pass__front_face(const ParserAttributes & attributes,void ** attributeDataPtr,void ** validationDataPtr)33888 bool ColladaParserAutoGen14Private::_preBegin__profile_GLES__technique__pass__front_face( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
33889 {
33890 #ifdef GENERATEDSAXPARSER_VALIDATION
33891     if ( mValidate )
33892     {
33893 
33894         bool validationResult = _validateBegin__profile_GLES__technique__pass__front_face( attributes, attributeDataPtr, validationDataPtr );
33895         if ( !validationResult ) return false;
33896 
33897     } // validation
33898 #endif
33899 
33900 profile_GLES__technique__pass__front_face__AttributeData* attributeData = newData<profile_GLES__technique__pass__front_face__AttributeData>(attributeDataPtr);
33901 
33902 const ParserChar** attributeArray = attributes.attributes;
33903 if ( attributeArray )
33904 {
33905     while (true)
33906     {
33907         const ParserChar * attribute = *attributeArray;
33908         if ( !attribute )
33909             break;
33910         StringHash hash = GeneratedSaxParser::Utils::calculateStringHash(attribute);
33911         attributeArray++;
33912         if ( !attributeArray )
33913             return false;
33914         const ParserChar* attributeValue = *attributeArray;
33915         attributeArray++;
33916 
33917 
33918     switch ( hash )
33919     {
33920     case HASH_ATTRIBUTE_value:
33921     {
33922 bool failed;
33923 attributeData->value = Utils::toEnum<ENUM__gl_front_face_type, StringHash, ENUM__gl_front_face_type__COUNT>(attributeValue, failed, ENUM__gl_front_face_typeMap, Utils::calculateStringHash);
33924 if ( failed && handleError(ParserError::SEVERITY_ERROR_NONCRITICAL,
33925         ParserError::ERROR_ATTRIBUTE_PARSING_FAILED,
33926         HASH_ELEMENT_FRONT_FACE,
33927         HASH_ATTRIBUTE_value,
33928         attributeValue))
33929 {
33930     return false;
33931 }
33932 
33933     break;
33934     }
33935     case HASH_ATTRIBUTE_param:
33936     {
33937 
33938 attributeData->param = attributeValue;
33939 #ifdef GENERATEDSAXPARSER_VALIDATION
33940     if ( mValidate )
33941     {
33942     ParserError::ErrorType simpleTypeValidationResult = validate__NCName(attributeData->param, strlen(attributeData->param));
33943     if (simpleTypeValidationResult != ParserError::SIMPLE_TYPE_VALIDATION_OK)
33944     {
33945         if( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL,
33946             simpleTypeValidationResult,
33947             HASH_ELEMENT_FRONT_FACE,
33948             HASH_ATTRIBUTE_param,
33949             attributeValue) )
33950         {
33951             return false;
33952         }
33953     }
33954     } // validation
33955 #endif
33956 
33957     break;
33958     }
33959     default:
33960     {
33961         if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_UNKNOWN_ATTRIBUTE, HASH_ELEMENT_FRONT_FACE, attribute, attributeValue))
33962             {return false;}
33963     }
33964     }
33965     }
33966 }
33967 
33968 
33969     return true;
33970 }
33971 
33972 //---------------------------------------------------------------------
_preEnd__profile_GLES__technique__pass__front_face()33973 bool ColladaParserAutoGen14Private::_preEnd__profile_GLES__technique__pass__front_face()
33974 {
33975 #ifdef GENERATEDSAXPARSER_VALIDATION
33976     if ( mValidate )
33977     {
33978 
33979         bool validationResult = _validateEnd__profile_GLES__technique__pass__front_face();
33980         if ( !validationResult ) return false;
33981 
33982     } // validation
33983 #endif
33984 
33985     return true;
33986 }
33987 
33988 //---------------------------------------------------------------------
_freeAttributes__profile_GLES__technique__pass__front_face(void * attributeData)33989 bool ColladaParserAutoGen14Private::_freeAttributes__profile_GLES__technique__pass__front_face( void* attributeData )
33990 {
33991     profile_GLES__technique__pass__front_face__AttributeData* typedAttributeData = static_cast<profile_GLES__technique__pass__front_face__AttributeData*>(attributeData);
33992 
33993     typedAttributeData->~profile_GLES__technique__pass__front_face__AttributeData();
33994 
33995     return true;
33996 }
33997 
33998 //---------------------------------------------------------------------
33999 const profile_GLES__technique__pass__texture_pipeline__AttributeData profile_GLES__technique__pass__texture_pipeline__AttributeData::DEFAULT = {0};
34000 
34001 //---------------------------------------------------------------------
_data__profile_GLES__technique__pass__texture_pipeline(const ParserChar * text,size_t textLength)34002 bool ColladaParserAutoGen14Private::_data__profile_GLES__technique__pass__texture_pipeline( const ParserChar* text, size_t textLength )
34003 {
34004     return true;
34005 }
34006 
34007 //---------------------------------------------------------------------
_preBegin__profile_GLES__technique__pass__texture_pipeline(const ParserAttributes & attributes,void ** attributeDataPtr,void ** validationDataPtr)34008 bool ColladaParserAutoGen14Private::_preBegin__profile_GLES__technique__pass__texture_pipeline( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
34009 {
34010 #ifdef GENERATEDSAXPARSER_VALIDATION
34011     if ( mValidate )
34012     {
34013 
34014         bool validationResult = _validateBegin__profile_GLES__technique__pass__texture_pipeline( attributes, attributeDataPtr, validationDataPtr );
34015         if ( !validationResult ) return false;
34016 
34017     } // validation
34018 #endif
34019 
34020 profile_GLES__technique__pass__texture_pipeline__AttributeData* attributeData = newData<profile_GLES__technique__pass__texture_pipeline__AttributeData>(attributeDataPtr);
34021 
34022 const ParserChar** attributeArray = attributes.attributes;
34023 if ( attributeArray )
34024 {
34025     while (true)
34026     {
34027         const ParserChar * attribute = *attributeArray;
34028         if ( !attribute )
34029             break;
34030         StringHash hash = GeneratedSaxParser::Utils::calculateStringHash(attribute);
34031         attributeArray++;
34032         if ( !attributeArray )
34033             return false;
34034         const ParserChar* attributeValue = *attributeArray;
34035         attributeArray++;
34036 
34037 
34038     switch ( hash )
34039     {
34040     case HASH_ATTRIBUTE_param:
34041     {
34042 
34043 attributeData->param = attributeValue;
34044 #ifdef GENERATEDSAXPARSER_VALIDATION
34045     if ( mValidate )
34046     {
34047     ParserError::ErrorType simpleTypeValidationResult = validate__NCName(attributeData->param, strlen(attributeData->param));
34048     if (simpleTypeValidationResult != ParserError::SIMPLE_TYPE_VALIDATION_OK)
34049     {
34050         if( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL,
34051             simpleTypeValidationResult,
34052             HASH_ELEMENT_TEXTURE_PIPELINE,
34053             HASH_ATTRIBUTE_param,
34054             attributeValue) )
34055         {
34056             return false;
34057         }
34058     }
34059     } // validation
34060 #endif
34061 
34062     break;
34063     }
34064     default:
34065     {
34066         if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_UNKNOWN_ATTRIBUTE, HASH_ELEMENT_TEXTURE_PIPELINE, attribute, attributeValue))
34067             {return false;}
34068     }
34069     }
34070     }
34071 }
34072 
34073 
34074     return true;
34075 }
34076 
34077 //---------------------------------------------------------------------
_preEnd__profile_GLES__technique__pass__texture_pipeline()34078 bool ColladaParserAutoGen14Private::_preEnd__profile_GLES__technique__pass__texture_pipeline()
34079 {
34080 #ifdef GENERATEDSAXPARSER_VALIDATION
34081     if ( mValidate )
34082     {
34083 
34084         bool validationResult = _validateEnd__profile_GLES__technique__pass__texture_pipeline();
34085         if ( !validationResult ) return false;
34086 
34087     } // validation
34088 #endif
34089 
34090     return true;
34091 }
34092 
34093 //---------------------------------------------------------------------
_freeAttributes__profile_GLES__technique__pass__texture_pipeline(void * attributeData)34094 bool ColladaParserAutoGen14Private::_freeAttributes__profile_GLES__technique__pass__texture_pipeline( void* attributeData )
34095 {
34096     profile_GLES__technique__pass__texture_pipeline__AttributeData* typedAttributeData = static_cast<profile_GLES__technique__pass__texture_pipeline__AttributeData*>(attributeData);
34097 
34098     typedAttributeData->~profile_GLES__technique__pass__texture_pipeline__AttributeData();
34099 
34100     return true;
34101 }
34102 
34103 //---------------------------------------------------------------------
_data__value____gles_texture_pipeline(const ParserChar * text,size_t textLength)34104 bool ColladaParserAutoGen14Private::_data__value____gles_texture_pipeline( const ParserChar* text, size_t textLength )
34105 {
34106     return true;
34107 }
34108 
34109 //---------------------------------------------------------------------
_preBegin__value____gles_texture_pipeline(const ParserAttributes & attributes,void ** attributeDataPtr,void ** validationDataPtr)34110 bool ColladaParserAutoGen14Private::_preBegin__value____gles_texture_pipeline( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
34111 {
34112 #ifdef GENERATEDSAXPARSER_VALIDATION
34113     if ( mValidate )
34114     {
34115 
34116         bool validationResult = _validateBegin__value____gles_texture_pipeline( attributes, attributeDataPtr, validationDataPtr );
34117         if ( !validationResult ) return false;
34118 
34119     } // validation
34120 #endif
34121 
34122 value____gles_texture_pipeline__AttributeData* attributeData = newData<value____gles_texture_pipeline__AttributeData>(attributeDataPtr);
34123 
34124 const ParserChar** attributeArray = attributes.attributes;
34125 if ( attributeArray )
34126 {
34127     while (true)
34128     {
34129         const ParserChar * attribute = *attributeArray;
34130         if ( !attribute )
34131             break;
34132         StringHash hash = GeneratedSaxParser::Utils::calculateStringHash(attribute);
34133         attributeArray++;
34134         if ( !attributeArray )
34135             return false;
34136         const ParserChar* attributeValue = *attributeArray;
34137         attributeArray++;
34138 
34139 
34140     switch ( hash )
34141     {
34142     case HASH_ATTRIBUTE_sid:
34143     {
34144 
34145 attributeData->sid = attributeValue;
34146 #ifdef GENERATEDSAXPARSER_VALIDATION
34147     if ( mValidate )
34148     {
34149     ParserError::ErrorType simpleTypeValidationResult = validate__NCName(attributeData->sid, strlen(attributeData->sid));
34150     if (simpleTypeValidationResult != ParserError::SIMPLE_TYPE_VALIDATION_OK)
34151     {
34152         if( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL,
34153             simpleTypeValidationResult,
34154             HASH_ELEMENT_VALUE,
34155             HASH_ATTRIBUTE_sid,
34156             attributeValue) )
34157         {
34158             return false;
34159         }
34160     }
34161     } // validation
34162 #endif
34163 
34164     break;
34165     }
34166     default:
34167     {
34168         if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_UNKNOWN_ATTRIBUTE, HASH_ELEMENT_VALUE, attribute, attributeValue))
34169             {return false;}
34170     }
34171     }
34172     }
34173 }
34174 
34175 
34176     return true;
34177 }
34178 
34179 //---------------------------------------------------------------------
_preEnd__value____gles_texture_pipeline()34180 bool ColladaParserAutoGen14Private::_preEnd__value____gles_texture_pipeline()
34181 {
34182 #ifdef GENERATEDSAXPARSER_VALIDATION
34183     if ( mValidate )
34184     {
34185 
34186         bool validationResult = _validateEnd__value____gles_texture_pipeline();
34187         if ( !validationResult ) return false;
34188 
34189     } // validation
34190 #endif
34191 
34192     return true;
34193 }
34194 
34195 //---------------------------------------------------------------------
_freeAttributes__value____gles_texture_pipeline(void * attributeData)34196 bool ColladaParserAutoGen14Private::_freeAttributes__value____gles_texture_pipeline( void* attributeData )
34197 {
34198     value____gles_texture_pipeline__AttributeData* typedAttributeData = static_cast<value____gles_texture_pipeline__AttributeData*>(attributeData);
34199 
34200     typedAttributeData->~value____gles_texture_pipeline__AttributeData();
34201 
34202     return true;
34203 }
34204 
34205 //---------------------------------------------------------------------
34206 const profile_GLES__technique__pass__logic_op__AttributeData profile_GLES__technique__pass__logic_op__AttributeData::DEFAULT = {ENUM__gl_logic_op_type__COPY, 0};
34207 
34208 //---------------------------------------------------------------------
_data__profile_GLES__technique__pass__logic_op(const ParserChar * text,size_t textLength)34209 bool ColladaParserAutoGen14Private::_data__profile_GLES__technique__pass__logic_op( const ParserChar* text, size_t textLength )
34210 {
34211     return true;
34212 }
34213 
34214 //---------------------------------------------------------------------
_preBegin__profile_GLES__technique__pass__logic_op(const ParserAttributes & attributes,void ** attributeDataPtr,void ** validationDataPtr)34215 bool ColladaParserAutoGen14Private::_preBegin__profile_GLES__technique__pass__logic_op( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
34216 {
34217 #ifdef GENERATEDSAXPARSER_VALIDATION
34218     if ( mValidate )
34219     {
34220 
34221         bool validationResult = _validateBegin__profile_GLES__technique__pass__logic_op( attributes, attributeDataPtr, validationDataPtr );
34222         if ( !validationResult ) return false;
34223 
34224     } // validation
34225 #endif
34226 
34227 profile_GLES__technique__pass__logic_op__AttributeData* attributeData = newData<profile_GLES__technique__pass__logic_op__AttributeData>(attributeDataPtr);
34228 
34229 const ParserChar** attributeArray = attributes.attributes;
34230 if ( attributeArray )
34231 {
34232     while (true)
34233     {
34234         const ParserChar * attribute = *attributeArray;
34235         if ( !attribute )
34236             break;
34237         StringHash hash = GeneratedSaxParser::Utils::calculateStringHash(attribute);
34238         attributeArray++;
34239         if ( !attributeArray )
34240             return false;
34241         const ParserChar* attributeValue = *attributeArray;
34242         attributeArray++;
34243 
34244 
34245     switch ( hash )
34246     {
34247     case HASH_ATTRIBUTE_value:
34248     {
34249 bool failed;
34250 attributeData->value = Utils::toEnum<ENUM__gl_logic_op_type, StringHash, ENUM__gl_logic_op_type__COUNT>(attributeValue, failed, ENUM__gl_logic_op_typeMap, Utils::calculateStringHash);
34251 if ( failed && handleError(ParserError::SEVERITY_ERROR_NONCRITICAL,
34252         ParserError::ERROR_ATTRIBUTE_PARSING_FAILED,
34253         HASH_ELEMENT_LOGIC_OP,
34254         HASH_ATTRIBUTE_value,
34255         attributeValue))
34256 {
34257     return false;
34258 }
34259 
34260     break;
34261     }
34262     case HASH_ATTRIBUTE_param:
34263     {
34264 
34265 attributeData->param = attributeValue;
34266 #ifdef GENERATEDSAXPARSER_VALIDATION
34267     if ( mValidate )
34268     {
34269     ParserError::ErrorType simpleTypeValidationResult = validate__NCName(attributeData->param, strlen(attributeData->param));
34270     if (simpleTypeValidationResult != ParserError::SIMPLE_TYPE_VALIDATION_OK)
34271     {
34272         if( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL,
34273             simpleTypeValidationResult,
34274             HASH_ELEMENT_LOGIC_OP,
34275             HASH_ATTRIBUTE_param,
34276             attributeValue) )
34277         {
34278             return false;
34279         }
34280     }
34281     } // validation
34282 #endif
34283 
34284     break;
34285     }
34286     default:
34287     {
34288         if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_UNKNOWN_ATTRIBUTE, HASH_ELEMENT_LOGIC_OP, attribute, attributeValue))
34289             {return false;}
34290     }
34291     }
34292     }
34293 }
34294 
34295 
34296     return true;
34297 }
34298 
34299 //---------------------------------------------------------------------
_preEnd__profile_GLES__technique__pass__logic_op()34300 bool ColladaParserAutoGen14Private::_preEnd__profile_GLES__technique__pass__logic_op()
34301 {
34302 #ifdef GENERATEDSAXPARSER_VALIDATION
34303     if ( mValidate )
34304     {
34305 
34306         bool validationResult = _validateEnd__profile_GLES__technique__pass__logic_op();
34307         if ( !validationResult ) return false;
34308 
34309     } // validation
34310 #endif
34311 
34312     return true;
34313 }
34314 
34315 //---------------------------------------------------------------------
_freeAttributes__profile_GLES__technique__pass__logic_op(void * attributeData)34316 bool ColladaParserAutoGen14Private::_freeAttributes__profile_GLES__technique__pass__logic_op( void* attributeData )
34317 {
34318     profile_GLES__technique__pass__logic_op__AttributeData* typedAttributeData = static_cast<profile_GLES__technique__pass__logic_op__AttributeData*>(attributeData);
34319 
34320     typedAttributeData->~profile_GLES__technique__pass__logic_op__AttributeData();
34321 
34322     return true;
34323 }
34324 
34325 //---------------------------------------------------------------------
34326 const profile_GLES__technique__pass__light_ambient__AttributeData profile_GLES__technique__pass__light_ambient__AttributeData::DEFAULT = {0, GeneratedSaxParser::XSList<float>(), 0, 0};
34327 
34328 //---------------------------------------------------------------------
_data__profile_GLES__technique__pass__light_ambient(const ParserChar * text,size_t textLength)34329 bool ColladaParserAutoGen14Private::_data__profile_GLES__technique__pass__light_ambient( const ParserChar* text, size_t textLength )
34330 {
34331     return true;
34332 }
34333 
34334 //---------------------------------------------------------------------
_preBegin__profile_GLES__technique__pass__light_ambient(const ParserAttributes & attributes,void ** attributeDataPtr,void ** validationDataPtr)34335 bool ColladaParserAutoGen14Private::_preBegin__profile_GLES__technique__pass__light_ambient( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
34336 {
34337 #ifdef GENERATEDSAXPARSER_VALIDATION
34338     if ( mValidate )
34339     {
34340 
34341         bool validationResult = _validateBegin__profile_GLES__technique__pass__light_ambient( attributes, attributeDataPtr, validationDataPtr );
34342         if ( !validationResult ) return false;
34343 
34344     } // validation
34345 #endif
34346 
34347 profile_GLES__technique__pass__light_ambient__AttributeData* attributeData = newData<profile_GLES__technique__pass__light_ambient__AttributeData>(attributeDataPtr);
34348 
34349 const ParserChar** attributeArray = attributes.attributes;
34350 if ( attributeArray )
34351 {
34352     while (true)
34353     {
34354         const ParserChar * attribute = *attributeArray;
34355         if ( !attribute )
34356             break;
34357         StringHash hash = GeneratedSaxParser::Utils::calculateStringHash(attribute);
34358         attributeArray++;
34359         if ( !attributeArray )
34360             return false;
34361         const ParserChar* attributeValue = *attributeArray;
34362         attributeArray++;
34363 
34364 
34365     switch ( hash )
34366     {
34367     case HASH_ATTRIBUTE_value:
34368     {
34369 bool failed;
34370 #ifdef GENERATEDSAXPARSER_VALIDATION
34371     if ( mValidate )
34372     {
34373 failed = !characterData2FloatList(attributeValue, attributeData->value, 0, HASH_ELEMENT_LIGHT_AMBIENT, HASH_ATTRIBUTE_value);
34374     }
34375     else
34376     {
34377 failed = !characterData2FloatList(attributeValue, attributeData->value);
34378     }
34379 #else
34380     {
34381 failed = !characterData2FloatList(attributeValue, attributeData->value);
34382     } // validation
34383 #endif
34384 if ( failed && handleError(ParserError::SEVERITY_ERROR_NONCRITICAL,
34385         ParserError::ERROR_ATTRIBUTE_PARSING_FAILED,
34386         HASH_ELEMENT_LIGHT_AMBIENT,
34387         HASH_ATTRIBUTE_value,
34388         attributeValue))
34389 {
34390     return false;
34391 }
34392 #ifdef GENERATEDSAXPARSER_VALIDATION
34393     if ( mValidate )
34394     {
34395     ParserError::ErrorType simpleTypeValidationResult = validate__float4(attributeData->value.data, attributeData->value.size);
34396     if (simpleTypeValidationResult != ParserError::SIMPLE_TYPE_VALIDATION_OK)
34397     {
34398         if( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL,
34399             simpleTypeValidationResult,
34400             HASH_ELEMENT_LIGHT_AMBIENT,
34401             HASH_ATTRIBUTE_value,
34402             attributeValue) )
34403         {
34404             return false;
34405         }
34406     }
34407     } // validation
34408 #endif
34409 
34410 if ( !failed )
34411     attributeData->present_attributes |= profile_GLES__technique__pass__light_ambient__AttributeData::ATTRIBUTE_VALUE_PRESENT;
34412 
34413     break;
34414     }
34415     case HASH_ATTRIBUTE_param:
34416     {
34417 
34418 attributeData->param = attributeValue;
34419 #ifdef GENERATEDSAXPARSER_VALIDATION
34420     if ( mValidate )
34421     {
34422     ParserError::ErrorType simpleTypeValidationResult = validate__NCName(attributeData->param, strlen(attributeData->param));
34423     if (simpleTypeValidationResult != ParserError::SIMPLE_TYPE_VALIDATION_OK)
34424     {
34425         if( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL,
34426             simpleTypeValidationResult,
34427             HASH_ELEMENT_LIGHT_AMBIENT,
34428             HASH_ATTRIBUTE_param,
34429             attributeValue) )
34430         {
34431             return false;
34432         }
34433     }
34434     } // validation
34435 #endif
34436 
34437     break;
34438     }
34439     case HASH_ATTRIBUTE_index:
34440     {
34441 bool failed;
34442 attributeData->index = GeneratedSaxParser::Utils::toUint64(attributeValue, failed);
34443 if ( failed && handleError(ParserError::SEVERITY_ERROR_NONCRITICAL,
34444         ParserError::ERROR_ATTRIBUTE_PARSING_FAILED,
34445         HASH_ELEMENT_LIGHT_AMBIENT,
34446         HASH_ATTRIBUTE_index,
34447         attributeValue))
34448 {
34449     return false;
34450 }
34451 #ifdef GENERATEDSAXPARSER_VALIDATION
34452     if ( mValidate )
34453     {
34454     ParserError::ErrorType simpleTypeValidationResult = validate__GLES_MAX_LIGHTS_index(attributeData->index);
34455     if (simpleTypeValidationResult != ParserError::SIMPLE_TYPE_VALIDATION_OK)
34456     {
34457         if( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL,
34458             simpleTypeValidationResult,
34459             HASH_ELEMENT_LIGHT_AMBIENT,
34460             HASH_ATTRIBUTE_index,
34461             attributeValue) )
34462         {
34463             return false;
34464         }
34465     }
34466     } // validation
34467 #endif
34468 if ( !failed )
34469     attributeData->present_attributes |= profile_GLES__technique__pass__light_ambient__AttributeData::ATTRIBUTE_INDEX_PRESENT;
34470 
34471     break;
34472     }
34473     default:
34474     {
34475         if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_UNKNOWN_ATTRIBUTE, HASH_ELEMENT_LIGHT_AMBIENT, attribute, attributeValue))
34476             {return false;}
34477     }
34478     }
34479     }
34480 }
34481 if ((attributeData->present_attributes & profile_GLES__technique__pass__light_ambient__AttributeData::ATTRIBUTE_VALUE_PRESENT) == 0)
34482 {
34483     bool failed;
34484     failed = !characterData2FloatList("0.0E1 0.0E1 0.0E1 1.0E0", attributeData->value);
34485     if ( !failed )
34486     attributeData->present_attributes |= profile_GLES__technique__pass__light_ambient__AttributeData::ATTRIBUTE_VALUE_PRESENT;
34487 }
34488 if ( (attributeData->present_attributes & profile_GLES__technique__pass__light_ambient__AttributeData::ATTRIBUTE_INDEX_PRESENT) == 0 )
34489 {
34490     if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_REQUIRED_ATTRIBUTE_MISSING, HASH_ELEMENT_LIGHT_AMBIENT, HASH_ATTRIBUTE_index, 0 ) )
34491         return false;
34492 }
34493 
34494 
34495     return true;
34496 }
34497 
34498 //---------------------------------------------------------------------
_preEnd__profile_GLES__technique__pass__light_ambient()34499 bool ColladaParserAutoGen14Private::_preEnd__profile_GLES__technique__pass__light_ambient()
34500 {
34501 #ifdef GENERATEDSAXPARSER_VALIDATION
34502     if ( mValidate )
34503     {
34504 
34505         bool validationResult = _validateEnd__profile_GLES__technique__pass__light_ambient();
34506         if ( !validationResult ) return false;
34507 
34508     } // validation
34509 #endif
34510 
34511     return true;
34512 }
34513 
34514 //---------------------------------------------------------------------
_freeAttributes__profile_GLES__technique__pass__light_ambient(void * attributeData)34515 bool ColladaParserAutoGen14Private::_freeAttributes__profile_GLES__technique__pass__light_ambient( void* attributeData )
34516 {
34517     profile_GLES__technique__pass__light_ambient__AttributeData* typedAttributeData = static_cast<profile_GLES__technique__pass__light_ambient__AttributeData*>(attributeData);
34518     if (typedAttributeData->value.data)
34519     {
34520         mStackMemoryManager.deleteObject();
34521     }
34522 
34523 
34524     typedAttributeData->~profile_GLES__technique__pass__light_ambient__AttributeData();
34525 
34526     return true;
34527 }
34528 
34529 //---------------------------------------------------------------------
34530 const profile_GLES__technique__pass__light_diffuse__AttributeData profile_GLES__technique__pass__light_diffuse__AttributeData::DEFAULT = {0, GeneratedSaxParser::XSList<float>(), 0, 0};
34531 
34532 //---------------------------------------------------------------------
_data__profile_GLES__technique__pass__light_diffuse(const ParserChar * text,size_t textLength)34533 bool ColladaParserAutoGen14Private::_data__profile_GLES__technique__pass__light_diffuse( const ParserChar* text, size_t textLength )
34534 {
34535     return true;
34536 }
34537 
34538 //---------------------------------------------------------------------
_preBegin__profile_GLES__technique__pass__light_diffuse(const ParserAttributes & attributes,void ** attributeDataPtr,void ** validationDataPtr)34539 bool ColladaParserAutoGen14Private::_preBegin__profile_GLES__technique__pass__light_diffuse( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
34540 {
34541 #ifdef GENERATEDSAXPARSER_VALIDATION
34542     if ( mValidate )
34543     {
34544 
34545         bool validationResult = _validateBegin__profile_GLES__technique__pass__light_diffuse( attributes, attributeDataPtr, validationDataPtr );
34546         if ( !validationResult ) return false;
34547 
34548     } // validation
34549 #endif
34550 
34551 profile_GLES__technique__pass__light_diffuse__AttributeData* attributeData = newData<profile_GLES__technique__pass__light_diffuse__AttributeData>(attributeDataPtr);
34552 
34553 const ParserChar** attributeArray = attributes.attributes;
34554 if ( attributeArray )
34555 {
34556     while (true)
34557     {
34558         const ParserChar * attribute = *attributeArray;
34559         if ( !attribute )
34560             break;
34561         StringHash hash = GeneratedSaxParser::Utils::calculateStringHash(attribute);
34562         attributeArray++;
34563         if ( !attributeArray )
34564             return false;
34565         const ParserChar* attributeValue = *attributeArray;
34566         attributeArray++;
34567 
34568 
34569     switch ( hash )
34570     {
34571     case HASH_ATTRIBUTE_value:
34572     {
34573 bool failed;
34574 #ifdef GENERATEDSAXPARSER_VALIDATION
34575     if ( mValidate )
34576     {
34577 failed = !characterData2FloatList(attributeValue, attributeData->value, 0, HASH_ELEMENT_LIGHT_DIFFUSE, HASH_ATTRIBUTE_value);
34578     }
34579     else
34580     {
34581 failed = !characterData2FloatList(attributeValue, attributeData->value);
34582     }
34583 #else
34584     {
34585 failed = !characterData2FloatList(attributeValue, attributeData->value);
34586     } // validation
34587 #endif
34588 if ( failed && handleError(ParserError::SEVERITY_ERROR_NONCRITICAL,
34589         ParserError::ERROR_ATTRIBUTE_PARSING_FAILED,
34590         HASH_ELEMENT_LIGHT_DIFFUSE,
34591         HASH_ATTRIBUTE_value,
34592         attributeValue))
34593 {
34594     return false;
34595 }
34596 #ifdef GENERATEDSAXPARSER_VALIDATION
34597     if ( mValidate )
34598     {
34599     ParserError::ErrorType simpleTypeValidationResult = validate__float4(attributeData->value.data, attributeData->value.size);
34600     if (simpleTypeValidationResult != ParserError::SIMPLE_TYPE_VALIDATION_OK)
34601     {
34602         if( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL,
34603             simpleTypeValidationResult,
34604             HASH_ELEMENT_LIGHT_DIFFUSE,
34605             HASH_ATTRIBUTE_value,
34606             attributeValue) )
34607         {
34608             return false;
34609         }
34610     }
34611     } // validation
34612 #endif
34613 
34614 if ( !failed )
34615     attributeData->present_attributes |= profile_GLES__technique__pass__light_diffuse__AttributeData::ATTRIBUTE_VALUE_PRESENT;
34616 
34617     break;
34618     }
34619     case HASH_ATTRIBUTE_param:
34620     {
34621 
34622 attributeData->param = attributeValue;
34623 #ifdef GENERATEDSAXPARSER_VALIDATION
34624     if ( mValidate )
34625     {
34626     ParserError::ErrorType simpleTypeValidationResult = validate__NCName(attributeData->param, strlen(attributeData->param));
34627     if (simpleTypeValidationResult != ParserError::SIMPLE_TYPE_VALIDATION_OK)
34628     {
34629         if( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL,
34630             simpleTypeValidationResult,
34631             HASH_ELEMENT_LIGHT_DIFFUSE,
34632             HASH_ATTRIBUTE_param,
34633             attributeValue) )
34634         {
34635             return false;
34636         }
34637     }
34638     } // validation
34639 #endif
34640 
34641     break;
34642     }
34643     case HASH_ATTRIBUTE_index:
34644     {
34645 bool failed;
34646 attributeData->index = GeneratedSaxParser::Utils::toUint64(attributeValue, failed);
34647 if ( failed && handleError(ParserError::SEVERITY_ERROR_NONCRITICAL,
34648         ParserError::ERROR_ATTRIBUTE_PARSING_FAILED,
34649         HASH_ELEMENT_LIGHT_DIFFUSE,
34650         HASH_ATTRIBUTE_index,
34651         attributeValue))
34652 {
34653     return false;
34654 }
34655 #ifdef GENERATEDSAXPARSER_VALIDATION
34656     if ( mValidate )
34657     {
34658     ParserError::ErrorType simpleTypeValidationResult = validate__GLES_MAX_LIGHTS_index(attributeData->index);
34659     if (simpleTypeValidationResult != ParserError::SIMPLE_TYPE_VALIDATION_OK)
34660     {
34661         if( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL,
34662             simpleTypeValidationResult,
34663             HASH_ELEMENT_LIGHT_DIFFUSE,
34664             HASH_ATTRIBUTE_index,
34665             attributeValue) )
34666         {
34667             return false;
34668         }
34669     }
34670     } // validation
34671 #endif
34672 if ( !failed )
34673     attributeData->present_attributes |= profile_GLES__technique__pass__light_diffuse__AttributeData::ATTRIBUTE_INDEX_PRESENT;
34674 
34675     break;
34676     }
34677     default:
34678     {
34679         if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_UNKNOWN_ATTRIBUTE, HASH_ELEMENT_LIGHT_DIFFUSE, attribute, attributeValue))
34680             {return false;}
34681     }
34682     }
34683     }
34684 }
34685 if ((attributeData->present_attributes & profile_GLES__technique__pass__light_diffuse__AttributeData::ATTRIBUTE_VALUE_PRESENT) == 0)
34686 {
34687     bool failed;
34688     failed = !characterData2FloatList("0.0E1 0.0E1 0.0E1 0.0E1", attributeData->value);
34689     if ( !failed )
34690     attributeData->present_attributes |= profile_GLES__technique__pass__light_diffuse__AttributeData::ATTRIBUTE_VALUE_PRESENT;
34691 }
34692 if ( (attributeData->present_attributes & profile_GLES__technique__pass__light_diffuse__AttributeData::ATTRIBUTE_INDEX_PRESENT) == 0 )
34693 {
34694     if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_REQUIRED_ATTRIBUTE_MISSING, HASH_ELEMENT_LIGHT_DIFFUSE, HASH_ATTRIBUTE_index, 0 ) )
34695         return false;
34696 }
34697 
34698 
34699     return true;
34700 }
34701 
34702 //---------------------------------------------------------------------
_preEnd__profile_GLES__technique__pass__light_diffuse()34703 bool ColladaParserAutoGen14Private::_preEnd__profile_GLES__technique__pass__light_diffuse()
34704 {
34705 #ifdef GENERATEDSAXPARSER_VALIDATION
34706     if ( mValidate )
34707     {
34708 
34709         bool validationResult = _validateEnd__profile_GLES__technique__pass__light_diffuse();
34710         if ( !validationResult ) return false;
34711 
34712     } // validation
34713 #endif
34714 
34715     return true;
34716 }
34717 
34718 //---------------------------------------------------------------------
_freeAttributes__profile_GLES__technique__pass__light_diffuse(void * attributeData)34719 bool ColladaParserAutoGen14Private::_freeAttributes__profile_GLES__technique__pass__light_diffuse( void* attributeData )
34720 {
34721     profile_GLES__technique__pass__light_diffuse__AttributeData* typedAttributeData = static_cast<profile_GLES__technique__pass__light_diffuse__AttributeData*>(attributeData);
34722     if (typedAttributeData->value.data)
34723     {
34724         mStackMemoryManager.deleteObject();
34725     }
34726 
34727 
34728     typedAttributeData->~profile_GLES__technique__pass__light_diffuse__AttributeData();
34729 
34730     return true;
34731 }
34732 
34733 //---------------------------------------------------------------------
34734 const profile_GLES__technique__pass__light_specular__AttributeData profile_GLES__technique__pass__light_specular__AttributeData::DEFAULT = {0, GeneratedSaxParser::XSList<float>(), 0, 0};
34735 
34736 //---------------------------------------------------------------------
_data__profile_GLES__technique__pass__light_specular(const ParserChar * text,size_t textLength)34737 bool ColladaParserAutoGen14Private::_data__profile_GLES__technique__pass__light_specular( const ParserChar* text, size_t textLength )
34738 {
34739     return true;
34740 }
34741 
34742 //---------------------------------------------------------------------
_preBegin__profile_GLES__technique__pass__light_specular(const ParserAttributes & attributes,void ** attributeDataPtr,void ** validationDataPtr)34743 bool ColladaParserAutoGen14Private::_preBegin__profile_GLES__technique__pass__light_specular( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
34744 {
34745 #ifdef GENERATEDSAXPARSER_VALIDATION
34746     if ( mValidate )
34747     {
34748 
34749         bool validationResult = _validateBegin__profile_GLES__technique__pass__light_specular( attributes, attributeDataPtr, validationDataPtr );
34750         if ( !validationResult ) return false;
34751 
34752     } // validation
34753 #endif
34754 
34755 profile_GLES__technique__pass__light_specular__AttributeData* attributeData = newData<profile_GLES__technique__pass__light_specular__AttributeData>(attributeDataPtr);
34756 
34757 const ParserChar** attributeArray = attributes.attributes;
34758 if ( attributeArray )
34759 {
34760     while (true)
34761     {
34762         const ParserChar * attribute = *attributeArray;
34763         if ( !attribute )
34764             break;
34765         StringHash hash = GeneratedSaxParser::Utils::calculateStringHash(attribute);
34766         attributeArray++;
34767         if ( !attributeArray )
34768             return false;
34769         const ParserChar* attributeValue = *attributeArray;
34770         attributeArray++;
34771 
34772 
34773     switch ( hash )
34774     {
34775     case HASH_ATTRIBUTE_value:
34776     {
34777 bool failed;
34778 #ifdef GENERATEDSAXPARSER_VALIDATION
34779     if ( mValidate )
34780     {
34781 failed = !characterData2FloatList(attributeValue, attributeData->value, 0, HASH_ELEMENT_LIGHT_SPECULAR, HASH_ATTRIBUTE_value);
34782     }
34783     else
34784     {
34785 failed = !characterData2FloatList(attributeValue, attributeData->value);
34786     }
34787 #else
34788     {
34789 failed = !characterData2FloatList(attributeValue, attributeData->value);
34790     } // validation
34791 #endif
34792 if ( failed && handleError(ParserError::SEVERITY_ERROR_NONCRITICAL,
34793         ParserError::ERROR_ATTRIBUTE_PARSING_FAILED,
34794         HASH_ELEMENT_LIGHT_SPECULAR,
34795         HASH_ATTRIBUTE_value,
34796         attributeValue))
34797 {
34798     return false;
34799 }
34800 #ifdef GENERATEDSAXPARSER_VALIDATION
34801     if ( mValidate )
34802     {
34803     ParserError::ErrorType simpleTypeValidationResult = validate__float4(attributeData->value.data, attributeData->value.size);
34804     if (simpleTypeValidationResult != ParserError::SIMPLE_TYPE_VALIDATION_OK)
34805     {
34806         if( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL,
34807             simpleTypeValidationResult,
34808             HASH_ELEMENT_LIGHT_SPECULAR,
34809             HASH_ATTRIBUTE_value,
34810             attributeValue) )
34811         {
34812             return false;
34813         }
34814     }
34815     } // validation
34816 #endif
34817 
34818 if ( !failed )
34819     attributeData->present_attributes |= profile_GLES__technique__pass__light_specular__AttributeData::ATTRIBUTE_VALUE_PRESENT;
34820 
34821     break;
34822     }
34823     case HASH_ATTRIBUTE_param:
34824     {
34825 
34826 attributeData->param = attributeValue;
34827 #ifdef GENERATEDSAXPARSER_VALIDATION
34828     if ( mValidate )
34829     {
34830     ParserError::ErrorType simpleTypeValidationResult = validate__NCName(attributeData->param, strlen(attributeData->param));
34831     if (simpleTypeValidationResult != ParserError::SIMPLE_TYPE_VALIDATION_OK)
34832     {
34833         if( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL,
34834             simpleTypeValidationResult,
34835             HASH_ELEMENT_LIGHT_SPECULAR,
34836             HASH_ATTRIBUTE_param,
34837             attributeValue) )
34838         {
34839             return false;
34840         }
34841     }
34842     } // validation
34843 #endif
34844 
34845     break;
34846     }
34847     case HASH_ATTRIBUTE_index:
34848     {
34849 bool failed;
34850 attributeData->index = GeneratedSaxParser::Utils::toUint64(attributeValue, failed);
34851 if ( failed && handleError(ParserError::SEVERITY_ERROR_NONCRITICAL,
34852         ParserError::ERROR_ATTRIBUTE_PARSING_FAILED,
34853         HASH_ELEMENT_LIGHT_SPECULAR,
34854         HASH_ATTRIBUTE_index,
34855         attributeValue))
34856 {
34857     return false;
34858 }
34859 #ifdef GENERATEDSAXPARSER_VALIDATION
34860     if ( mValidate )
34861     {
34862     ParserError::ErrorType simpleTypeValidationResult = validate__GLES_MAX_LIGHTS_index(attributeData->index);
34863     if (simpleTypeValidationResult != ParserError::SIMPLE_TYPE_VALIDATION_OK)
34864     {
34865         if( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL,
34866             simpleTypeValidationResult,
34867             HASH_ELEMENT_LIGHT_SPECULAR,
34868             HASH_ATTRIBUTE_index,
34869             attributeValue) )
34870         {
34871             return false;
34872         }
34873     }
34874     } // validation
34875 #endif
34876 if ( !failed )
34877     attributeData->present_attributes |= profile_GLES__technique__pass__light_specular__AttributeData::ATTRIBUTE_INDEX_PRESENT;
34878 
34879     break;
34880     }
34881     default:
34882     {
34883         if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_UNKNOWN_ATTRIBUTE, HASH_ELEMENT_LIGHT_SPECULAR, attribute, attributeValue))
34884             {return false;}
34885     }
34886     }
34887     }
34888 }
34889 if ((attributeData->present_attributes & profile_GLES__technique__pass__light_specular__AttributeData::ATTRIBUTE_VALUE_PRESENT) == 0)
34890 {
34891     bool failed;
34892     failed = !characterData2FloatList("0.0E1 0.0E1 0.0E1 0.0E1", attributeData->value);
34893     if ( !failed )
34894     attributeData->present_attributes |= profile_GLES__technique__pass__light_specular__AttributeData::ATTRIBUTE_VALUE_PRESENT;
34895 }
34896 if ( (attributeData->present_attributes & profile_GLES__technique__pass__light_specular__AttributeData::ATTRIBUTE_INDEX_PRESENT) == 0 )
34897 {
34898     if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_REQUIRED_ATTRIBUTE_MISSING, HASH_ELEMENT_LIGHT_SPECULAR, HASH_ATTRIBUTE_index, 0 ) )
34899         return false;
34900 }
34901 
34902 
34903     return true;
34904 }
34905 
34906 //---------------------------------------------------------------------
_preEnd__profile_GLES__technique__pass__light_specular()34907 bool ColladaParserAutoGen14Private::_preEnd__profile_GLES__technique__pass__light_specular()
34908 {
34909 #ifdef GENERATEDSAXPARSER_VALIDATION
34910     if ( mValidate )
34911     {
34912 
34913         bool validationResult = _validateEnd__profile_GLES__technique__pass__light_specular();
34914         if ( !validationResult ) return false;
34915 
34916     } // validation
34917 #endif
34918 
34919     return true;
34920 }
34921 
34922 //---------------------------------------------------------------------
_freeAttributes__profile_GLES__technique__pass__light_specular(void * attributeData)34923 bool ColladaParserAutoGen14Private::_freeAttributes__profile_GLES__technique__pass__light_specular( void* attributeData )
34924 {
34925     profile_GLES__technique__pass__light_specular__AttributeData* typedAttributeData = static_cast<profile_GLES__technique__pass__light_specular__AttributeData*>(attributeData);
34926     if (typedAttributeData->value.data)
34927     {
34928         mStackMemoryManager.deleteObject();
34929     }
34930 
34931 
34932     typedAttributeData->~profile_GLES__technique__pass__light_specular__AttributeData();
34933 
34934     return true;
34935 }
34936 
34937 //---------------------------------------------------------------------
34938 const profile_GLES__technique__pass__light_position__AttributeData profile_GLES__technique__pass__light_position__AttributeData::DEFAULT = {0, GeneratedSaxParser::XSList<float>(), 0, 0};
34939 
34940 //---------------------------------------------------------------------
_data__profile_GLES__technique__pass__light_position(const ParserChar * text,size_t textLength)34941 bool ColladaParserAutoGen14Private::_data__profile_GLES__technique__pass__light_position( const ParserChar* text, size_t textLength )
34942 {
34943     return true;
34944 }
34945 
34946 //---------------------------------------------------------------------
_preBegin__profile_GLES__technique__pass__light_position(const ParserAttributes & attributes,void ** attributeDataPtr,void ** validationDataPtr)34947 bool ColladaParserAutoGen14Private::_preBegin__profile_GLES__technique__pass__light_position( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
34948 {
34949 #ifdef GENERATEDSAXPARSER_VALIDATION
34950     if ( mValidate )
34951     {
34952 
34953         bool validationResult = _validateBegin__profile_GLES__technique__pass__light_position( attributes, attributeDataPtr, validationDataPtr );
34954         if ( !validationResult ) return false;
34955 
34956     } // validation
34957 #endif
34958 
34959 profile_GLES__technique__pass__light_position__AttributeData* attributeData = newData<profile_GLES__technique__pass__light_position__AttributeData>(attributeDataPtr);
34960 
34961 const ParserChar** attributeArray = attributes.attributes;
34962 if ( attributeArray )
34963 {
34964     while (true)
34965     {
34966         const ParserChar * attribute = *attributeArray;
34967         if ( !attribute )
34968             break;
34969         StringHash hash = GeneratedSaxParser::Utils::calculateStringHash(attribute);
34970         attributeArray++;
34971         if ( !attributeArray )
34972             return false;
34973         const ParserChar* attributeValue = *attributeArray;
34974         attributeArray++;
34975 
34976 
34977     switch ( hash )
34978     {
34979     case HASH_ATTRIBUTE_value:
34980     {
34981 bool failed;
34982 #ifdef GENERATEDSAXPARSER_VALIDATION
34983     if ( mValidate )
34984     {
34985 failed = !characterData2FloatList(attributeValue, attributeData->value, 0, HASH_ELEMENT_LIGHT_POSITION, HASH_ATTRIBUTE_value);
34986     }
34987     else
34988     {
34989 failed = !characterData2FloatList(attributeValue, attributeData->value);
34990     }
34991 #else
34992     {
34993 failed = !characterData2FloatList(attributeValue, attributeData->value);
34994     } // validation
34995 #endif
34996 if ( failed && handleError(ParserError::SEVERITY_ERROR_NONCRITICAL,
34997         ParserError::ERROR_ATTRIBUTE_PARSING_FAILED,
34998         HASH_ELEMENT_LIGHT_POSITION,
34999         HASH_ATTRIBUTE_value,
35000         attributeValue))
35001 {
35002     return false;
35003 }
35004 #ifdef GENERATEDSAXPARSER_VALIDATION
35005     if ( mValidate )
35006     {
35007     ParserError::ErrorType simpleTypeValidationResult = validate__float4(attributeData->value.data, attributeData->value.size);
35008     if (simpleTypeValidationResult != ParserError::SIMPLE_TYPE_VALIDATION_OK)
35009     {
35010         if( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL,
35011             simpleTypeValidationResult,
35012             HASH_ELEMENT_LIGHT_POSITION,
35013             HASH_ATTRIBUTE_value,
35014             attributeValue) )
35015         {
35016             return false;
35017         }
35018     }
35019     } // validation
35020 #endif
35021 
35022 if ( !failed )
35023     attributeData->present_attributes |= profile_GLES__technique__pass__light_position__AttributeData::ATTRIBUTE_VALUE_PRESENT;
35024 
35025     break;
35026     }
35027     case HASH_ATTRIBUTE_param:
35028     {
35029 
35030 attributeData->param = attributeValue;
35031 #ifdef GENERATEDSAXPARSER_VALIDATION
35032     if ( mValidate )
35033     {
35034     ParserError::ErrorType simpleTypeValidationResult = validate__NCName(attributeData->param, strlen(attributeData->param));
35035     if (simpleTypeValidationResult != ParserError::SIMPLE_TYPE_VALIDATION_OK)
35036     {
35037         if( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL,
35038             simpleTypeValidationResult,
35039             HASH_ELEMENT_LIGHT_POSITION,
35040             HASH_ATTRIBUTE_param,
35041             attributeValue) )
35042         {
35043             return false;
35044         }
35045     }
35046     } // validation
35047 #endif
35048 
35049     break;
35050     }
35051     case HASH_ATTRIBUTE_index:
35052     {
35053 bool failed;
35054 attributeData->index = GeneratedSaxParser::Utils::toUint64(attributeValue, failed);
35055 if ( failed && handleError(ParserError::SEVERITY_ERROR_NONCRITICAL,
35056         ParserError::ERROR_ATTRIBUTE_PARSING_FAILED,
35057         HASH_ELEMENT_LIGHT_POSITION,
35058         HASH_ATTRIBUTE_index,
35059         attributeValue))
35060 {
35061     return false;
35062 }
35063 #ifdef GENERATEDSAXPARSER_VALIDATION
35064     if ( mValidate )
35065     {
35066     ParserError::ErrorType simpleTypeValidationResult = validate__GLES_MAX_LIGHTS_index(attributeData->index);
35067     if (simpleTypeValidationResult != ParserError::SIMPLE_TYPE_VALIDATION_OK)
35068     {
35069         if( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL,
35070             simpleTypeValidationResult,
35071             HASH_ELEMENT_LIGHT_POSITION,
35072             HASH_ATTRIBUTE_index,
35073             attributeValue) )
35074         {
35075             return false;
35076         }
35077     }
35078     } // validation
35079 #endif
35080 if ( !failed )
35081     attributeData->present_attributes |= profile_GLES__technique__pass__light_position__AttributeData::ATTRIBUTE_INDEX_PRESENT;
35082 
35083     break;
35084     }
35085     default:
35086     {
35087         if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_UNKNOWN_ATTRIBUTE, HASH_ELEMENT_LIGHT_POSITION, attribute, attributeValue))
35088             {return false;}
35089     }
35090     }
35091     }
35092 }
35093 if ((attributeData->present_attributes & profile_GLES__technique__pass__light_position__AttributeData::ATTRIBUTE_VALUE_PRESENT) == 0)
35094 {
35095     bool failed;
35096     failed = !characterData2FloatList("0.0E1 0.0E1 1.0E0 0.0E1", attributeData->value);
35097     if ( !failed )
35098     attributeData->present_attributes |= profile_GLES__technique__pass__light_position__AttributeData::ATTRIBUTE_VALUE_PRESENT;
35099 }
35100 if ( (attributeData->present_attributes & profile_GLES__technique__pass__light_position__AttributeData::ATTRIBUTE_INDEX_PRESENT) == 0 )
35101 {
35102     if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_REQUIRED_ATTRIBUTE_MISSING, HASH_ELEMENT_LIGHT_POSITION, HASH_ATTRIBUTE_index, 0 ) )
35103         return false;
35104 }
35105 
35106 
35107     return true;
35108 }
35109 
35110 //---------------------------------------------------------------------
_preEnd__profile_GLES__technique__pass__light_position()35111 bool ColladaParserAutoGen14Private::_preEnd__profile_GLES__technique__pass__light_position()
35112 {
35113 #ifdef GENERATEDSAXPARSER_VALIDATION
35114     if ( mValidate )
35115     {
35116 
35117         bool validationResult = _validateEnd__profile_GLES__technique__pass__light_position();
35118         if ( !validationResult ) return false;
35119 
35120     } // validation
35121 #endif
35122 
35123     return true;
35124 }
35125 
35126 //---------------------------------------------------------------------
_freeAttributes__profile_GLES__technique__pass__light_position(void * attributeData)35127 bool ColladaParserAutoGen14Private::_freeAttributes__profile_GLES__technique__pass__light_position( void* attributeData )
35128 {
35129     profile_GLES__technique__pass__light_position__AttributeData* typedAttributeData = static_cast<profile_GLES__technique__pass__light_position__AttributeData*>(attributeData);
35130     if (typedAttributeData->value.data)
35131     {
35132         mStackMemoryManager.deleteObject();
35133     }
35134 
35135 
35136     typedAttributeData->~profile_GLES__technique__pass__light_position__AttributeData();
35137 
35138     return true;
35139 }
35140 
35141 //---------------------------------------------------------------------
35142 const profile_GLES__technique__pass__light_constant_attenuation__AttributeData profile_GLES__technique__pass__light_constant_attenuation__AttributeData::DEFAULT = {0, 1.0E0, 0, 0};
35143 
35144 //---------------------------------------------------------------------
_data__profile_GLES__technique__pass__light_constant_attenuation(const ParserChar * text,size_t textLength)35145 bool ColladaParserAutoGen14Private::_data__profile_GLES__technique__pass__light_constant_attenuation( const ParserChar* text, size_t textLength )
35146 {
35147     return true;
35148 }
35149 
35150 //---------------------------------------------------------------------
_preBegin__profile_GLES__technique__pass__light_constant_attenuation(const ParserAttributes & attributes,void ** attributeDataPtr,void ** validationDataPtr)35151 bool ColladaParserAutoGen14Private::_preBegin__profile_GLES__technique__pass__light_constant_attenuation( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
35152 {
35153 #ifdef GENERATEDSAXPARSER_VALIDATION
35154     if ( mValidate )
35155     {
35156 
35157         bool validationResult = _validateBegin__profile_GLES__technique__pass__light_constant_attenuation( attributes, attributeDataPtr, validationDataPtr );
35158         if ( !validationResult ) return false;
35159 
35160     } // validation
35161 #endif
35162 
35163 profile_GLES__technique__pass__light_constant_attenuation__AttributeData* attributeData = newData<profile_GLES__technique__pass__light_constant_attenuation__AttributeData>(attributeDataPtr);
35164 
35165 const ParserChar** attributeArray = attributes.attributes;
35166 if ( attributeArray )
35167 {
35168     while (true)
35169     {
35170         const ParserChar * attribute = *attributeArray;
35171         if ( !attribute )
35172             break;
35173         StringHash hash = GeneratedSaxParser::Utils::calculateStringHash(attribute);
35174         attributeArray++;
35175         if ( !attributeArray )
35176             return false;
35177         const ParserChar* attributeValue = *attributeArray;
35178         attributeArray++;
35179 
35180 
35181     switch ( hash )
35182     {
35183     case HASH_ATTRIBUTE_value:
35184     {
35185 bool failed;
35186 attributeData->value = GeneratedSaxParser::Utils::toFloat(attributeValue, failed);
35187 if ( failed && handleError(ParserError::SEVERITY_ERROR_NONCRITICAL,
35188         ParserError::ERROR_ATTRIBUTE_PARSING_FAILED,
35189         HASH_ELEMENT_LIGHT_CONSTANT_ATTENUATION,
35190         HASH_ATTRIBUTE_value,
35191         attributeValue))
35192 {
35193     return false;
35194 }
35195 
35196     break;
35197     }
35198     case HASH_ATTRIBUTE_param:
35199     {
35200 
35201 attributeData->param = attributeValue;
35202 #ifdef GENERATEDSAXPARSER_VALIDATION
35203     if ( mValidate )
35204     {
35205     ParserError::ErrorType simpleTypeValidationResult = validate__NCName(attributeData->param, strlen(attributeData->param));
35206     if (simpleTypeValidationResult != ParserError::SIMPLE_TYPE_VALIDATION_OK)
35207     {
35208         if( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL,
35209             simpleTypeValidationResult,
35210             HASH_ELEMENT_LIGHT_CONSTANT_ATTENUATION,
35211             HASH_ATTRIBUTE_param,
35212             attributeValue) )
35213         {
35214             return false;
35215         }
35216     }
35217     } // validation
35218 #endif
35219 
35220     break;
35221     }
35222     case HASH_ATTRIBUTE_index:
35223     {
35224 bool failed;
35225 attributeData->index = GeneratedSaxParser::Utils::toUint64(attributeValue, failed);
35226 if ( failed && handleError(ParserError::SEVERITY_ERROR_NONCRITICAL,
35227         ParserError::ERROR_ATTRIBUTE_PARSING_FAILED,
35228         HASH_ELEMENT_LIGHT_CONSTANT_ATTENUATION,
35229         HASH_ATTRIBUTE_index,
35230         attributeValue))
35231 {
35232     return false;
35233 }
35234 #ifdef GENERATEDSAXPARSER_VALIDATION
35235     if ( mValidate )
35236     {
35237     ParserError::ErrorType simpleTypeValidationResult = validate__GLES_MAX_LIGHTS_index(attributeData->index);
35238     if (simpleTypeValidationResult != ParserError::SIMPLE_TYPE_VALIDATION_OK)
35239     {
35240         if( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL,
35241             simpleTypeValidationResult,
35242             HASH_ELEMENT_LIGHT_CONSTANT_ATTENUATION,
35243             HASH_ATTRIBUTE_index,
35244             attributeValue) )
35245         {
35246             return false;
35247         }
35248     }
35249     } // validation
35250 #endif
35251 if ( !failed )
35252     attributeData->present_attributes |= profile_GLES__technique__pass__light_constant_attenuation__AttributeData::ATTRIBUTE_INDEX_PRESENT;
35253 
35254     break;
35255     }
35256     default:
35257     {
35258         if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_UNKNOWN_ATTRIBUTE, HASH_ELEMENT_LIGHT_CONSTANT_ATTENUATION, attribute, attributeValue))
35259             {return false;}
35260     }
35261     }
35262     }
35263 }
35264 if ( (attributeData->present_attributes & profile_GLES__technique__pass__light_constant_attenuation__AttributeData::ATTRIBUTE_INDEX_PRESENT) == 0 )
35265 {
35266     if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_REQUIRED_ATTRIBUTE_MISSING, HASH_ELEMENT_LIGHT_CONSTANT_ATTENUATION, HASH_ATTRIBUTE_index, 0 ) )
35267         return false;
35268 }
35269 
35270 
35271     return true;
35272 }
35273 
35274 //---------------------------------------------------------------------
_preEnd__profile_GLES__technique__pass__light_constant_attenuation()35275 bool ColladaParserAutoGen14Private::_preEnd__profile_GLES__technique__pass__light_constant_attenuation()
35276 {
35277 #ifdef GENERATEDSAXPARSER_VALIDATION
35278     if ( mValidate )
35279     {
35280 
35281         bool validationResult = _validateEnd__profile_GLES__technique__pass__light_constant_attenuation();
35282         if ( !validationResult ) return false;
35283 
35284     } // validation
35285 #endif
35286 
35287     return true;
35288 }
35289 
35290 //---------------------------------------------------------------------
_freeAttributes__profile_GLES__technique__pass__light_constant_attenuation(void * attributeData)35291 bool ColladaParserAutoGen14Private::_freeAttributes__profile_GLES__technique__pass__light_constant_attenuation( void* attributeData )
35292 {
35293     profile_GLES__technique__pass__light_constant_attenuation__AttributeData* typedAttributeData = static_cast<profile_GLES__technique__pass__light_constant_attenuation__AttributeData*>(attributeData);
35294 
35295     typedAttributeData->~profile_GLES__technique__pass__light_constant_attenuation__AttributeData();
35296 
35297     return true;
35298 }
35299 
35300 //---------------------------------------------------------------------
35301 const light_linear_attenutation__AttributeData light_linear_attenutation__AttributeData::DEFAULT = {0, 1.0E0, 0, 0};
35302 
35303 //---------------------------------------------------------------------
_data__light_linear_attenutation(const ParserChar * text,size_t textLength)35304 bool ColladaParserAutoGen14Private::_data__light_linear_attenutation( const ParserChar* text, size_t textLength )
35305 {
35306     return true;
35307 }
35308 
35309 //---------------------------------------------------------------------
_preBegin__light_linear_attenutation(const ParserAttributes & attributes,void ** attributeDataPtr,void ** validationDataPtr)35310 bool ColladaParserAutoGen14Private::_preBegin__light_linear_attenutation( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
35311 {
35312 #ifdef GENERATEDSAXPARSER_VALIDATION
35313     if ( mValidate )
35314     {
35315 
35316         bool validationResult = _validateBegin__light_linear_attenutation( attributes, attributeDataPtr, validationDataPtr );
35317         if ( !validationResult ) return false;
35318 
35319     } // validation
35320 #endif
35321 
35322 light_linear_attenutation__AttributeData* attributeData = newData<light_linear_attenutation__AttributeData>(attributeDataPtr);
35323 
35324 const ParserChar** attributeArray = attributes.attributes;
35325 if ( attributeArray )
35326 {
35327     while (true)
35328     {
35329         const ParserChar * attribute = *attributeArray;
35330         if ( !attribute )
35331             break;
35332         StringHash hash = GeneratedSaxParser::Utils::calculateStringHash(attribute);
35333         attributeArray++;
35334         if ( !attributeArray )
35335             return false;
35336         const ParserChar* attributeValue = *attributeArray;
35337         attributeArray++;
35338 
35339 
35340     switch ( hash )
35341     {
35342     case HASH_ATTRIBUTE_value:
35343     {
35344 bool failed;
35345 attributeData->value = GeneratedSaxParser::Utils::toFloat(attributeValue, failed);
35346 if ( failed && handleError(ParserError::SEVERITY_ERROR_NONCRITICAL,
35347         ParserError::ERROR_ATTRIBUTE_PARSING_FAILED,
35348         HASH_ELEMENT_LIGHT_LINEAR_ATTENUTATION,
35349         HASH_ATTRIBUTE_value,
35350         attributeValue))
35351 {
35352     return false;
35353 }
35354 
35355     break;
35356     }
35357     case HASH_ATTRIBUTE_param:
35358     {
35359 
35360 attributeData->param = attributeValue;
35361 #ifdef GENERATEDSAXPARSER_VALIDATION
35362     if ( mValidate )
35363     {
35364     ParserError::ErrorType simpleTypeValidationResult = validate__NCName(attributeData->param, strlen(attributeData->param));
35365     if (simpleTypeValidationResult != ParserError::SIMPLE_TYPE_VALIDATION_OK)
35366     {
35367         if( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL,
35368             simpleTypeValidationResult,
35369             HASH_ELEMENT_LIGHT_LINEAR_ATTENUTATION,
35370             HASH_ATTRIBUTE_param,
35371             attributeValue) )
35372         {
35373             return false;
35374         }
35375     }
35376     } // validation
35377 #endif
35378 
35379     break;
35380     }
35381     case HASH_ATTRIBUTE_index:
35382     {
35383 bool failed;
35384 attributeData->index = GeneratedSaxParser::Utils::toUint64(attributeValue, failed);
35385 if ( failed && handleError(ParserError::SEVERITY_ERROR_NONCRITICAL,
35386         ParserError::ERROR_ATTRIBUTE_PARSING_FAILED,
35387         HASH_ELEMENT_LIGHT_LINEAR_ATTENUTATION,
35388         HASH_ATTRIBUTE_index,
35389         attributeValue))
35390 {
35391     return false;
35392 }
35393 #ifdef GENERATEDSAXPARSER_VALIDATION
35394     if ( mValidate )
35395     {
35396     ParserError::ErrorType simpleTypeValidationResult = validate__GLES_MAX_LIGHTS_index(attributeData->index);
35397     if (simpleTypeValidationResult != ParserError::SIMPLE_TYPE_VALIDATION_OK)
35398     {
35399         if( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL,
35400             simpleTypeValidationResult,
35401             HASH_ELEMENT_LIGHT_LINEAR_ATTENUTATION,
35402             HASH_ATTRIBUTE_index,
35403             attributeValue) )
35404         {
35405             return false;
35406         }
35407     }
35408     } // validation
35409 #endif
35410 if ( !failed )
35411     attributeData->present_attributes |= light_linear_attenutation__AttributeData::ATTRIBUTE_INDEX_PRESENT;
35412 
35413     break;
35414     }
35415     default:
35416     {
35417         if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_UNKNOWN_ATTRIBUTE, HASH_ELEMENT_LIGHT_LINEAR_ATTENUTATION, attribute, attributeValue))
35418             {return false;}
35419     }
35420     }
35421     }
35422 }
35423 if ( (attributeData->present_attributes & light_linear_attenutation__AttributeData::ATTRIBUTE_INDEX_PRESENT) == 0 )
35424 {
35425     if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_REQUIRED_ATTRIBUTE_MISSING, HASH_ELEMENT_LIGHT_LINEAR_ATTENUTATION, HASH_ATTRIBUTE_index, 0 ) )
35426         return false;
35427 }
35428 
35429 
35430     return true;
35431 }
35432 
35433 //---------------------------------------------------------------------
_preEnd__light_linear_attenutation()35434 bool ColladaParserAutoGen14Private::_preEnd__light_linear_attenutation()
35435 {
35436 #ifdef GENERATEDSAXPARSER_VALIDATION
35437     if ( mValidate )
35438     {
35439 
35440         bool validationResult = _validateEnd__light_linear_attenutation();
35441         if ( !validationResult ) return false;
35442 
35443     } // validation
35444 #endif
35445 
35446     return true;
35447 }
35448 
35449 //---------------------------------------------------------------------
_freeAttributes__light_linear_attenutation(void * attributeData)35450 bool ColladaParserAutoGen14Private::_freeAttributes__light_linear_attenutation( void* attributeData )
35451 {
35452     light_linear_attenutation__AttributeData* typedAttributeData = static_cast<light_linear_attenutation__AttributeData*>(attributeData);
35453 
35454     typedAttributeData->~light_linear_attenutation__AttributeData();
35455 
35456     return true;
35457 }
35458 
35459 //---------------------------------------------------------------------
35460 const profile_GLES__technique__pass__light_quadratic_attenuation__AttributeData profile_GLES__technique__pass__light_quadratic_attenuation__AttributeData::DEFAULT = {0, 1.0E0, 0, 0};
35461 
35462 //---------------------------------------------------------------------
_data__profile_GLES__technique__pass__light_quadratic_attenuation(const ParserChar * text,size_t textLength)35463 bool ColladaParserAutoGen14Private::_data__profile_GLES__technique__pass__light_quadratic_attenuation( const ParserChar* text, size_t textLength )
35464 {
35465     return true;
35466 }
35467 
35468 //---------------------------------------------------------------------
_preBegin__profile_GLES__technique__pass__light_quadratic_attenuation(const ParserAttributes & attributes,void ** attributeDataPtr,void ** validationDataPtr)35469 bool ColladaParserAutoGen14Private::_preBegin__profile_GLES__technique__pass__light_quadratic_attenuation( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
35470 {
35471 #ifdef GENERATEDSAXPARSER_VALIDATION
35472     if ( mValidate )
35473     {
35474 
35475         bool validationResult = _validateBegin__profile_GLES__technique__pass__light_quadratic_attenuation( attributes, attributeDataPtr, validationDataPtr );
35476         if ( !validationResult ) return false;
35477 
35478     } // validation
35479 #endif
35480 
35481 profile_GLES__technique__pass__light_quadratic_attenuation__AttributeData* attributeData = newData<profile_GLES__technique__pass__light_quadratic_attenuation__AttributeData>(attributeDataPtr);
35482 
35483 const ParserChar** attributeArray = attributes.attributes;
35484 if ( attributeArray )
35485 {
35486     while (true)
35487     {
35488         const ParserChar * attribute = *attributeArray;
35489         if ( !attribute )
35490             break;
35491         StringHash hash = GeneratedSaxParser::Utils::calculateStringHash(attribute);
35492         attributeArray++;
35493         if ( !attributeArray )
35494             return false;
35495         const ParserChar* attributeValue = *attributeArray;
35496         attributeArray++;
35497 
35498 
35499     switch ( hash )
35500     {
35501     case HASH_ATTRIBUTE_value:
35502     {
35503 bool failed;
35504 attributeData->value = GeneratedSaxParser::Utils::toFloat(attributeValue, failed);
35505 if ( failed && handleError(ParserError::SEVERITY_ERROR_NONCRITICAL,
35506         ParserError::ERROR_ATTRIBUTE_PARSING_FAILED,
35507         HASH_ELEMENT_LIGHT_QUADRATIC_ATTENUATION,
35508         HASH_ATTRIBUTE_value,
35509         attributeValue))
35510 {
35511     return false;
35512 }
35513 
35514     break;
35515     }
35516     case HASH_ATTRIBUTE_param:
35517     {
35518 
35519 attributeData->param = attributeValue;
35520 #ifdef GENERATEDSAXPARSER_VALIDATION
35521     if ( mValidate )
35522     {
35523     ParserError::ErrorType simpleTypeValidationResult = validate__NCName(attributeData->param, strlen(attributeData->param));
35524     if (simpleTypeValidationResult != ParserError::SIMPLE_TYPE_VALIDATION_OK)
35525     {
35526         if( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL,
35527             simpleTypeValidationResult,
35528             HASH_ELEMENT_LIGHT_QUADRATIC_ATTENUATION,
35529             HASH_ATTRIBUTE_param,
35530             attributeValue) )
35531         {
35532             return false;
35533         }
35534     }
35535     } // validation
35536 #endif
35537 
35538     break;
35539     }
35540     case HASH_ATTRIBUTE_index:
35541     {
35542 bool failed;
35543 attributeData->index = GeneratedSaxParser::Utils::toUint64(attributeValue, failed);
35544 if ( failed && handleError(ParserError::SEVERITY_ERROR_NONCRITICAL,
35545         ParserError::ERROR_ATTRIBUTE_PARSING_FAILED,
35546         HASH_ELEMENT_LIGHT_QUADRATIC_ATTENUATION,
35547         HASH_ATTRIBUTE_index,
35548         attributeValue))
35549 {
35550     return false;
35551 }
35552 #ifdef GENERATEDSAXPARSER_VALIDATION
35553     if ( mValidate )
35554     {
35555     ParserError::ErrorType simpleTypeValidationResult = validate__GLES_MAX_LIGHTS_index(attributeData->index);
35556     if (simpleTypeValidationResult != ParserError::SIMPLE_TYPE_VALIDATION_OK)
35557     {
35558         if( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL,
35559             simpleTypeValidationResult,
35560             HASH_ELEMENT_LIGHT_QUADRATIC_ATTENUATION,
35561             HASH_ATTRIBUTE_index,
35562             attributeValue) )
35563         {
35564             return false;
35565         }
35566     }
35567     } // validation
35568 #endif
35569 if ( !failed )
35570     attributeData->present_attributes |= profile_GLES__technique__pass__light_quadratic_attenuation__AttributeData::ATTRIBUTE_INDEX_PRESENT;
35571 
35572     break;
35573     }
35574     default:
35575     {
35576         if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_UNKNOWN_ATTRIBUTE, HASH_ELEMENT_LIGHT_QUADRATIC_ATTENUATION, attribute, attributeValue))
35577             {return false;}
35578     }
35579     }
35580     }
35581 }
35582 if ( (attributeData->present_attributes & profile_GLES__technique__pass__light_quadratic_attenuation__AttributeData::ATTRIBUTE_INDEX_PRESENT) == 0 )
35583 {
35584     if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_REQUIRED_ATTRIBUTE_MISSING, HASH_ELEMENT_LIGHT_QUADRATIC_ATTENUATION, HASH_ATTRIBUTE_index, 0 ) )
35585         return false;
35586 }
35587 
35588 
35589     return true;
35590 }
35591 
35592 //---------------------------------------------------------------------
_preEnd__profile_GLES__technique__pass__light_quadratic_attenuation()35593 bool ColladaParserAutoGen14Private::_preEnd__profile_GLES__technique__pass__light_quadratic_attenuation()
35594 {
35595 #ifdef GENERATEDSAXPARSER_VALIDATION
35596     if ( mValidate )
35597     {
35598 
35599         bool validationResult = _validateEnd__profile_GLES__technique__pass__light_quadratic_attenuation();
35600         if ( !validationResult ) return false;
35601 
35602     } // validation
35603 #endif
35604 
35605     return true;
35606 }
35607 
35608 //---------------------------------------------------------------------
_freeAttributes__profile_GLES__technique__pass__light_quadratic_attenuation(void * attributeData)35609 bool ColladaParserAutoGen14Private::_freeAttributes__profile_GLES__technique__pass__light_quadratic_attenuation( void* attributeData )
35610 {
35611     profile_GLES__technique__pass__light_quadratic_attenuation__AttributeData* typedAttributeData = static_cast<profile_GLES__technique__pass__light_quadratic_attenuation__AttributeData*>(attributeData);
35612 
35613     typedAttributeData->~profile_GLES__technique__pass__light_quadratic_attenuation__AttributeData();
35614 
35615     return true;
35616 }
35617 
35618 //---------------------------------------------------------------------
35619 const profile_GLES__technique__pass__light_spot_cutoff__AttributeData profile_GLES__technique__pass__light_spot_cutoff__AttributeData::DEFAULT = {0, 1.8E2, 0, 0};
35620 
35621 //---------------------------------------------------------------------
_data__profile_GLES__technique__pass__light_spot_cutoff(const ParserChar * text,size_t textLength)35622 bool ColladaParserAutoGen14Private::_data__profile_GLES__technique__pass__light_spot_cutoff( const ParserChar* text, size_t textLength )
35623 {
35624     return true;
35625 }
35626 
35627 //---------------------------------------------------------------------
_preBegin__profile_GLES__technique__pass__light_spot_cutoff(const ParserAttributes & attributes,void ** attributeDataPtr,void ** validationDataPtr)35628 bool ColladaParserAutoGen14Private::_preBegin__profile_GLES__technique__pass__light_spot_cutoff( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
35629 {
35630 #ifdef GENERATEDSAXPARSER_VALIDATION
35631     if ( mValidate )
35632     {
35633 
35634         bool validationResult = _validateBegin__profile_GLES__technique__pass__light_spot_cutoff( attributes, attributeDataPtr, validationDataPtr );
35635         if ( !validationResult ) return false;
35636 
35637     } // validation
35638 #endif
35639 
35640 profile_GLES__technique__pass__light_spot_cutoff__AttributeData* attributeData = newData<profile_GLES__technique__pass__light_spot_cutoff__AttributeData>(attributeDataPtr);
35641 
35642 const ParserChar** attributeArray = attributes.attributes;
35643 if ( attributeArray )
35644 {
35645     while (true)
35646     {
35647         const ParserChar * attribute = *attributeArray;
35648         if ( !attribute )
35649             break;
35650         StringHash hash = GeneratedSaxParser::Utils::calculateStringHash(attribute);
35651         attributeArray++;
35652         if ( !attributeArray )
35653             return false;
35654         const ParserChar* attributeValue = *attributeArray;
35655         attributeArray++;
35656 
35657 
35658     switch ( hash )
35659     {
35660     case HASH_ATTRIBUTE_value:
35661     {
35662 bool failed;
35663 attributeData->value = GeneratedSaxParser::Utils::toFloat(attributeValue, failed);
35664 if ( failed && handleError(ParserError::SEVERITY_ERROR_NONCRITICAL,
35665         ParserError::ERROR_ATTRIBUTE_PARSING_FAILED,
35666         HASH_ELEMENT_LIGHT_SPOT_CUTOFF,
35667         HASH_ATTRIBUTE_value,
35668         attributeValue))
35669 {
35670     return false;
35671 }
35672 
35673     break;
35674     }
35675     case HASH_ATTRIBUTE_param:
35676     {
35677 
35678 attributeData->param = attributeValue;
35679 #ifdef GENERATEDSAXPARSER_VALIDATION
35680     if ( mValidate )
35681     {
35682     ParserError::ErrorType simpleTypeValidationResult = validate__NCName(attributeData->param, strlen(attributeData->param));
35683     if (simpleTypeValidationResult != ParserError::SIMPLE_TYPE_VALIDATION_OK)
35684     {
35685         if( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL,
35686             simpleTypeValidationResult,
35687             HASH_ELEMENT_LIGHT_SPOT_CUTOFF,
35688             HASH_ATTRIBUTE_param,
35689             attributeValue) )
35690         {
35691             return false;
35692         }
35693     }
35694     } // validation
35695 #endif
35696 
35697     break;
35698     }
35699     case HASH_ATTRIBUTE_index:
35700     {
35701 bool failed;
35702 attributeData->index = GeneratedSaxParser::Utils::toUint64(attributeValue, failed);
35703 if ( failed && handleError(ParserError::SEVERITY_ERROR_NONCRITICAL,
35704         ParserError::ERROR_ATTRIBUTE_PARSING_FAILED,
35705         HASH_ELEMENT_LIGHT_SPOT_CUTOFF,
35706         HASH_ATTRIBUTE_index,
35707         attributeValue))
35708 {
35709     return false;
35710 }
35711 #ifdef GENERATEDSAXPARSER_VALIDATION
35712     if ( mValidate )
35713     {
35714     ParserError::ErrorType simpleTypeValidationResult = validate__GLES_MAX_LIGHTS_index(attributeData->index);
35715     if (simpleTypeValidationResult != ParserError::SIMPLE_TYPE_VALIDATION_OK)
35716     {
35717         if( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL,
35718             simpleTypeValidationResult,
35719             HASH_ELEMENT_LIGHT_SPOT_CUTOFF,
35720             HASH_ATTRIBUTE_index,
35721             attributeValue) )
35722         {
35723             return false;
35724         }
35725     }
35726     } // validation
35727 #endif
35728 if ( !failed )
35729     attributeData->present_attributes |= profile_GLES__technique__pass__light_spot_cutoff__AttributeData::ATTRIBUTE_INDEX_PRESENT;
35730 
35731     break;
35732     }
35733     default:
35734     {
35735         if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_UNKNOWN_ATTRIBUTE, HASH_ELEMENT_LIGHT_SPOT_CUTOFF, attribute, attributeValue))
35736             {return false;}
35737     }
35738     }
35739     }
35740 }
35741 if ( (attributeData->present_attributes & profile_GLES__technique__pass__light_spot_cutoff__AttributeData::ATTRIBUTE_INDEX_PRESENT) == 0 )
35742 {
35743     if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_REQUIRED_ATTRIBUTE_MISSING, HASH_ELEMENT_LIGHT_SPOT_CUTOFF, HASH_ATTRIBUTE_index, 0 ) )
35744         return false;
35745 }
35746 
35747 
35748     return true;
35749 }
35750 
35751 //---------------------------------------------------------------------
_preEnd__profile_GLES__technique__pass__light_spot_cutoff()35752 bool ColladaParserAutoGen14Private::_preEnd__profile_GLES__technique__pass__light_spot_cutoff()
35753 {
35754 #ifdef GENERATEDSAXPARSER_VALIDATION
35755     if ( mValidate )
35756     {
35757 
35758         bool validationResult = _validateEnd__profile_GLES__technique__pass__light_spot_cutoff();
35759         if ( !validationResult ) return false;
35760 
35761     } // validation
35762 #endif
35763 
35764     return true;
35765 }
35766 
35767 //---------------------------------------------------------------------
_freeAttributes__profile_GLES__technique__pass__light_spot_cutoff(void * attributeData)35768 bool ColladaParserAutoGen14Private::_freeAttributes__profile_GLES__technique__pass__light_spot_cutoff( void* attributeData )
35769 {
35770     profile_GLES__technique__pass__light_spot_cutoff__AttributeData* typedAttributeData = static_cast<profile_GLES__technique__pass__light_spot_cutoff__AttributeData*>(attributeData);
35771 
35772     typedAttributeData->~profile_GLES__technique__pass__light_spot_cutoff__AttributeData();
35773 
35774     return true;
35775 }
35776 
35777 //---------------------------------------------------------------------
35778 const profile_GLES__technique__pass__light_spot_direction__AttributeData profile_GLES__technique__pass__light_spot_direction__AttributeData::DEFAULT = {0, GeneratedSaxParser::XSList<float>(), 0, 0};
35779 
35780 //---------------------------------------------------------------------
_data__profile_GLES__technique__pass__light_spot_direction(const ParserChar * text,size_t textLength)35781 bool ColladaParserAutoGen14Private::_data__profile_GLES__technique__pass__light_spot_direction( const ParserChar* text, size_t textLength )
35782 {
35783     return true;
35784 }
35785 
35786 //---------------------------------------------------------------------
_preBegin__profile_GLES__technique__pass__light_spot_direction(const ParserAttributes & attributes,void ** attributeDataPtr,void ** validationDataPtr)35787 bool ColladaParserAutoGen14Private::_preBegin__profile_GLES__technique__pass__light_spot_direction( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
35788 {
35789 #ifdef GENERATEDSAXPARSER_VALIDATION
35790     if ( mValidate )
35791     {
35792 
35793         bool validationResult = _validateBegin__profile_GLES__technique__pass__light_spot_direction( attributes, attributeDataPtr, validationDataPtr );
35794         if ( !validationResult ) return false;
35795 
35796     } // validation
35797 #endif
35798 
35799 profile_GLES__technique__pass__light_spot_direction__AttributeData* attributeData = newData<profile_GLES__technique__pass__light_spot_direction__AttributeData>(attributeDataPtr);
35800 
35801 const ParserChar** attributeArray = attributes.attributes;
35802 if ( attributeArray )
35803 {
35804     while (true)
35805     {
35806         const ParserChar * attribute = *attributeArray;
35807         if ( !attribute )
35808             break;
35809         StringHash hash = GeneratedSaxParser::Utils::calculateStringHash(attribute);
35810         attributeArray++;
35811         if ( !attributeArray )
35812             return false;
35813         const ParserChar* attributeValue = *attributeArray;
35814         attributeArray++;
35815 
35816 
35817     switch ( hash )
35818     {
35819     case HASH_ATTRIBUTE_value:
35820     {
35821 bool failed;
35822 #ifdef GENERATEDSAXPARSER_VALIDATION
35823     if ( mValidate )
35824     {
35825 failed = !characterData2FloatList(attributeValue, attributeData->value, 0, HASH_ELEMENT_LIGHT_SPOT_DIRECTION, HASH_ATTRIBUTE_value);
35826     }
35827     else
35828     {
35829 failed = !characterData2FloatList(attributeValue, attributeData->value);
35830     }
35831 #else
35832     {
35833 failed = !characterData2FloatList(attributeValue, attributeData->value);
35834     } // validation
35835 #endif
35836 if ( failed && handleError(ParserError::SEVERITY_ERROR_NONCRITICAL,
35837         ParserError::ERROR_ATTRIBUTE_PARSING_FAILED,
35838         HASH_ELEMENT_LIGHT_SPOT_DIRECTION,
35839         HASH_ATTRIBUTE_value,
35840         attributeValue))
35841 {
35842     return false;
35843 }
35844 #ifdef GENERATEDSAXPARSER_VALIDATION
35845     if ( mValidate )
35846     {
35847     ParserError::ErrorType simpleTypeValidationResult = validate__float3(attributeData->value.data, attributeData->value.size);
35848     if (simpleTypeValidationResult != ParserError::SIMPLE_TYPE_VALIDATION_OK)
35849     {
35850         if( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL,
35851             simpleTypeValidationResult,
35852             HASH_ELEMENT_LIGHT_SPOT_DIRECTION,
35853             HASH_ATTRIBUTE_value,
35854             attributeValue) )
35855         {
35856             return false;
35857         }
35858     }
35859     } // validation
35860 #endif
35861 
35862 if ( !failed )
35863     attributeData->present_attributes |= profile_GLES__technique__pass__light_spot_direction__AttributeData::ATTRIBUTE_VALUE_PRESENT;
35864 
35865     break;
35866     }
35867     case HASH_ATTRIBUTE_param:
35868     {
35869 
35870 attributeData->param = attributeValue;
35871 #ifdef GENERATEDSAXPARSER_VALIDATION
35872     if ( mValidate )
35873     {
35874     ParserError::ErrorType simpleTypeValidationResult = validate__NCName(attributeData->param, strlen(attributeData->param));
35875     if (simpleTypeValidationResult != ParserError::SIMPLE_TYPE_VALIDATION_OK)
35876     {
35877         if( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL,
35878             simpleTypeValidationResult,
35879             HASH_ELEMENT_LIGHT_SPOT_DIRECTION,
35880             HASH_ATTRIBUTE_param,
35881             attributeValue) )
35882         {
35883             return false;
35884         }
35885     }
35886     } // validation
35887 #endif
35888 
35889     break;
35890     }
35891     case HASH_ATTRIBUTE_index:
35892     {
35893 bool failed;
35894 attributeData->index = GeneratedSaxParser::Utils::toUint64(attributeValue, failed);
35895 if ( failed && handleError(ParserError::SEVERITY_ERROR_NONCRITICAL,
35896         ParserError::ERROR_ATTRIBUTE_PARSING_FAILED,
35897         HASH_ELEMENT_LIGHT_SPOT_DIRECTION,
35898         HASH_ATTRIBUTE_index,
35899         attributeValue))
35900 {
35901     return false;
35902 }
35903 #ifdef GENERATEDSAXPARSER_VALIDATION
35904     if ( mValidate )
35905     {
35906     ParserError::ErrorType simpleTypeValidationResult = validate__GLES_MAX_LIGHTS_index(attributeData->index);
35907     if (simpleTypeValidationResult != ParserError::SIMPLE_TYPE_VALIDATION_OK)
35908     {
35909         if( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL,
35910             simpleTypeValidationResult,
35911             HASH_ELEMENT_LIGHT_SPOT_DIRECTION,
35912             HASH_ATTRIBUTE_index,
35913             attributeValue) )
35914         {
35915             return false;
35916         }
35917     }
35918     } // validation
35919 #endif
35920 if ( !failed )
35921     attributeData->present_attributes |= profile_GLES__technique__pass__light_spot_direction__AttributeData::ATTRIBUTE_INDEX_PRESENT;
35922 
35923     break;
35924     }
35925     default:
35926     {
35927         if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_UNKNOWN_ATTRIBUTE, HASH_ELEMENT_LIGHT_SPOT_DIRECTION, attribute, attributeValue))
35928             {return false;}
35929     }
35930     }
35931     }
35932 }
35933 if ((attributeData->present_attributes & profile_GLES__technique__pass__light_spot_direction__AttributeData::ATTRIBUTE_VALUE_PRESENT) == 0)
35934 {
35935     bool failed;
35936     failed = !characterData2FloatList("0.0E1 0.0E1 -1.0E0", attributeData->value);
35937     if ( !failed )
35938     attributeData->present_attributes |= profile_GLES__technique__pass__light_spot_direction__AttributeData::ATTRIBUTE_VALUE_PRESENT;
35939 }
35940 if ( (attributeData->present_attributes & profile_GLES__technique__pass__light_spot_direction__AttributeData::ATTRIBUTE_INDEX_PRESENT) == 0 )
35941 {
35942     if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_REQUIRED_ATTRIBUTE_MISSING, HASH_ELEMENT_LIGHT_SPOT_DIRECTION, HASH_ATTRIBUTE_index, 0 ) )
35943         return false;
35944 }
35945 
35946 
35947     return true;
35948 }
35949 
35950 //---------------------------------------------------------------------
_preEnd__profile_GLES__technique__pass__light_spot_direction()35951 bool ColladaParserAutoGen14Private::_preEnd__profile_GLES__technique__pass__light_spot_direction()
35952 {
35953 #ifdef GENERATEDSAXPARSER_VALIDATION
35954     if ( mValidate )
35955     {
35956 
35957         bool validationResult = _validateEnd__profile_GLES__technique__pass__light_spot_direction();
35958         if ( !validationResult ) return false;
35959 
35960     } // validation
35961 #endif
35962 
35963     return true;
35964 }
35965 
35966 //---------------------------------------------------------------------
_freeAttributes__profile_GLES__technique__pass__light_spot_direction(void * attributeData)35967 bool ColladaParserAutoGen14Private::_freeAttributes__profile_GLES__technique__pass__light_spot_direction( void* attributeData )
35968 {
35969     profile_GLES__technique__pass__light_spot_direction__AttributeData* typedAttributeData = static_cast<profile_GLES__technique__pass__light_spot_direction__AttributeData*>(attributeData);
35970     if (typedAttributeData->value.data)
35971     {
35972         mStackMemoryManager.deleteObject();
35973     }
35974 
35975 
35976     typedAttributeData->~profile_GLES__technique__pass__light_spot_direction__AttributeData();
35977 
35978     return true;
35979 }
35980 
35981 //---------------------------------------------------------------------
35982 const profile_GLES__technique__pass__light_spot_exponent__AttributeData profile_GLES__technique__pass__light_spot_exponent__AttributeData::DEFAULT = {0, 0.0E1, 0, 0};
35983 
35984 //---------------------------------------------------------------------
_data__profile_GLES__technique__pass__light_spot_exponent(const ParserChar * text,size_t textLength)35985 bool ColladaParserAutoGen14Private::_data__profile_GLES__technique__pass__light_spot_exponent( const ParserChar* text, size_t textLength )
35986 {
35987     return true;
35988 }
35989 
35990 //---------------------------------------------------------------------
_preBegin__profile_GLES__technique__pass__light_spot_exponent(const ParserAttributes & attributes,void ** attributeDataPtr,void ** validationDataPtr)35991 bool ColladaParserAutoGen14Private::_preBegin__profile_GLES__technique__pass__light_spot_exponent( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
35992 {
35993 #ifdef GENERATEDSAXPARSER_VALIDATION
35994     if ( mValidate )
35995     {
35996 
35997         bool validationResult = _validateBegin__profile_GLES__technique__pass__light_spot_exponent( attributes, attributeDataPtr, validationDataPtr );
35998         if ( !validationResult ) return false;
35999 
36000     } // validation
36001 #endif
36002 
36003 profile_GLES__technique__pass__light_spot_exponent__AttributeData* attributeData = newData<profile_GLES__technique__pass__light_spot_exponent__AttributeData>(attributeDataPtr);
36004 
36005 const ParserChar** attributeArray = attributes.attributes;
36006 if ( attributeArray )
36007 {
36008     while (true)
36009     {
36010         const ParserChar * attribute = *attributeArray;
36011         if ( !attribute )
36012             break;
36013         StringHash hash = GeneratedSaxParser::Utils::calculateStringHash(attribute);
36014         attributeArray++;
36015         if ( !attributeArray )
36016             return false;
36017         const ParserChar* attributeValue = *attributeArray;
36018         attributeArray++;
36019 
36020 
36021     switch ( hash )
36022     {
36023     case HASH_ATTRIBUTE_value:
36024     {
36025 bool failed;
36026 attributeData->value = GeneratedSaxParser::Utils::toFloat(attributeValue, failed);
36027 if ( failed && handleError(ParserError::SEVERITY_ERROR_NONCRITICAL,
36028         ParserError::ERROR_ATTRIBUTE_PARSING_FAILED,
36029         HASH_ELEMENT_LIGHT_SPOT_EXPONENT,
36030         HASH_ATTRIBUTE_value,
36031         attributeValue))
36032 {
36033     return false;
36034 }
36035 
36036     break;
36037     }
36038     case HASH_ATTRIBUTE_param:
36039     {
36040 
36041 attributeData->param = attributeValue;
36042 #ifdef GENERATEDSAXPARSER_VALIDATION
36043     if ( mValidate )
36044     {
36045     ParserError::ErrorType simpleTypeValidationResult = validate__NCName(attributeData->param, strlen(attributeData->param));
36046     if (simpleTypeValidationResult != ParserError::SIMPLE_TYPE_VALIDATION_OK)
36047     {
36048         if( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL,
36049             simpleTypeValidationResult,
36050             HASH_ELEMENT_LIGHT_SPOT_EXPONENT,
36051             HASH_ATTRIBUTE_param,
36052             attributeValue) )
36053         {
36054             return false;
36055         }
36056     }
36057     } // validation
36058 #endif
36059 
36060     break;
36061     }
36062     case HASH_ATTRIBUTE_index:
36063     {
36064 bool failed;
36065 attributeData->index = GeneratedSaxParser::Utils::toUint64(attributeValue, failed);
36066 if ( failed && handleError(ParserError::SEVERITY_ERROR_NONCRITICAL,
36067         ParserError::ERROR_ATTRIBUTE_PARSING_FAILED,
36068         HASH_ELEMENT_LIGHT_SPOT_EXPONENT,
36069         HASH_ATTRIBUTE_index,
36070         attributeValue))
36071 {
36072     return false;
36073 }
36074 #ifdef GENERATEDSAXPARSER_VALIDATION
36075     if ( mValidate )
36076     {
36077     ParserError::ErrorType simpleTypeValidationResult = validate__GLES_MAX_LIGHTS_index(attributeData->index);
36078     if (simpleTypeValidationResult != ParserError::SIMPLE_TYPE_VALIDATION_OK)
36079     {
36080         if( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL,
36081             simpleTypeValidationResult,
36082             HASH_ELEMENT_LIGHT_SPOT_EXPONENT,
36083             HASH_ATTRIBUTE_index,
36084             attributeValue) )
36085         {
36086             return false;
36087         }
36088     }
36089     } // validation
36090 #endif
36091 if ( !failed )
36092     attributeData->present_attributes |= profile_GLES__technique__pass__light_spot_exponent__AttributeData::ATTRIBUTE_INDEX_PRESENT;
36093 
36094     break;
36095     }
36096     default:
36097     {
36098         if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_UNKNOWN_ATTRIBUTE, HASH_ELEMENT_LIGHT_SPOT_EXPONENT, attribute, attributeValue))
36099             {return false;}
36100     }
36101     }
36102     }
36103 }
36104 if ( (attributeData->present_attributes & profile_GLES__technique__pass__light_spot_exponent__AttributeData::ATTRIBUTE_INDEX_PRESENT) == 0 )
36105 {
36106     if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_REQUIRED_ATTRIBUTE_MISSING, HASH_ELEMENT_LIGHT_SPOT_EXPONENT, HASH_ATTRIBUTE_index, 0 ) )
36107         return false;
36108 }
36109 
36110 
36111     return true;
36112 }
36113 
36114 //---------------------------------------------------------------------
_preEnd__profile_GLES__technique__pass__light_spot_exponent()36115 bool ColladaParserAutoGen14Private::_preEnd__profile_GLES__technique__pass__light_spot_exponent()
36116 {
36117 #ifdef GENERATEDSAXPARSER_VALIDATION
36118     if ( mValidate )
36119     {
36120 
36121         bool validationResult = _validateEnd__profile_GLES__technique__pass__light_spot_exponent();
36122         if ( !validationResult ) return false;
36123 
36124     } // validation
36125 #endif
36126 
36127     return true;
36128 }
36129 
36130 //---------------------------------------------------------------------
_freeAttributes__profile_GLES__technique__pass__light_spot_exponent(void * attributeData)36131 bool ColladaParserAutoGen14Private::_freeAttributes__profile_GLES__technique__pass__light_spot_exponent( void* attributeData )
36132 {
36133     profile_GLES__technique__pass__light_spot_exponent__AttributeData* typedAttributeData = static_cast<profile_GLES__technique__pass__light_spot_exponent__AttributeData*>(attributeData);
36134 
36135     typedAttributeData->~profile_GLES__technique__pass__light_spot_exponent__AttributeData();
36136 
36137     return true;
36138 }
36139 
36140 //---------------------------------------------------------------------
36141 const profile_GLES__technique__pass__light_model_ambient__AttributeData profile_GLES__technique__pass__light_model_ambient__AttributeData::DEFAULT = {0, GeneratedSaxParser::XSList<float>(), 0};
36142 
36143 //---------------------------------------------------------------------
_data__profile_GLES__technique__pass__light_model_ambient(const ParserChar * text,size_t textLength)36144 bool ColladaParserAutoGen14Private::_data__profile_GLES__technique__pass__light_model_ambient( const ParserChar* text, size_t textLength )
36145 {
36146     return true;
36147 }
36148 
36149 //---------------------------------------------------------------------
_preBegin__profile_GLES__technique__pass__light_model_ambient(const ParserAttributes & attributes,void ** attributeDataPtr,void ** validationDataPtr)36150 bool ColladaParserAutoGen14Private::_preBegin__profile_GLES__technique__pass__light_model_ambient( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
36151 {
36152 #ifdef GENERATEDSAXPARSER_VALIDATION
36153     if ( mValidate )
36154     {
36155 
36156         bool validationResult = _validateBegin__profile_GLES__technique__pass__light_model_ambient( attributes, attributeDataPtr, validationDataPtr );
36157         if ( !validationResult ) return false;
36158 
36159     } // validation
36160 #endif
36161 
36162 profile_GLES__technique__pass__light_model_ambient__AttributeData* attributeData = newData<profile_GLES__technique__pass__light_model_ambient__AttributeData>(attributeDataPtr);
36163 
36164 const ParserChar** attributeArray = attributes.attributes;
36165 if ( attributeArray )
36166 {
36167     while (true)
36168     {
36169         const ParserChar * attribute = *attributeArray;
36170         if ( !attribute )
36171             break;
36172         StringHash hash = GeneratedSaxParser::Utils::calculateStringHash(attribute);
36173         attributeArray++;
36174         if ( !attributeArray )
36175             return false;
36176         const ParserChar* attributeValue = *attributeArray;
36177         attributeArray++;
36178 
36179 
36180     switch ( hash )
36181     {
36182     case HASH_ATTRIBUTE_value:
36183     {
36184 bool failed;
36185 #ifdef GENERATEDSAXPARSER_VALIDATION
36186     if ( mValidate )
36187     {
36188 failed = !characterData2FloatList(attributeValue, attributeData->value, 0, HASH_ELEMENT_LIGHT_MODEL_AMBIENT, HASH_ATTRIBUTE_value);
36189     }
36190     else
36191     {
36192 failed = !characterData2FloatList(attributeValue, attributeData->value);
36193     }
36194 #else
36195     {
36196 failed = !characterData2FloatList(attributeValue, attributeData->value);
36197     } // validation
36198 #endif
36199 if ( failed && handleError(ParserError::SEVERITY_ERROR_NONCRITICAL,
36200         ParserError::ERROR_ATTRIBUTE_PARSING_FAILED,
36201         HASH_ELEMENT_LIGHT_MODEL_AMBIENT,
36202         HASH_ATTRIBUTE_value,
36203         attributeValue))
36204 {
36205     return false;
36206 }
36207 #ifdef GENERATEDSAXPARSER_VALIDATION
36208     if ( mValidate )
36209     {
36210     ParserError::ErrorType simpleTypeValidationResult = validate__float4(attributeData->value.data, attributeData->value.size);
36211     if (simpleTypeValidationResult != ParserError::SIMPLE_TYPE_VALIDATION_OK)
36212     {
36213         if( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL,
36214             simpleTypeValidationResult,
36215             HASH_ELEMENT_LIGHT_MODEL_AMBIENT,
36216             HASH_ATTRIBUTE_value,
36217             attributeValue) )
36218         {
36219             return false;
36220         }
36221     }
36222     } // validation
36223 #endif
36224 
36225 if ( !failed )
36226     attributeData->present_attributes |= profile_GLES__technique__pass__light_model_ambient__AttributeData::ATTRIBUTE_VALUE_PRESENT;
36227 
36228     break;
36229     }
36230     case HASH_ATTRIBUTE_param:
36231     {
36232 
36233 attributeData->param = attributeValue;
36234 #ifdef GENERATEDSAXPARSER_VALIDATION
36235     if ( mValidate )
36236     {
36237     ParserError::ErrorType simpleTypeValidationResult = validate__NCName(attributeData->param, strlen(attributeData->param));
36238     if (simpleTypeValidationResult != ParserError::SIMPLE_TYPE_VALIDATION_OK)
36239     {
36240         if( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL,
36241             simpleTypeValidationResult,
36242             HASH_ELEMENT_LIGHT_MODEL_AMBIENT,
36243             HASH_ATTRIBUTE_param,
36244             attributeValue) )
36245         {
36246             return false;
36247         }
36248     }
36249     } // validation
36250 #endif
36251 
36252     break;
36253     }
36254     default:
36255     {
36256         if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_UNKNOWN_ATTRIBUTE, HASH_ELEMENT_LIGHT_MODEL_AMBIENT, attribute, attributeValue))
36257             {return false;}
36258     }
36259     }
36260     }
36261 }
36262 if ((attributeData->present_attributes & profile_GLES__technique__pass__light_model_ambient__AttributeData::ATTRIBUTE_VALUE_PRESENT) == 0)
36263 {
36264     bool failed;
36265     failed = !characterData2FloatList("2.0E-1 2.0E-1 2.0E-1 1.0E0", attributeData->value);
36266     if ( !failed )
36267     attributeData->present_attributes |= profile_GLES__technique__pass__light_model_ambient__AttributeData::ATTRIBUTE_VALUE_PRESENT;
36268 }
36269 
36270 
36271     return true;
36272 }
36273 
36274 //---------------------------------------------------------------------
_preEnd__profile_GLES__technique__pass__light_model_ambient()36275 bool ColladaParserAutoGen14Private::_preEnd__profile_GLES__technique__pass__light_model_ambient()
36276 {
36277 #ifdef GENERATEDSAXPARSER_VALIDATION
36278     if ( mValidate )
36279     {
36280 
36281         bool validationResult = _validateEnd__profile_GLES__technique__pass__light_model_ambient();
36282         if ( !validationResult ) return false;
36283 
36284     } // validation
36285 #endif
36286 
36287     return true;
36288 }
36289 
36290 //---------------------------------------------------------------------
_freeAttributes__profile_GLES__technique__pass__light_model_ambient(void * attributeData)36291 bool ColladaParserAutoGen14Private::_freeAttributes__profile_GLES__technique__pass__light_model_ambient( void* attributeData )
36292 {
36293     profile_GLES__technique__pass__light_model_ambient__AttributeData* typedAttributeData = static_cast<profile_GLES__technique__pass__light_model_ambient__AttributeData*>(attributeData);
36294     if (typedAttributeData->value.data)
36295     {
36296         mStackMemoryManager.deleteObject();
36297     }
36298 
36299 
36300     typedAttributeData->~profile_GLES__technique__pass__light_model_ambient__AttributeData();
36301 
36302     return true;
36303 }
36304 
36305 //---------------------------------------------------------------------
36306 const profile_GLES__technique__pass__line_width__AttributeData profile_GLES__technique__pass__line_width__AttributeData::DEFAULT = {1.0E0, 0};
36307 
36308 //---------------------------------------------------------------------
_data__profile_GLES__technique__pass__line_width(const ParserChar * text,size_t textLength)36309 bool ColladaParserAutoGen14Private::_data__profile_GLES__technique__pass__line_width( const ParserChar* text, size_t textLength )
36310 {
36311     return true;
36312 }
36313 
36314 //---------------------------------------------------------------------
_preBegin__profile_GLES__technique__pass__line_width(const ParserAttributes & attributes,void ** attributeDataPtr,void ** validationDataPtr)36315 bool ColladaParserAutoGen14Private::_preBegin__profile_GLES__technique__pass__line_width( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
36316 {
36317 #ifdef GENERATEDSAXPARSER_VALIDATION
36318     if ( mValidate )
36319     {
36320 
36321         bool validationResult = _validateBegin__profile_GLES__technique__pass__line_width( attributes, attributeDataPtr, validationDataPtr );
36322         if ( !validationResult ) return false;
36323 
36324     } // validation
36325 #endif
36326 
36327 profile_GLES__technique__pass__line_width__AttributeData* attributeData = newData<profile_GLES__technique__pass__line_width__AttributeData>(attributeDataPtr);
36328 
36329 const ParserChar** attributeArray = attributes.attributes;
36330 if ( attributeArray )
36331 {
36332     while (true)
36333     {
36334         const ParserChar * attribute = *attributeArray;
36335         if ( !attribute )
36336             break;
36337         StringHash hash = GeneratedSaxParser::Utils::calculateStringHash(attribute);
36338         attributeArray++;
36339         if ( !attributeArray )
36340             return false;
36341         const ParserChar* attributeValue = *attributeArray;
36342         attributeArray++;
36343 
36344 
36345     switch ( hash )
36346     {
36347     case HASH_ATTRIBUTE_value:
36348     {
36349 bool failed;
36350 attributeData->value = GeneratedSaxParser::Utils::toFloat(attributeValue, failed);
36351 if ( failed && handleError(ParserError::SEVERITY_ERROR_NONCRITICAL,
36352         ParserError::ERROR_ATTRIBUTE_PARSING_FAILED,
36353         HASH_ELEMENT_LINE_WIDTH,
36354         HASH_ATTRIBUTE_value,
36355         attributeValue))
36356 {
36357     return false;
36358 }
36359 
36360     break;
36361     }
36362     case HASH_ATTRIBUTE_param:
36363     {
36364 
36365 attributeData->param = attributeValue;
36366 #ifdef GENERATEDSAXPARSER_VALIDATION
36367     if ( mValidate )
36368     {
36369     ParserError::ErrorType simpleTypeValidationResult = validate__NCName(attributeData->param, strlen(attributeData->param));
36370     if (simpleTypeValidationResult != ParserError::SIMPLE_TYPE_VALIDATION_OK)
36371     {
36372         if( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL,
36373             simpleTypeValidationResult,
36374             HASH_ELEMENT_LINE_WIDTH,
36375             HASH_ATTRIBUTE_param,
36376             attributeValue) )
36377         {
36378             return false;
36379         }
36380     }
36381     } // validation
36382 #endif
36383 
36384     break;
36385     }
36386     default:
36387     {
36388         if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_UNKNOWN_ATTRIBUTE, HASH_ELEMENT_LINE_WIDTH, attribute, attributeValue))
36389             {return false;}
36390     }
36391     }
36392     }
36393 }
36394 
36395 
36396     return true;
36397 }
36398 
36399 //---------------------------------------------------------------------
_preEnd__profile_GLES__technique__pass__line_width()36400 bool ColladaParserAutoGen14Private::_preEnd__profile_GLES__technique__pass__line_width()
36401 {
36402 #ifdef GENERATEDSAXPARSER_VALIDATION
36403     if ( mValidate )
36404     {
36405 
36406         bool validationResult = _validateEnd__profile_GLES__technique__pass__line_width();
36407         if ( !validationResult ) return false;
36408 
36409     } // validation
36410 #endif
36411 
36412     return true;
36413 }
36414 
36415 //---------------------------------------------------------------------
_freeAttributes__profile_GLES__technique__pass__line_width(void * attributeData)36416 bool ColladaParserAutoGen14Private::_freeAttributes__profile_GLES__technique__pass__line_width( void* attributeData )
36417 {
36418     profile_GLES__technique__pass__line_width__AttributeData* typedAttributeData = static_cast<profile_GLES__technique__pass__line_width__AttributeData*>(attributeData);
36419 
36420     typedAttributeData->~profile_GLES__technique__pass__line_width__AttributeData();
36421 
36422     return true;
36423 }
36424 
36425 //---------------------------------------------------------------------
36426 const profile_GLES__technique__pass__material_ambient__AttributeData profile_GLES__technique__pass__material_ambient__AttributeData::DEFAULT = {0, GeneratedSaxParser::XSList<float>(), 0};
36427 
36428 //---------------------------------------------------------------------
_data__profile_GLES__technique__pass__material_ambient(const ParserChar * text,size_t textLength)36429 bool ColladaParserAutoGen14Private::_data__profile_GLES__technique__pass__material_ambient( const ParserChar* text, size_t textLength )
36430 {
36431     return true;
36432 }
36433 
36434 //---------------------------------------------------------------------
_preBegin__profile_GLES__technique__pass__material_ambient(const ParserAttributes & attributes,void ** attributeDataPtr,void ** validationDataPtr)36435 bool ColladaParserAutoGen14Private::_preBegin__profile_GLES__technique__pass__material_ambient( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
36436 {
36437 #ifdef GENERATEDSAXPARSER_VALIDATION
36438     if ( mValidate )
36439     {
36440 
36441         bool validationResult = _validateBegin__profile_GLES__technique__pass__material_ambient( attributes, attributeDataPtr, validationDataPtr );
36442         if ( !validationResult ) return false;
36443 
36444     } // validation
36445 #endif
36446 
36447 profile_GLES__technique__pass__material_ambient__AttributeData* attributeData = newData<profile_GLES__technique__pass__material_ambient__AttributeData>(attributeDataPtr);
36448 
36449 const ParserChar** attributeArray = attributes.attributes;
36450 if ( attributeArray )
36451 {
36452     while (true)
36453     {
36454         const ParserChar * attribute = *attributeArray;
36455         if ( !attribute )
36456             break;
36457         StringHash hash = GeneratedSaxParser::Utils::calculateStringHash(attribute);
36458         attributeArray++;
36459         if ( !attributeArray )
36460             return false;
36461         const ParserChar* attributeValue = *attributeArray;
36462         attributeArray++;
36463 
36464 
36465     switch ( hash )
36466     {
36467     case HASH_ATTRIBUTE_value:
36468     {
36469 bool failed;
36470 #ifdef GENERATEDSAXPARSER_VALIDATION
36471     if ( mValidate )
36472     {
36473 failed = !characterData2FloatList(attributeValue, attributeData->value, 0, HASH_ELEMENT_MATERIAL_AMBIENT, HASH_ATTRIBUTE_value);
36474     }
36475     else
36476     {
36477 failed = !characterData2FloatList(attributeValue, attributeData->value);
36478     }
36479 #else
36480     {
36481 failed = !characterData2FloatList(attributeValue, attributeData->value);
36482     } // validation
36483 #endif
36484 if ( failed && handleError(ParserError::SEVERITY_ERROR_NONCRITICAL,
36485         ParserError::ERROR_ATTRIBUTE_PARSING_FAILED,
36486         HASH_ELEMENT_MATERIAL_AMBIENT,
36487         HASH_ATTRIBUTE_value,
36488         attributeValue))
36489 {
36490     return false;
36491 }
36492 #ifdef GENERATEDSAXPARSER_VALIDATION
36493     if ( mValidate )
36494     {
36495     ParserError::ErrorType simpleTypeValidationResult = validate__float4(attributeData->value.data, attributeData->value.size);
36496     if (simpleTypeValidationResult != ParserError::SIMPLE_TYPE_VALIDATION_OK)
36497     {
36498         if( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL,
36499             simpleTypeValidationResult,
36500             HASH_ELEMENT_MATERIAL_AMBIENT,
36501             HASH_ATTRIBUTE_value,
36502             attributeValue) )
36503         {
36504             return false;
36505         }
36506     }
36507     } // validation
36508 #endif
36509 
36510 if ( !failed )
36511     attributeData->present_attributes |= profile_GLES__technique__pass__material_ambient__AttributeData::ATTRIBUTE_VALUE_PRESENT;
36512 
36513     break;
36514     }
36515     case HASH_ATTRIBUTE_param:
36516     {
36517 
36518 attributeData->param = attributeValue;
36519 #ifdef GENERATEDSAXPARSER_VALIDATION
36520     if ( mValidate )
36521     {
36522     ParserError::ErrorType simpleTypeValidationResult = validate__NCName(attributeData->param, strlen(attributeData->param));
36523     if (simpleTypeValidationResult != ParserError::SIMPLE_TYPE_VALIDATION_OK)
36524     {
36525         if( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL,
36526             simpleTypeValidationResult,
36527             HASH_ELEMENT_MATERIAL_AMBIENT,
36528             HASH_ATTRIBUTE_param,
36529             attributeValue) )
36530         {
36531             return false;
36532         }
36533     }
36534     } // validation
36535 #endif
36536 
36537     break;
36538     }
36539     default:
36540     {
36541         if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_UNKNOWN_ATTRIBUTE, HASH_ELEMENT_MATERIAL_AMBIENT, attribute, attributeValue))
36542             {return false;}
36543     }
36544     }
36545     }
36546 }
36547 if ((attributeData->present_attributes & profile_GLES__technique__pass__material_ambient__AttributeData::ATTRIBUTE_VALUE_PRESENT) == 0)
36548 {
36549     bool failed;
36550     failed = !characterData2FloatList("2.0E-1 2.0E-1 2.0E-1 1.0E0", attributeData->value);
36551     if ( !failed )
36552     attributeData->present_attributes |= profile_GLES__technique__pass__material_ambient__AttributeData::ATTRIBUTE_VALUE_PRESENT;
36553 }
36554 
36555 
36556     return true;
36557 }
36558 
36559 //---------------------------------------------------------------------
_preEnd__profile_GLES__technique__pass__material_ambient()36560 bool ColladaParserAutoGen14Private::_preEnd__profile_GLES__technique__pass__material_ambient()
36561 {
36562 #ifdef GENERATEDSAXPARSER_VALIDATION
36563     if ( mValidate )
36564     {
36565 
36566         bool validationResult = _validateEnd__profile_GLES__technique__pass__material_ambient();
36567         if ( !validationResult ) return false;
36568 
36569     } // validation
36570 #endif
36571 
36572     return true;
36573 }
36574 
36575 //---------------------------------------------------------------------
_freeAttributes__profile_GLES__technique__pass__material_ambient(void * attributeData)36576 bool ColladaParserAutoGen14Private::_freeAttributes__profile_GLES__technique__pass__material_ambient( void* attributeData )
36577 {
36578     profile_GLES__technique__pass__material_ambient__AttributeData* typedAttributeData = static_cast<profile_GLES__technique__pass__material_ambient__AttributeData*>(attributeData);
36579     if (typedAttributeData->value.data)
36580     {
36581         mStackMemoryManager.deleteObject();
36582     }
36583 
36584 
36585     typedAttributeData->~profile_GLES__technique__pass__material_ambient__AttributeData();
36586 
36587     return true;
36588 }
36589 
36590 //---------------------------------------------------------------------
36591 const profile_GLES__technique__pass__material_diffuse__AttributeData profile_GLES__technique__pass__material_diffuse__AttributeData::DEFAULT = {0, GeneratedSaxParser::XSList<float>(), 0};
36592 
36593 //---------------------------------------------------------------------
_data__profile_GLES__technique__pass__material_diffuse(const ParserChar * text,size_t textLength)36594 bool ColladaParserAutoGen14Private::_data__profile_GLES__technique__pass__material_diffuse( const ParserChar* text, size_t textLength )
36595 {
36596     return true;
36597 }
36598 
36599 //---------------------------------------------------------------------
_preBegin__profile_GLES__technique__pass__material_diffuse(const ParserAttributes & attributes,void ** attributeDataPtr,void ** validationDataPtr)36600 bool ColladaParserAutoGen14Private::_preBegin__profile_GLES__technique__pass__material_diffuse( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
36601 {
36602 #ifdef GENERATEDSAXPARSER_VALIDATION
36603     if ( mValidate )
36604     {
36605 
36606         bool validationResult = _validateBegin__profile_GLES__technique__pass__material_diffuse( attributes, attributeDataPtr, validationDataPtr );
36607         if ( !validationResult ) return false;
36608 
36609     } // validation
36610 #endif
36611 
36612 profile_GLES__technique__pass__material_diffuse__AttributeData* attributeData = newData<profile_GLES__technique__pass__material_diffuse__AttributeData>(attributeDataPtr);
36613 
36614 const ParserChar** attributeArray = attributes.attributes;
36615 if ( attributeArray )
36616 {
36617     while (true)
36618     {
36619         const ParserChar * attribute = *attributeArray;
36620         if ( !attribute )
36621             break;
36622         StringHash hash = GeneratedSaxParser::Utils::calculateStringHash(attribute);
36623         attributeArray++;
36624         if ( !attributeArray )
36625             return false;
36626         const ParserChar* attributeValue = *attributeArray;
36627         attributeArray++;
36628 
36629 
36630     switch ( hash )
36631     {
36632     case HASH_ATTRIBUTE_value:
36633     {
36634 bool failed;
36635 #ifdef GENERATEDSAXPARSER_VALIDATION
36636     if ( mValidate )
36637     {
36638 failed = !characterData2FloatList(attributeValue, attributeData->value, 0, HASH_ELEMENT_MATERIAL_DIFFUSE, HASH_ATTRIBUTE_value);
36639     }
36640     else
36641     {
36642 failed = !characterData2FloatList(attributeValue, attributeData->value);
36643     }
36644 #else
36645     {
36646 failed = !characterData2FloatList(attributeValue, attributeData->value);
36647     } // validation
36648 #endif
36649 if ( failed && handleError(ParserError::SEVERITY_ERROR_NONCRITICAL,
36650         ParserError::ERROR_ATTRIBUTE_PARSING_FAILED,
36651         HASH_ELEMENT_MATERIAL_DIFFUSE,
36652         HASH_ATTRIBUTE_value,
36653         attributeValue))
36654 {
36655     return false;
36656 }
36657 #ifdef GENERATEDSAXPARSER_VALIDATION
36658     if ( mValidate )
36659     {
36660     ParserError::ErrorType simpleTypeValidationResult = validate__float4(attributeData->value.data, attributeData->value.size);
36661     if (simpleTypeValidationResult != ParserError::SIMPLE_TYPE_VALIDATION_OK)
36662     {
36663         if( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL,
36664             simpleTypeValidationResult,
36665             HASH_ELEMENT_MATERIAL_DIFFUSE,
36666             HASH_ATTRIBUTE_value,
36667             attributeValue) )
36668         {
36669             return false;
36670         }
36671     }
36672     } // validation
36673 #endif
36674 
36675 if ( !failed )
36676     attributeData->present_attributes |= profile_GLES__technique__pass__material_diffuse__AttributeData::ATTRIBUTE_VALUE_PRESENT;
36677 
36678     break;
36679     }
36680     case HASH_ATTRIBUTE_param:
36681     {
36682 
36683 attributeData->param = attributeValue;
36684 #ifdef GENERATEDSAXPARSER_VALIDATION
36685     if ( mValidate )
36686     {
36687     ParserError::ErrorType simpleTypeValidationResult = validate__NCName(attributeData->param, strlen(attributeData->param));
36688     if (simpleTypeValidationResult != ParserError::SIMPLE_TYPE_VALIDATION_OK)
36689     {
36690         if( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL,
36691             simpleTypeValidationResult,
36692             HASH_ELEMENT_MATERIAL_DIFFUSE,
36693             HASH_ATTRIBUTE_param,
36694             attributeValue) )
36695         {
36696             return false;
36697         }
36698     }
36699     } // validation
36700 #endif
36701 
36702     break;
36703     }
36704     default:
36705     {
36706         if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_UNKNOWN_ATTRIBUTE, HASH_ELEMENT_MATERIAL_DIFFUSE, attribute, attributeValue))
36707             {return false;}
36708     }
36709     }
36710     }
36711 }
36712 if ((attributeData->present_attributes & profile_GLES__technique__pass__material_diffuse__AttributeData::ATTRIBUTE_VALUE_PRESENT) == 0)
36713 {
36714     bool failed;
36715     failed = !characterData2FloatList("8.0E-1 8.0E-1 8.0E-1 1.0E0", attributeData->value);
36716     if ( !failed )
36717     attributeData->present_attributes |= profile_GLES__technique__pass__material_diffuse__AttributeData::ATTRIBUTE_VALUE_PRESENT;
36718 }
36719 
36720 
36721     return true;
36722 }
36723 
36724 //---------------------------------------------------------------------
_preEnd__profile_GLES__technique__pass__material_diffuse()36725 bool ColladaParserAutoGen14Private::_preEnd__profile_GLES__technique__pass__material_diffuse()
36726 {
36727 #ifdef GENERATEDSAXPARSER_VALIDATION
36728     if ( mValidate )
36729     {
36730 
36731         bool validationResult = _validateEnd__profile_GLES__technique__pass__material_diffuse();
36732         if ( !validationResult ) return false;
36733 
36734     } // validation
36735 #endif
36736 
36737     return true;
36738 }
36739 
36740 //---------------------------------------------------------------------
_freeAttributes__profile_GLES__technique__pass__material_diffuse(void * attributeData)36741 bool ColladaParserAutoGen14Private::_freeAttributes__profile_GLES__technique__pass__material_diffuse( void* attributeData )
36742 {
36743     profile_GLES__technique__pass__material_diffuse__AttributeData* typedAttributeData = static_cast<profile_GLES__technique__pass__material_diffuse__AttributeData*>(attributeData);
36744     if (typedAttributeData->value.data)
36745     {
36746         mStackMemoryManager.deleteObject();
36747     }
36748 
36749 
36750     typedAttributeData->~profile_GLES__technique__pass__material_diffuse__AttributeData();
36751 
36752     return true;
36753 }
36754 
36755 //---------------------------------------------------------------------
36756 const profile_GLES__technique__pass__material_emission__AttributeData profile_GLES__technique__pass__material_emission__AttributeData::DEFAULT = {0, GeneratedSaxParser::XSList<float>(), 0};
36757 
36758 //---------------------------------------------------------------------
_data__profile_GLES__technique__pass__material_emission(const ParserChar * text,size_t textLength)36759 bool ColladaParserAutoGen14Private::_data__profile_GLES__technique__pass__material_emission( const ParserChar* text, size_t textLength )
36760 {
36761     return true;
36762 }
36763 
36764 //---------------------------------------------------------------------
_preBegin__profile_GLES__technique__pass__material_emission(const ParserAttributes & attributes,void ** attributeDataPtr,void ** validationDataPtr)36765 bool ColladaParserAutoGen14Private::_preBegin__profile_GLES__technique__pass__material_emission( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
36766 {
36767 #ifdef GENERATEDSAXPARSER_VALIDATION
36768     if ( mValidate )
36769     {
36770 
36771         bool validationResult = _validateBegin__profile_GLES__technique__pass__material_emission( attributes, attributeDataPtr, validationDataPtr );
36772         if ( !validationResult ) return false;
36773 
36774     } // validation
36775 #endif
36776 
36777 profile_GLES__technique__pass__material_emission__AttributeData* attributeData = newData<profile_GLES__technique__pass__material_emission__AttributeData>(attributeDataPtr);
36778 
36779 const ParserChar** attributeArray = attributes.attributes;
36780 if ( attributeArray )
36781 {
36782     while (true)
36783     {
36784         const ParserChar * attribute = *attributeArray;
36785         if ( !attribute )
36786             break;
36787         StringHash hash = GeneratedSaxParser::Utils::calculateStringHash(attribute);
36788         attributeArray++;
36789         if ( !attributeArray )
36790             return false;
36791         const ParserChar* attributeValue = *attributeArray;
36792         attributeArray++;
36793 
36794 
36795     switch ( hash )
36796     {
36797     case HASH_ATTRIBUTE_value:
36798     {
36799 bool failed;
36800 #ifdef GENERATEDSAXPARSER_VALIDATION
36801     if ( mValidate )
36802     {
36803 failed = !characterData2FloatList(attributeValue, attributeData->value, 0, HASH_ELEMENT_MATERIAL_EMISSION, HASH_ATTRIBUTE_value);
36804     }
36805     else
36806     {
36807 failed = !characterData2FloatList(attributeValue, attributeData->value);
36808     }
36809 #else
36810     {
36811 failed = !characterData2FloatList(attributeValue, attributeData->value);
36812     } // validation
36813 #endif
36814 if ( failed && handleError(ParserError::SEVERITY_ERROR_NONCRITICAL,
36815         ParserError::ERROR_ATTRIBUTE_PARSING_FAILED,
36816         HASH_ELEMENT_MATERIAL_EMISSION,
36817         HASH_ATTRIBUTE_value,
36818         attributeValue))
36819 {
36820     return false;
36821 }
36822 #ifdef GENERATEDSAXPARSER_VALIDATION
36823     if ( mValidate )
36824     {
36825     ParserError::ErrorType simpleTypeValidationResult = validate__float4(attributeData->value.data, attributeData->value.size);
36826     if (simpleTypeValidationResult != ParserError::SIMPLE_TYPE_VALIDATION_OK)
36827     {
36828         if( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL,
36829             simpleTypeValidationResult,
36830             HASH_ELEMENT_MATERIAL_EMISSION,
36831             HASH_ATTRIBUTE_value,
36832             attributeValue) )
36833         {
36834             return false;
36835         }
36836     }
36837     } // validation
36838 #endif
36839 
36840 if ( !failed )
36841     attributeData->present_attributes |= profile_GLES__technique__pass__material_emission__AttributeData::ATTRIBUTE_VALUE_PRESENT;
36842 
36843     break;
36844     }
36845     case HASH_ATTRIBUTE_param:
36846     {
36847 
36848 attributeData->param = attributeValue;
36849 #ifdef GENERATEDSAXPARSER_VALIDATION
36850     if ( mValidate )
36851     {
36852     ParserError::ErrorType simpleTypeValidationResult = validate__NCName(attributeData->param, strlen(attributeData->param));
36853     if (simpleTypeValidationResult != ParserError::SIMPLE_TYPE_VALIDATION_OK)
36854     {
36855         if( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL,
36856             simpleTypeValidationResult,
36857             HASH_ELEMENT_MATERIAL_EMISSION,
36858             HASH_ATTRIBUTE_param,
36859             attributeValue) )
36860         {
36861             return false;
36862         }
36863     }
36864     } // validation
36865 #endif
36866 
36867     break;
36868     }
36869     default:
36870     {
36871         if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_UNKNOWN_ATTRIBUTE, HASH_ELEMENT_MATERIAL_EMISSION, attribute, attributeValue))
36872             {return false;}
36873     }
36874     }
36875     }
36876 }
36877 if ((attributeData->present_attributes & profile_GLES__technique__pass__material_emission__AttributeData::ATTRIBUTE_VALUE_PRESENT) == 0)
36878 {
36879     bool failed;
36880     failed = !characterData2FloatList("0.0E1 0.0E1 0.0E1 1.0E0", attributeData->value);
36881     if ( !failed )
36882     attributeData->present_attributes |= profile_GLES__technique__pass__material_emission__AttributeData::ATTRIBUTE_VALUE_PRESENT;
36883 }
36884 
36885 
36886     return true;
36887 }
36888 
36889 //---------------------------------------------------------------------
_preEnd__profile_GLES__technique__pass__material_emission()36890 bool ColladaParserAutoGen14Private::_preEnd__profile_GLES__technique__pass__material_emission()
36891 {
36892 #ifdef GENERATEDSAXPARSER_VALIDATION
36893     if ( mValidate )
36894     {
36895 
36896         bool validationResult = _validateEnd__profile_GLES__technique__pass__material_emission();
36897         if ( !validationResult ) return false;
36898 
36899     } // validation
36900 #endif
36901 
36902     return true;
36903 }
36904 
36905 //---------------------------------------------------------------------
_freeAttributes__profile_GLES__technique__pass__material_emission(void * attributeData)36906 bool ColladaParserAutoGen14Private::_freeAttributes__profile_GLES__technique__pass__material_emission( void* attributeData )
36907 {
36908     profile_GLES__technique__pass__material_emission__AttributeData* typedAttributeData = static_cast<profile_GLES__technique__pass__material_emission__AttributeData*>(attributeData);
36909     if (typedAttributeData->value.data)
36910     {
36911         mStackMemoryManager.deleteObject();
36912     }
36913 
36914 
36915     typedAttributeData->~profile_GLES__technique__pass__material_emission__AttributeData();
36916 
36917     return true;
36918 }
36919 
36920 //---------------------------------------------------------------------
36921 const profile_GLES__technique__pass__material_shininess__AttributeData profile_GLES__technique__pass__material_shininess__AttributeData::DEFAULT = {0.0E1, 0};
36922 
36923 //---------------------------------------------------------------------
_data__profile_GLES__technique__pass__material_shininess(const ParserChar * text,size_t textLength)36924 bool ColladaParserAutoGen14Private::_data__profile_GLES__technique__pass__material_shininess( const ParserChar* text, size_t textLength )
36925 {
36926     return true;
36927 }
36928 
36929 //---------------------------------------------------------------------
_preBegin__profile_GLES__technique__pass__material_shininess(const ParserAttributes & attributes,void ** attributeDataPtr,void ** validationDataPtr)36930 bool ColladaParserAutoGen14Private::_preBegin__profile_GLES__technique__pass__material_shininess( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
36931 {
36932 #ifdef GENERATEDSAXPARSER_VALIDATION
36933     if ( mValidate )
36934     {
36935 
36936         bool validationResult = _validateBegin__profile_GLES__technique__pass__material_shininess( attributes, attributeDataPtr, validationDataPtr );
36937         if ( !validationResult ) return false;
36938 
36939     } // validation
36940 #endif
36941 
36942 profile_GLES__technique__pass__material_shininess__AttributeData* attributeData = newData<profile_GLES__technique__pass__material_shininess__AttributeData>(attributeDataPtr);
36943 
36944 const ParserChar** attributeArray = attributes.attributes;
36945 if ( attributeArray )
36946 {
36947     while (true)
36948     {
36949         const ParserChar * attribute = *attributeArray;
36950         if ( !attribute )
36951             break;
36952         StringHash hash = GeneratedSaxParser::Utils::calculateStringHash(attribute);
36953         attributeArray++;
36954         if ( !attributeArray )
36955             return false;
36956         const ParserChar* attributeValue = *attributeArray;
36957         attributeArray++;
36958 
36959 
36960     switch ( hash )
36961     {
36962     case HASH_ATTRIBUTE_value:
36963     {
36964 bool failed;
36965 attributeData->value = GeneratedSaxParser::Utils::toFloat(attributeValue, failed);
36966 if ( failed && handleError(ParserError::SEVERITY_ERROR_NONCRITICAL,
36967         ParserError::ERROR_ATTRIBUTE_PARSING_FAILED,
36968         HASH_ELEMENT_MATERIAL_SHININESS,
36969         HASH_ATTRIBUTE_value,
36970         attributeValue))
36971 {
36972     return false;
36973 }
36974 
36975     break;
36976     }
36977     case HASH_ATTRIBUTE_param:
36978     {
36979 
36980 attributeData->param = attributeValue;
36981 #ifdef GENERATEDSAXPARSER_VALIDATION
36982     if ( mValidate )
36983     {
36984     ParserError::ErrorType simpleTypeValidationResult = validate__NCName(attributeData->param, strlen(attributeData->param));
36985     if (simpleTypeValidationResult != ParserError::SIMPLE_TYPE_VALIDATION_OK)
36986     {
36987         if( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL,
36988             simpleTypeValidationResult,
36989             HASH_ELEMENT_MATERIAL_SHININESS,
36990             HASH_ATTRIBUTE_param,
36991             attributeValue) )
36992         {
36993             return false;
36994         }
36995     }
36996     } // validation
36997 #endif
36998 
36999     break;
37000     }
37001     default:
37002     {
37003         if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_UNKNOWN_ATTRIBUTE, HASH_ELEMENT_MATERIAL_SHININESS, attribute, attributeValue))
37004             {return false;}
37005     }
37006     }
37007     }
37008 }
37009 
37010 
37011     return true;
37012 }
37013 
37014 //---------------------------------------------------------------------
_preEnd__profile_GLES__technique__pass__material_shininess()37015 bool ColladaParserAutoGen14Private::_preEnd__profile_GLES__technique__pass__material_shininess()
37016 {
37017 #ifdef GENERATEDSAXPARSER_VALIDATION
37018     if ( mValidate )
37019     {
37020 
37021         bool validationResult = _validateEnd__profile_GLES__technique__pass__material_shininess();
37022         if ( !validationResult ) return false;
37023 
37024     } // validation
37025 #endif
37026 
37027     return true;
37028 }
37029 
37030 //---------------------------------------------------------------------
_freeAttributes__profile_GLES__technique__pass__material_shininess(void * attributeData)37031 bool ColladaParserAutoGen14Private::_freeAttributes__profile_GLES__technique__pass__material_shininess( void* attributeData )
37032 {
37033     profile_GLES__technique__pass__material_shininess__AttributeData* typedAttributeData = static_cast<profile_GLES__technique__pass__material_shininess__AttributeData*>(attributeData);
37034 
37035     typedAttributeData->~profile_GLES__technique__pass__material_shininess__AttributeData();
37036 
37037     return true;
37038 }
37039 
37040 //---------------------------------------------------------------------
37041 const profile_GLES__technique__pass__material_specular__AttributeData profile_GLES__technique__pass__material_specular__AttributeData::DEFAULT = {0, GeneratedSaxParser::XSList<float>(), 0};
37042 
37043 //---------------------------------------------------------------------
_data__profile_GLES__technique__pass__material_specular(const ParserChar * text,size_t textLength)37044 bool ColladaParserAutoGen14Private::_data__profile_GLES__technique__pass__material_specular( const ParserChar* text, size_t textLength )
37045 {
37046     return true;
37047 }
37048 
37049 //---------------------------------------------------------------------
_preBegin__profile_GLES__technique__pass__material_specular(const ParserAttributes & attributes,void ** attributeDataPtr,void ** validationDataPtr)37050 bool ColladaParserAutoGen14Private::_preBegin__profile_GLES__technique__pass__material_specular( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
37051 {
37052 #ifdef GENERATEDSAXPARSER_VALIDATION
37053     if ( mValidate )
37054     {
37055 
37056         bool validationResult = _validateBegin__profile_GLES__technique__pass__material_specular( attributes, attributeDataPtr, validationDataPtr );
37057         if ( !validationResult ) return false;
37058 
37059     } // validation
37060 #endif
37061 
37062 profile_GLES__technique__pass__material_specular__AttributeData* attributeData = newData<profile_GLES__technique__pass__material_specular__AttributeData>(attributeDataPtr);
37063 
37064 const ParserChar** attributeArray = attributes.attributes;
37065 if ( attributeArray )
37066 {
37067     while (true)
37068     {
37069         const ParserChar * attribute = *attributeArray;
37070         if ( !attribute )
37071             break;
37072         StringHash hash = GeneratedSaxParser::Utils::calculateStringHash(attribute);
37073         attributeArray++;
37074         if ( !attributeArray )
37075             return false;
37076         const ParserChar* attributeValue = *attributeArray;
37077         attributeArray++;
37078 
37079 
37080     switch ( hash )
37081     {
37082     case HASH_ATTRIBUTE_value:
37083     {
37084 bool failed;
37085 #ifdef GENERATEDSAXPARSER_VALIDATION
37086     if ( mValidate )
37087     {
37088 failed = !characterData2FloatList(attributeValue, attributeData->value, 0, HASH_ELEMENT_MATERIAL_SPECULAR, HASH_ATTRIBUTE_value);
37089     }
37090     else
37091     {
37092 failed = !characterData2FloatList(attributeValue, attributeData->value);
37093     }
37094 #else
37095     {
37096 failed = !characterData2FloatList(attributeValue, attributeData->value);
37097     } // validation
37098 #endif
37099 if ( failed && handleError(ParserError::SEVERITY_ERROR_NONCRITICAL,
37100         ParserError::ERROR_ATTRIBUTE_PARSING_FAILED,
37101         HASH_ELEMENT_MATERIAL_SPECULAR,
37102         HASH_ATTRIBUTE_value,
37103         attributeValue))
37104 {
37105     return false;
37106 }
37107 #ifdef GENERATEDSAXPARSER_VALIDATION
37108     if ( mValidate )
37109     {
37110     ParserError::ErrorType simpleTypeValidationResult = validate__float4(attributeData->value.data, attributeData->value.size);
37111     if (simpleTypeValidationResult != ParserError::SIMPLE_TYPE_VALIDATION_OK)
37112     {
37113         if( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL,
37114             simpleTypeValidationResult,
37115             HASH_ELEMENT_MATERIAL_SPECULAR,
37116             HASH_ATTRIBUTE_value,
37117             attributeValue) )
37118         {
37119             return false;
37120         }
37121     }
37122     } // validation
37123 #endif
37124 
37125 if ( !failed )
37126     attributeData->present_attributes |= profile_GLES__technique__pass__material_specular__AttributeData::ATTRIBUTE_VALUE_PRESENT;
37127 
37128     break;
37129     }
37130     case HASH_ATTRIBUTE_param:
37131     {
37132 
37133 attributeData->param = attributeValue;
37134 #ifdef GENERATEDSAXPARSER_VALIDATION
37135     if ( mValidate )
37136     {
37137     ParserError::ErrorType simpleTypeValidationResult = validate__NCName(attributeData->param, strlen(attributeData->param));
37138     if (simpleTypeValidationResult != ParserError::SIMPLE_TYPE_VALIDATION_OK)
37139     {
37140         if( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL,
37141             simpleTypeValidationResult,
37142             HASH_ELEMENT_MATERIAL_SPECULAR,
37143             HASH_ATTRIBUTE_param,
37144             attributeValue) )
37145         {
37146             return false;
37147         }
37148     }
37149     } // validation
37150 #endif
37151 
37152     break;
37153     }
37154     default:
37155     {
37156         if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_UNKNOWN_ATTRIBUTE, HASH_ELEMENT_MATERIAL_SPECULAR, attribute, attributeValue))
37157             {return false;}
37158     }
37159     }
37160     }
37161 }
37162 if ((attributeData->present_attributes & profile_GLES__technique__pass__material_specular__AttributeData::ATTRIBUTE_VALUE_PRESENT) == 0)
37163 {
37164     bool failed;
37165     failed = !characterData2FloatList("0.0E1 0.0E1 0.0E1 1.0E0", attributeData->value);
37166     if ( !failed )
37167     attributeData->present_attributes |= profile_GLES__technique__pass__material_specular__AttributeData::ATTRIBUTE_VALUE_PRESENT;
37168 }
37169 
37170 
37171     return true;
37172 }
37173 
37174 //---------------------------------------------------------------------
_preEnd__profile_GLES__technique__pass__material_specular()37175 bool ColladaParserAutoGen14Private::_preEnd__profile_GLES__technique__pass__material_specular()
37176 {
37177 #ifdef GENERATEDSAXPARSER_VALIDATION
37178     if ( mValidate )
37179     {
37180 
37181         bool validationResult = _validateEnd__profile_GLES__technique__pass__material_specular();
37182         if ( !validationResult ) return false;
37183 
37184     } // validation
37185 #endif
37186 
37187     return true;
37188 }
37189 
37190 //---------------------------------------------------------------------
_freeAttributes__profile_GLES__technique__pass__material_specular(void * attributeData)37191 bool ColladaParserAutoGen14Private::_freeAttributes__profile_GLES__technique__pass__material_specular( void* attributeData )
37192 {
37193     profile_GLES__technique__pass__material_specular__AttributeData* typedAttributeData = static_cast<profile_GLES__technique__pass__material_specular__AttributeData*>(attributeData);
37194     if (typedAttributeData->value.data)
37195     {
37196         mStackMemoryManager.deleteObject();
37197     }
37198 
37199 
37200     typedAttributeData->~profile_GLES__technique__pass__material_specular__AttributeData();
37201 
37202     return true;
37203 }
37204 
37205 //---------------------------------------------------------------------
37206 const profile_GLES__technique__pass__model_view_matrix__AttributeData profile_GLES__technique__pass__model_view_matrix__AttributeData::DEFAULT = {0, GeneratedSaxParser::XSList<float>(), 0};
37207 
37208 //---------------------------------------------------------------------
_data__profile_GLES__technique__pass__model_view_matrix(const ParserChar * text,size_t textLength)37209 bool ColladaParserAutoGen14Private::_data__profile_GLES__technique__pass__model_view_matrix( const ParserChar* text, size_t textLength )
37210 {
37211     return true;
37212 }
37213 
37214 //---------------------------------------------------------------------
_preBegin__profile_GLES__technique__pass__model_view_matrix(const ParserAttributes & attributes,void ** attributeDataPtr,void ** validationDataPtr)37215 bool ColladaParserAutoGen14Private::_preBegin__profile_GLES__technique__pass__model_view_matrix( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
37216 {
37217 #ifdef GENERATEDSAXPARSER_VALIDATION
37218     if ( mValidate )
37219     {
37220 
37221         bool validationResult = _validateBegin__profile_GLES__technique__pass__model_view_matrix( attributes, attributeDataPtr, validationDataPtr );
37222         if ( !validationResult ) return false;
37223 
37224     } // validation
37225 #endif
37226 
37227 profile_GLES__technique__pass__model_view_matrix__AttributeData* attributeData = newData<profile_GLES__technique__pass__model_view_matrix__AttributeData>(attributeDataPtr);
37228 
37229 const ParserChar** attributeArray = attributes.attributes;
37230 if ( attributeArray )
37231 {
37232     while (true)
37233     {
37234         const ParserChar * attribute = *attributeArray;
37235         if ( !attribute )
37236             break;
37237         StringHash hash = GeneratedSaxParser::Utils::calculateStringHash(attribute);
37238         attributeArray++;
37239         if ( !attributeArray )
37240             return false;
37241         const ParserChar* attributeValue = *attributeArray;
37242         attributeArray++;
37243 
37244 
37245     switch ( hash )
37246     {
37247     case HASH_ATTRIBUTE_value:
37248     {
37249 bool failed;
37250 #ifdef GENERATEDSAXPARSER_VALIDATION
37251     if ( mValidate )
37252     {
37253 failed = !characterData2FloatList(attributeValue, attributeData->value, 0, HASH_ELEMENT_MODEL_VIEW_MATRIX, HASH_ATTRIBUTE_value);
37254     }
37255     else
37256     {
37257 failed = !characterData2FloatList(attributeValue, attributeData->value);
37258     }
37259 #else
37260     {
37261 failed = !characterData2FloatList(attributeValue, attributeData->value);
37262     } // validation
37263 #endif
37264 if ( failed && handleError(ParserError::SEVERITY_ERROR_NONCRITICAL,
37265         ParserError::ERROR_ATTRIBUTE_PARSING_FAILED,
37266         HASH_ELEMENT_MODEL_VIEW_MATRIX,
37267         HASH_ATTRIBUTE_value,
37268         attributeValue))
37269 {
37270     return false;
37271 }
37272 #ifdef GENERATEDSAXPARSER_VALIDATION
37273     if ( mValidate )
37274     {
37275     ParserError::ErrorType simpleTypeValidationResult = validate__float4x4(attributeData->value.data, attributeData->value.size);
37276     if (simpleTypeValidationResult != ParserError::SIMPLE_TYPE_VALIDATION_OK)
37277     {
37278         if( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL,
37279             simpleTypeValidationResult,
37280             HASH_ELEMENT_MODEL_VIEW_MATRIX,
37281             HASH_ATTRIBUTE_value,
37282             attributeValue) )
37283         {
37284             return false;
37285         }
37286     }
37287     } // validation
37288 #endif
37289 
37290 if ( !failed )
37291     attributeData->present_attributes |= profile_GLES__technique__pass__model_view_matrix__AttributeData::ATTRIBUTE_VALUE_PRESENT;
37292 
37293     break;
37294     }
37295     case HASH_ATTRIBUTE_param:
37296     {
37297 
37298 attributeData->param = attributeValue;
37299 #ifdef GENERATEDSAXPARSER_VALIDATION
37300     if ( mValidate )
37301     {
37302     ParserError::ErrorType simpleTypeValidationResult = validate__NCName(attributeData->param, strlen(attributeData->param));
37303     if (simpleTypeValidationResult != ParserError::SIMPLE_TYPE_VALIDATION_OK)
37304     {
37305         if( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL,
37306             simpleTypeValidationResult,
37307             HASH_ELEMENT_MODEL_VIEW_MATRIX,
37308             HASH_ATTRIBUTE_param,
37309             attributeValue) )
37310         {
37311             return false;
37312         }
37313     }
37314     } // validation
37315 #endif
37316 
37317     break;
37318     }
37319     default:
37320     {
37321         if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_UNKNOWN_ATTRIBUTE, HASH_ELEMENT_MODEL_VIEW_MATRIX, attribute, attributeValue))
37322             {return false;}
37323     }
37324     }
37325     }
37326 }
37327 if ((attributeData->present_attributes & profile_GLES__technique__pass__model_view_matrix__AttributeData::ATTRIBUTE_VALUE_PRESENT) == 0)
37328 {
37329     bool failed;
37330     failed = !characterData2FloatList("1.0E0 0.0E1 0.0E1 0.0E1 0.0E1 1.0E0 0.0E1 0.0E1 0.0E1 0.0E1 1.0E0 0.0E1 0.0E1 0.0E1 0.0E1 1.0E0", attributeData->value);
37331     if ( !failed )
37332     attributeData->present_attributes |= profile_GLES__technique__pass__model_view_matrix__AttributeData::ATTRIBUTE_VALUE_PRESENT;
37333 }
37334 
37335 
37336     return true;
37337 }
37338 
37339 //---------------------------------------------------------------------
_preEnd__profile_GLES__technique__pass__model_view_matrix()37340 bool ColladaParserAutoGen14Private::_preEnd__profile_GLES__technique__pass__model_view_matrix()
37341 {
37342 #ifdef GENERATEDSAXPARSER_VALIDATION
37343     if ( mValidate )
37344     {
37345 
37346         bool validationResult = _validateEnd__profile_GLES__technique__pass__model_view_matrix();
37347         if ( !validationResult ) return false;
37348 
37349     } // validation
37350 #endif
37351 
37352     return true;
37353 }
37354 
37355 //---------------------------------------------------------------------
_freeAttributes__profile_GLES__technique__pass__model_view_matrix(void * attributeData)37356 bool ColladaParserAutoGen14Private::_freeAttributes__profile_GLES__technique__pass__model_view_matrix( void* attributeData )
37357 {
37358     profile_GLES__technique__pass__model_view_matrix__AttributeData* typedAttributeData = static_cast<profile_GLES__technique__pass__model_view_matrix__AttributeData*>(attributeData);
37359     if (typedAttributeData->value.data)
37360     {
37361         mStackMemoryManager.deleteObject();
37362     }
37363 
37364 
37365     typedAttributeData->~profile_GLES__technique__pass__model_view_matrix__AttributeData();
37366 
37367     return true;
37368 }
37369 
37370 //---------------------------------------------------------------------
37371 const profile_GLES__technique__pass__point_distance_attenuation__AttributeData profile_GLES__technique__pass__point_distance_attenuation__AttributeData::DEFAULT = {0, GeneratedSaxParser::XSList<float>(), 0};
37372 
37373 //---------------------------------------------------------------------
_data__profile_GLES__technique__pass__point_distance_attenuation(const ParserChar * text,size_t textLength)37374 bool ColladaParserAutoGen14Private::_data__profile_GLES__technique__pass__point_distance_attenuation( const ParserChar* text, size_t textLength )
37375 {
37376     return true;
37377 }
37378 
37379 //---------------------------------------------------------------------
_preBegin__profile_GLES__technique__pass__point_distance_attenuation(const ParserAttributes & attributes,void ** attributeDataPtr,void ** validationDataPtr)37380 bool ColladaParserAutoGen14Private::_preBegin__profile_GLES__technique__pass__point_distance_attenuation( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
37381 {
37382 #ifdef GENERATEDSAXPARSER_VALIDATION
37383     if ( mValidate )
37384     {
37385 
37386         bool validationResult = _validateBegin__profile_GLES__technique__pass__point_distance_attenuation( attributes, attributeDataPtr, validationDataPtr );
37387         if ( !validationResult ) return false;
37388 
37389     } // validation
37390 #endif
37391 
37392 profile_GLES__technique__pass__point_distance_attenuation__AttributeData* attributeData = newData<profile_GLES__technique__pass__point_distance_attenuation__AttributeData>(attributeDataPtr);
37393 
37394 const ParserChar** attributeArray = attributes.attributes;
37395 if ( attributeArray )
37396 {
37397     while (true)
37398     {
37399         const ParserChar * attribute = *attributeArray;
37400         if ( !attribute )
37401             break;
37402         StringHash hash = GeneratedSaxParser::Utils::calculateStringHash(attribute);
37403         attributeArray++;
37404         if ( !attributeArray )
37405             return false;
37406         const ParserChar* attributeValue = *attributeArray;
37407         attributeArray++;
37408 
37409 
37410     switch ( hash )
37411     {
37412     case HASH_ATTRIBUTE_value:
37413     {
37414 bool failed;
37415 #ifdef GENERATEDSAXPARSER_VALIDATION
37416     if ( mValidate )
37417     {
37418 failed = !characterData2FloatList(attributeValue, attributeData->value, 0, HASH_ELEMENT_POINT_DISTANCE_ATTENUATION, HASH_ATTRIBUTE_value);
37419     }
37420     else
37421     {
37422 failed = !characterData2FloatList(attributeValue, attributeData->value);
37423     }
37424 #else
37425     {
37426 failed = !characterData2FloatList(attributeValue, attributeData->value);
37427     } // validation
37428 #endif
37429 if ( failed && handleError(ParserError::SEVERITY_ERROR_NONCRITICAL,
37430         ParserError::ERROR_ATTRIBUTE_PARSING_FAILED,
37431         HASH_ELEMENT_POINT_DISTANCE_ATTENUATION,
37432         HASH_ATTRIBUTE_value,
37433         attributeValue))
37434 {
37435     return false;
37436 }
37437 #ifdef GENERATEDSAXPARSER_VALIDATION
37438     if ( mValidate )
37439     {
37440     ParserError::ErrorType simpleTypeValidationResult = validate__float3(attributeData->value.data, attributeData->value.size);
37441     if (simpleTypeValidationResult != ParserError::SIMPLE_TYPE_VALIDATION_OK)
37442     {
37443         if( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL,
37444             simpleTypeValidationResult,
37445             HASH_ELEMENT_POINT_DISTANCE_ATTENUATION,
37446             HASH_ATTRIBUTE_value,
37447             attributeValue) )
37448         {
37449             return false;
37450         }
37451     }
37452     } // validation
37453 #endif
37454 
37455 if ( !failed )
37456     attributeData->present_attributes |= profile_GLES__technique__pass__point_distance_attenuation__AttributeData::ATTRIBUTE_VALUE_PRESENT;
37457 
37458     break;
37459     }
37460     case HASH_ATTRIBUTE_param:
37461     {
37462 
37463 attributeData->param = attributeValue;
37464 #ifdef GENERATEDSAXPARSER_VALIDATION
37465     if ( mValidate )
37466     {
37467     ParserError::ErrorType simpleTypeValidationResult = validate__NCName(attributeData->param, strlen(attributeData->param));
37468     if (simpleTypeValidationResult != ParserError::SIMPLE_TYPE_VALIDATION_OK)
37469     {
37470         if( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL,
37471             simpleTypeValidationResult,
37472             HASH_ELEMENT_POINT_DISTANCE_ATTENUATION,
37473             HASH_ATTRIBUTE_param,
37474             attributeValue) )
37475         {
37476             return false;
37477         }
37478     }
37479     } // validation
37480 #endif
37481 
37482     break;
37483     }
37484     default:
37485     {
37486         if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_UNKNOWN_ATTRIBUTE, HASH_ELEMENT_POINT_DISTANCE_ATTENUATION, attribute, attributeValue))
37487             {return false;}
37488     }
37489     }
37490     }
37491 }
37492 if ((attributeData->present_attributes & profile_GLES__technique__pass__point_distance_attenuation__AttributeData::ATTRIBUTE_VALUE_PRESENT) == 0)
37493 {
37494     bool failed;
37495     failed = !characterData2FloatList("1.0E0 0.0E1 0.0E1", attributeData->value);
37496     if ( !failed )
37497     attributeData->present_attributes |= profile_GLES__technique__pass__point_distance_attenuation__AttributeData::ATTRIBUTE_VALUE_PRESENT;
37498 }
37499 
37500 
37501     return true;
37502 }
37503 
37504 //---------------------------------------------------------------------
_preEnd__profile_GLES__technique__pass__point_distance_attenuation()37505 bool ColladaParserAutoGen14Private::_preEnd__profile_GLES__technique__pass__point_distance_attenuation()
37506 {
37507 #ifdef GENERATEDSAXPARSER_VALIDATION
37508     if ( mValidate )
37509     {
37510 
37511         bool validationResult = _validateEnd__profile_GLES__technique__pass__point_distance_attenuation();
37512         if ( !validationResult ) return false;
37513 
37514     } // validation
37515 #endif
37516 
37517     return true;
37518 }
37519 
37520 //---------------------------------------------------------------------
_freeAttributes__profile_GLES__technique__pass__point_distance_attenuation(void * attributeData)37521 bool ColladaParserAutoGen14Private::_freeAttributes__profile_GLES__technique__pass__point_distance_attenuation( void* attributeData )
37522 {
37523     profile_GLES__technique__pass__point_distance_attenuation__AttributeData* typedAttributeData = static_cast<profile_GLES__technique__pass__point_distance_attenuation__AttributeData*>(attributeData);
37524     if (typedAttributeData->value.data)
37525     {
37526         mStackMemoryManager.deleteObject();
37527     }
37528 
37529 
37530     typedAttributeData->~profile_GLES__technique__pass__point_distance_attenuation__AttributeData();
37531 
37532     return true;
37533 }
37534 
37535 //---------------------------------------------------------------------
37536 const profile_GLES__technique__pass__point_fade_threshold_size__AttributeData profile_GLES__technique__pass__point_fade_threshold_size__AttributeData::DEFAULT = {1.0E0, 0};
37537 
37538 //---------------------------------------------------------------------
_data__profile_GLES__technique__pass__point_fade_threshold_size(const ParserChar * text,size_t textLength)37539 bool ColladaParserAutoGen14Private::_data__profile_GLES__technique__pass__point_fade_threshold_size( const ParserChar* text, size_t textLength )
37540 {
37541     return true;
37542 }
37543 
37544 //---------------------------------------------------------------------
_preBegin__profile_GLES__technique__pass__point_fade_threshold_size(const ParserAttributes & attributes,void ** attributeDataPtr,void ** validationDataPtr)37545 bool ColladaParserAutoGen14Private::_preBegin__profile_GLES__technique__pass__point_fade_threshold_size( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
37546 {
37547 #ifdef GENERATEDSAXPARSER_VALIDATION
37548     if ( mValidate )
37549     {
37550 
37551         bool validationResult = _validateBegin__profile_GLES__technique__pass__point_fade_threshold_size( attributes, attributeDataPtr, validationDataPtr );
37552         if ( !validationResult ) return false;
37553 
37554     } // validation
37555 #endif
37556 
37557 profile_GLES__technique__pass__point_fade_threshold_size__AttributeData* attributeData = newData<profile_GLES__technique__pass__point_fade_threshold_size__AttributeData>(attributeDataPtr);
37558 
37559 const ParserChar** attributeArray = attributes.attributes;
37560 if ( attributeArray )
37561 {
37562     while (true)
37563     {
37564         const ParserChar * attribute = *attributeArray;
37565         if ( !attribute )
37566             break;
37567         StringHash hash = GeneratedSaxParser::Utils::calculateStringHash(attribute);
37568         attributeArray++;
37569         if ( !attributeArray )
37570             return false;
37571         const ParserChar* attributeValue = *attributeArray;
37572         attributeArray++;
37573 
37574 
37575     switch ( hash )
37576     {
37577     case HASH_ATTRIBUTE_value:
37578     {
37579 bool failed;
37580 attributeData->value = GeneratedSaxParser::Utils::toFloat(attributeValue, failed);
37581 if ( failed && handleError(ParserError::SEVERITY_ERROR_NONCRITICAL,
37582         ParserError::ERROR_ATTRIBUTE_PARSING_FAILED,
37583         HASH_ELEMENT_POINT_FADE_THRESHOLD_SIZE,
37584         HASH_ATTRIBUTE_value,
37585         attributeValue))
37586 {
37587     return false;
37588 }
37589 
37590     break;
37591     }
37592     case HASH_ATTRIBUTE_param:
37593     {
37594 
37595 attributeData->param = attributeValue;
37596 #ifdef GENERATEDSAXPARSER_VALIDATION
37597     if ( mValidate )
37598     {
37599     ParserError::ErrorType simpleTypeValidationResult = validate__NCName(attributeData->param, strlen(attributeData->param));
37600     if (simpleTypeValidationResult != ParserError::SIMPLE_TYPE_VALIDATION_OK)
37601     {
37602         if( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL,
37603             simpleTypeValidationResult,
37604             HASH_ELEMENT_POINT_FADE_THRESHOLD_SIZE,
37605             HASH_ATTRIBUTE_param,
37606             attributeValue) )
37607         {
37608             return false;
37609         }
37610     }
37611     } // validation
37612 #endif
37613 
37614     break;
37615     }
37616     default:
37617     {
37618         if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_UNKNOWN_ATTRIBUTE, HASH_ELEMENT_POINT_FADE_THRESHOLD_SIZE, attribute, attributeValue))
37619             {return false;}
37620     }
37621     }
37622     }
37623 }
37624 
37625 
37626     return true;
37627 }
37628 
37629 //---------------------------------------------------------------------
_preEnd__profile_GLES__technique__pass__point_fade_threshold_size()37630 bool ColladaParserAutoGen14Private::_preEnd__profile_GLES__technique__pass__point_fade_threshold_size()
37631 {
37632 #ifdef GENERATEDSAXPARSER_VALIDATION
37633     if ( mValidate )
37634     {
37635 
37636         bool validationResult = _validateEnd__profile_GLES__technique__pass__point_fade_threshold_size();
37637         if ( !validationResult ) return false;
37638 
37639     } // validation
37640 #endif
37641 
37642     return true;
37643 }
37644 
37645 //---------------------------------------------------------------------
_freeAttributes__profile_GLES__technique__pass__point_fade_threshold_size(void * attributeData)37646 bool ColladaParserAutoGen14Private::_freeAttributes__profile_GLES__technique__pass__point_fade_threshold_size( void* attributeData )
37647 {
37648     profile_GLES__technique__pass__point_fade_threshold_size__AttributeData* typedAttributeData = static_cast<profile_GLES__technique__pass__point_fade_threshold_size__AttributeData*>(attributeData);
37649 
37650     typedAttributeData->~profile_GLES__technique__pass__point_fade_threshold_size__AttributeData();
37651 
37652     return true;
37653 }
37654 
37655 //---------------------------------------------------------------------
37656 const profile_GLES__technique__pass__point_size__AttributeData profile_GLES__technique__pass__point_size__AttributeData::DEFAULT = {1.0E0, 0};
37657 
37658 //---------------------------------------------------------------------
_data__profile_GLES__technique__pass__point_size(const ParserChar * text,size_t textLength)37659 bool ColladaParserAutoGen14Private::_data__profile_GLES__technique__pass__point_size( const ParserChar* text, size_t textLength )
37660 {
37661     return true;
37662 }
37663 
37664 //---------------------------------------------------------------------
_preBegin__profile_GLES__technique__pass__point_size(const ParserAttributes & attributes,void ** attributeDataPtr,void ** validationDataPtr)37665 bool ColladaParserAutoGen14Private::_preBegin__profile_GLES__technique__pass__point_size( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
37666 {
37667 #ifdef GENERATEDSAXPARSER_VALIDATION
37668     if ( mValidate )
37669     {
37670 
37671         bool validationResult = _validateBegin__profile_GLES__technique__pass__point_size( attributes, attributeDataPtr, validationDataPtr );
37672         if ( !validationResult ) return false;
37673 
37674     } // validation
37675 #endif
37676 
37677 profile_GLES__technique__pass__point_size__AttributeData* attributeData = newData<profile_GLES__technique__pass__point_size__AttributeData>(attributeDataPtr);
37678 
37679 const ParserChar** attributeArray = attributes.attributes;
37680 if ( attributeArray )
37681 {
37682     while (true)
37683     {
37684         const ParserChar * attribute = *attributeArray;
37685         if ( !attribute )
37686             break;
37687         StringHash hash = GeneratedSaxParser::Utils::calculateStringHash(attribute);
37688         attributeArray++;
37689         if ( !attributeArray )
37690             return false;
37691         const ParserChar* attributeValue = *attributeArray;
37692         attributeArray++;
37693 
37694 
37695     switch ( hash )
37696     {
37697     case HASH_ATTRIBUTE_value:
37698     {
37699 bool failed;
37700 attributeData->value = GeneratedSaxParser::Utils::toFloat(attributeValue, failed);
37701 if ( failed && handleError(ParserError::SEVERITY_ERROR_NONCRITICAL,
37702         ParserError::ERROR_ATTRIBUTE_PARSING_FAILED,
37703         HASH_ELEMENT_POINT_SIZE,
37704         HASH_ATTRIBUTE_value,
37705         attributeValue))
37706 {
37707     return false;
37708 }
37709 
37710     break;
37711     }
37712     case HASH_ATTRIBUTE_param:
37713     {
37714 
37715 attributeData->param = attributeValue;
37716 #ifdef GENERATEDSAXPARSER_VALIDATION
37717     if ( mValidate )
37718     {
37719     ParserError::ErrorType simpleTypeValidationResult = validate__NCName(attributeData->param, strlen(attributeData->param));
37720     if (simpleTypeValidationResult != ParserError::SIMPLE_TYPE_VALIDATION_OK)
37721     {
37722         if( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL,
37723             simpleTypeValidationResult,
37724             HASH_ELEMENT_POINT_SIZE,
37725             HASH_ATTRIBUTE_param,
37726             attributeValue) )
37727         {
37728             return false;
37729         }
37730     }
37731     } // validation
37732 #endif
37733 
37734     break;
37735     }
37736     default:
37737     {
37738         if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_UNKNOWN_ATTRIBUTE, HASH_ELEMENT_POINT_SIZE, attribute, attributeValue))
37739             {return false;}
37740     }
37741     }
37742     }
37743 }
37744 
37745 
37746     return true;
37747 }
37748 
37749 //---------------------------------------------------------------------
_preEnd__profile_GLES__technique__pass__point_size()37750 bool ColladaParserAutoGen14Private::_preEnd__profile_GLES__technique__pass__point_size()
37751 {
37752 #ifdef GENERATEDSAXPARSER_VALIDATION
37753     if ( mValidate )
37754     {
37755 
37756         bool validationResult = _validateEnd__profile_GLES__technique__pass__point_size();
37757         if ( !validationResult ) return false;
37758 
37759     } // validation
37760 #endif
37761 
37762     return true;
37763 }
37764 
37765 //---------------------------------------------------------------------
_freeAttributes__profile_GLES__technique__pass__point_size(void * attributeData)37766 bool ColladaParserAutoGen14Private::_freeAttributes__profile_GLES__technique__pass__point_size( void* attributeData )
37767 {
37768     profile_GLES__technique__pass__point_size__AttributeData* typedAttributeData = static_cast<profile_GLES__technique__pass__point_size__AttributeData*>(attributeData);
37769 
37770     typedAttributeData->~profile_GLES__technique__pass__point_size__AttributeData();
37771 
37772     return true;
37773 }
37774 
37775 //---------------------------------------------------------------------
37776 const profile_GLES__technique__pass__point_size_min__AttributeData profile_GLES__technique__pass__point_size_min__AttributeData::DEFAULT = {0.0E1, 0};
37777 
37778 //---------------------------------------------------------------------
_data__profile_GLES__technique__pass__point_size_min(const ParserChar * text,size_t textLength)37779 bool ColladaParserAutoGen14Private::_data__profile_GLES__technique__pass__point_size_min( const ParserChar* text, size_t textLength )
37780 {
37781     return true;
37782 }
37783 
37784 //---------------------------------------------------------------------
_preBegin__profile_GLES__technique__pass__point_size_min(const ParserAttributes & attributes,void ** attributeDataPtr,void ** validationDataPtr)37785 bool ColladaParserAutoGen14Private::_preBegin__profile_GLES__technique__pass__point_size_min( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
37786 {
37787 #ifdef GENERATEDSAXPARSER_VALIDATION
37788     if ( mValidate )
37789     {
37790 
37791         bool validationResult = _validateBegin__profile_GLES__technique__pass__point_size_min( attributes, attributeDataPtr, validationDataPtr );
37792         if ( !validationResult ) return false;
37793 
37794     } // validation
37795 #endif
37796 
37797 profile_GLES__technique__pass__point_size_min__AttributeData* attributeData = newData<profile_GLES__technique__pass__point_size_min__AttributeData>(attributeDataPtr);
37798 
37799 const ParserChar** attributeArray = attributes.attributes;
37800 if ( attributeArray )
37801 {
37802     while (true)
37803     {
37804         const ParserChar * attribute = *attributeArray;
37805         if ( !attribute )
37806             break;
37807         StringHash hash = GeneratedSaxParser::Utils::calculateStringHash(attribute);
37808         attributeArray++;
37809         if ( !attributeArray )
37810             return false;
37811         const ParserChar* attributeValue = *attributeArray;
37812         attributeArray++;
37813 
37814 
37815     switch ( hash )
37816     {
37817     case HASH_ATTRIBUTE_value:
37818     {
37819 bool failed;
37820 attributeData->value = GeneratedSaxParser::Utils::toFloat(attributeValue, failed);
37821 if ( failed && handleError(ParserError::SEVERITY_ERROR_NONCRITICAL,
37822         ParserError::ERROR_ATTRIBUTE_PARSING_FAILED,
37823         HASH_ELEMENT_POINT_SIZE_MIN,
37824         HASH_ATTRIBUTE_value,
37825         attributeValue))
37826 {
37827     return false;
37828 }
37829 
37830     break;
37831     }
37832     case HASH_ATTRIBUTE_param:
37833     {
37834 
37835 attributeData->param = attributeValue;
37836 #ifdef GENERATEDSAXPARSER_VALIDATION
37837     if ( mValidate )
37838     {
37839     ParserError::ErrorType simpleTypeValidationResult = validate__NCName(attributeData->param, strlen(attributeData->param));
37840     if (simpleTypeValidationResult != ParserError::SIMPLE_TYPE_VALIDATION_OK)
37841     {
37842         if( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL,
37843             simpleTypeValidationResult,
37844             HASH_ELEMENT_POINT_SIZE_MIN,
37845             HASH_ATTRIBUTE_param,
37846             attributeValue) )
37847         {
37848             return false;
37849         }
37850     }
37851     } // validation
37852 #endif
37853 
37854     break;
37855     }
37856     default:
37857     {
37858         if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_UNKNOWN_ATTRIBUTE, HASH_ELEMENT_POINT_SIZE_MIN, attribute, attributeValue))
37859             {return false;}
37860     }
37861     }
37862     }
37863 }
37864 
37865 
37866     return true;
37867 }
37868 
37869 //---------------------------------------------------------------------
_preEnd__profile_GLES__technique__pass__point_size_min()37870 bool ColladaParserAutoGen14Private::_preEnd__profile_GLES__technique__pass__point_size_min()
37871 {
37872 #ifdef GENERATEDSAXPARSER_VALIDATION
37873     if ( mValidate )
37874     {
37875 
37876         bool validationResult = _validateEnd__profile_GLES__technique__pass__point_size_min();
37877         if ( !validationResult ) return false;
37878 
37879     } // validation
37880 #endif
37881 
37882     return true;
37883 }
37884 
37885 //---------------------------------------------------------------------
_freeAttributes__profile_GLES__technique__pass__point_size_min(void * attributeData)37886 bool ColladaParserAutoGen14Private::_freeAttributes__profile_GLES__technique__pass__point_size_min( void* attributeData )
37887 {
37888     profile_GLES__technique__pass__point_size_min__AttributeData* typedAttributeData = static_cast<profile_GLES__technique__pass__point_size_min__AttributeData*>(attributeData);
37889 
37890     typedAttributeData->~profile_GLES__technique__pass__point_size_min__AttributeData();
37891 
37892     return true;
37893 }
37894 
37895 //---------------------------------------------------------------------
37896 const profile_GLES__technique__pass__point_size_max__AttributeData profile_GLES__technique__pass__point_size_max__AttributeData::DEFAULT = {1.0E0, 0};
37897 
37898 //---------------------------------------------------------------------
_data__profile_GLES__technique__pass__point_size_max(const ParserChar * text,size_t textLength)37899 bool ColladaParserAutoGen14Private::_data__profile_GLES__technique__pass__point_size_max( const ParserChar* text, size_t textLength )
37900 {
37901     return true;
37902 }
37903 
37904 //---------------------------------------------------------------------
_preBegin__profile_GLES__technique__pass__point_size_max(const ParserAttributes & attributes,void ** attributeDataPtr,void ** validationDataPtr)37905 bool ColladaParserAutoGen14Private::_preBegin__profile_GLES__technique__pass__point_size_max( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
37906 {
37907 #ifdef GENERATEDSAXPARSER_VALIDATION
37908     if ( mValidate )
37909     {
37910 
37911         bool validationResult = _validateBegin__profile_GLES__technique__pass__point_size_max( attributes, attributeDataPtr, validationDataPtr );
37912         if ( !validationResult ) return false;
37913 
37914     } // validation
37915 #endif
37916 
37917 profile_GLES__technique__pass__point_size_max__AttributeData* attributeData = newData<profile_GLES__technique__pass__point_size_max__AttributeData>(attributeDataPtr);
37918 
37919 const ParserChar** attributeArray = attributes.attributes;
37920 if ( attributeArray )
37921 {
37922     while (true)
37923     {
37924         const ParserChar * attribute = *attributeArray;
37925         if ( !attribute )
37926             break;
37927         StringHash hash = GeneratedSaxParser::Utils::calculateStringHash(attribute);
37928         attributeArray++;
37929         if ( !attributeArray )
37930             return false;
37931         const ParserChar* attributeValue = *attributeArray;
37932         attributeArray++;
37933 
37934 
37935     switch ( hash )
37936     {
37937     case HASH_ATTRIBUTE_value:
37938     {
37939 bool failed;
37940 attributeData->value = GeneratedSaxParser::Utils::toFloat(attributeValue, failed);
37941 if ( failed && handleError(ParserError::SEVERITY_ERROR_NONCRITICAL,
37942         ParserError::ERROR_ATTRIBUTE_PARSING_FAILED,
37943         HASH_ELEMENT_POINT_SIZE_MAX,
37944         HASH_ATTRIBUTE_value,
37945         attributeValue))
37946 {
37947     return false;
37948 }
37949 
37950     break;
37951     }
37952     case HASH_ATTRIBUTE_param:
37953     {
37954 
37955 attributeData->param = attributeValue;
37956 #ifdef GENERATEDSAXPARSER_VALIDATION
37957     if ( mValidate )
37958     {
37959     ParserError::ErrorType simpleTypeValidationResult = validate__NCName(attributeData->param, strlen(attributeData->param));
37960     if (simpleTypeValidationResult != ParserError::SIMPLE_TYPE_VALIDATION_OK)
37961     {
37962         if( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL,
37963             simpleTypeValidationResult,
37964             HASH_ELEMENT_POINT_SIZE_MAX,
37965             HASH_ATTRIBUTE_param,
37966             attributeValue) )
37967         {
37968             return false;
37969         }
37970     }
37971     } // validation
37972 #endif
37973 
37974     break;
37975     }
37976     default:
37977     {
37978         if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_UNKNOWN_ATTRIBUTE, HASH_ELEMENT_POINT_SIZE_MAX, attribute, attributeValue))
37979             {return false;}
37980     }
37981     }
37982     }
37983 }
37984 
37985 
37986     return true;
37987 }
37988 
37989 //---------------------------------------------------------------------
_preEnd__profile_GLES__technique__pass__point_size_max()37990 bool ColladaParserAutoGen14Private::_preEnd__profile_GLES__technique__pass__point_size_max()
37991 {
37992 #ifdef GENERATEDSAXPARSER_VALIDATION
37993     if ( mValidate )
37994     {
37995 
37996         bool validationResult = _validateEnd__profile_GLES__technique__pass__point_size_max();
37997         if ( !validationResult ) return false;
37998 
37999     } // validation
38000 #endif
38001 
38002     return true;
38003 }
38004 
38005 //---------------------------------------------------------------------
_freeAttributes__profile_GLES__technique__pass__point_size_max(void * attributeData)38006 bool ColladaParserAutoGen14Private::_freeAttributes__profile_GLES__technique__pass__point_size_max( void* attributeData )
38007 {
38008     profile_GLES__technique__pass__point_size_max__AttributeData* typedAttributeData = static_cast<profile_GLES__technique__pass__point_size_max__AttributeData*>(attributeData);
38009 
38010     typedAttributeData->~profile_GLES__technique__pass__point_size_max__AttributeData();
38011 
38012     return true;
38013 }
38014 
38015 //---------------------------------------------------------------------
38016 const profile_GLES__technique__pass__polygon_offset__AttributeData profile_GLES__technique__pass__polygon_offset__AttributeData::DEFAULT = {0, GeneratedSaxParser::XSList<float>(), 0};
38017 
38018 //---------------------------------------------------------------------
_data__profile_GLES__technique__pass__polygon_offset(const ParserChar * text,size_t textLength)38019 bool ColladaParserAutoGen14Private::_data__profile_GLES__technique__pass__polygon_offset( const ParserChar* text, size_t textLength )
38020 {
38021     return true;
38022 }
38023 
38024 //---------------------------------------------------------------------
_preBegin__profile_GLES__technique__pass__polygon_offset(const ParserAttributes & attributes,void ** attributeDataPtr,void ** validationDataPtr)38025 bool ColladaParserAutoGen14Private::_preBegin__profile_GLES__technique__pass__polygon_offset( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
38026 {
38027 #ifdef GENERATEDSAXPARSER_VALIDATION
38028     if ( mValidate )
38029     {
38030 
38031         bool validationResult = _validateBegin__profile_GLES__technique__pass__polygon_offset( attributes, attributeDataPtr, validationDataPtr );
38032         if ( !validationResult ) return false;
38033 
38034     } // validation
38035 #endif
38036 
38037 profile_GLES__technique__pass__polygon_offset__AttributeData* attributeData = newData<profile_GLES__technique__pass__polygon_offset__AttributeData>(attributeDataPtr);
38038 
38039 const ParserChar** attributeArray = attributes.attributes;
38040 if ( attributeArray )
38041 {
38042     while (true)
38043     {
38044         const ParserChar * attribute = *attributeArray;
38045         if ( !attribute )
38046             break;
38047         StringHash hash = GeneratedSaxParser::Utils::calculateStringHash(attribute);
38048         attributeArray++;
38049         if ( !attributeArray )
38050             return false;
38051         const ParserChar* attributeValue = *attributeArray;
38052         attributeArray++;
38053 
38054 
38055     switch ( hash )
38056     {
38057     case HASH_ATTRIBUTE_value:
38058     {
38059 bool failed;
38060 #ifdef GENERATEDSAXPARSER_VALIDATION
38061     if ( mValidate )
38062     {
38063 failed = !characterData2FloatList(attributeValue, attributeData->value, 0, HASH_ELEMENT_POLYGON_OFFSET, HASH_ATTRIBUTE_value);
38064     }
38065     else
38066     {
38067 failed = !characterData2FloatList(attributeValue, attributeData->value);
38068     }
38069 #else
38070     {
38071 failed = !characterData2FloatList(attributeValue, attributeData->value);
38072     } // validation
38073 #endif
38074 if ( failed && handleError(ParserError::SEVERITY_ERROR_NONCRITICAL,
38075         ParserError::ERROR_ATTRIBUTE_PARSING_FAILED,
38076         HASH_ELEMENT_POLYGON_OFFSET,
38077         HASH_ATTRIBUTE_value,
38078         attributeValue))
38079 {
38080     return false;
38081 }
38082 #ifdef GENERATEDSAXPARSER_VALIDATION
38083     if ( mValidate )
38084     {
38085     ParserError::ErrorType simpleTypeValidationResult = validate__float2(attributeData->value.data, attributeData->value.size);
38086     if (simpleTypeValidationResult != ParserError::SIMPLE_TYPE_VALIDATION_OK)
38087     {
38088         if( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL,
38089             simpleTypeValidationResult,
38090             HASH_ELEMENT_POLYGON_OFFSET,
38091             HASH_ATTRIBUTE_value,
38092             attributeValue) )
38093         {
38094             return false;
38095         }
38096     }
38097     } // validation
38098 #endif
38099 
38100 if ( !failed )
38101     attributeData->present_attributes |= profile_GLES__technique__pass__polygon_offset__AttributeData::ATTRIBUTE_VALUE_PRESENT;
38102 
38103     break;
38104     }
38105     case HASH_ATTRIBUTE_param:
38106     {
38107 
38108 attributeData->param = attributeValue;
38109 #ifdef GENERATEDSAXPARSER_VALIDATION
38110     if ( mValidate )
38111     {
38112     ParserError::ErrorType simpleTypeValidationResult = validate__NCName(attributeData->param, strlen(attributeData->param));
38113     if (simpleTypeValidationResult != ParserError::SIMPLE_TYPE_VALIDATION_OK)
38114     {
38115         if( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL,
38116             simpleTypeValidationResult,
38117             HASH_ELEMENT_POLYGON_OFFSET,
38118             HASH_ATTRIBUTE_param,
38119             attributeValue) )
38120         {
38121             return false;
38122         }
38123     }
38124     } // validation
38125 #endif
38126 
38127     break;
38128     }
38129     default:
38130     {
38131         if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_UNKNOWN_ATTRIBUTE, HASH_ELEMENT_POLYGON_OFFSET, attribute, attributeValue))
38132             {return false;}
38133     }
38134     }
38135     }
38136 }
38137 if ((attributeData->present_attributes & profile_GLES__technique__pass__polygon_offset__AttributeData::ATTRIBUTE_VALUE_PRESENT) == 0)
38138 {
38139     bool failed;
38140     failed = !characterData2FloatList("0.0E1 0.0E1", attributeData->value);
38141     if ( !failed )
38142     attributeData->present_attributes |= profile_GLES__technique__pass__polygon_offset__AttributeData::ATTRIBUTE_VALUE_PRESENT;
38143 }
38144 
38145 
38146     return true;
38147 }
38148 
38149 //---------------------------------------------------------------------
_preEnd__profile_GLES__technique__pass__polygon_offset()38150 bool ColladaParserAutoGen14Private::_preEnd__profile_GLES__technique__pass__polygon_offset()
38151 {
38152 #ifdef GENERATEDSAXPARSER_VALIDATION
38153     if ( mValidate )
38154     {
38155 
38156         bool validationResult = _validateEnd__profile_GLES__technique__pass__polygon_offset();
38157         if ( !validationResult ) return false;
38158 
38159     } // validation
38160 #endif
38161 
38162     return true;
38163 }
38164 
38165 //---------------------------------------------------------------------
_freeAttributes__profile_GLES__technique__pass__polygon_offset(void * attributeData)38166 bool ColladaParserAutoGen14Private::_freeAttributes__profile_GLES__technique__pass__polygon_offset( void* attributeData )
38167 {
38168     profile_GLES__technique__pass__polygon_offset__AttributeData* typedAttributeData = static_cast<profile_GLES__technique__pass__polygon_offset__AttributeData*>(attributeData);
38169     if (typedAttributeData->value.data)
38170     {
38171         mStackMemoryManager.deleteObject();
38172     }
38173 
38174 
38175     typedAttributeData->~profile_GLES__technique__pass__polygon_offset__AttributeData();
38176 
38177     return true;
38178 }
38179 
38180 //---------------------------------------------------------------------
38181 const profile_GLES__technique__pass__projection_matrix__AttributeData profile_GLES__technique__pass__projection_matrix__AttributeData::DEFAULT = {0, GeneratedSaxParser::XSList<float>(), 0};
38182 
38183 //---------------------------------------------------------------------
_data__profile_GLES__technique__pass__projection_matrix(const ParserChar * text,size_t textLength)38184 bool ColladaParserAutoGen14Private::_data__profile_GLES__technique__pass__projection_matrix( const ParserChar* text, size_t textLength )
38185 {
38186     return true;
38187 }
38188 
38189 //---------------------------------------------------------------------
_preBegin__profile_GLES__technique__pass__projection_matrix(const ParserAttributes & attributes,void ** attributeDataPtr,void ** validationDataPtr)38190 bool ColladaParserAutoGen14Private::_preBegin__profile_GLES__technique__pass__projection_matrix( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
38191 {
38192 #ifdef GENERATEDSAXPARSER_VALIDATION
38193     if ( mValidate )
38194     {
38195 
38196         bool validationResult = _validateBegin__profile_GLES__technique__pass__projection_matrix( attributes, attributeDataPtr, validationDataPtr );
38197         if ( !validationResult ) return false;
38198 
38199     } // validation
38200 #endif
38201 
38202 profile_GLES__technique__pass__projection_matrix__AttributeData* attributeData = newData<profile_GLES__technique__pass__projection_matrix__AttributeData>(attributeDataPtr);
38203 
38204 const ParserChar** attributeArray = attributes.attributes;
38205 if ( attributeArray )
38206 {
38207     while (true)
38208     {
38209         const ParserChar * attribute = *attributeArray;
38210         if ( !attribute )
38211             break;
38212         StringHash hash = GeneratedSaxParser::Utils::calculateStringHash(attribute);
38213         attributeArray++;
38214         if ( !attributeArray )
38215             return false;
38216         const ParserChar* attributeValue = *attributeArray;
38217         attributeArray++;
38218 
38219 
38220     switch ( hash )
38221     {
38222     case HASH_ATTRIBUTE_value:
38223     {
38224 bool failed;
38225 #ifdef GENERATEDSAXPARSER_VALIDATION
38226     if ( mValidate )
38227     {
38228 failed = !characterData2FloatList(attributeValue, attributeData->value, 0, HASH_ELEMENT_PROJECTION_MATRIX, HASH_ATTRIBUTE_value);
38229     }
38230     else
38231     {
38232 failed = !characterData2FloatList(attributeValue, attributeData->value);
38233     }
38234 #else
38235     {
38236 failed = !characterData2FloatList(attributeValue, attributeData->value);
38237     } // validation
38238 #endif
38239 if ( failed && handleError(ParserError::SEVERITY_ERROR_NONCRITICAL,
38240         ParserError::ERROR_ATTRIBUTE_PARSING_FAILED,
38241         HASH_ELEMENT_PROJECTION_MATRIX,
38242         HASH_ATTRIBUTE_value,
38243         attributeValue))
38244 {
38245     return false;
38246 }
38247 #ifdef GENERATEDSAXPARSER_VALIDATION
38248     if ( mValidate )
38249     {
38250     ParserError::ErrorType simpleTypeValidationResult = validate__float4x4(attributeData->value.data, attributeData->value.size);
38251     if (simpleTypeValidationResult != ParserError::SIMPLE_TYPE_VALIDATION_OK)
38252     {
38253         if( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL,
38254             simpleTypeValidationResult,
38255             HASH_ELEMENT_PROJECTION_MATRIX,
38256             HASH_ATTRIBUTE_value,
38257             attributeValue) )
38258         {
38259             return false;
38260         }
38261     }
38262     } // validation
38263 #endif
38264 
38265 if ( !failed )
38266     attributeData->present_attributes |= profile_GLES__technique__pass__projection_matrix__AttributeData::ATTRIBUTE_VALUE_PRESENT;
38267 
38268     break;
38269     }
38270     case HASH_ATTRIBUTE_param:
38271     {
38272 
38273 attributeData->param = attributeValue;
38274 #ifdef GENERATEDSAXPARSER_VALIDATION
38275     if ( mValidate )
38276     {
38277     ParserError::ErrorType simpleTypeValidationResult = validate__NCName(attributeData->param, strlen(attributeData->param));
38278     if (simpleTypeValidationResult != ParserError::SIMPLE_TYPE_VALIDATION_OK)
38279     {
38280         if( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL,
38281             simpleTypeValidationResult,
38282             HASH_ELEMENT_PROJECTION_MATRIX,
38283             HASH_ATTRIBUTE_param,
38284             attributeValue) )
38285         {
38286             return false;
38287         }
38288     }
38289     } // validation
38290 #endif
38291 
38292     break;
38293     }
38294     default:
38295     {
38296         if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_UNKNOWN_ATTRIBUTE, HASH_ELEMENT_PROJECTION_MATRIX, attribute, attributeValue))
38297             {return false;}
38298     }
38299     }
38300     }
38301 }
38302 if ((attributeData->present_attributes & profile_GLES__technique__pass__projection_matrix__AttributeData::ATTRIBUTE_VALUE_PRESENT) == 0)
38303 {
38304     bool failed;
38305     failed = !characterData2FloatList("1.0E0 0.0E1 0.0E1 0.0E1 0.0E1 1.0E0 0.0E1 0.0E1 0.0E1 0.0E1 1.0E0 0.0E1 0.0E1 0.0E1 0.0E1 1.0E0", attributeData->value);
38306     if ( !failed )
38307     attributeData->present_attributes |= profile_GLES__technique__pass__projection_matrix__AttributeData::ATTRIBUTE_VALUE_PRESENT;
38308 }
38309 
38310 
38311     return true;
38312 }
38313 
38314 //---------------------------------------------------------------------
_preEnd__profile_GLES__technique__pass__projection_matrix()38315 bool ColladaParserAutoGen14Private::_preEnd__profile_GLES__technique__pass__projection_matrix()
38316 {
38317 #ifdef GENERATEDSAXPARSER_VALIDATION
38318     if ( mValidate )
38319     {
38320 
38321         bool validationResult = _validateEnd__profile_GLES__technique__pass__projection_matrix();
38322         if ( !validationResult ) return false;
38323 
38324     } // validation
38325 #endif
38326 
38327     return true;
38328 }
38329 
38330 //---------------------------------------------------------------------
_freeAttributes__profile_GLES__technique__pass__projection_matrix(void * attributeData)38331 bool ColladaParserAutoGen14Private::_freeAttributes__profile_GLES__technique__pass__projection_matrix( void* attributeData )
38332 {
38333     profile_GLES__technique__pass__projection_matrix__AttributeData* typedAttributeData = static_cast<profile_GLES__technique__pass__projection_matrix__AttributeData*>(attributeData);
38334     if (typedAttributeData->value.data)
38335     {
38336         mStackMemoryManager.deleteObject();
38337     }
38338 
38339 
38340     typedAttributeData->~profile_GLES__technique__pass__projection_matrix__AttributeData();
38341 
38342     return true;
38343 }
38344 
38345 //---------------------------------------------------------------------
38346 const profile_GLES__technique__pass__scissor__AttributeData profile_GLES__technique__pass__scissor__AttributeData::DEFAULT = {0, GeneratedSaxParser::XSList<sint64>(), 0};
38347 
38348 //---------------------------------------------------------------------
_data__profile_GLES__technique__pass__scissor(const ParserChar * text,size_t textLength)38349 bool ColladaParserAutoGen14Private::_data__profile_GLES__technique__pass__scissor( const ParserChar* text, size_t textLength )
38350 {
38351     return true;
38352 }
38353 
38354 //---------------------------------------------------------------------
_preBegin__profile_GLES__technique__pass__scissor(const ParserAttributes & attributes,void ** attributeDataPtr,void ** validationDataPtr)38355 bool ColladaParserAutoGen14Private::_preBegin__profile_GLES__technique__pass__scissor( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
38356 {
38357 #ifdef GENERATEDSAXPARSER_VALIDATION
38358     if ( mValidate )
38359     {
38360 
38361         bool validationResult = _validateBegin__profile_GLES__technique__pass__scissor( attributes, attributeDataPtr, validationDataPtr );
38362         if ( !validationResult ) return false;
38363 
38364     } // validation
38365 #endif
38366 
38367 profile_GLES__technique__pass__scissor__AttributeData* attributeData = newData<profile_GLES__technique__pass__scissor__AttributeData>(attributeDataPtr);
38368 
38369 const ParserChar** attributeArray = attributes.attributes;
38370 if ( attributeArray )
38371 {
38372     while (true)
38373     {
38374         const ParserChar * attribute = *attributeArray;
38375         if ( !attribute )
38376             break;
38377         StringHash hash = GeneratedSaxParser::Utils::calculateStringHash(attribute);
38378         attributeArray++;
38379         if ( !attributeArray )
38380             return false;
38381         const ParserChar* attributeValue = *attributeArray;
38382         attributeArray++;
38383 
38384 
38385     switch ( hash )
38386     {
38387     case HASH_ATTRIBUTE_value:
38388     {
38389 bool failed;
38390 #ifdef GENERATEDSAXPARSER_VALIDATION
38391     if ( mValidate )
38392     {
38393 failed = !characterData2Sint64List(attributeValue, attributeData->value, 0, HASH_ELEMENT_SCISSOR, HASH_ATTRIBUTE_value);
38394     }
38395     else
38396     {
38397 failed = !characterData2Sint64List(attributeValue, attributeData->value);
38398     }
38399 #else
38400     {
38401 failed = !characterData2Sint64List(attributeValue, attributeData->value);
38402     } // validation
38403 #endif
38404 if ( failed && handleError(ParserError::SEVERITY_ERROR_NONCRITICAL,
38405         ParserError::ERROR_ATTRIBUTE_PARSING_FAILED,
38406         HASH_ELEMENT_SCISSOR,
38407         HASH_ATTRIBUTE_value,
38408         attributeValue))
38409 {
38410     return false;
38411 }
38412 #ifdef GENERATEDSAXPARSER_VALIDATION
38413     if ( mValidate )
38414     {
38415     ParserError::ErrorType simpleTypeValidationResult = validate__int4(attributeData->value.data, attributeData->value.size);
38416     if (simpleTypeValidationResult != ParserError::SIMPLE_TYPE_VALIDATION_OK)
38417     {
38418         if( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL,
38419             simpleTypeValidationResult,
38420             HASH_ELEMENT_SCISSOR,
38421             HASH_ATTRIBUTE_value,
38422             attributeValue) )
38423         {
38424             return false;
38425         }
38426     }
38427     } // validation
38428 #endif
38429 
38430 if ( !failed )
38431     attributeData->present_attributes |= profile_GLES__technique__pass__scissor__AttributeData::ATTRIBUTE_VALUE_PRESENT;
38432 
38433     break;
38434     }
38435     case HASH_ATTRIBUTE_param:
38436     {
38437 
38438 attributeData->param = attributeValue;
38439 #ifdef GENERATEDSAXPARSER_VALIDATION
38440     if ( mValidate )
38441     {
38442     ParserError::ErrorType simpleTypeValidationResult = validate__NCName(attributeData->param, strlen(attributeData->param));
38443     if (simpleTypeValidationResult != ParserError::SIMPLE_TYPE_VALIDATION_OK)
38444     {
38445         if( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL,
38446             simpleTypeValidationResult,
38447             HASH_ELEMENT_SCISSOR,
38448             HASH_ATTRIBUTE_param,
38449             attributeValue) )
38450         {
38451             return false;
38452         }
38453     }
38454     } // validation
38455 #endif
38456 
38457     break;
38458     }
38459     default:
38460     {
38461         if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_UNKNOWN_ATTRIBUTE, HASH_ELEMENT_SCISSOR, attribute, attributeValue))
38462             {return false;}
38463     }
38464     }
38465     }
38466 }
38467 if ((attributeData->present_attributes & profile_GLES__technique__pass__scissor__AttributeData::ATTRIBUTE_VALUE_PRESENT) == 0)
38468 {
38469     attributeData->value = GeneratedSaxParser::XSList<sint64>();
38470 }
38471 
38472 
38473     return true;
38474 }
38475 
38476 //---------------------------------------------------------------------
_preEnd__profile_GLES__technique__pass__scissor()38477 bool ColladaParserAutoGen14Private::_preEnd__profile_GLES__technique__pass__scissor()
38478 {
38479 #ifdef GENERATEDSAXPARSER_VALIDATION
38480     if ( mValidate )
38481     {
38482 
38483         bool validationResult = _validateEnd__profile_GLES__technique__pass__scissor();
38484         if ( !validationResult ) return false;
38485 
38486     } // validation
38487 #endif
38488 
38489     return true;
38490 }
38491 
38492 //---------------------------------------------------------------------
_freeAttributes__profile_GLES__technique__pass__scissor(void * attributeData)38493 bool ColladaParserAutoGen14Private::_freeAttributes__profile_GLES__technique__pass__scissor( void* attributeData )
38494 {
38495     profile_GLES__technique__pass__scissor__AttributeData* typedAttributeData = static_cast<profile_GLES__technique__pass__scissor__AttributeData*>(attributeData);
38496     if (typedAttributeData->value.data)
38497     {
38498         mStackMemoryManager.deleteObject();
38499     }
38500 
38501 
38502     typedAttributeData->~profile_GLES__technique__pass__scissor__AttributeData();
38503 
38504     return true;
38505 }
38506 
38507 //---------------------------------------------------------------------
38508 const profile_GLES__technique__pass__shade_model__AttributeData profile_GLES__technique__pass__shade_model__AttributeData::DEFAULT = {ENUM__gl_shade_model_type__SMOOTH, 0};
38509 
38510 //---------------------------------------------------------------------
_data__profile_GLES__technique__pass__shade_model(const ParserChar * text,size_t textLength)38511 bool ColladaParserAutoGen14Private::_data__profile_GLES__technique__pass__shade_model( const ParserChar* text, size_t textLength )
38512 {
38513     return true;
38514 }
38515 
38516 //---------------------------------------------------------------------
_preBegin__profile_GLES__technique__pass__shade_model(const ParserAttributes & attributes,void ** attributeDataPtr,void ** validationDataPtr)38517 bool ColladaParserAutoGen14Private::_preBegin__profile_GLES__technique__pass__shade_model( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
38518 {
38519 #ifdef GENERATEDSAXPARSER_VALIDATION
38520     if ( mValidate )
38521     {
38522 
38523         bool validationResult = _validateBegin__profile_GLES__technique__pass__shade_model( attributes, attributeDataPtr, validationDataPtr );
38524         if ( !validationResult ) return false;
38525 
38526     } // validation
38527 #endif
38528 
38529 profile_GLES__technique__pass__shade_model__AttributeData* attributeData = newData<profile_GLES__technique__pass__shade_model__AttributeData>(attributeDataPtr);
38530 
38531 const ParserChar** attributeArray = attributes.attributes;
38532 if ( attributeArray )
38533 {
38534     while (true)
38535     {
38536         const ParserChar * attribute = *attributeArray;
38537         if ( !attribute )
38538             break;
38539         StringHash hash = GeneratedSaxParser::Utils::calculateStringHash(attribute);
38540         attributeArray++;
38541         if ( !attributeArray )
38542             return false;
38543         const ParserChar* attributeValue = *attributeArray;
38544         attributeArray++;
38545 
38546 
38547     switch ( hash )
38548     {
38549     case HASH_ATTRIBUTE_value:
38550     {
38551 bool failed;
38552 attributeData->value = Utils::toEnum<ENUM__gl_shade_model_type, StringHash, ENUM__gl_shade_model_type__COUNT>(attributeValue, failed, ENUM__gl_shade_model_typeMap, Utils::calculateStringHash);
38553 if ( failed && handleError(ParserError::SEVERITY_ERROR_NONCRITICAL,
38554         ParserError::ERROR_ATTRIBUTE_PARSING_FAILED,
38555         HASH_ELEMENT_SHADE_MODEL,
38556         HASH_ATTRIBUTE_value,
38557         attributeValue))
38558 {
38559     return false;
38560 }
38561 
38562     break;
38563     }
38564     case HASH_ATTRIBUTE_param:
38565     {
38566 
38567 attributeData->param = attributeValue;
38568 #ifdef GENERATEDSAXPARSER_VALIDATION
38569     if ( mValidate )
38570     {
38571     ParserError::ErrorType simpleTypeValidationResult = validate__NCName(attributeData->param, strlen(attributeData->param));
38572     if (simpleTypeValidationResult != ParserError::SIMPLE_TYPE_VALIDATION_OK)
38573     {
38574         if( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL,
38575             simpleTypeValidationResult,
38576             HASH_ELEMENT_SHADE_MODEL,
38577             HASH_ATTRIBUTE_param,
38578             attributeValue) )
38579         {
38580             return false;
38581         }
38582     }
38583     } // validation
38584 #endif
38585 
38586     break;
38587     }
38588     default:
38589     {
38590         if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_UNKNOWN_ATTRIBUTE, HASH_ELEMENT_SHADE_MODEL, attribute, attributeValue))
38591             {return false;}
38592     }
38593     }
38594     }
38595 }
38596 
38597 
38598     return true;
38599 }
38600 
38601 //---------------------------------------------------------------------
_preEnd__profile_GLES__technique__pass__shade_model()38602 bool ColladaParserAutoGen14Private::_preEnd__profile_GLES__technique__pass__shade_model()
38603 {
38604 #ifdef GENERATEDSAXPARSER_VALIDATION
38605     if ( mValidate )
38606     {
38607 
38608         bool validationResult = _validateEnd__profile_GLES__technique__pass__shade_model();
38609         if ( !validationResult ) return false;
38610 
38611     } // validation
38612 #endif
38613 
38614     return true;
38615 }
38616 
38617 //---------------------------------------------------------------------
_freeAttributes__profile_GLES__technique__pass__shade_model(void * attributeData)38618 bool ColladaParserAutoGen14Private::_freeAttributes__profile_GLES__technique__pass__shade_model( void* attributeData )
38619 {
38620     profile_GLES__technique__pass__shade_model__AttributeData* typedAttributeData = static_cast<profile_GLES__technique__pass__shade_model__AttributeData*>(attributeData);
38621 
38622     typedAttributeData->~profile_GLES__technique__pass__shade_model__AttributeData();
38623 
38624     return true;
38625 }
38626 
38627 //---------------------------------------------------------------------
_data__profile_GLES__technique__pass__stencil_func(const ParserChar * text,size_t textLength)38628 bool ColladaParserAutoGen14Private::_data__profile_GLES__technique__pass__stencil_func( const ParserChar* text, size_t textLength )
38629 {
38630     return true;
38631 }
38632 
38633 //---------------------------------------------------------------------
_preBegin__profile_GLES__technique__pass__stencil_func(const ParserAttributes & attributes,void ** attributeDataPtr,void ** validationDataPtr)38634 bool ColladaParserAutoGen14Private::_preBegin__profile_GLES__technique__pass__stencil_func( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
38635 {
38636 #ifdef GENERATEDSAXPARSER_VALIDATION
38637     if ( mValidate )
38638     {
38639 
38640         bool validationResult = _validateBegin__profile_GLES__technique__pass__stencil_func( attributes, attributeDataPtr, validationDataPtr );
38641         if ( !validationResult ) return false;
38642 
38643     } // validation
38644 #endif
38645 
38646     return true;
38647 }
38648 
38649 //---------------------------------------------------------------------
_preEnd__profile_GLES__technique__pass__stencil_func()38650 bool ColladaParserAutoGen14Private::_preEnd__profile_GLES__technique__pass__stencil_func()
38651 {
38652 #ifdef GENERATEDSAXPARSER_VALIDATION
38653     if ( mValidate )
38654     {
38655 
38656         bool validationResult = _validateEnd__profile_GLES__technique__pass__stencil_func();
38657         if ( !validationResult ) return false;
38658 
38659     } // validation
38660 #endif
38661 
38662     return true;
38663 }
38664 
38665 //---------------------------------------------------------------------
_freeAttributes__profile_GLES__technique__pass__stencil_func(void * attributeData)38666 bool ColladaParserAutoGen14Private::_freeAttributes__profile_GLES__technique__pass__stencil_func( void* attributeData )
38667 {
38668     return true;
38669 }
38670 
38671 //---------------------------------------------------------------------
38672 const profile_GLES__technique__pass__stencil_func__func__AttributeData profile_GLES__technique__pass__stencil_func__func__AttributeData::DEFAULT = {ENUM__gl_func_type__ALWAYS, 0};
38673 
38674 //---------------------------------------------------------------------
_data__profile_GLES__technique__pass__stencil_func__func(const ParserChar * text,size_t textLength)38675 bool ColladaParserAutoGen14Private::_data__profile_GLES__technique__pass__stencil_func__func( const ParserChar* text, size_t textLength )
38676 {
38677     return true;
38678 }
38679 
38680 //---------------------------------------------------------------------
_preBegin__profile_GLES__technique__pass__stencil_func__func(const ParserAttributes & attributes,void ** attributeDataPtr,void ** validationDataPtr)38681 bool ColladaParserAutoGen14Private::_preBegin__profile_GLES__technique__pass__stencil_func__func( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
38682 {
38683 #ifdef GENERATEDSAXPARSER_VALIDATION
38684     if ( mValidate )
38685     {
38686 
38687         bool validationResult = _validateBegin__profile_GLES__technique__pass__stencil_func__func( attributes, attributeDataPtr, validationDataPtr );
38688         if ( !validationResult ) return false;
38689 
38690     } // validation
38691 #endif
38692 
38693 profile_GLES__technique__pass__stencil_func__func__AttributeData* attributeData = newData<profile_GLES__technique__pass__stencil_func__func__AttributeData>(attributeDataPtr);
38694 
38695 const ParserChar** attributeArray = attributes.attributes;
38696 if ( attributeArray )
38697 {
38698     while (true)
38699     {
38700         const ParserChar * attribute = *attributeArray;
38701         if ( !attribute )
38702             break;
38703         StringHash hash = GeneratedSaxParser::Utils::calculateStringHash(attribute);
38704         attributeArray++;
38705         if ( !attributeArray )
38706             return false;
38707         const ParserChar* attributeValue = *attributeArray;
38708         attributeArray++;
38709 
38710 
38711     switch ( hash )
38712     {
38713     case HASH_ATTRIBUTE_value:
38714     {
38715 bool failed;
38716 attributeData->value = Utils::toEnum<ENUM__gl_func_type, StringHash, ENUM__gl_func_type__COUNT>(attributeValue, failed, ENUM__gl_func_typeMap, Utils::calculateStringHash);
38717 if ( failed && handleError(ParserError::SEVERITY_ERROR_NONCRITICAL,
38718         ParserError::ERROR_ATTRIBUTE_PARSING_FAILED,
38719         HASH_ELEMENT_FUNC,
38720         HASH_ATTRIBUTE_value,
38721         attributeValue))
38722 {
38723     return false;
38724 }
38725 
38726     break;
38727     }
38728     case HASH_ATTRIBUTE_param:
38729     {
38730 
38731 attributeData->param = attributeValue;
38732 #ifdef GENERATEDSAXPARSER_VALIDATION
38733     if ( mValidate )
38734     {
38735     ParserError::ErrorType simpleTypeValidationResult = validate__NCName(attributeData->param, strlen(attributeData->param));
38736     if (simpleTypeValidationResult != ParserError::SIMPLE_TYPE_VALIDATION_OK)
38737     {
38738         if( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL,
38739             simpleTypeValidationResult,
38740             HASH_ELEMENT_FUNC,
38741             HASH_ATTRIBUTE_param,
38742             attributeValue) )
38743         {
38744             return false;
38745         }
38746     }
38747     } // validation
38748 #endif
38749 
38750     break;
38751     }
38752     default:
38753     {
38754         if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_UNKNOWN_ATTRIBUTE, HASH_ELEMENT_FUNC, attribute, attributeValue))
38755             {return false;}
38756     }
38757     }
38758     }
38759 }
38760 
38761 
38762     return true;
38763 }
38764 
38765 //---------------------------------------------------------------------
_preEnd__profile_GLES__technique__pass__stencil_func__func()38766 bool ColladaParserAutoGen14Private::_preEnd__profile_GLES__technique__pass__stencil_func__func()
38767 {
38768 #ifdef GENERATEDSAXPARSER_VALIDATION
38769     if ( mValidate )
38770     {
38771 
38772         bool validationResult = _validateEnd__profile_GLES__technique__pass__stencil_func__func();
38773         if ( !validationResult ) return false;
38774 
38775     } // validation
38776 #endif
38777 
38778     return true;
38779 }
38780 
38781 //---------------------------------------------------------------------
_freeAttributes__profile_GLES__technique__pass__stencil_func__func(void * attributeData)38782 bool ColladaParserAutoGen14Private::_freeAttributes__profile_GLES__technique__pass__stencil_func__func( void* attributeData )
38783 {
38784     profile_GLES__technique__pass__stencil_func__func__AttributeData* typedAttributeData = static_cast<profile_GLES__technique__pass__stencil_func__func__AttributeData*>(attributeData);
38785 
38786     typedAttributeData->~profile_GLES__technique__pass__stencil_func__func__AttributeData();
38787 
38788     return true;
38789 }
38790 
38791 //---------------------------------------------------------------------
38792 const profile_GLES__technique__pass__stencil_func__ref__AttributeData profile_GLES__technique__pass__stencil_func__ref__AttributeData::DEFAULT = {0, 0};
38793 
38794 //---------------------------------------------------------------------
_data__profile_GLES__technique__pass__stencil_func__ref(const ParserChar * text,size_t textLength)38795 bool ColladaParserAutoGen14Private::_data__profile_GLES__technique__pass__stencil_func__ref( const ParserChar* text, size_t textLength )
38796 {
38797     return true;
38798 }
38799 
38800 //---------------------------------------------------------------------
_preBegin__profile_GLES__technique__pass__stencil_func__ref(const ParserAttributes & attributes,void ** attributeDataPtr,void ** validationDataPtr)38801 bool ColladaParserAutoGen14Private::_preBegin__profile_GLES__technique__pass__stencil_func__ref( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
38802 {
38803 #ifdef GENERATEDSAXPARSER_VALIDATION
38804     if ( mValidate )
38805     {
38806 
38807         bool validationResult = _validateBegin__profile_GLES__technique__pass__stencil_func__ref( attributes, attributeDataPtr, validationDataPtr );
38808         if ( !validationResult ) return false;
38809 
38810     } // validation
38811 #endif
38812 
38813 profile_GLES__technique__pass__stencil_func__ref__AttributeData* attributeData = newData<profile_GLES__technique__pass__stencil_func__ref__AttributeData>(attributeDataPtr);
38814 
38815 const ParserChar** attributeArray = attributes.attributes;
38816 if ( attributeArray )
38817 {
38818     while (true)
38819     {
38820         const ParserChar * attribute = *attributeArray;
38821         if ( !attribute )
38822             break;
38823         StringHash hash = GeneratedSaxParser::Utils::calculateStringHash(attribute);
38824         attributeArray++;
38825         if ( !attributeArray )
38826             return false;
38827         const ParserChar* attributeValue = *attributeArray;
38828         attributeArray++;
38829 
38830 
38831     switch ( hash )
38832     {
38833     case HASH_ATTRIBUTE_value:
38834     {
38835 bool failed;
38836 attributeData->value = GeneratedSaxParser::Utils::toUint8(attributeValue, failed);
38837 if ( failed && handleError(ParserError::SEVERITY_ERROR_NONCRITICAL,
38838         ParserError::ERROR_ATTRIBUTE_PARSING_FAILED,
38839         HASH_ELEMENT_REF,
38840         HASH_ATTRIBUTE_value,
38841         attributeValue))
38842 {
38843     return false;
38844 }
38845 
38846     break;
38847     }
38848     case HASH_ATTRIBUTE_param:
38849     {
38850 
38851 attributeData->param = attributeValue;
38852 #ifdef GENERATEDSAXPARSER_VALIDATION
38853     if ( mValidate )
38854     {
38855     ParserError::ErrorType simpleTypeValidationResult = validate__NCName(attributeData->param, strlen(attributeData->param));
38856     if (simpleTypeValidationResult != ParserError::SIMPLE_TYPE_VALIDATION_OK)
38857     {
38858         if( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL,
38859             simpleTypeValidationResult,
38860             HASH_ELEMENT_REF,
38861             HASH_ATTRIBUTE_param,
38862             attributeValue) )
38863         {
38864             return false;
38865         }
38866     }
38867     } // validation
38868 #endif
38869 
38870     break;
38871     }
38872     default:
38873     {
38874         if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_UNKNOWN_ATTRIBUTE, HASH_ELEMENT_REF, attribute, attributeValue))
38875             {return false;}
38876     }
38877     }
38878     }
38879 }
38880 
38881 
38882     return true;
38883 }
38884 
38885 //---------------------------------------------------------------------
_preEnd__profile_GLES__technique__pass__stencil_func__ref()38886 bool ColladaParserAutoGen14Private::_preEnd__profile_GLES__technique__pass__stencil_func__ref()
38887 {
38888 #ifdef GENERATEDSAXPARSER_VALIDATION
38889     if ( mValidate )
38890     {
38891 
38892         bool validationResult = _validateEnd__profile_GLES__technique__pass__stencil_func__ref();
38893         if ( !validationResult ) return false;
38894 
38895     } // validation
38896 #endif
38897 
38898     return true;
38899 }
38900 
38901 //---------------------------------------------------------------------
_freeAttributes__profile_GLES__technique__pass__stencil_func__ref(void * attributeData)38902 bool ColladaParserAutoGen14Private::_freeAttributes__profile_GLES__technique__pass__stencil_func__ref( void* attributeData )
38903 {
38904     profile_GLES__technique__pass__stencil_func__ref__AttributeData* typedAttributeData = static_cast<profile_GLES__technique__pass__stencil_func__ref__AttributeData*>(attributeData);
38905 
38906     typedAttributeData->~profile_GLES__technique__pass__stencil_func__ref__AttributeData();
38907 
38908     return true;
38909 }
38910 
38911 //---------------------------------------------------------------------
38912 const profile_GLES__technique__pass__stencil_func__mask__AttributeData profile_GLES__technique__pass__stencil_func__mask__AttributeData::DEFAULT = {255, 0};
38913 
38914 //---------------------------------------------------------------------
_data__profile_GLES__technique__pass__stencil_func__mask(const ParserChar * text,size_t textLength)38915 bool ColladaParserAutoGen14Private::_data__profile_GLES__technique__pass__stencil_func__mask( const ParserChar* text, size_t textLength )
38916 {
38917     return true;
38918 }
38919 
38920 //---------------------------------------------------------------------
_preBegin__profile_GLES__technique__pass__stencil_func__mask(const ParserAttributes & attributes,void ** attributeDataPtr,void ** validationDataPtr)38921 bool ColladaParserAutoGen14Private::_preBegin__profile_GLES__technique__pass__stencil_func__mask( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
38922 {
38923 #ifdef GENERATEDSAXPARSER_VALIDATION
38924     if ( mValidate )
38925     {
38926 
38927         bool validationResult = _validateBegin__profile_GLES__technique__pass__stencil_func__mask( attributes, attributeDataPtr, validationDataPtr );
38928         if ( !validationResult ) return false;
38929 
38930     } // validation
38931 #endif
38932 
38933 profile_GLES__technique__pass__stencil_func__mask__AttributeData* attributeData = newData<profile_GLES__technique__pass__stencil_func__mask__AttributeData>(attributeDataPtr);
38934 
38935 const ParserChar** attributeArray = attributes.attributes;
38936 if ( attributeArray )
38937 {
38938     while (true)
38939     {
38940         const ParserChar * attribute = *attributeArray;
38941         if ( !attribute )
38942             break;
38943         StringHash hash = GeneratedSaxParser::Utils::calculateStringHash(attribute);
38944         attributeArray++;
38945         if ( !attributeArray )
38946             return false;
38947         const ParserChar* attributeValue = *attributeArray;
38948         attributeArray++;
38949 
38950 
38951     switch ( hash )
38952     {
38953     case HASH_ATTRIBUTE_value:
38954     {
38955 bool failed;
38956 attributeData->value = GeneratedSaxParser::Utils::toUint8(attributeValue, failed);
38957 if ( failed && handleError(ParserError::SEVERITY_ERROR_NONCRITICAL,
38958         ParserError::ERROR_ATTRIBUTE_PARSING_FAILED,
38959         HASH_ELEMENT_MASK,
38960         HASH_ATTRIBUTE_value,
38961         attributeValue))
38962 {
38963     return false;
38964 }
38965 
38966     break;
38967     }
38968     case HASH_ATTRIBUTE_param:
38969     {
38970 
38971 attributeData->param = attributeValue;
38972 #ifdef GENERATEDSAXPARSER_VALIDATION
38973     if ( mValidate )
38974     {
38975     ParserError::ErrorType simpleTypeValidationResult = validate__NCName(attributeData->param, strlen(attributeData->param));
38976     if (simpleTypeValidationResult != ParserError::SIMPLE_TYPE_VALIDATION_OK)
38977     {
38978         if( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL,
38979             simpleTypeValidationResult,
38980             HASH_ELEMENT_MASK,
38981             HASH_ATTRIBUTE_param,
38982             attributeValue) )
38983         {
38984             return false;
38985         }
38986     }
38987     } // validation
38988 #endif
38989 
38990     break;
38991     }
38992     default:
38993     {
38994         if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_UNKNOWN_ATTRIBUTE, HASH_ELEMENT_MASK, attribute, attributeValue))
38995             {return false;}
38996     }
38997     }
38998     }
38999 }
39000 
39001 
39002     return true;
39003 }
39004 
39005 //---------------------------------------------------------------------
_preEnd__profile_GLES__technique__pass__stencil_func__mask()39006 bool ColladaParserAutoGen14Private::_preEnd__profile_GLES__technique__pass__stencil_func__mask()
39007 {
39008 #ifdef GENERATEDSAXPARSER_VALIDATION
39009     if ( mValidate )
39010     {
39011 
39012         bool validationResult = _validateEnd__profile_GLES__technique__pass__stencil_func__mask();
39013         if ( !validationResult ) return false;
39014 
39015     } // validation
39016 #endif
39017 
39018     return true;
39019 }
39020 
39021 //---------------------------------------------------------------------
_freeAttributes__profile_GLES__technique__pass__stencil_func__mask(void * attributeData)39022 bool ColladaParserAutoGen14Private::_freeAttributes__profile_GLES__technique__pass__stencil_func__mask( void* attributeData )
39023 {
39024     profile_GLES__technique__pass__stencil_func__mask__AttributeData* typedAttributeData = static_cast<profile_GLES__technique__pass__stencil_func__mask__AttributeData*>(attributeData);
39025 
39026     typedAttributeData->~profile_GLES__technique__pass__stencil_func__mask__AttributeData();
39027 
39028     return true;
39029 }
39030 
39031 //---------------------------------------------------------------------
39032 const profile_GLES__technique__pass__stencil_mask__AttributeData profile_GLES__technique__pass__stencil_mask__AttributeData::DEFAULT = {4294967295ULL, 0};
39033 
39034 //---------------------------------------------------------------------
_data__profile_GLES__technique__pass__stencil_mask(const ParserChar * text,size_t textLength)39035 bool ColladaParserAutoGen14Private::_data__profile_GLES__technique__pass__stencil_mask( const ParserChar* text, size_t textLength )
39036 {
39037     return true;
39038 }
39039 
39040 //---------------------------------------------------------------------
_preBegin__profile_GLES__technique__pass__stencil_mask(const ParserAttributes & attributes,void ** attributeDataPtr,void ** validationDataPtr)39041 bool ColladaParserAutoGen14Private::_preBegin__profile_GLES__technique__pass__stencil_mask( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
39042 {
39043 #ifdef GENERATEDSAXPARSER_VALIDATION
39044     if ( mValidate )
39045     {
39046 
39047         bool validationResult = _validateBegin__profile_GLES__technique__pass__stencil_mask( attributes, attributeDataPtr, validationDataPtr );
39048         if ( !validationResult ) return false;
39049 
39050     } // validation
39051 #endif
39052 
39053 profile_GLES__technique__pass__stencil_mask__AttributeData* attributeData = newData<profile_GLES__technique__pass__stencil_mask__AttributeData>(attributeDataPtr);
39054 
39055 const ParserChar** attributeArray = attributes.attributes;
39056 if ( attributeArray )
39057 {
39058     while (true)
39059     {
39060         const ParserChar * attribute = *attributeArray;
39061         if ( !attribute )
39062             break;
39063         StringHash hash = GeneratedSaxParser::Utils::calculateStringHash(attribute);
39064         attributeArray++;
39065         if ( !attributeArray )
39066             return false;
39067         const ParserChar* attributeValue = *attributeArray;
39068         attributeArray++;
39069 
39070 
39071     switch ( hash )
39072     {
39073     case HASH_ATTRIBUTE_value:
39074     {
39075 bool failed;
39076 attributeData->value = GeneratedSaxParser::Utils::toSint64(attributeValue, failed);
39077 if ( failed && handleError(ParserError::SEVERITY_ERROR_NONCRITICAL,
39078         ParserError::ERROR_ATTRIBUTE_PARSING_FAILED,
39079         HASH_ELEMENT_STENCIL_MASK,
39080         HASH_ATTRIBUTE_value,
39081         attributeValue))
39082 {
39083     return false;
39084 }
39085 
39086     break;
39087     }
39088     case HASH_ATTRIBUTE_param:
39089     {
39090 
39091 attributeData->param = attributeValue;
39092 #ifdef GENERATEDSAXPARSER_VALIDATION
39093     if ( mValidate )
39094     {
39095     ParserError::ErrorType simpleTypeValidationResult = validate__NCName(attributeData->param, strlen(attributeData->param));
39096     if (simpleTypeValidationResult != ParserError::SIMPLE_TYPE_VALIDATION_OK)
39097     {
39098         if( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL,
39099             simpleTypeValidationResult,
39100             HASH_ELEMENT_STENCIL_MASK,
39101             HASH_ATTRIBUTE_param,
39102             attributeValue) )
39103         {
39104             return false;
39105         }
39106     }
39107     } // validation
39108 #endif
39109 
39110     break;
39111     }
39112     default:
39113     {
39114         if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_UNKNOWN_ATTRIBUTE, HASH_ELEMENT_STENCIL_MASK, attribute, attributeValue))
39115             {return false;}
39116     }
39117     }
39118     }
39119 }
39120 
39121 
39122     return true;
39123 }
39124 
39125 //---------------------------------------------------------------------
_preEnd__profile_GLES__technique__pass__stencil_mask()39126 bool ColladaParserAutoGen14Private::_preEnd__profile_GLES__technique__pass__stencil_mask()
39127 {
39128 #ifdef GENERATEDSAXPARSER_VALIDATION
39129     if ( mValidate )
39130     {
39131 
39132         bool validationResult = _validateEnd__profile_GLES__technique__pass__stencil_mask();
39133         if ( !validationResult ) return false;
39134 
39135     } // validation
39136 #endif
39137 
39138     return true;
39139 }
39140 
39141 //---------------------------------------------------------------------
_freeAttributes__profile_GLES__technique__pass__stencil_mask(void * attributeData)39142 bool ColladaParserAutoGen14Private::_freeAttributes__profile_GLES__technique__pass__stencil_mask( void* attributeData )
39143 {
39144     profile_GLES__technique__pass__stencil_mask__AttributeData* typedAttributeData = static_cast<profile_GLES__technique__pass__stencil_mask__AttributeData*>(attributeData);
39145 
39146     typedAttributeData->~profile_GLES__technique__pass__stencil_mask__AttributeData();
39147 
39148     return true;
39149 }
39150 
39151 //---------------------------------------------------------------------
_data__profile_GLES__technique__pass__stencil_op(const ParserChar * text,size_t textLength)39152 bool ColladaParserAutoGen14Private::_data__profile_GLES__technique__pass__stencil_op( const ParserChar* text, size_t textLength )
39153 {
39154     return true;
39155 }
39156 
39157 //---------------------------------------------------------------------
_preBegin__profile_GLES__technique__pass__stencil_op(const ParserAttributes & attributes,void ** attributeDataPtr,void ** validationDataPtr)39158 bool ColladaParserAutoGen14Private::_preBegin__profile_GLES__technique__pass__stencil_op( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
39159 {
39160 #ifdef GENERATEDSAXPARSER_VALIDATION
39161     if ( mValidate )
39162     {
39163 
39164         bool validationResult = _validateBegin__profile_GLES__technique__pass__stencil_op( attributes, attributeDataPtr, validationDataPtr );
39165         if ( !validationResult ) return false;
39166 
39167     } // validation
39168 #endif
39169 
39170     return true;
39171 }
39172 
39173 //---------------------------------------------------------------------
_preEnd__profile_GLES__technique__pass__stencil_op()39174 bool ColladaParserAutoGen14Private::_preEnd__profile_GLES__technique__pass__stencil_op()
39175 {
39176 #ifdef GENERATEDSAXPARSER_VALIDATION
39177     if ( mValidate )
39178     {
39179 
39180         bool validationResult = _validateEnd__profile_GLES__technique__pass__stencil_op();
39181         if ( !validationResult ) return false;
39182 
39183     } // validation
39184 #endif
39185 
39186     return true;
39187 }
39188 
39189 //---------------------------------------------------------------------
_freeAttributes__profile_GLES__technique__pass__stencil_op(void * attributeData)39190 bool ColladaParserAutoGen14Private::_freeAttributes__profile_GLES__technique__pass__stencil_op( void* attributeData )
39191 {
39192     return true;
39193 }
39194 
39195 //---------------------------------------------------------------------
39196 const profile_GLES__technique__pass__stencil_op__fail__AttributeData profile_GLES__technique__pass__stencil_op__fail__AttributeData::DEFAULT = {ENUM__gles_stencil_op_type__KEEP, 0};
39197 
39198 //---------------------------------------------------------------------
_data__profile_GLES__technique__pass__stencil_op__fail(const ParserChar * text,size_t textLength)39199 bool ColladaParserAutoGen14Private::_data__profile_GLES__technique__pass__stencil_op__fail( const ParserChar* text, size_t textLength )
39200 {
39201     return true;
39202 }
39203 
39204 //---------------------------------------------------------------------
_preBegin__profile_GLES__technique__pass__stencil_op__fail(const ParserAttributes & attributes,void ** attributeDataPtr,void ** validationDataPtr)39205 bool ColladaParserAutoGen14Private::_preBegin__profile_GLES__technique__pass__stencil_op__fail( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
39206 {
39207 #ifdef GENERATEDSAXPARSER_VALIDATION
39208     if ( mValidate )
39209     {
39210 
39211         bool validationResult = _validateBegin__profile_GLES__technique__pass__stencil_op__fail( attributes, attributeDataPtr, validationDataPtr );
39212         if ( !validationResult ) return false;
39213 
39214     } // validation
39215 #endif
39216 
39217 profile_GLES__technique__pass__stencil_op__fail__AttributeData* attributeData = newData<profile_GLES__technique__pass__stencil_op__fail__AttributeData>(attributeDataPtr);
39218 
39219 const ParserChar** attributeArray = attributes.attributes;
39220 if ( attributeArray )
39221 {
39222     while (true)
39223     {
39224         const ParserChar * attribute = *attributeArray;
39225         if ( !attribute )
39226             break;
39227         StringHash hash = GeneratedSaxParser::Utils::calculateStringHash(attribute);
39228         attributeArray++;
39229         if ( !attributeArray )
39230             return false;
39231         const ParserChar* attributeValue = *attributeArray;
39232         attributeArray++;
39233 
39234 
39235     switch ( hash )
39236     {
39237     case HASH_ATTRIBUTE_value:
39238     {
39239 bool failed;
39240 attributeData->value = Utils::toEnum<ENUM__gles_stencil_op_type, StringHash, ENUM__gles_stencil_op_type__COUNT>(attributeValue, failed, ENUM__gles_stencil_op_typeMap, Utils::calculateStringHash);
39241 if ( failed && handleError(ParserError::SEVERITY_ERROR_NONCRITICAL,
39242         ParserError::ERROR_ATTRIBUTE_PARSING_FAILED,
39243         HASH_ELEMENT_FAIL,
39244         HASH_ATTRIBUTE_value,
39245         attributeValue))
39246 {
39247     return false;
39248 }
39249 
39250     break;
39251     }
39252     case HASH_ATTRIBUTE_param:
39253     {
39254 
39255 attributeData->param = attributeValue;
39256 #ifdef GENERATEDSAXPARSER_VALIDATION
39257     if ( mValidate )
39258     {
39259     ParserError::ErrorType simpleTypeValidationResult = validate__NCName(attributeData->param, strlen(attributeData->param));
39260     if (simpleTypeValidationResult != ParserError::SIMPLE_TYPE_VALIDATION_OK)
39261     {
39262         if( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL,
39263             simpleTypeValidationResult,
39264             HASH_ELEMENT_FAIL,
39265             HASH_ATTRIBUTE_param,
39266             attributeValue) )
39267         {
39268             return false;
39269         }
39270     }
39271     } // validation
39272 #endif
39273 
39274     break;
39275     }
39276     default:
39277     {
39278         if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_UNKNOWN_ATTRIBUTE, HASH_ELEMENT_FAIL, attribute, attributeValue))
39279             {return false;}
39280     }
39281     }
39282     }
39283 }
39284 
39285 
39286     return true;
39287 }
39288 
39289 //---------------------------------------------------------------------
_preEnd__profile_GLES__technique__pass__stencil_op__fail()39290 bool ColladaParserAutoGen14Private::_preEnd__profile_GLES__technique__pass__stencil_op__fail()
39291 {
39292 #ifdef GENERATEDSAXPARSER_VALIDATION
39293     if ( mValidate )
39294     {
39295 
39296         bool validationResult = _validateEnd__profile_GLES__technique__pass__stencil_op__fail();
39297         if ( !validationResult ) return false;
39298 
39299     } // validation
39300 #endif
39301 
39302     return true;
39303 }
39304 
39305 //---------------------------------------------------------------------
_freeAttributes__profile_GLES__technique__pass__stencil_op__fail(void * attributeData)39306 bool ColladaParserAutoGen14Private::_freeAttributes__profile_GLES__technique__pass__stencil_op__fail( void* attributeData )
39307 {
39308     profile_GLES__technique__pass__stencil_op__fail__AttributeData* typedAttributeData = static_cast<profile_GLES__technique__pass__stencil_op__fail__AttributeData*>(attributeData);
39309 
39310     typedAttributeData->~profile_GLES__technique__pass__stencil_op__fail__AttributeData();
39311 
39312     return true;
39313 }
39314 
39315 //---------------------------------------------------------------------
toEnumDataPrefix_ENUM__gles_stencil_op_type(const ParserChar * prefixedBuffer,const ParserChar * prefixedBufferEnd,const ParserChar ** buffer,const ParserChar * bufferEnd,bool & failed,const std::pair<StringHash,ENUM__gles_stencil_op_type> * enumMap,StringHash (* baseConversionFunc)(const ParserChar **,const ParserChar *,bool &))39316 ENUM__gles_stencil_op_type ColladaParserAutoGen14Private::toEnumDataPrefix_ENUM__gles_stencil_op_type (
39317     const ParserChar* prefixedBuffer,
39318     const ParserChar* prefixedBufferEnd,
39319     const ParserChar** buffer,
39320     const ParserChar* bufferEnd,
39321     bool& failed,
39322     const std::pair<StringHash, ENUM__gles_stencil_op_type>* enumMap,
39323     StringHash (*baseConversionFunc)( const ParserChar**, const ParserChar*, bool& )
39324 )
39325 {
39326     return toEnumDataPrefix<ENUM__gles_stencil_op_type, StringHash, ENUM__gles_stencil_op_type__COUNT, &toEnum_ENUM__gles_stencil_op_type>(prefixedBuffer, prefixedBufferEnd, buffer, bufferEnd, failed, enumMap, baseConversionFunc);
39327 }
39328 
39329 //---------------------------------------------------------------------
characterData2EnumData_ENUM__gles_stencil_op_type(const ParserChar * text,size_t textLength,bool (ColladaParserAutoGen14::* dataFunction)(const ENUM__gles_stencil_op_type *,size_t),StringHash (* baseConversionFunc)(const ParserChar **,const ParserChar *,bool &))39330 bool ColladaParserAutoGen14Private::characterData2EnumData_ENUM__gles_stencil_op_type (
39331     const ParserChar* text,
39332     size_t textLength,
39333     bool ( ColladaParserAutoGen14::*dataFunction )(const ENUM__gles_stencil_op_type*, size_t ),
39334     StringHash (*baseConversionFunc)( const ParserChar**, const ParserChar*, bool& )
39335 )
39336 {
39337     return characterData2EnumData<ENUM__gles_stencil_op_type, StringHash, ENUM__gles_stencil_op_type__COUNT>(text, textLength, dataFunction, ENUM__gles_stencil_op_typeMap, baseConversionFunc, &toEnum_ENUM__gles_stencil_op_type, &ColladaParserAutoGen14Private::toEnumDataPrefix_ENUM__gles_stencil_op_type);
39338 }
39339 
39340 //---------------------------------------------------------------------
dataEnumEnd_ENUM__gles_stencil_op_type(bool (ColladaParserAutoGen14::* dataFunction)(const ENUM__gles_stencil_op_type *,size_t),const std::pair<StringHash,ENUM__gles_stencil_op_type> * enumMap,StringHash (* baseConversionFunc)(const ParserChar **,const ParserChar *,bool &),ENUM__gles_stencil_op_type (* toEnumFunc)(const ParserChar **,const ParserChar *,bool &,const std::pair<StringHash,ENUM__gles_stencil_op_type> * enumMap,StringHash (* baseConversionFunc)(const ParserChar **,const ParserChar *,bool &)))39341 bool ColladaParserAutoGen14Private::dataEnumEnd_ENUM__gles_stencil_op_type (
39342     bool ( ColladaParserAutoGen14::*dataFunction )(const ENUM__gles_stencil_op_type*, size_t ),
39343     const std::pair<StringHash, ENUM__gles_stencil_op_type>* enumMap,
39344     StringHash (*baseConversionFunc)( const ParserChar**, const ParserChar*, bool& ),
39345     ENUM__gles_stencil_op_type (*toEnumFunc)( const ParserChar**, const ParserChar*, bool&, const std::pair<StringHash, ENUM__gles_stencil_op_type>* enumMap, StringHash (*baseConversionFunc)( const ParserChar**, const ParserChar*, bool& ))
39346 )
39347 {
39348     return dataEnumEnd<ENUM__gles_stencil_op_type, StringHash, ENUM__gles_stencil_op_type__COUNT>(dataFunction, enumMap, baseConversionFunc, toEnumFunc);
39349 }
39350 
39351 //---------------------------------------------------------------------
39352 const profile_GLES__technique__pass__stencil_op__zfail__AttributeData profile_GLES__technique__pass__stencil_op__zfail__AttributeData::DEFAULT = {ENUM__gles_stencil_op_type__KEEP, 0};
39353 
39354 //---------------------------------------------------------------------
_data__profile_GLES__technique__pass__stencil_op__zfail(const ParserChar * text,size_t textLength)39355 bool ColladaParserAutoGen14Private::_data__profile_GLES__technique__pass__stencil_op__zfail( const ParserChar* text, size_t textLength )
39356 {
39357     return true;
39358 }
39359 
39360 //---------------------------------------------------------------------
_preBegin__profile_GLES__technique__pass__stencil_op__zfail(const ParserAttributes & attributes,void ** attributeDataPtr,void ** validationDataPtr)39361 bool ColladaParserAutoGen14Private::_preBegin__profile_GLES__technique__pass__stencil_op__zfail( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
39362 {
39363 #ifdef GENERATEDSAXPARSER_VALIDATION
39364     if ( mValidate )
39365     {
39366 
39367         bool validationResult = _validateBegin__profile_GLES__technique__pass__stencil_op__zfail( attributes, attributeDataPtr, validationDataPtr );
39368         if ( !validationResult ) return false;
39369 
39370     } // validation
39371 #endif
39372 
39373 profile_GLES__technique__pass__stencil_op__zfail__AttributeData* attributeData = newData<profile_GLES__technique__pass__stencil_op__zfail__AttributeData>(attributeDataPtr);
39374 
39375 const ParserChar** attributeArray = attributes.attributes;
39376 if ( attributeArray )
39377 {
39378     while (true)
39379     {
39380         const ParserChar * attribute = *attributeArray;
39381         if ( !attribute )
39382             break;
39383         StringHash hash = GeneratedSaxParser::Utils::calculateStringHash(attribute);
39384         attributeArray++;
39385         if ( !attributeArray )
39386             return false;
39387         const ParserChar* attributeValue = *attributeArray;
39388         attributeArray++;
39389 
39390 
39391     switch ( hash )
39392     {
39393     case HASH_ATTRIBUTE_value:
39394     {
39395 bool failed;
39396 attributeData->value = Utils::toEnum<ENUM__gles_stencil_op_type, StringHash, ENUM__gles_stencil_op_type__COUNT>(attributeValue, failed, ENUM__gles_stencil_op_typeMap, Utils::calculateStringHash);
39397 if ( failed && handleError(ParserError::SEVERITY_ERROR_NONCRITICAL,
39398         ParserError::ERROR_ATTRIBUTE_PARSING_FAILED,
39399         HASH_ELEMENT_ZFAIL,
39400         HASH_ATTRIBUTE_value,
39401         attributeValue))
39402 {
39403     return false;
39404 }
39405 
39406     break;
39407     }
39408     case HASH_ATTRIBUTE_param:
39409     {
39410 
39411 attributeData->param = attributeValue;
39412 #ifdef GENERATEDSAXPARSER_VALIDATION
39413     if ( mValidate )
39414     {
39415     ParserError::ErrorType simpleTypeValidationResult = validate__NCName(attributeData->param, strlen(attributeData->param));
39416     if (simpleTypeValidationResult != ParserError::SIMPLE_TYPE_VALIDATION_OK)
39417     {
39418         if( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL,
39419             simpleTypeValidationResult,
39420             HASH_ELEMENT_ZFAIL,
39421             HASH_ATTRIBUTE_param,
39422             attributeValue) )
39423         {
39424             return false;
39425         }
39426     }
39427     } // validation
39428 #endif
39429 
39430     break;
39431     }
39432     default:
39433     {
39434         if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_UNKNOWN_ATTRIBUTE, HASH_ELEMENT_ZFAIL, attribute, attributeValue))
39435             {return false;}
39436     }
39437     }
39438     }
39439 }
39440 
39441 
39442     return true;
39443 }
39444 
39445 //---------------------------------------------------------------------
_preEnd__profile_GLES__technique__pass__stencil_op__zfail()39446 bool ColladaParserAutoGen14Private::_preEnd__profile_GLES__technique__pass__stencil_op__zfail()
39447 {
39448 #ifdef GENERATEDSAXPARSER_VALIDATION
39449     if ( mValidate )
39450     {
39451 
39452         bool validationResult = _validateEnd__profile_GLES__technique__pass__stencil_op__zfail();
39453         if ( !validationResult ) return false;
39454 
39455     } // validation
39456 #endif
39457 
39458     return true;
39459 }
39460 
39461 //---------------------------------------------------------------------
_freeAttributes__profile_GLES__technique__pass__stencil_op__zfail(void * attributeData)39462 bool ColladaParserAutoGen14Private::_freeAttributes__profile_GLES__technique__pass__stencil_op__zfail( void* attributeData )
39463 {
39464     profile_GLES__technique__pass__stencil_op__zfail__AttributeData* typedAttributeData = static_cast<profile_GLES__technique__pass__stencil_op__zfail__AttributeData*>(attributeData);
39465 
39466     typedAttributeData->~profile_GLES__technique__pass__stencil_op__zfail__AttributeData();
39467 
39468     return true;
39469 }
39470 
39471 //---------------------------------------------------------------------
39472 const profile_GLES__technique__pass__stencil_op__zpass__AttributeData profile_GLES__technique__pass__stencil_op__zpass__AttributeData::DEFAULT = {ENUM__gles_stencil_op_type__KEEP, 0};
39473 
39474 //---------------------------------------------------------------------
_data__profile_GLES__technique__pass__stencil_op__zpass(const ParserChar * text,size_t textLength)39475 bool ColladaParserAutoGen14Private::_data__profile_GLES__technique__pass__stencil_op__zpass( const ParserChar* text, size_t textLength )
39476 {
39477     return true;
39478 }
39479 
39480 //---------------------------------------------------------------------
_preBegin__profile_GLES__technique__pass__stencil_op__zpass(const ParserAttributes & attributes,void ** attributeDataPtr,void ** validationDataPtr)39481 bool ColladaParserAutoGen14Private::_preBegin__profile_GLES__technique__pass__stencil_op__zpass( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
39482 {
39483 #ifdef GENERATEDSAXPARSER_VALIDATION
39484     if ( mValidate )
39485     {
39486 
39487         bool validationResult = _validateBegin__profile_GLES__technique__pass__stencil_op__zpass( attributes, attributeDataPtr, validationDataPtr );
39488         if ( !validationResult ) return false;
39489 
39490     } // validation
39491 #endif
39492 
39493 profile_GLES__technique__pass__stencil_op__zpass__AttributeData* attributeData = newData<profile_GLES__technique__pass__stencil_op__zpass__AttributeData>(attributeDataPtr);
39494 
39495 const ParserChar** attributeArray = attributes.attributes;
39496 if ( attributeArray )
39497 {
39498     while (true)
39499     {
39500         const ParserChar * attribute = *attributeArray;
39501         if ( !attribute )
39502             break;
39503         StringHash hash = GeneratedSaxParser::Utils::calculateStringHash(attribute);
39504         attributeArray++;
39505         if ( !attributeArray )
39506             return false;
39507         const ParserChar* attributeValue = *attributeArray;
39508         attributeArray++;
39509 
39510 
39511     switch ( hash )
39512     {
39513     case HASH_ATTRIBUTE_value:
39514     {
39515 bool failed;
39516 attributeData->value = Utils::toEnum<ENUM__gles_stencil_op_type, StringHash, ENUM__gles_stencil_op_type__COUNT>(attributeValue, failed, ENUM__gles_stencil_op_typeMap, Utils::calculateStringHash);
39517 if ( failed && handleError(ParserError::SEVERITY_ERROR_NONCRITICAL,
39518         ParserError::ERROR_ATTRIBUTE_PARSING_FAILED,
39519         HASH_ELEMENT_ZPASS,
39520         HASH_ATTRIBUTE_value,
39521         attributeValue))
39522 {
39523     return false;
39524 }
39525 
39526     break;
39527     }
39528     case HASH_ATTRIBUTE_param:
39529     {
39530 
39531 attributeData->param = attributeValue;
39532 #ifdef GENERATEDSAXPARSER_VALIDATION
39533     if ( mValidate )
39534     {
39535     ParserError::ErrorType simpleTypeValidationResult = validate__NCName(attributeData->param, strlen(attributeData->param));
39536     if (simpleTypeValidationResult != ParserError::SIMPLE_TYPE_VALIDATION_OK)
39537     {
39538         if( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL,
39539             simpleTypeValidationResult,
39540             HASH_ELEMENT_ZPASS,
39541             HASH_ATTRIBUTE_param,
39542             attributeValue) )
39543         {
39544             return false;
39545         }
39546     }
39547     } // validation
39548 #endif
39549 
39550     break;
39551     }
39552     default:
39553     {
39554         if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_UNKNOWN_ATTRIBUTE, HASH_ELEMENT_ZPASS, attribute, attributeValue))
39555             {return false;}
39556     }
39557     }
39558     }
39559 }
39560 
39561 
39562     return true;
39563 }
39564 
39565 //---------------------------------------------------------------------
_preEnd__profile_GLES__technique__pass__stencil_op__zpass()39566 bool ColladaParserAutoGen14Private::_preEnd__profile_GLES__technique__pass__stencil_op__zpass()
39567 {
39568 #ifdef GENERATEDSAXPARSER_VALIDATION
39569     if ( mValidate )
39570     {
39571 
39572         bool validationResult = _validateEnd__profile_GLES__technique__pass__stencil_op__zpass();
39573         if ( !validationResult ) return false;
39574 
39575     } // validation
39576 #endif
39577 
39578     return true;
39579 }
39580 
39581 //---------------------------------------------------------------------
_freeAttributes__profile_GLES__technique__pass__stencil_op__zpass(void * attributeData)39582 bool ColladaParserAutoGen14Private::_freeAttributes__profile_GLES__technique__pass__stencil_op__zpass( void* attributeData )
39583 {
39584     profile_GLES__technique__pass__stencil_op__zpass__AttributeData* typedAttributeData = static_cast<profile_GLES__technique__pass__stencil_op__zpass__AttributeData*>(attributeData);
39585 
39586     typedAttributeData->~profile_GLES__technique__pass__stencil_op__zpass__AttributeData();
39587 
39588     return true;
39589 }
39590 
39591 //---------------------------------------------------------------------
39592 const profile_GLES__technique__pass__alpha_test_enable__AttributeData profile_GLES__technique__pass__alpha_test_enable__AttributeData::DEFAULT = {false, 0};
39593 
39594 //---------------------------------------------------------------------
_data__profile_GLES__technique__pass__alpha_test_enable(const ParserChar * text,size_t textLength)39595 bool ColladaParserAutoGen14Private::_data__profile_GLES__technique__pass__alpha_test_enable( const ParserChar* text, size_t textLength )
39596 {
39597     return true;
39598 }
39599 
39600 //---------------------------------------------------------------------
_preBegin__profile_GLES__technique__pass__alpha_test_enable(const ParserAttributes & attributes,void ** attributeDataPtr,void ** validationDataPtr)39601 bool ColladaParserAutoGen14Private::_preBegin__profile_GLES__technique__pass__alpha_test_enable( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
39602 {
39603 #ifdef GENERATEDSAXPARSER_VALIDATION
39604     if ( mValidate )
39605     {
39606 
39607         bool validationResult = _validateBegin__profile_GLES__technique__pass__alpha_test_enable( attributes, attributeDataPtr, validationDataPtr );
39608         if ( !validationResult ) return false;
39609 
39610     } // validation
39611 #endif
39612 
39613 profile_GLES__technique__pass__alpha_test_enable__AttributeData* attributeData = newData<profile_GLES__technique__pass__alpha_test_enable__AttributeData>(attributeDataPtr);
39614 
39615 const ParserChar** attributeArray = attributes.attributes;
39616 if ( attributeArray )
39617 {
39618     while (true)
39619     {
39620         const ParserChar * attribute = *attributeArray;
39621         if ( !attribute )
39622             break;
39623         StringHash hash = GeneratedSaxParser::Utils::calculateStringHash(attribute);
39624         attributeArray++;
39625         if ( !attributeArray )
39626             return false;
39627         const ParserChar* attributeValue = *attributeArray;
39628         attributeArray++;
39629 
39630 
39631     switch ( hash )
39632     {
39633     case HASH_ATTRIBUTE_value:
39634     {
39635 bool failed;
39636 attributeData->value = GeneratedSaxParser::Utils::toBool(attributeValue, failed);
39637 if ( failed && handleError(ParserError::SEVERITY_ERROR_NONCRITICAL,
39638         ParserError::ERROR_ATTRIBUTE_PARSING_FAILED,
39639         HASH_ELEMENT_ALPHA_TEST_ENABLE,
39640         HASH_ATTRIBUTE_value,
39641         attributeValue))
39642 {
39643     return false;
39644 }
39645 
39646     break;
39647     }
39648     case HASH_ATTRIBUTE_param:
39649     {
39650 
39651 attributeData->param = attributeValue;
39652 #ifdef GENERATEDSAXPARSER_VALIDATION
39653     if ( mValidate )
39654     {
39655     ParserError::ErrorType simpleTypeValidationResult = validate__NCName(attributeData->param, strlen(attributeData->param));
39656     if (simpleTypeValidationResult != ParserError::SIMPLE_TYPE_VALIDATION_OK)
39657     {
39658         if( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL,
39659             simpleTypeValidationResult,
39660             HASH_ELEMENT_ALPHA_TEST_ENABLE,
39661             HASH_ATTRIBUTE_param,
39662             attributeValue) )
39663         {
39664             return false;
39665         }
39666     }
39667     } // validation
39668 #endif
39669 
39670     break;
39671     }
39672     default:
39673     {
39674         if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_UNKNOWN_ATTRIBUTE, HASH_ELEMENT_ALPHA_TEST_ENABLE, attribute, attributeValue))
39675             {return false;}
39676     }
39677     }
39678     }
39679 }
39680 
39681 
39682     return true;
39683 }
39684 
39685 //---------------------------------------------------------------------
_preEnd__profile_GLES__technique__pass__alpha_test_enable()39686 bool ColladaParserAutoGen14Private::_preEnd__profile_GLES__technique__pass__alpha_test_enable()
39687 {
39688 #ifdef GENERATEDSAXPARSER_VALIDATION
39689     if ( mValidate )
39690     {
39691 
39692         bool validationResult = _validateEnd__profile_GLES__technique__pass__alpha_test_enable();
39693         if ( !validationResult ) return false;
39694 
39695     } // validation
39696 #endif
39697 
39698     return true;
39699 }
39700 
39701 //---------------------------------------------------------------------
_freeAttributes__profile_GLES__technique__pass__alpha_test_enable(void * attributeData)39702 bool ColladaParserAutoGen14Private::_freeAttributes__profile_GLES__technique__pass__alpha_test_enable( void* attributeData )
39703 {
39704     profile_GLES__technique__pass__alpha_test_enable__AttributeData* typedAttributeData = static_cast<profile_GLES__technique__pass__alpha_test_enable__AttributeData*>(attributeData);
39705 
39706     typedAttributeData->~profile_GLES__technique__pass__alpha_test_enable__AttributeData();
39707 
39708     return true;
39709 }
39710 
39711 //---------------------------------------------------------------------
39712 const profile_GLES__technique__pass__blend_enable__AttributeData profile_GLES__technique__pass__blend_enable__AttributeData::DEFAULT = {false, 0};
39713 
39714 //---------------------------------------------------------------------
_data__profile_GLES__technique__pass__blend_enable(const ParserChar * text,size_t textLength)39715 bool ColladaParserAutoGen14Private::_data__profile_GLES__technique__pass__blend_enable( const ParserChar* text, size_t textLength )
39716 {
39717     return true;
39718 }
39719 
39720 //---------------------------------------------------------------------
_preBegin__profile_GLES__technique__pass__blend_enable(const ParserAttributes & attributes,void ** attributeDataPtr,void ** validationDataPtr)39721 bool ColladaParserAutoGen14Private::_preBegin__profile_GLES__technique__pass__blend_enable( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
39722 {
39723 #ifdef GENERATEDSAXPARSER_VALIDATION
39724     if ( mValidate )
39725     {
39726 
39727         bool validationResult = _validateBegin__profile_GLES__technique__pass__blend_enable( attributes, attributeDataPtr, validationDataPtr );
39728         if ( !validationResult ) return false;
39729 
39730     } // validation
39731 #endif
39732 
39733 profile_GLES__technique__pass__blend_enable__AttributeData* attributeData = newData<profile_GLES__technique__pass__blend_enable__AttributeData>(attributeDataPtr);
39734 
39735 const ParserChar** attributeArray = attributes.attributes;
39736 if ( attributeArray )
39737 {
39738     while (true)
39739     {
39740         const ParserChar * attribute = *attributeArray;
39741         if ( !attribute )
39742             break;
39743         StringHash hash = GeneratedSaxParser::Utils::calculateStringHash(attribute);
39744         attributeArray++;
39745         if ( !attributeArray )
39746             return false;
39747         const ParserChar* attributeValue = *attributeArray;
39748         attributeArray++;
39749 
39750 
39751     switch ( hash )
39752     {
39753     case HASH_ATTRIBUTE_value:
39754     {
39755 bool failed;
39756 attributeData->value = GeneratedSaxParser::Utils::toBool(attributeValue, failed);
39757 if ( failed && handleError(ParserError::SEVERITY_ERROR_NONCRITICAL,
39758         ParserError::ERROR_ATTRIBUTE_PARSING_FAILED,
39759         HASH_ELEMENT_BLEND_ENABLE,
39760         HASH_ATTRIBUTE_value,
39761         attributeValue))
39762 {
39763     return false;
39764 }
39765 
39766     break;
39767     }
39768     case HASH_ATTRIBUTE_param:
39769     {
39770 
39771 attributeData->param = attributeValue;
39772 #ifdef GENERATEDSAXPARSER_VALIDATION
39773     if ( mValidate )
39774     {
39775     ParserError::ErrorType simpleTypeValidationResult = validate__NCName(attributeData->param, strlen(attributeData->param));
39776     if (simpleTypeValidationResult != ParserError::SIMPLE_TYPE_VALIDATION_OK)
39777     {
39778         if( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL,
39779             simpleTypeValidationResult,
39780             HASH_ELEMENT_BLEND_ENABLE,
39781             HASH_ATTRIBUTE_param,
39782             attributeValue) )
39783         {
39784             return false;
39785         }
39786     }
39787     } // validation
39788 #endif
39789 
39790     break;
39791     }
39792     default:
39793     {
39794         if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_UNKNOWN_ATTRIBUTE, HASH_ELEMENT_BLEND_ENABLE, attribute, attributeValue))
39795             {return false;}
39796     }
39797     }
39798     }
39799 }
39800 
39801 
39802     return true;
39803 }
39804 
39805 //---------------------------------------------------------------------
_preEnd__profile_GLES__technique__pass__blend_enable()39806 bool ColladaParserAutoGen14Private::_preEnd__profile_GLES__technique__pass__blend_enable()
39807 {
39808 #ifdef GENERATEDSAXPARSER_VALIDATION
39809     if ( mValidate )
39810     {
39811 
39812         bool validationResult = _validateEnd__profile_GLES__technique__pass__blend_enable();
39813         if ( !validationResult ) return false;
39814 
39815     } // validation
39816 #endif
39817 
39818     return true;
39819 }
39820 
39821 //---------------------------------------------------------------------
_freeAttributes__profile_GLES__technique__pass__blend_enable(void * attributeData)39822 bool ColladaParserAutoGen14Private::_freeAttributes__profile_GLES__technique__pass__blend_enable( void* attributeData )
39823 {
39824     profile_GLES__technique__pass__blend_enable__AttributeData* typedAttributeData = static_cast<profile_GLES__technique__pass__blend_enable__AttributeData*>(attributeData);
39825 
39826     typedAttributeData->~profile_GLES__technique__pass__blend_enable__AttributeData();
39827 
39828     return true;
39829 }
39830 
39831 //---------------------------------------------------------------------
39832 const profile_GLES__technique__pass__clip_plane_enable__AttributeData profile_GLES__technique__pass__clip_plane_enable__AttributeData::DEFAULT = {0, false, 0, 0};
39833 
39834 //---------------------------------------------------------------------
_data__profile_GLES__technique__pass__clip_plane_enable(const ParserChar * text,size_t textLength)39835 bool ColladaParserAutoGen14Private::_data__profile_GLES__technique__pass__clip_plane_enable( const ParserChar* text, size_t textLength )
39836 {
39837     return true;
39838 }
39839 
39840 //---------------------------------------------------------------------
_preBegin__profile_GLES__technique__pass__clip_plane_enable(const ParserAttributes & attributes,void ** attributeDataPtr,void ** validationDataPtr)39841 bool ColladaParserAutoGen14Private::_preBegin__profile_GLES__technique__pass__clip_plane_enable( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
39842 {
39843 #ifdef GENERATEDSAXPARSER_VALIDATION
39844     if ( mValidate )
39845     {
39846 
39847         bool validationResult = _validateBegin__profile_GLES__technique__pass__clip_plane_enable( attributes, attributeDataPtr, validationDataPtr );
39848         if ( !validationResult ) return false;
39849 
39850     } // validation
39851 #endif
39852 
39853 profile_GLES__technique__pass__clip_plane_enable__AttributeData* attributeData = newData<profile_GLES__technique__pass__clip_plane_enable__AttributeData>(attributeDataPtr);
39854 
39855 const ParserChar** attributeArray = attributes.attributes;
39856 if ( attributeArray )
39857 {
39858     while (true)
39859     {
39860         const ParserChar * attribute = *attributeArray;
39861         if ( !attribute )
39862             break;
39863         StringHash hash = GeneratedSaxParser::Utils::calculateStringHash(attribute);
39864         attributeArray++;
39865         if ( !attributeArray )
39866             return false;
39867         const ParserChar* attributeValue = *attributeArray;
39868         attributeArray++;
39869 
39870 
39871     switch ( hash )
39872     {
39873     case HASH_ATTRIBUTE_value:
39874     {
39875 bool failed;
39876 attributeData->value = GeneratedSaxParser::Utils::toBool(attributeValue, failed);
39877 if ( failed && handleError(ParserError::SEVERITY_ERROR_NONCRITICAL,
39878         ParserError::ERROR_ATTRIBUTE_PARSING_FAILED,
39879         HASH_ELEMENT_CLIP_PLANE_ENABLE,
39880         HASH_ATTRIBUTE_value,
39881         attributeValue))
39882 {
39883     return false;
39884 }
39885 
39886     break;
39887     }
39888     case HASH_ATTRIBUTE_param:
39889     {
39890 
39891 attributeData->param = attributeValue;
39892 #ifdef GENERATEDSAXPARSER_VALIDATION
39893     if ( mValidate )
39894     {
39895     ParserError::ErrorType simpleTypeValidationResult = validate__NCName(attributeData->param, strlen(attributeData->param));
39896     if (simpleTypeValidationResult != ParserError::SIMPLE_TYPE_VALIDATION_OK)
39897     {
39898         if( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL,
39899             simpleTypeValidationResult,
39900             HASH_ELEMENT_CLIP_PLANE_ENABLE,
39901             HASH_ATTRIBUTE_param,
39902             attributeValue) )
39903         {
39904             return false;
39905         }
39906     }
39907     } // validation
39908 #endif
39909 
39910     break;
39911     }
39912     case HASH_ATTRIBUTE_index:
39913     {
39914 bool failed;
39915 attributeData->index = GeneratedSaxParser::Utils::toUint64(attributeValue, failed);
39916 if ( failed && handleError(ParserError::SEVERITY_ERROR_NONCRITICAL,
39917         ParserError::ERROR_ATTRIBUTE_PARSING_FAILED,
39918         HASH_ELEMENT_CLIP_PLANE_ENABLE,
39919         HASH_ATTRIBUTE_index,
39920         attributeValue))
39921 {
39922     return false;
39923 }
39924 #ifdef GENERATEDSAXPARSER_VALIDATION
39925     if ( mValidate )
39926     {
39927     ParserError::ErrorType simpleTypeValidationResult = validate__GLES_MAX_CLIP_PLANES_index(attributeData->index);
39928     if (simpleTypeValidationResult != ParserError::SIMPLE_TYPE_VALIDATION_OK)
39929     {
39930         if( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL,
39931             simpleTypeValidationResult,
39932             HASH_ELEMENT_CLIP_PLANE_ENABLE,
39933             HASH_ATTRIBUTE_index,
39934             attributeValue) )
39935         {
39936             return false;
39937         }
39938     }
39939     } // validation
39940 #endif
39941 if ( !failed )
39942     attributeData->present_attributes |= profile_GLES__technique__pass__clip_plane_enable__AttributeData::ATTRIBUTE_INDEX_PRESENT;
39943 
39944     break;
39945     }
39946     default:
39947     {
39948         if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_UNKNOWN_ATTRIBUTE, HASH_ELEMENT_CLIP_PLANE_ENABLE, attribute, attributeValue))
39949             {return false;}
39950     }
39951     }
39952     }
39953 }
39954 
39955 
39956     return true;
39957 }
39958 
39959 //---------------------------------------------------------------------
_preEnd__profile_GLES__technique__pass__clip_plane_enable()39960 bool ColladaParserAutoGen14Private::_preEnd__profile_GLES__technique__pass__clip_plane_enable()
39961 {
39962 #ifdef GENERATEDSAXPARSER_VALIDATION
39963     if ( mValidate )
39964     {
39965 
39966         bool validationResult = _validateEnd__profile_GLES__technique__pass__clip_plane_enable();
39967         if ( !validationResult ) return false;
39968 
39969     } // validation
39970 #endif
39971 
39972     return true;
39973 }
39974 
39975 //---------------------------------------------------------------------
_freeAttributes__profile_GLES__technique__pass__clip_plane_enable(void * attributeData)39976 bool ColladaParserAutoGen14Private::_freeAttributes__profile_GLES__technique__pass__clip_plane_enable( void* attributeData )
39977 {
39978     profile_GLES__technique__pass__clip_plane_enable__AttributeData* typedAttributeData = static_cast<profile_GLES__technique__pass__clip_plane_enable__AttributeData*>(attributeData);
39979 
39980     typedAttributeData->~profile_GLES__technique__pass__clip_plane_enable__AttributeData();
39981 
39982     return true;
39983 }
39984 
39985 //---------------------------------------------------------------------
39986 const profile_GLES__technique__pass__color_logic_op_enable__AttributeData profile_GLES__technique__pass__color_logic_op_enable__AttributeData::DEFAULT = {false, 0};
39987 
39988 //---------------------------------------------------------------------
_data__profile_GLES__technique__pass__color_logic_op_enable(const ParserChar * text,size_t textLength)39989 bool ColladaParserAutoGen14Private::_data__profile_GLES__technique__pass__color_logic_op_enable( const ParserChar* text, size_t textLength )
39990 {
39991     return true;
39992 }
39993 
39994 //---------------------------------------------------------------------
_preBegin__profile_GLES__technique__pass__color_logic_op_enable(const ParserAttributes & attributes,void ** attributeDataPtr,void ** validationDataPtr)39995 bool ColladaParserAutoGen14Private::_preBegin__profile_GLES__technique__pass__color_logic_op_enable( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
39996 {
39997 #ifdef GENERATEDSAXPARSER_VALIDATION
39998     if ( mValidate )
39999     {
40000 
40001         bool validationResult = _validateBegin__profile_GLES__technique__pass__color_logic_op_enable( attributes, attributeDataPtr, validationDataPtr );
40002         if ( !validationResult ) return false;
40003 
40004     } // validation
40005 #endif
40006 
40007 profile_GLES__technique__pass__color_logic_op_enable__AttributeData* attributeData = newData<profile_GLES__technique__pass__color_logic_op_enable__AttributeData>(attributeDataPtr);
40008 
40009 const ParserChar** attributeArray = attributes.attributes;
40010 if ( attributeArray )
40011 {
40012     while (true)
40013     {
40014         const ParserChar * attribute = *attributeArray;
40015         if ( !attribute )
40016             break;
40017         StringHash hash = GeneratedSaxParser::Utils::calculateStringHash(attribute);
40018         attributeArray++;
40019         if ( !attributeArray )
40020             return false;
40021         const ParserChar* attributeValue = *attributeArray;
40022         attributeArray++;
40023 
40024 
40025     switch ( hash )
40026     {
40027     case HASH_ATTRIBUTE_value:
40028     {
40029 bool failed;
40030 attributeData->value = GeneratedSaxParser::Utils::toBool(attributeValue, failed);
40031 if ( failed && handleError(ParserError::SEVERITY_ERROR_NONCRITICAL,
40032         ParserError::ERROR_ATTRIBUTE_PARSING_FAILED,
40033         HASH_ELEMENT_COLOR_LOGIC_OP_ENABLE,
40034         HASH_ATTRIBUTE_value,
40035         attributeValue))
40036 {
40037     return false;
40038 }
40039 
40040     break;
40041     }
40042     case HASH_ATTRIBUTE_param:
40043     {
40044 
40045 attributeData->param = attributeValue;
40046 #ifdef GENERATEDSAXPARSER_VALIDATION
40047     if ( mValidate )
40048     {
40049     ParserError::ErrorType simpleTypeValidationResult = validate__NCName(attributeData->param, strlen(attributeData->param));
40050     if (simpleTypeValidationResult != ParserError::SIMPLE_TYPE_VALIDATION_OK)
40051     {
40052         if( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL,
40053             simpleTypeValidationResult,
40054             HASH_ELEMENT_COLOR_LOGIC_OP_ENABLE,
40055             HASH_ATTRIBUTE_param,
40056             attributeValue) )
40057         {
40058             return false;
40059         }
40060     }
40061     } // validation
40062 #endif
40063 
40064     break;
40065     }
40066     default:
40067     {
40068         if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_UNKNOWN_ATTRIBUTE, HASH_ELEMENT_COLOR_LOGIC_OP_ENABLE, attribute, attributeValue))
40069             {return false;}
40070     }
40071     }
40072     }
40073 }
40074 
40075 
40076     return true;
40077 }
40078 
40079 //---------------------------------------------------------------------
_preEnd__profile_GLES__technique__pass__color_logic_op_enable()40080 bool ColladaParserAutoGen14Private::_preEnd__profile_GLES__technique__pass__color_logic_op_enable()
40081 {
40082 #ifdef GENERATEDSAXPARSER_VALIDATION
40083     if ( mValidate )
40084     {
40085 
40086         bool validationResult = _validateEnd__profile_GLES__technique__pass__color_logic_op_enable();
40087         if ( !validationResult ) return false;
40088 
40089     } // validation
40090 #endif
40091 
40092     return true;
40093 }
40094 
40095 //---------------------------------------------------------------------
_freeAttributes__profile_GLES__technique__pass__color_logic_op_enable(void * attributeData)40096 bool ColladaParserAutoGen14Private::_freeAttributes__profile_GLES__technique__pass__color_logic_op_enable( void* attributeData )
40097 {
40098     profile_GLES__technique__pass__color_logic_op_enable__AttributeData* typedAttributeData = static_cast<profile_GLES__technique__pass__color_logic_op_enable__AttributeData*>(attributeData);
40099 
40100     typedAttributeData->~profile_GLES__technique__pass__color_logic_op_enable__AttributeData();
40101 
40102     return true;
40103 }
40104 
40105 //---------------------------------------------------------------------
40106 const profile_GLES__technique__pass__color_material_enable__AttributeData profile_GLES__technique__pass__color_material_enable__AttributeData::DEFAULT = {true, 0};
40107 
40108 //---------------------------------------------------------------------
_data__profile_GLES__technique__pass__color_material_enable(const ParserChar * text,size_t textLength)40109 bool ColladaParserAutoGen14Private::_data__profile_GLES__technique__pass__color_material_enable( const ParserChar* text, size_t textLength )
40110 {
40111     return true;
40112 }
40113 
40114 //---------------------------------------------------------------------
_preBegin__profile_GLES__technique__pass__color_material_enable(const ParserAttributes & attributes,void ** attributeDataPtr,void ** validationDataPtr)40115 bool ColladaParserAutoGen14Private::_preBegin__profile_GLES__technique__pass__color_material_enable( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
40116 {
40117 #ifdef GENERATEDSAXPARSER_VALIDATION
40118     if ( mValidate )
40119     {
40120 
40121         bool validationResult = _validateBegin__profile_GLES__technique__pass__color_material_enable( attributes, attributeDataPtr, validationDataPtr );
40122         if ( !validationResult ) return false;
40123 
40124     } // validation
40125 #endif
40126 
40127 profile_GLES__technique__pass__color_material_enable__AttributeData* attributeData = newData<profile_GLES__technique__pass__color_material_enable__AttributeData>(attributeDataPtr);
40128 
40129 const ParserChar** attributeArray = attributes.attributes;
40130 if ( attributeArray )
40131 {
40132     while (true)
40133     {
40134         const ParserChar * attribute = *attributeArray;
40135         if ( !attribute )
40136             break;
40137         StringHash hash = GeneratedSaxParser::Utils::calculateStringHash(attribute);
40138         attributeArray++;
40139         if ( !attributeArray )
40140             return false;
40141         const ParserChar* attributeValue = *attributeArray;
40142         attributeArray++;
40143 
40144 
40145     switch ( hash )
40146     {
40147     case HASH_ATTRIBUTE_value:
40148     {
40149 bool failed;
40150 attributeData->value = GeneratedSaxParser::Utils::toBool(attributeValue, failed);
40151 if ( failed && handleError(ParserError::SEVERITY_ERROR_NONCRITICAL,
40152         ParserError::ERROR_ATTRIBUTE_PARSING_FAILED,
40153         HASH_ELEMENT_COLOR_MATERIAL_ENABLE,
40154         HASH_ATTRIBUTE_value,
40155         attributeValue))
40156 {
40157     return false;
40158 }
40159 
40160     break;
40161     }
40162     case HASH_ATTRIBUTE_param:
40163     {
40164 
40165 attributeData->param = attributeValue;
40166 #ifdef GENERATEDSAXPARSER_VALIDATION
40167     if ( mValidate )
40168     {
40169     ParserError::ErrorType simpleTypeValidationResult = validate__NCName(attributeData->param, strlen(attributeData->param));
40170     if (simpleTypeValidationResult != ParserError::SIMPLE_TYPE_VALIDATION_OK)
40171     {
40172         if( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL,
40173             simpleTypeValidationResult,
40174             HASH_ELEMENT_COLOR_MATERIAL_ENABLE,
40175             HASH_ATTRIBUTE_param,
40176             attributeValue) )
40177         {
40178             return false;
40179         }
40180     }
40181     } // validation
40182 #endif
40183 
40184     break;
40185     }
40186     default:
40187     {
40188         if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_UNKNOWN_ATTRIBUTE, HASH_ELEMENT_COLOR_MATERIAL_ENABLE, attribute, attributeValue))
40189             {return false;}
40190     }
40191     }
40192     }
40193 }
40194 
40195 
40196     return true;
40197 }
40198 
40199 //---------------------------------------------------------------------
_preEnd__profile_GLES__technique__pass__color_material_enable()40200 bool ColladaParserAutoGen14Private::_preEnd__profile_GLES__technique__pass__color_material_enable()
40201 {
40202 #ifdef GENERATEDSAXPARSER_VALIDATION
40203     if ( mValidate )
40204     {
40205 
40206         bool validationResult = _validateEnd__profile_GLES__technique__pass__color_material_enable();
40207         if ( !validationResult ) return false;
40208 
40209     } // validation
40210 #endif
40211 
40212     return true;
40213 }
40214 
40215 //---------------------------------------------------------------------
_freeAttributes__profile_GLES__technique__pass__color_material_enable(void * attributeData)40216 bool ColladaParserAutoGen14Private::_freeAttributes__profile_GLES__technique__pass__color_material_enable( void* attributeData )
40217 {
40218     profile_GLES__technique__pass__color_material_enable__AttributeData* typedAttributeData = static_cast<profile_GLES__technique__pass__color_material_enable__AttributeData*>(attributeData);
40219 
40220     typedAttributeData->~profile_GLES__technique__pass__color_material_enable__AttributeData();
40221 
40222     return true;
40223 }
40224 
40225 //---------------------------------------------------------------------
40226 const profile_GLES__technique__pass__cull_face_enable__AttributeData profile_GLES__technique__pass__cull_face_enable__AttributeData::DEFAULT = {false, 0};
40227 
40228 //---------------------------------------------------------------------
_data__profile_GLES__technique__pass__cull_face_enable(const ParserChar * text,size_t textLength)40229 bool ColladaParserAutoGen14Private::_data__profile_GLES__technique__pass__cull_face_enable( const ParserChar* text, size_t textLength )
40230 {
40231     return true;
40232 }
40233 
40234 //---------------------------------------------------------------------
_preBegin__profile_GLES__technique__pass__cull_face_enable(const ParserAttributes & attributes,void ** attributeDataPtr,void ** validationDataPtr)40235 bool ColladaParserAutoGen14Private::_preBegin__profile_GLES__technique__pass__cull_face_enable( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
40236 {
40237 #ifdef GENERATEDSAXPARSER_VALIDATION
40238     if ( mValidate )
40239     {
40240 
40241         bool validationResult = _validateBegin__profile_GLES__technique__pass__cull_face_enable( attributes, attributeDataPtr, validationDataPtr );
40242         if ( !validationResult ) return false;
40243 
40244     } // validation
40245 #endif
40246 
40247 profile_GLES__technique__pass__cull_face_enable__AttributeData* attributeData = newData<profile_GLES__technique__pass__cull_face_enable__AttributeData>(attributeDataPtr);
40248 
40249 const ParserChar** attributeArray = attributes.attributes;
40250 if ( attributeArray )
40251 {
40252     while (true)
40253     {
40254         const ParserChar * attribute = *attributeArray;
40255         if ( !attribute )
40256             break;
40257         StringHash hash = GeneratedSaxParser::Utils::calculateStringHash(attribute);
40258         attributeArray++;
40259         if ( !attributeArray )
40260             return false;
40261         const ParserChar* attributeValue = *attributeArray;
40262         attributeArray++;
40263 
40264 
40265     switch ( hash )
40266     {
40267     case HASH_ATTRIBUTE_value:
40268     {
40269 bool failed;
40270 attributeData->value = GeneratedSaxParser::Utils::toBool(attributeValue, failed);
40271 if ( failed && handleError(ParserError::SEVERITY_ERROR_NONCRITICAL,
40272         ParserError::ERROR_ATTRIBUTE_PARSING_FAILED,
40273         HASH_ELEMENT_CULL_FACE_ENABLE,
40274         HASH_ATTRIBUTE_value,
40275         attributeValue))
40276 {
40277     return false;
40278 }
40279 
40280     break;
40281     }
40282     case HASH_ATTRIBUTE_param:
40283     {
40284 
40285 attributeData->param = attributeValue;
40286 #ifdef GENERATEDSAXPARSER_VALIDATION
40287     if ( mValidate )
40288     {
40289     ParserError::ErrorType simpleTypeValidationResult = validate__NCName(attributeData->param, strlen(attributeData->param));
40290     if (simpleTypeValidationResult != ParserError::SIMPLE_TYPE_VALIDATION_OK)
40291     {
40292         if( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL,
40293             simpleTypeValidationResult,
40294             HASH_ELEMENT_CULL_FACE_ENABLE,
40295             HASH_ATTRIBUTE_param,
40296             attributeValue) )
40297         {
40298             return false;
40299         }
40300     }
40301     } // validation
40302 #endif
40303 
40304     break;
40305     }
40306     default:
40307     {
40308         if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_UNKNOWN_ATTRIBUTE, HASH_ELEMENT_CULL_FACE_ENABLE, attribute, attributeValue))
40309             {return false;}
40310     }
40311     }
40312     }
40313 }
40314 
40315 
40316     return true;
40317 }
40318 
40319 //---------------------------------------------------------------------
_preEnd__profile_GLES__technique__pass__cull_face_enable()40320 bool ColladaParserAutoGen14Private::_preEnd__profile_GLES__technique__pass__cull_face_enable()
40321 {
40322 #ifdef GENERATEDSAXPARSER_VALIDATION
40323     if ( mValidate )
40324     {
40325 
40326         bool validationResult = _validateEnd__profile_GLES__technique__pass__cull_face_enable();
40327         if ( !validationResult ) return false;
40328 
40329     } // validation
40330 #endif
40331 
40332     return true;
40333 }
40334 
40335 //---------------------------------------------------------------------
_freeAttributes__profile_GLES__technique__pass__cull_face_enable(void * attributeData)40336 bool ColladaParserAutoGen14Private::_freeAttributes__profile_GLES__technique__pass__cull_face_enable( void* attributeData )
40337 {
40338     profile_GLES__technique__pass__cull_face_enable__AttributeData* typedAttributeData = static_cast<profile_GLES__technique__pass__cull_face_enable__AttributeData*>(attributeData);
40339 
40340     typedAttributeData->~profile_GLES__technique__pass__cull_face_enable__AttributeData();
40341 
40342     return true;
40343 }
40344 
40345 //---------------------------------------------------------------------
40346 const profile_GLES__technique__pass__depth_test_enable__AttributeData profile_GLES__technique__pass__depth_test_enable__AttributeData::DEFAULT = {false, 0};
40347 
40348 //---------------------------------------------------------------------
_data__profile_GLES__technique__pass__depth_test_enable(const ParserChar * text,size_t textLength)40349 bool ColladaParserAutoGen14Private::_data__profile_GLES__technique__pass__depth_test_enable( const ParserChar* text, size_t textLength )
40350 {
40351     return true;
40352 }
40353 
40354 //---------------------------------------------------------------------
_preBegin__profile_GLES__technique__pass__depth_test_enable(const ParserAttributes & attributes,void ** attributeDataPtr,void ** validationDataPtr)40355 bool ColladaParserAutoGen14Private::_preBegin__profile_GLES__technique__pass__depth_test_enable( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
40356 {
40357 #ifdef GENERATEDSAXPARSER_VALIDATION
40358     if ( mValidate )
40359     {
40360 
40361         bool validationResult = _validateBegin__profile_GLES__technique__pass__depth_test_enable( attributes, attributeDataPtr, validationDataPtr );
40362         if ( !validationResult ) return false;
40363 
40364     } // validation
40365 #endif
40366 
40367 profile_GLES__technique__pass__depth_test_enable__AttributeData* attributeData = newData<profile_GLES__technique__pass__depth_test_enable__AttributeData>(attributeDataPtr);
40368 
40369 const ParserChar** attributeArray = attributes.attributes;
40370 if ( attributeArray )
40371 {
40372     while (true)
40373     {
40374         const ParserChar * attribute = *attributeArray;
40375         if ( !attribute )
40376             break;
40377         StringHash hash = GeneratedSaxParser::Utils::calculateStringHash(attribute);
40378         attributeArray++;
40379         if ( !attributeArray )
40380             return false;
40381         const ParserChar* attributeValue = *attributeArray;
40382         attributeArray++;
40383 
40384 
40385     switch ( hash )
40386     {
40387     case HASH_ATTRIBUTE_value:
40388     {
40389 bool failed;
40390 attributeData->value = GeneratedSaxParser::Utils::toBool(attributeValue, failed);
40391 if ( failed && handleError(ParserError::SEVERITY_ERROR_NONCRITICAL,
40392         ParserError::ERROR_ATTRIBUTE_PARSING_FAILED,
40393         HASH_ELEMENT_DEPTH_TEST_ENABLE,
40394         HASH_ATTRIBUTE_value,
40395         attributeValue))
40396 {
40397     return false;
40398 }
40399 
40400     break;
40401     }
40402     case HASH_ATTRIBUTE_param:
40403     {
40404 
40405 attributeData->param = attributeValue;
40406 #ifdef GENERATEDSAXPARSER_VALIDATION
40407     if ( mValidate )
40408     {
40409     ParserError::ErrorType simpleTypeValidationResult = validate__NCName(attributeData->param, strlen(attributeData->param));
40410     if (simpleTypeValidationResult != ParserError::SIMPLE_TYPE_VALIDATION_OK)
40411     {
40412         if( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL,
40413             simpleTypeValidationResult,
40414             HASH_ELEMENT_DEPTH_TEST_ENABLE,
40415             HASH_ATTRIBUTE_param,
40416             attributeValue) )
40417         {
40418             return false;
40419         }
40420     }
40421     } // validation
40422 #endif
40423 
40424     break;
40425     }
40426     default:
40427     {
40428         if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_UNKNOWN_ATTRIBUTE, HASH_ELEMENT_DEPTH_TEST_ENABLE, attribute, attributeValue))
40429             {return false;}
40430     }
40431     }
40432     }
40433 }
40434 
40435 
40436     return true;
40437 }
40438 
40439 //---------------------------------------------------------------------
_preEnd__profile_GLES__technique__pass__depth_test_enable()40440 bool ColladaParserAutoGen14Private::_preEnd__profile_GLES__technique__pass__depth_test_enable()
40441 {
40442 #ifdef GENERATEDSAXPARSER_VALIDATION
40443     if ( mValidate )
40444     {
40445 
40446         bool validationResult = _validateEnd__profile_GLES__technique__pass__depth_test_enable();
40447         if ( !validationResult ) return false;
40448 
40449     } // validation
40450 #endif
40451 
40452     return true;
40453 }
40454 
40455 //---------------------------------------------------------------------
_freeAttributes__profile_GLES__technique__pass__depth_test_enable(void * attributeData)40456 bool ColladaParserAutoGen14Private::_freeAttributes__profile_GLES__technique__pass__depth_test_enable( void* attributeData )
40457 {
40458     profile_GLES__technique__pass__depth_test_enable__AttributeData* typedAttributeData = static_cast<profile_GLES__technique__pass__depth_test_enable__AttributeData*>(attributeData);
40459 
40460     typedAttributeData->~profile_GLES__technique__pass__depth_test_enable__AttributeData();
40461 
40462     return true;
40463 }
40464 
40465 //---------------------------------------------------------------------
40466 const profile_GLES__technique__pass__dither_enable__AttributeData profile_GLES__technique__pass__dither_enable__AttributeData::DEFAULT = {false, 0};
40467 
40468 //---------------------------------------------------------------------
_data__profile_GLES__technique__pass__dither_enable(const ParserChar * text,size_t textLength)40469 bool ColladaParserAutoGen14Private::_data__profile_GLES__technique__pass__dither_enable( const ParserChar* text, size_t textLength )
40470 {
40471     return true;
40472 }
40473 
40474 //---------------------------------------------------------------------
_preBegin__profile_GLES__technique__pass__dither_enable(const ParserAttributes & attributes,void ** attributeDataPtr,void ** validationDataPtr)40475 bool ColladaParserAutoGen14Private::_preBegin__profile_GLES__technique__pass__dither_enable( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
40476 {
40477 #ifdef GENERATEDSAXPARSER_VALIDATION
40478     if ( mValidate )
40479     {
40480 
40481         bool validationResult = _validateBegin__profile_GLES__technique__pass__dither_enable( attributes, attributeDataPtr, validationDataPtr );
40482         if ( !validationResult ) return false;
40483 
40484     } // validation
40485 #endif
40486 
40487 profile_GLES__technique__pass__dither_enable__AttributeData* attributeData = newData<profile_GLES__technique__pass__dither_enable__AttributeData>(attributeDataPtr);
40488 
40489 const ParserChar** attributeArray = attributes.attributes;
40490 if ( attributeArray )
40491 {
40492     while (true)
40493     {
40494         const ParserChar * attribute = *attributeArray;
40495         if ( !attribute )
40496             break;
40497         StringHash hash = GeneratedSaxParser::Utils::calculateStringHash(attribute);
40498         attributeArray++;
40499         if ( !attributeArray )
40500             return false;
40501         const ParserChar* attributeValue = *attributeArray;
40502         attributeArray++;
40503 
40504 
40505     switch ( hash )
40506     {
40507     case HASH_ATTRIBUTE_value:
40508     {
40509 bool failed;
40510 attributeData->value = GeneratedSaxParser::Utils::toBool(attributeValue, failed);
40511 if ( failed && handleError(ParserError::SEVERITY_ERROR_NONCRITICAL,
40512         ParserError::ERROR_ATTRIBUTE_PARSING_FAILED,
40513         HASH_ELEMENT_DITHER_ENABLE,
40514         HASH_ATTRIBUTE_value,
40515         attributeValue))
40516 {
40517     return false;
40518 }
40519 
40520     break;
40521     }
40522     case HASH_ATTRIBUTE_param:
40523     {
40524 
40525 attributeData->param = attributeValue;
40526 #ifdef GENERATEDSAXPARSER_VALIDATION
40527     if ( mValidate )
40528     {
40529     ParserError::ErrorType simpleTypeValidationResult = validate__NCName(attributeData->param, strlen(attributeData->param));
40530     if (simpleTypeValidationResult != ParserError::SIMPLE_TYPE_VALIDATION_OK)
40531     {
40532         if( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL,
40533             simpleTypeValidationResult,
40534             HASH_ELEMENT_DITHER_ENABLE,
40535             HASH_ATTRIBUTE_param,
40536             attributeValue) )
40537         {
40538             return false;
40539         }
40540     }
40541     } // validation
40542 #endif
40543 
40544     break;
40545     }
40546     default:
40547     {
40548         if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_UNKNOWN_ATTRIBUTE, HASH_ELEMENT_DITHER_ENABLE, attribute, attributeValue))
40549             {return false;}
40550     }
40551     }
40552     }
40553 }
40554 
40555 
40556     return true;
40557 }
40558 
40559 //---------------------------------------------------------------------
_preEnd__profile_GLES__technique__pass__dither_enable()40560 bool ColladaParserAutoGen14Private::_preEnd__profile_GLES__technique__pass__dither_enable()
40561 {
40562 #ifdef GENERATEDSAXPARSER_VALIDATION
40563     if ( mValidate )
40564     {
40565 
40566         bool validationResult = _validateEnd__profile_GLES__technique__pass__dither_enable();
40567         if ( !validationResult ) return false;
40568 
40569     } // validation
40570 #endif
40571 
40572     return true;
40573 }
40574 
40575 //---------------------------------------------------------------------
_freeAttributes__profile_GLES__technique__pass__dither_enable(void * attributeData)40576 bool ColladaParserAutoGen14Private::_freeAttributes__profile_GLES__technique__pass__dither_enable( void* attributeData )
40577 {
40578     profile_GLES__technique__pass__dither_enable__AttributeData* typedAttributeData = static_cast<profile_GLES__technique__pass__dither_enable__AttributeData*>(attributeData);
40579 
40580     typedAttributeData->~profile_GLES__technique__pass__dither_enable__AttributeData();
40581 
40582     return true;
40583 }
40584 
40585 //---------------------------------------------------------------------
40586 const profile_GLES__technique__pass__fog_enable__AttributeData profile_GLES__technique__pass__fog_enable__AttributeData::DEFAULT = {false, 0};
40587 
40588 //---------------------------------------------------------------------
_data__profile_GLES__technique__pass__fog_enable(const ParserChar * text,size_t textLength)40589 bool ColladaParserAutoGen14Private::_data__profile_GLES__technique__pass__fog_enable( const ParserChar* text, size_t textLength )
40590 {
40591     return true;
40592 }
40593 
40594 //---------------------------------------------------------------------
_preBegin__profile_GLES__technique__pass__fog_enable(const ParserAttributes & attributes,void ** attributeDataPtr,void ** validationDataPtr)40595 bool ColladaParserAutoGen14Private::_preBegin__profile_GLES__technique__pass__fog_enable( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
40596 {
40597 #ifdef GENERATEDSAXPARSER_VALIDATION
40598     if ( mValidate )
40599     {
40600 
40601         bool validationResult = _validateBegin__profile_GLES__technique__pass__fog_enable( attributes, attributeDataPtr, validationDataPtr );
40602         if ( !validationResult ) return false;
40603 
40604     } // validation
40605 #endif
40606 
40607 profile_GLES__technique__pass__fog_enable__AttributeData* attributeData = newData<profile_GLES__technique__pass__fog_enable__AttributeData>(attributeDataPtr);
40608 
40609 const ParserChar** attributeArray = attributes.attributes;
40610 if ( attributeArray )
40611 {
40612     while (true)
40613     {
40614         const ParserChar * attribute = *attributeArray;
40615         if ( !attribute )
40616             break;
40617         StringHash hash = GeneratedSaxParser::Utils::calculateStringHash(attribute);
40618         attributeArray++;
40619         if ( !attributeArray )
40620             return false;
40621         const ParserChar* attributeValue = *attributeArray;
40622         attributeArray++;
40623 
40624 
40625     switch ( hash )
40626     {
40627     case HASH_ATTRIBUTE_value:
40628     {
40629 bool failed;
40630 attributeData->value = GeneratedSaxParser::Utils::toBool(attributeValue, failed);
40631 if ( failed && handleError(ParserError::SEVERITY_ERROR_NONCRITICAL,
40632         ParserError::ERROR_ATTRIBUTE_PARSING_FAILED,
40633         HASH_ELEMENT_FOG_ENABLE,
40634         HASH_ATTRIBUTE_value,
40635         attributeValue))
40636 {
40637     return false;
40638 }
40639 
40640     break;
40641     }
40642     case HASH_ATTRIBUTE_param:
40643     {
40644 
40645 attributeData->param = attributeValue;
40646 #ifdef GENERATEDSAXPARSER_VALIDATION
40647     if ( mValidate )
40648     {
40649     ParserError::ErrorType simpleTypeValidationResult = validate__NCName(attributeData->param, strlen(attributeData->param));
40650     if (simpleTypeValidationResult != ParserError::SIMPLE_TYPE_VALIDATION_OK)
40651     {
40652         if( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL,
40653             simpleTypeValidationResult,
40654             HASH_ELEMENT_FOG_ENABLE,
40655             HASH_ATTRIBUTE_param,
40656             attributeValue) )
40657         {
40658             return false;
40659         }
40660     }
40661     } // validation
40662 #endif
40663 
40664     break;
40665     }
40666     default:
40667     {
40668         if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_UNKNOWN_ATTRIBUTE, HASH_ELEMENT_FOG_ENABLE, attribute, attributeValue))
40669             {return false;}
40670     }
40671     }
40672     }
40673 }
40674 
40675 
40676     return true;
40677 }
40678 
40679 //---------------------------------------------------------------------
_preEnd__profile_GLES__technique__pass__fog_enable()40680 bool ColladaParserAutoGen14Private::_preEnd__profile_GLES__technique__pass__fog_enable()
40681 {
40682 #ifdef GENERATEDSAXPARSER_VALIDATION
40683     if ( mValidate )
40684     {
40685 
40686         bool validationResult = _validateEnd__profile_GLES__technique__pass__fog_enable();
40687         if ( !validationResult ) return false;
40688 
40689     } // validation
40690 #endif
40691 
40692     return true;
40693 }
40694 
40695 //---------------------------------------------------------------------
_freeAttributes__profile_GLES__technique__pass__fog_enable(void * attributeData)40696 bool ColladaParserAutoGen14Private::_freeAttributes__profile_GLES__technique__pass__fog_enable( void* attributeData )
40697 {
40698     profile_GLES__technique__pass__fog_enable__AttributeData* typedAttributeData = static_cast<profile_GLES__technique__pass__fog_enable__AttributeData*>(attributeData);
40699 
40700     typedAttributeData->~profile_GLES__technique__pass__fog_enable__AttributeData();
40701 
40702     return true;
40703 }
40704 
40705 //---------------------------------------------------------------------
40706 const texture_pipeline_enable__AttributeData texture_pipeline_enable__AttributeData::DEFAULT = {false, 0};
40707 
40708 //---------------------------------------------------------------------
_data__texture_pipeline_enable(const ParserChar * text,size_t textLength)40709 bool ColladaParserAutoGen14Private::_data__texture_pipeline_enable( const ParserChar* text, size_t textLength )
40710 {
40711     return true;
40712 }
40713 
40714 //---------------------------------------------------------------------
_preBegin__texture_pipeline_enable(const ParserAttributes & attributes,void ** attributeDataPtr,void ** validationDataPtr)40715 bool ColladaParserAutoGen14Private::_preBegin__texture_pipeline_enable( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
40716 {
40717 #ifdef GENERATEDSAXPARSER_VALIDATION
40718     if ( mValidate )
40719     {
40720 
40721         bool validationResult = _validateBegin__texture_pipeline_enable( attributes, attributeDataPtr, validationDataPtr );
40722         if ( !validationResult ) return false;
40723 
40724     } // validation
40725 #endif
40726 
40727 texture_pipeline_enable__AttributeData* attributeData = newData<texture_pipeline_enable__AttributeData>(attributeDataPtr);
40728 
40729 const ParserChar** attributeArray = attributes.attributes;
40730 if ( attributeArray )
40731 {
40732     while (true)
40733     {
40734         const ParserChar * attribute = *attributeArray;
40735         if ( !attribute )
40736             break;
40737         StringHash hash = GeneratedSaxParser::Utils::calculateStringHash(attribute);
40738         attributeArray++;
40739         if ( !attributeArray )
40740             return false;
40741         const ParserChar* attributeValue = *attributeArray;
40742         attributeArray++;
40743 
40744 
40745     switch ( hash )
40746     {
40747     case HASH_ATTRIBUTE_value:
40748     {
40749 bool failed;
40750 attributeData->value = GeneratedSaxParser::Utils::toBool(attributeValue, failed);
40751 if ( failed && handleError(ParserError::SEVERITY_ERROR_NONCRITICAL,
40752         ParserError::ERROR_ATTRIBUTE_PARSING_FAILED,
40753         HASH_ELEMENT_TEXTURE_PIPELINE_ENABLE,
40754         HASH_ATTRIBUTE_value,
40755         attributeValue))
40756 {
40757     return false;
40758 }
40759 
40760     break;
40761     }
40762     case HASH_ATTRIBUTE_param:
40763     {
40764 
40765 attributeData->param = attributeValue;
40766 #ifdef GENERATEDSAXPARSER_VALIDATION
40767     if ( mValidate )
40768     {
40769     ParserError::ErrorType simpleTypeValidationResult = validate__NCName(attributeData->param, strlen(attributeData->param));
40770     if (simpleTypeValidationResult != ParserError::SIMPLE_TYPE_VALIDATION_OK)
40771     {
40772         if( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL,
40773             simpleTypeValidationResult,
40774             HASH_ELEMENT_TEXTURE_PIPELINE_ENABLE,
40775             HASH_ATTRIBUTE_param,
40776             attributeValue) )
40777         {
40778             return false;
40779         }
40780     }
40781     } // validation
40782 #endif
40783 
40784     break;
40785     }
40786     default:
40787     {
40788         if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_UNKNOWN_ATTRIBUTE, HASH_ELEMENT_TEXTURE_PIPELINE_ENABLE, attribute, attributeValue))
40789             {return false;}
40790     }
40791     }
40792     }
40793 }
40794 
40795 
40796     return true;
40797 }
40798 
40799 //---------------------------------------------------------------------
_preEnd__texture_pipeline_enable()40800 bool ColladaParserAutoGen14Private::_preEnd__texture_pipeline_enable()
40801 {
40802 #ifdef GENERATEDSAXPARSER_VALIDATION
40803     if ( mValidate )
40804     {
40805 
40806         bool validationResult = _validateEnd__texture_pipeline_enable();
40807         if ( !validationResult ) return false;
40808 
40809     } // validation
40810 #endif
40811 
40812     return true;
40813 }
40814 
40815 //---------------------------------------------------------------------
_freeAttributes__texture_pipeline_enable(void * attributeData)40816 bool ColladaParserAutoGen14Private::_freeAttributes__texture_pipeline_enable( void* attributeData )
40817 {
40818     texture_pipeline_enable__AttributeData* typedAttributeData = static_cast<texture_pipeline_enable__AttributeData*>(attributeData);
40819 
40820     typedAttributeData->~texture_pipeline_enable__AttributeData();
40821 
40822     return true;
40823 }
40824 
40825 //---------------------------------------------------------------------
40826 const profile_GLES__technique__pass__light_enable__AttributeData profile_GLES__technique__pass__light_enable__AttributeData::DEFAULT = {0, false, 0, 0};
40827 
40828 //---------------------------------------------------------------------
_data__profile_GLES__technique__pass__light_enable(const ParserChar * text,size_t textLength)40829 bool ColladaParserAutoGen14Private::_data__profile_GLES__technique__pass__light_enable( const ParserChar* text, size_t textLength )
40830 {
40831     return true;
40832 }
40833 
40834 //---------------------------------------------------------------------
_preBegin__profile_GLES__technique__pass__light_enable(const ParserAttributes & attributes,void ** attributeDataPtr,void ** validationDataPtr)40835 bool ColladaParserAutoGen14Private::_preBegin__profile_GLES__technique__pass__light_enable( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
40836 {
40837 #ifdef GENERATEDSAXPARSER_VALIDATION
40838     if ( mValidate )
40839     {
40840 
40841         bool validationResult = _validateBegin__profile_GLES__technique__pass__light_enable( attributes, attributeDataPtr, validationDataPtr );
40842         if ( !validationResult ) return false;
40843 
40844     } // validation
40845 #endif
40846 
40847 profile_GLES__technique__pass__light_enable__AttributeData* attributeData = newData<profile_GLES__technique__pass__light_enable__AttributeData>(attributeDataPtr);
40848 
40849 const ParserChar** attributeArray = attributes.attributes;
40850 if ( attributeArray )
40851 {
40852     while (true)
40853     {
40854         const ParserChar * attribute = *attributeArray;
40855         if ( !attribute )
40856             break;
40857         StringHash hash = GeneratedSaxParser::Utils::calculateStringHash(attribute);
40858         attributeArray++;
40859         if ( !attributeArray )
40860             return false;
40861         const ParserChar* attributeValue = *attributeArray;
40862         attributeArray++;
40863 
40864 
40865     switch ( hash )
40866     {
40867     case HASH_ATTRIBUTE_value:
40868     {
40869 bool failed;
40870 attributeData->value = GeneratedSaxParser::Utils::toBool(attributeValue, failed);
40871 if ( failed && handleError(ParserError::SEVERITY_ERROR_NONCRITICAL,
40872         ParserError::ERROR_ATTRIBUTE_PARSING_FAILED,
40873         HASH_ELEMENT_LIGHT_ENABLE,
40874         HASH_ATTRIBUTE_value,
40875         attributeValue))
40876 {
40877     return false;
40878 }
40879 
40880     break;
40881     }
40882     case HASH_ATTRIBUTE_param:
40883     {
40884 
40885 attributeData->param = attributeValue;
40886 #ifdef GENERATEDSAXPARSER_VALIDATION
40887     if ( mValidate )
40888     {
40889     ParserError::ErrorType simpleTypeValidationResult = validate__NCName(attributeData->param, strlen(attributeData->param));
40890     if (simpleTypeValidationResult != ParserError::SIMPLE_TYPE_VALIDATION_OK)
40891     {
40892         if( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL,
40893             simpleTypeValidationResult,
40894             HASH_ELEMENT_LIGHT_ENABLE,
40895             HASH_ATTRIBUTE_param,
40896             attributeValue) )
40897         {
40898             return false;
40899         }
40900     }
40901     } // validation
40902 #endif
40903 
40904     break;
40905     }
40906     case HASH_ATTRIBUTE_index:
40907     {
40908 bool failed;
40909 attributeData->index = GeneratedSaxParser::Utils::toUint64(attributeValue, failed);
40910 if ( failed && handleError(ParserError::SEVERITY_ERROR_NONCRITICAL,
40911         ParserError::ERROR_ATTRIBUTE_PARSING_FAILED,
40912         HASH_ELEMENT_LIGHT_ENABLE,
40913         HASH_ATTRIBUTE_index,
40914         attributeValue))
40915 {
40916     return false;
40917 }
40918 #ifdef GENERATEDSAXPARSER_VALIDATION
40919     if ( mValidate )
40920     {
40921     ParserError::ErrorType simpleTypeValidationResult = validate__GLES_MAX_LIGHTS_index(attributeData->index);
40922     if (simpleTypeValidationResult != ParserError::SIMPLE_TYPE_VALIDATION_OK)
40923     {
40924         if( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL,
40925             simpleTypeValidationResult,
40926             HASH_ELEMENT_LIGHT_ENABLE,
40927             HASH_ATTRIBUTE_index,
40928             attributeValue) )
40929         {
40930             return false;
40931         }
40932     }
40933     } // validation
40934 #endif
40935 if ( !failed )
40936     attributeData->present_attributes |= profile_GLES__technique__pass__light_enable__AttributeData::ATTRIBUTE_INDEX_PRESENT;
40937 
40938     break;
40939     }
40940     default:
40941     {
40942         if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_UNKNOWN_ATTRIBUTE, HASH_ELEMENT_LIGHT_ENABLE, attribute, attributeValue))
40943             {return false;}
40944     }
40945     }
40946     }
40947 }
40948 if ( (attributeData->present_attributes & profile_GLES__technique__pass__light_enable__AttributeData::ATTRIBUTE_INDEX_PRESENT) == 0 )
40949 {
40950     if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_REQUIRED_ATTRIBUTE_MISSING, HASH_ELEMENT_LIGHT_ENABLE, HASH_ATTRIBUTE_index, 0 ) )
40951         return false;
40952 }
40953 
40954 
40955     return true;
40956 }
40957 
40958 //---------------------------------------------------------------------
_preEnd__profile_GLES__technique__pass__light_enable()40959 bool ColladaParserAutoGen14Private::_preEnd__profile_GLES__technique__pass__light_enable()
40960 {
40961 #ifdef GENERATEDSAXPARSER_VALIDATION
40962     if ( mValidate )
40963     {
40964 
40965         bool validationResult = _validateEnd__profile_GLES__technique__pass__light_enable();
40966         if ( !validationResult ) return false;
40967 
40968     } // validation
40969 #endif
40970 
40971     return true;
40972 }
40973 
40974 //---------------------------------------------------------------------
_freeAttributes__profile_GLES__technique__pass__light_enable(void * attributeData)40975 bool ColladaParserAutoGen14Private::_freeAttributes__profile_GLES__technique__pass__light_enable( void* attributeData )
40976 {
40977     profile_GLES__technique__pass__light_enable__AttributeData* typedAttributeData = static_cast<profile_GLES__technique__pass__light_enable__AttributeData*>(attributeData);
40978 
40979     typedAttributeData->~profile_GLES__technique__pass__light_enable__AttributeData();
40980 
40981     return true;
40982 }
40983 
40984 //---------------------------------------------------------------------
40985 const profile_GLES__technique__pass__lighting_enable__AttributeData profile_GLES__technique__pass__lighting_enable__AttributeData::DEFAULT = {false, 0};
40986 
40987 //---------------------------------------------------------------------
_data__profile_GLES__technique__pass__lighting_enable(const ParserChar * text,size_t textLength)40988 bool ColladaParserAutoGen14Private::_data__profile_GLES__technique__pass__lighting_enable( const ParserChar* text, size_t textLength )
40989 {
40990     return true;
40991 }
40992 
40993 //---------------------------------------------------------------------
_preBegin__profile_GLES__technique__pass__lighting_enable(const ParserAttributes & attributes,void ** attributeDataPtr,void ** validationDataPtr)40994 bool ColladaParserAutoGen14Private::_preBegin__profile_GLES__technique__pass__lighting_enable( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
40995 {
40996 #ifdef GENERATEDSAXPARSER_VALIDATION
40997     if ( mValidate )
40998     {
40999 
41000         bool validationResult = _validateBegin__profile_GLES__technique__pass__lighting_enable( attributes, attributeDataPtr, validationDataPtr );
41001         if ( !validationResult ) return false;
41002 
41003     } // validation
41004 #endif
41005 
41006 profile_GLES__technique__pass__lighting_enable__AttributeData* attributeData = newData<profile_GLES__technique__pass__lighting_enable__AttributeData>(attributeDataPtr);
41007 
41008 const ParserChar** attributeArray = attributes.attributes;
41009 if ( attributeArray )
41010 {
41011     while (true)
41012     {
41013         const ParserChar * attribute = *attributeArray;
41014         if ( !attribute )
41015             break;
41016         StringHash hash = GeneratedSaxParser::Utils::calculateStringHash(attribute);
41017         attributeArray++;
41018         if ( !attributeArray )
41019             return false;
41020         const ParserChar* attributeValue = *attributeArray;
41021         attributeArray++;
41022 
41023 
41024     switch ( hash )
41025     {
41026     case HASH_ATTRIBUTE_value:
41027     {
41028 bool failed;
41029 attributeData->value = GeneratedSaxParser::Utils::toBool(attributeValue, failed);
41030 if ( failed && handleError(ParserError::SEVERITY_ERROR_NONCRITICAL,
41031         ParserError::ERROR_ATTRIBUTE_PARSING_FAILED,
41032         HASH_ELEMENT_LIGHTING_ENABLE,
41033         HASH_ATTRIBUTE_value,
41034         attributeValue))
41035 {
41036     return false;
41037 }
41038 
41039     break;
41040     }
41041     case HASH_ATTRIBUTE_param:
41042     {
41043 
41044 attributeData->param = attributeValue;
41045 #ifdef GENERATEDSAXPARSER_VALIDATION
41046     if ( mValidate )
41047     {
41048     ParserError::ErrorType simpleTypeValidationResult = validate__NCName(attributeData->param, strlen(attributeData->param));
41049     if (simpleTypeValidationResult != ParserError::SIMPLE_TYPE_VALIDATION_OK)
41050     {
41051         if( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL,
41052             simpleTypeValidationResult,
41053             HASH_ELEMENT_LIGHTING_ENABLE,
41054             HASH_ATTRIBUTE_param,
41055             attributeValue) )
41056         {
41057             return false;
41058         }
41059     }
41060     } // validation
41061 #endif
41062 
41063     break;
41064     }
41065     default:
41066     {
41067         if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_UNKNOWN_ATTRIBUTE, HASH_ELEMENT_LIGHTING_ENABLE, attribute, attributeValue))
41068             {return false;}
41069     }
41070     }
41071     }
41072 }
41073 
41074 
41075     return true;
41076 }
41077 
41078 //---------------------------------------------------------------------
_preEnd__profile_GLES__technique__pass__lighting_enable()41079 bool ColladaParserAutoGen14Private::_preEnd__profile_GLES__technique__pass__lighting_enable()
41080 {
41081 #ifdef GENERATEDSAXPARSER_VALIDATION
41082     if ( mValidate )
41083     {
41084 
41085         bool validationResult = _validateEnd__profile_GLES__technique__pass__lighting_enable();
41086         if ( !validationResult ) return false;
41087 
41088     } // validation
41089 #endif
41090 
41091     return true;
41092 }
41093 
41094 //---------------------------------------------------------------------
_freeAttributes__profile_GLES__technique__pass__lighting_enable(void * attributeData)41095 bool ColladaParserAutoGen14Private::_freeAttributes__profile_GLES__technique__pass__lighting_enable( void* attributeData )
41096 {
41097     profile_GLES__technique__pass__lighting_enable__AttributeData* typedAttributeData = static_cast<profile_GLES__technique__pass__lighting_enable__AttributeData*>(attributeData);
41098 
41099     typedAttributeData->~profile_GLES__technique__pass__lighting_enable__AttributeData();
41100 
41101     return true;
41102 }
41103 
41104 //---------------------------------------------------------------------
41105 const profile_GLES__technique__pass__light_model_two_side_enable__AttributeData profile_GLES__technique__pass__light_model_two_side_enable__AttributeData::DEFAULT = {false, 0};
41106 
41107 //---------------------------------------------------------------------
_data__profile_GLES__technique__pass__light_model_two_side_enable(const ParserChar * text,size_t textLength)41108 bool ColladaParserAutoGen14Private::_data__profile_GLES__technique__pass__light_model_two_side_enable( const ParserChar* text, size_t textLength )
41109 {
41110     return true;
41111 }
41112 
41113 //---------------------------------------------------------------------
_preBegin__profile_GLES__technique__pass__light_model_two_side_enable(const ParserAttributes & attributes,void ** attributeDataPtr,void ** validationDataPtr)41114 bool ColladaParserAutoGen14Private::_preBegin__profile_GLES__technique__pass__light_model_two_side_enable( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
41115 {
41116 #ifdef GENERATEDSAXPARSER_VALIDATION
41117     if ( mValidate )
41118     {
41119 
41120         bool validationResult = _validateBegin__profile_GLES__technique__pass__light_model_two_side_enable( attributes, attributeDataPtr, validationDataPtr );
41121         if ( !validationResult ) return false;
41122 
41123     } // validation
41124 #endif
41125 
41126 profile_GLES__technique__pass__light_model_two_side_enable__AttributeData* attributeData = newData<profile_GLES__technique__pass__light_model_two_side_enable__AttributeData>(attributeDataPtr);
41127 
41128 const ParserChar** attributeArray = attributes.attributes;
41129 if ( attributeArray )
41130 {
41131     while (true)
41132     {
41133         const ParserChar * attribute = *attributeArray;
41134         if ( !attribute )
41135             break;
41136         StringHash hash = GeneratedSaxParser::Utils::calculateStringHash(attribute);
41137         attributeArray++;
41138         if ( !attributeArray )
41139             return false;
41140         const ParserChar* attributeValue = *attributeArray;
41141         attributeArray++;
41142 
41143 
41144     switch ( hash )
41145     {
41146     case HASH_ATTRIBUTE_value:
41147     {
41148 bool failed;
41149 attributeData->value = GeneratedSaxParser::Utils::toBool(attributeValue, failed);
41150 if ( failed && handleError(ParserError::SEVERITY_ERROR_NONCRITICAL,
41151         ParserError::ERROR_ATTRIBUTE_PARSING_FAILED,
41152         HASH_ELEMENT_LIGHT_MODEL_TWO_SIDE_ENABLE,
41153         HASH_ATTRIBUTE_value,
41154         attributeValue))
41155 {
41156     return false;
41157 }
41158 
41159     break;
41160     }
41161     case HASH_ATTRIBUTE_param:
41162     {
41163 
41164 attributeData->param = attributeValue;
41165 #ifdef GENERATEDSAXPARSER_VALIDATION
41166     if ( mValidate )
41167     {
41168     ParserError::ErrorType simpleTypeValidationResult = validate__NCName(attributeData->param, strlen(attributeData->param));
41169     if (simpleTypeValidationResult != ParserError::SIMPLE_TYPE_VALIDATION_OK)
41170     {
41171         if( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL,
41172             simpleTypeValidationResult,
41173             HASH_ELEMENT_LIGHT_MODEL_TWO_SIDE_ENABLE,
41174             HASH_ATTRIBUTE_param,
41175             attributeValue) )
41176         {
41177             return false;
41178         }
41179     }
41180     } // validation
41181 #endif
41182 
41183     break;
41184     }
41185     default:
41186     {
41187         if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_UNKNOWN_ATTRIBUTE, HASH_ELEMENT_LIGHT_MODEL_TWO_SIDE_ENABLE, attribute, attributeValue))
41188             {return false;}
41189     }
41190     }
41191     }
41192 }
41193 
41194 
41195     return true;
41196 }
41197 
41198 //---------------------------------------------------------------------
_preEnd__profile_GLES__technique__pass__light_model_two_side_enable()41199 bool ColladaParserAutoGen14Private::_preEnd__profile_GLES__technique__pass__light_model_two_side_enable()
41200 {
41201 #ifdef GENERATEDSAXPARSER_VALIDATION
41202     if ( mValidate )
41203     {
41204 
41205         bool validationResult = _validateEnd__profile_GLES__technique__pass__light_model_two_side_enable();
41206         if ( !validationResult ) return false;
41207 
41208     } // validation
41209 #endif
41210 
41211     return true;
41212 }
41213 
41214 //---------------------------------------------------------------------
_freeAttributes__profile_GLES__technique__pass__light_model_two_side_enable(void * attributeData)41215 bool ColladaParserAutoGen14Private::_freeAttributes__profile_GLES__technique__pass__light_model_two_side_enable( void* attributeData )
41216 {
41217     profile_GLES__technique__pass__light_model_two_side_enable__AttributeData* typedAttributeData = static_cast<profile_GLES__technique__pass__light_model_two_side_enable__AttributeData*>(attributeData);
41218 
41219     typedAttributeData->~profile_GLES__technique__pass__light_model_two_side_enable__AttributeData();
41220 
41221     return true;
41222 }
41223 
41224 //---------------------------------------------------------------------
41225 const profile_GLES__technique__pass__line_smooth_enable__AttributeData profile_GLES__technique__pass__line_smooth_enable__AttributeData::DEFAULT = {false, 0};
41226 
41227 //---------------------------------------------------------------------
_data__profile_GLES__technique__pass__line_smooth_enable(const ParserChar * text,size_t textLength)41228 bool ColladaParserAutoGen14Private::_data__profile_GLES__technique__pass__line_smooth_enable( const ParserChar* text, size_t textLength )
41229 {
41230     return true;
41231 }
41232 
41233 //---------------------------------------------------------------------
_preBegin__profile_GLES__technique__pass__line_smooth_enable(const ParserAttributes & attributes,void ** attributeDataPtr,void ** validationDataPtr)41234 bool ColladaParserAutoGen14Private::_preBegin__profile_GLES__technique__pass__line_smooth_enable( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
41235 {
41236 #ifdef GENERATEDSAXPARSER_VALIDATION
41237     if ( mValidate )
41238     {
41239 
41240         bool validationResult = _validateBegin__profile_GLES__technique__pass__line_smooth_enable( attributes, attributeDataPtr, validationDataPtr );
41241         if ( !validationResult ) return false;
41242 
41243     } // validation
41244 #endif
41245 
41246 profile_GLES__technique__pass__line_smooth_enable__AttributeData* attributeData = newData<profile_GLES__technique__pass__line_smooth_enable__AttributeData>(attributeDataPtr);
41247 
41248 const ParserChar** attributeArray = attributes.attributes;
41249 if ( attributeArray )
41250 {
41251     while (true)
41252     {
41253         const ParserChar * attribute = *attributeArray;
41254         if ( !attribute )
41255             break;
41256         StringHash hash = GeneratedSaxParser::Utils::calculateStringHash(attribute);
41257         attributeArray++;
41258         if ( !attributeArray )
41259             return false;
41260         const ParserChar* attributeValue = *attributeArray;
41261         attributeArray++;
41262 
41263 
41264     switch ( hash )
41265     {
41266     case HASH_ATTRIBUTE_value:
41267     {
41268 bool failed;
41269 attributeData->value = GeneratedSaxParser::Utils::toBool(attributeValue, failed);
41270 if ( failed && handleError(ParserError::SEVERITY_ERROR_NONCRITICAL,
41271         ParserError::ERROR_ATTRIBUTE_PARSING_FAILED,
41272         HASH_ELEMENT_LINE_SMOOTH_ENABLE,
41273         HASH_ATTRIBUTE_value,
41274         attributeValue))
41275 {
41276     return false;
41277 }
41278 
41279     break;
41280     }
41281     case HASH_ATTRIBUTE_param:
41282     {
41283 
41284 attributeData->param = attributeValue;
41285 #ifdef GENERATEDSAXPARSER_VALIDATION
41286     if ( mValidate )
41287     {
41288     ParserError::ErrorType simpleTypeValidationResult = validate__NCName(attributeData->param, strlen(attributeData->param));
41289     if (simpleTypeValidationResult != ParserError::SIMPLE_TYPE_VALIDATION_OK)
41290     {
41291         if( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL,
41292             simpleTypeValidationResult,
41293             HASH_ELEMENT_LINE_SMOOTH_ENABLE,
41294             HASH_ATTRIBUTE_param,
41295             attributeValue) )
41296         {
41297             return false;
41298         }
41299     }
41300     } // validation
41301 #endif
41302 
41303     break;
41304     }
41305     default:
41306     {
41307         if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_UNKNOWN_ATTRIBUTE, HASH_ELEMENT_LINE_SMOOTH_ENABLE, attribute, attributeValue))
41308             {return false;}
41309     }
41310     }
41311     }
41312 }
41313 
41314 
41315     return true;
41316 }
41317 
41318 //---------------------------------------------------------------------
_preEnd__profile_GLES__technique__pass__line_smooth_enable()41319 bool ColladaParserAutoGen14Private::_preEnd__profile_GLES__technique__pass__line_smooth_enable()
41320 {
41321 #ifdef GENERATEDSAXPARSER_VALIDATION
41322     if ( mValidate )
41323     {
41324 
41325         bool validationResult = _validateEnd__profile_GLES__technique__pass__line_smooth_enable();
41326         if ( !validationResult ) return false;
41327 
41328     } // validation
41329 #endif
41330 
41331     return true;
41332 }
41333 
41334 //---------------------------------------------------------------------
_freeAttributes__profile_GLES__technique__pass__line_smooth_enable(void * attributeData)41335 bool ColladaParserAutoGen14Private::_freeAttributes__profile_GLES__technique__pass__line_smooth_enable( void* attributeData )
41336 {
41337     profile_GLES__technique__pass__line_smooth_enable__AttributeData* typedAttributeData = static_cast<profile_GLES__technique__pass__line_smooth_enable__AttributeData*>(attributeData);
41338 
41339     typedAttributeData->~profile_GLES__technique__pass__line_smooth_enable__AttributeData();
41340 
41341     return true;
41342 }
41343 
41344 //---------------------------------------------------------------------
41345 const profile_GLES__technique__pass__multisample_enable__AttributeData profile_GLES__technique__pass__multisample_enable__AttributeData::DEFAULT = {false, 0};
41346 
41347 //---------------------------------------------------------------------
_data__profile_GLES__technique__pass__multisample_enable(const ParserChar * text,size_t textLength)41348 bool ColladaParserAutoGen14Private::_data__profile_GLES__technique__pass__multisample_enable( const ParserChar* text, size_t textLength )
41349 {
41350     return true;
41351 }
41352 
41353 //---------------------------------------------------------------------
_preBegin__profile_GLES__technique__pass__multisample_enable(const ParserAttributes & attributes,void ** attributeDataPtr,void ** validationDataPtr)41354 bool ColladaParserAutoGen14Private::_preBegin__profile_GLES__technique__pass__multisample_enable( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
41355 {
41356 #ifdef GENERATEDSAXPARSER_VALIDATION
41357     if ( mValidate )
41358     {
41359 
41360         bool validationResult = _validateBegin__profile_GLES__technique__pass__multisample_enable( attributes, attributeDataPtr, validationDataPtr );
41361         if ( !validationResult ) return false;
41362 
41363     } // validation
41364 #endif
41365 
41366 profile_GLES__technique__pass__multisample_enable__AttributeData* attributeData = newData<profile_GLES__technique__pass__multisample_enable__AttributeData>(attributeDataPtr);
41367 
41368 const ParserChar** attributeArray = attributes.attributes;
41369 if ( attributeArray )
41370 {
41371     while (true)
41372     {
41373         const ParserChar * attribute = *attributeArray;
41374         if ( !attribute )
41375             break;
41376         StringHash hash = GeneratedSaxParser::Utils::calculateStringHash(attribute);
41377         attributeArray++;
41378         if ( !attributeArray )
41379             return false;
41380         const ParserChar* attributeValue = *attributeArray;
41381         attributeArray++;
41382 
41383 
41384     switch ( hash )
41385     {
41386     case HASH_ATTRIBUTE_value:
41387     {
41388 bool failed;
41389 attributeData->value = GeneratedSaxParser::Utils::toBool(attributeValue, failed);
41390 if ( failed && handleError(ParserError::SEVERITY_ERROR_NONCRITICAL,
41391         ParserError::ERROR_ATTRIBUTE_PARSING_FAILED,
41392         HASH_ELEMENT_MULTISAMPLE_ENABLE,
41393         HASH_ATTRIBUTE_value,
41394         attributeValue))
41395 {
41396     return false;
41397 }
41398 
41399     break;
41400     }
41401     case HASH_ATTRIBUTE_param:
41402     {
41403 
41404 attributeData->param = attributeValue;
41405 #ifdef GENERATEDSAXPARSER_VALIDATION
41406     if ( mValidate )
41407     {
41408     ParserError::ErrorType simpleTypeValidationResult = validate__NCName(attributeData->param, strlen(attributeData->param));
41409     if (simpleTypeValidationResult != ParserError::SIMPLE_TYPE_VALIDATION_OK)
41410     {
41411         if( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL,
41412             simpleTypeValidationResult,
41413             HASH_ELEMENT_MULTISAMPLE_ENABLE,
41414             HASH_ATTRIBUTE_param,
41415             attributeValue) )
41416         {
41417             return false;
41418         }
41419     }
41420     } // validation
41421 #endif
41422 
41423     break;
41424     }
41425     default:
41426     {
41427         if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_UNKNOWN_ATTRIBUTE, HASH_ELEMENT_MULTISAMPLE_ENABLE, attribute, attributeValue))
41428             {return false;}
41429     }
41430     }
41431     }
41432 }
41433 
41434 
41435     return true;
41436 }
41437 
41438 //---------------------------------------------------------------------
_preEnd__profile_GLES__technique__pass__multisample_enable()41439 bool ColladaParserAutoGen14Private::_preEnd__profile_GLES__technique__pass__multisample_enable()
41440 {
41441 #ifdef GENERATEDSAXPARSER_VALIDATION
41442     if ( mValidate )
41443     {
41444 
41445         bool validationResult = _validateEnd__profile_GLES__technique__pass__multisample_enable();
41446         if ( !validationResult ) return false;
41447 
41448     } // validation
41449 #endif
41450 
41451     return true;
41452 }
41453 
41454 //---------------------------------------------------------------------
_freeAttributes__profile_GLES__technique__pass__multisample_enable(void * attributeData)41455 bool ColladaParserAutoGen14Private::_freeAttributes__profile_GLES__technique__pass__multisample_enable( void* attributeData )
41456 {
41457     profile_GLES__technique__pass__multisample_enable__AttributeData* typedAttributeData = static_cast<profile_GLES__technique__pass__multisample_enable__AttributeData*>(attributeData);
41458 
41459     typedAttributeData->~profile_GLES__technique__pass__multisample_enable__AttributeData();
41460 
41461     return true;
41462 }
41463 
41464 //---------------------------------------------------------------------
41465 const profile_GLES__technique__pass__normalize_enable__AttributeData profile_GLES__technique__pass__normalize_enable__AttributeData::DEFAULT = {false, 0};
41466 
41467 //---------------------------------------------------------------------
_data__profile_GLES__technique__pass__normalize_enable(const ParserChar * text,size_t textLength)41468 bool ColladaParserAutoGen14Private::_data__profile_GLES__technique__pass__normalize_enable( const ParserChar* text, size_t textLength )
41469 {
41470     return true;
41471 }
41472 
41473 //---------------------------------------------------------------------
_preBegin__profile_GLES__technique__pass__normalize_enable(const ParserAttributes & attributes,void ** attributeDataPtr,void ** validationDataPtr)41474 bool ColladaParserAutoGen14Private::_preBegin__profile_GLES__technique__pass__normalize_enable( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
41475 {
41476 #ifdef GENERATEDSAXPARSER_VALIDATION
41477     if ( mValidate )
41478     {
41479 
41480         bool validationResult = _validateBegin__profile_GLES__technique__pass__normalize_enable( attributes, attributeDataPtr, validationDataPtr );
41481         if ( !validationResult ) return false;
41482 
41483     } // validation
41484 #endif
41485 
41486 profile_GLES__technique__pass__normalize_enable__AttributeData* attributeData = newData<profile_GLES__technique__pass__normalize_enable__AttributeData>(attributeDataPtr);
41487 
41488 const ParserChar** attributeArray = attributes.attributes;
41489 if ( attributeArray )
41490 {
41491     while (true)
41492     {
41493         const ParserChar * attribute = *attributeArray;
41494         if ( !attribute )
41495             break;
41496         StringHash hash = GeneratedSaxParser::Utils::calculateStringHash(attribute);
41497         attributeArray++;
41498         if ( !attributeArray )
41499             return false;
41500         const ParserChar* attributeValue = *attributeArray;
41501         attributeArray++;
41502 
41503 
41504     switch ( hash )
41505     {
41506     case HASH_ATTRIBUTE_value:
41507     {
41508 bool failed;
41509 attributeData->value = GeneratedSaxParser::Utils::toBool(attributeValue, failed);
41510 if ( failed && handleError(ParserError::SEVERITY_ERROR_NONCRITICAL,
41511         ParserError::ERROR_ATTRIBUTE_PARSING_FAILED,
41512         HASH_ELEMENT_NORMALIZE_ENABLE,
41513         HASH_ATTRIBUTE_value,
41514         attributeValue))
41515 {
41516     return false;
41517 }
41518 
41519     break;
41520     }
41521     case HASH_ATTRIBUTE_param:
41522     {
41523 
41524 attributeData->param = attributeValue;
41525 #ifdef GENERATEDSAXPARSER_VALIDATION
41526     if ( mValidate )
41527     {
41528     ParserError::ErrorType simpleTypeValidationResult = validate__NCName(attributeData->param, strlen(attributeData->param));
41529     if (simpleTypeValidationResult != ParserError::SIMPLE_TYPE_VALIDATION_OK)
41530     {
41531         if( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL,
41532             simpleTypeValidationResult,
41533             HASH_ELEMENT_NORMALIZE_ENABLE,
41534             HASH_ATTRIBUTE_param,
41535             attributeValue) )
41536         {
41537             return false;
41538         }
41539     }
41540     } // validation
41541 #endif
41542 
41543     break;
41544     }
41545     default:
41546     {
41547         if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_UNKNOWN_ATTRIBUTE, HASH_ELEMENT_NORMALIZE_ENABLE, attribute, attributeValue))
41548             {return false;}
41549     }
41550     }
41551     }
41552 }
41553 
41554 
41555     return true;
41556 }
41557 
41558 //---------------------------------------------------------------------
_preEnd__profile_GLES__technique__pass__normalize_enable()41559 bool ColladaParserAutoGen14Private::_preEnd__profile_GLES__technique__pass__normalize_enable()
41560 {
41561 #ifdef GENERATEDSAXPARSER_VALIDATION
41562     if ( mValidate )
41563     {
41564 
41565         bool validationResult = _validateEnd__profile_GLES__technique__pass__normalize_enable();
41566         if ( !validationResult ) return false;
41567 
41568     } // validation
41569 #endif
41570 
41571     return true;
41572 }
41573 
41574 //---------------------------------------------------------------------
_freeAttributes__profile_GLES__technique__pass__normalize_enable(void * attributeData)41575 bool ColladaParserAutoGen14Private::_freeAttributes__profile_GLES__technique__pass__normalize_enable( void* attributeData )
41576 {
41577     profile_GLES__technique__pass__normalize_enable__AttributeData* typedAttributeData = static_cast<profile_GLES__technique__pass__normalize_enable__AttributeData*>(attributeData);
41578 
41579     typedAttributeData->~profile_GLES__technique__pass__normalize_enable__AttributeData();
41580 
41581     return true;
41582 }
41583 
41584 //---------------------------------------------------------------------
41585 const profile_GLES__technique__pass__point_smooth_enable__AttributeData profile_GLES__technique__pass__point_smooth_enable__AttributeData::DEFAULT = {false, 0};
41586 
41587 //---------------------------------------------------------------------
_data__profile_GLES__technique__pass__point_smooth_enable(const ParserChar * text,size_t textLength)41588 bool ColladaParserAutoGen14Private::_data__profile_GLES__technique__pass__point_smooth_enable( const ParserChar* text, size_t textLength )
41589 {
41590     return true;
41591 }
41592 
41593 //---------------------------------------------------------------------
_preBegin__profile_GLES__technique__pass__point_smooth_enable(const ParserAttributes & attributes,void ** attributeDataPtr,void ** validationDataPtr)41594 bool ColladaParserAutoGen14Private::_preBegin__profile_GLES__technique__pass__point_smooth_enable( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
41595 {
41596 #ifdef GENERATEDSAXPARSER_VALIDATION
41597     if ( mValidate )
41598     {
41599 
41600         bool validationResult = _validateBegin__profile_GLES__technique__pass__point_smooth_enable( attributes, attributeDataPtr, validationDataPtr );
41601         if ( !validationResult ) return false;
41602 
41603     } // validation
41604 #endif
41605 
41606 profile_GLES__technique__pass__point_smooth_enable__AttributeData* attributeData = newData<profile_GLES__technique__pass__point_smooth_enable__AttributeData>(attributeDataPtr);
41607 
41608 const ParserChar** attributeArray = attributes.attributes;
41609 if ( attributeArray )
41610 {
41611     while (true)
41612     {
41613         const ParserChar * attribute = *attributeArray;
41614         if ( !attribute )
41615             break;
41616         StringHash hash = GeneratedSaxParser::Utils::calculateStringHash(attribute);
41617         attributeArray++;
41618         if ( !attributeArray )
41619             return false;
41620         const ParserChar* attributeValue = *attributeArray;
41621         attributeArray++;
41622 
41623 
41624     switch ( hash )
41625     {
41626     case HASH_ATTRIBUTE_value:
41627     {
41628 bool failed;
41629 attributeData->value = GeneratedSaxParser::Utils::toBool(attributeValue, failed);
41630 if ( failed && handleError(ParserError::SEVERITY_ERROR_NONCRITICAL,
41631         ParserError::ERROR_ATTRIBUTE_PARSING_FAILED,
41632         HASH_ELEMENT_POINT_SMOOTH_ENABLE,
41633         HASH_ATTRIBUTE_value,
41634         attributeValue))
41635 {
41636     return false;
41637 }
41638 
41639     break;
41640     }
41641     case HASH_ATTRIBUTE_param:
41642     {
41643 
41644 attributeData->param = attributeValue;
41645 #ifdef GENERATEDSAXPARSER_VALIDATION
41646     if ( mValidate )
41647     {
41648     ParserError::ErrorType simpleTypeValidationResult = validate__NCName(attributeData->param, strlen(attributeData->param));
41649     if (simpleTypeValidationResult != ParserError::SIMPLE_TYPE_VALIDATION_OK)
41650     {
41651         if( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL,
41652             simpleTypeValidationResult,
41653             HASH_ELEMENT_POINT_SMOOTH_ENABLE,
41654             HASH_ATTRIBUTE_param,
41655             attributeValue) )
41656         {
41657             return false;
41658         }
41659     }
41660     } // validation
41661 #endif
41662 
41663     break;
41664     }
41665     default:
41666     {
41667         if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_UNKNOWN_ATTRIBUTE, HASH_ELEMENT_POINT_SMOOTH_ENABLE, attribute, attributeValue))
41668             {return false;}
41669     }
41670     }
41671     }
41672 }
41673 
41674 
41675     return true;
41676 }
41677 
41678 //---------------------------------------------------------------------
_preEnd__profile_GLES__technique__pass__point_smooth_enable()41679 bool ColladaParserAutoGen14Private::_preEnd__profile_GLES__technique__pass__point_smooth_enable()
41680 {
41681 #ifdef GENERATEDSAXPARSER_VALIDATION
41682     if ( mValidate )
41683     {
41684 
41685         bool validationResult = _validateEnd__profile_GLES__technique__pass__point_smooth_enable();
41686         if ( !validationResult ) return false;
41687 
41688     } // validation
41689 #endif
41690 
41691     return true;
41692 }
41693 
41694 //---------------------------------------------------------------------
_freeAttributes__profile_GLES__technique__pass__point_smooth_enable(void * attributeData)41695 bool ColladaParserAutoGen14Private::_freeAttributes__profile_GLES__technique__pass__point_smooth_enable( void* attributeData )
41696 {
41697     profile_GLES__technique__pass__point_smooth_enable__AttributeData* typedAttributeData = static_cast<profile_GLES__technique__pass__point_smooth_enable__AttributeData*>(attributeData);
41698 
41699     typedAttributeData->~profile_GLES__technique__pass__point_smooth_enable__AttributeData();
41700 
41701     return true;
41702 }
41703 
41704 //---------------------------------------------------------------------
41705 const profile_GLES__technique__pass__polygon_offset_fill_enable__AttributeData profile_GLES__technique__pass__polygon_offset_fill_enable__AttributeData::DEFAULT = {false, 0};
41706 
41707 //---------------------------------------------------------------------
_data__profile_GLES__technique__pass__polygon_offset_fill_enable(const ParserChar * text,size_t textLength)41708 bool ColladaParserAutoGen14Private::_data__profile_GLES__technique__pass__polygon_offset_fill_enable( const ParserChar* text, size_t textLength )
41709 {
41710     return true;
41711 }
41712 
41713 //---------------------------------------------------------------------
_preBegin__profile_GLES__technique__pass__polygon_offset_fill_enable(const ParserAttributes & attributes,void ** attributeDataPtr,void ** validationDataPtr)41714 bool ColladaParserAutoGen14Private::_preBegin__profile_GLES__technique__pass__polygon_offset_fill_enable( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
41715 {
41716 #ifdef GENERATEDSAXPARSER_VALIDATION
41717     if ( mValidate )
41718     {
41719 
41720         bool validationResult = _validateBegin__profile_GLES__technique__pass__polygon_offset_fill_enable( attributes, attributeDataPtr, validationDataPtr );
41721         if ( !validationResult ) return false;
41722 
41723     } // validation
41724 #endif
41725 
41726 profile_GLES__technique__pass__polygon_offset_fill_enable__AttributeData* attributeData = newData<profile_GLES__technique__pass__polygon_offset_fill_enable__AttributeData>(attributeDataPtr);
41727 
41728 const ParserChar** attributeArray = attributes.attributes;
41729 if ( attributeArray )
41730 {
41731     while (true)
41732     {
41733         const ParserChar * attribute = *attributeArray;
41734         if ( !attribute )
41735             break;
41736         StringHash hash = GeneratedSaxParser::Utils::calculateStringHash(attribute);
41737         attributeArray++;
41738         if ( !attributeArray )
41739             return false;
41740         const ParserChar* attributeValue = *attributeArray;
41741         attributeArray++;
41742 
41743 
41744     switch ( hash )
41745     {
41746     case HASH_ATTRIBUTE_value:
41747     {
41748 bool failed;
41749 attributeData->value = GeneratedSaxParser::Utils::toBool(attributeValue, failed);
41750 if ( failed && handleError(ParserError::SEVERITY_ERROR_NONCRITICAL,
41751         ParserError::ERROR_ATTRIBUTE_PARSING_FAILED,
41752         HASH_ELEMENT_POLYGON_OFFSET_FILL_ENABLE,
41753         HASH_ATTRIBUTE_value,
41754         attributeValue))
41755 {
41756     return false;
41757 }
41758 
41759     break;
41760     }
41761     case HASH_ATTRIBUTE_param:
41762     {
41763 
41764 attributeData->param = attributeValue;
41765 #ifdef GENERATEDSAXPARSER_VALIDATION
41766     if ( mValidate )
41767     {
41768     ParserError::ErrorType simpleTypeValidationResult = validate__NCName(attributeData->param, strlen(attributeData->param));
41769     if (simpleTypeValidationResult != ParserError::SIMPLE_TYPE_VALIDATION_OK)
41770     {
41771         if( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL,
41772             simpleTypeValidationResult,
41773             HASH_ELEMENT_POLYGON_OFFSET_FILL_ENABLE,
41774             HASH_ATTRIBUTE_param,
41775             attributeValue) )
41776         {
41777             return false;
41778         }
41779     }
41780     } // validation
41781 #endif
41782 
41783     break;
41784     }
41785     default:
41786     {
41787         if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_UNKNOWN_ATTRIBUTE, HASH_ELEMENT_POLYGON_OFFSET_FILL_ENABLE, attribute, attributeValue))
41788             {return false;}
41789     }
41790     }
41791     }
41792 }
41793 
41794 
41795     return true;
41796 }
41797 
41798 //---------------------------------------------------------------------
_preEnd__profile_GLES__technique__pass__polygon_offset_fill_enable()41799 bool ColladaParserAutoGen14Private::_preEnd__profile_GLES__technique__pass__polygon_offset_fill_enable()
41800 {
41801 #ifdef GENERATEDSAXPARSER_VALIDATION
41802     if ( mValidate )
41803     {
41804 
41805         bool validationResult = _validateEnd__profile_GLES__technique__pass__polygon_offset_fill_enable();
41806         if ( !validationResult ) return false;
41807 
41808     } // validation
41809 #endif
41810 
41811     return true;
41812 }
41813 
41814 //---------------------------------------------------------------------
_freeAttributes__profile_GLES__technique__pass__polygon_offset_fill_enable(void * attributeData)41815 bool ColladaParserAutoGen14Private::_freeAttributes__profile_GLES__technique__pass__polygon_offset_fill_enable( void* attributeData )
41816 {
41817     profile_GLES__technique__pass__polygon_offset_fill_enable__AttributeData* typedAttributeData = static_cast<profile_GLES__technique__pass__polygon_offset_fill_enable__AttributeData*>(attributeData);
41818 
41819     typedAttributeData->~profile_GLES__technique__pass__polygon_offset_fill_enable__AttributeData();
41820 
41821     return true;
41822 }
41823 
41824 //---------------------------------------------------------------------
41825 const profile_GLES__technique__pass__rescale_normal_enable__AttributeData profile_GLES__technique__pass__rescale_normal_enable__AttributeData::DEFAULT = {false, 0};
41826 
41827 //---------------------------------------------------------------------
_data__profile_GLES__technique__pass__rescale_normal_enable(const ParserChar * text,size_t textLength)41828 bool ColladaParserAutoGen14Private::_data__profile_GLES__technique__pass__rescale_normal_enable( const ParserChar* text, size_t textLength )
41829 {
41830     return true;
41831 }
41832 
41833 //---------------------------------------------------------------------
_preBegin__profile_GLES__technique__pass__rescale_normal_enable(const ParserAttributes & attributes,void ** attributeDataPtr,void ** validationDataPtr)41834 bool ColladaParserAutoGen14Private::_preBegin__profile_GLES__technique__pass__rescale_normal_enable( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
41835 {
41836 #ifdef GENERATEDSAXPARSER_VALIDATION
41837     if ( mValidate )
41838     {
41839 
41840         bool validationResult = _validateBegin__profile_GLES__technique__pass__rescale_normal_enable( attributes, attributeDataPtr, validationDataPtr );
41841         if ( !validationResult ) return false;
41842 
41843     } // validation
41844 #endif
41845 
41846 profile_GLES__technique__pass__rescale_normal_enable__AttributeData* attributeData = newData<profile_GLES__technique__pass__rescale_normal_enable__AttributeData>(attributeDataPtr);
41847 
41848 const ParserChar** attributeArray = attributes.attributes;
41849 if ( attributeArray )
41850 {
41851     while (true)
41852     {
41853         const ParserChar * attribute = *attributeArray;
41854         if ( !attribute )
41855             break;
41856         StringHash hash = GeneratedSaxParser::Utils::calculateStringHash(attribute);
41857         attributeArray++;
41858         if ( !attributeArray )
41859             return false;
41860         const ParserChar* attributeValue = *attributeArray;
41861         attributeArray++;
41862 
41863 
41864     switch ( hash )
41865     {
41866     case HASH_ATTRIBUTE_value:
41867     {
41868 bool failed;
41869 attributeData->value = GeneratedSaxParser::Utils::toBool(attributeValue, failed);
41870 if ( failed && handleError(ParserError::SEVERITY_ERROR_NONCRITICAL,
41871         ParserError::ERROR_ATTRIBUTE_PARSING_FAILED,
41872         HASH_ELEMENT_RESCALE_NORMAL_ENABLE,
41873         HASH_ATTRIBUTE_value,
41874         attributeValue))
41875 {
41876     return false;
41877 }
41878 
41879     break;
41880     }
41881     case HASH_ATTRIBUTE_param:
41882     {
41883 
41884 attributeData->param = attributeValue;
41885 #ifdef GENERATEDSAXPARSER_VALIDATION
41886     if ( mValidate )
41887     {
41888     ParserError::ErrorType simpleTypeValidationResult = validate__NCName(attributeData->param, strlen(attributeData->param));
41889     if (simpleTypeValidationResult != ParserError::SIMPLE_TYPE_VALIDATION_OK)
41890     {
41891         if( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL,
41892             simpleTypeValidationResult,
41893             HASH_ELEMENT_RESCALE_NORMAL_ENABLE,
41894             HASH_ATTRIBUTE_param,
41895             attributeValue) )
41896         {
41897             return false;
41898         }
41899     }
41900     } // validation
41901 #endif
41902 
41903     break;
41904     }
41905     default:
41906     {
41907         if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_UNKNOWN_ATTRIBUTE, HASH_ELEMENT_RESCALE_NORMAL_ENABLE, attribute, attributeValue))
41908             {return false;}
41909     }
41910     }
41911     }
41912 }
41913 
41914 
41915     return true;
41916 }
41917 
41918 //---------------------------------------------------------------------
_preEnd__profile_GLES__technique__pass__rescale_normal_enable()41919 bool ColladaParserAutoGen14Private::_preEnd__profile_GLES__technique__pass__rescale_normal_enable()
41920 {
41921 #ifdef GENERATEDSAXPARSER_VALIDATION
41922     if ( mValidate )
41923     {
41924 
41925         bool validationResult = _validateEnd__profile_GLES__technique__pass__rescale_normal_enable();
41926         if ( !validationResult ) return false;
41927 
41928     } // validation
41929 #endif
41930 
41931     return true;
41932 }
41933 
41934 //---------------------------------------------------------------------
_freeAttributes__profile_GLES__technique__pass__rescale_normal_enable(void * attributeData)41935 bool ColladaParserAutoGen14Private::_freeAttributes__profile_GLES__technique__pass__rescale_normal_enable( void* attributeData )
41936 {
41937     profile_GLES__technique__pass__rescale_normal_enable__AttributeData* typedAttributeData = static_cast<profile_GLES__technique__pass__rescale_normal_enable__AttributeData*>(attributeData);
41938 
41939     typedAttributeData->~profile_GLES__technique__pass__rescale_normal_enable__AttributeData();
41940 
41941     return true;
41942 }
41943 
41944 //---------------------------------------------------------------------
41945 const profile_GLES__technique__pass__sample_alpha_to_coverage_enable__AttributeData profile_GLES__technique__pass__sample_alpha_to_coverage_enable__AttributeData::DEFAULT = {false, 0};
41946 
41947 //---------------------------------------------------------------------
_data__profile_GLES__technique__pass__sample_alpha_to_coverage_enable(const ParserChar * text,size_t textLength)41948 bool ColladaParserAutoGen14Private::_data__profile_GLES__technique__pass__sample_alpha_to_coverage_enable( const ParserChar* text, size_t textLength )
41949 {
41950     return true;
41951 }
41952 
41953 //---------------------------------------------------------------------
_preBegin__profile_GLES__technique__pass__sample_alpha_to_coverage_enable(const ParserAttributes & attributes,void ** attributeDataPtr,void ** validationDataPtr)41954 bool ColladaParserAutoGen14Private::_preBegin__profile_GLES__technique__pass__sample_alpha_to_coverage_enable( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
41955 {
41956 #ifdef GENERATEDSAXPARSER_VALIDATION
41957     if ( mValidate )
41958     {
41959 
41960         bool validationResult = _validateBegin__profile_GLES__technique__pass__sample_alpha_to_coverage_enable( attributes, attributeDataPtr, validationDataPtr );
41961         if ( !validationResult ) return false;
41962 
41963     } // validation
41964 #endif
41965 
41966 profile_GLES__technique__pass__sample_alpha_to_coverage_enable__AttributeData* attributeData = newData<profile_GLES__technique__pass__sample_alpha_to_coverage_enable__AttributeData>(attributeDataPtr);
41967 
41968 const ParserChar** attributeArray = attributes.attributes;
41969 if ( attributeArray )
41970 {
41971     while (true)
41972     {
41973         const ParserChar * attribute = *attributeArray;
41974         if ( !attribute )
41975             break;
41976         StringHash hash = GeneratedSaxParser::Utils::calculateStringHash(attribute);
41977         attributeArray++;
41978         if ( !attributeArray )
41979             return false;
41980         const ParserChar* attributeValue = *attributeArray;
41981         attributeArray++;
41982 
41983 
41984     switch ( hash )
41985     {
41986     case HASH_ATTRIBUTE_value:
41987     {
41988 bool failed;
41989 attributeData->value = GeneratedSaxParser::Utils::toBool(attributeValue, failed);
41990 if ( failed && handleError(ParserError::SEVERITY_ERROR_NONCRITICAL,
41991         ParserError::ERROR_ATTRIBUTE_PARSING_FAILED,
41992         HASH_ELEMENT_SAMPLE_ALPHA_TO_COVERAGE_ENABLE,
41993         HASH_ATTRIBUTE_value,
41994         attributeValue))
41995 {
41996     return false;
41997 }
41998 
41999     break;
42000     }
42001     case HASH_ATTRIBUTE_param:
42002     {
42003 
42004 attributeData->param = attributeValue;
42005 #ifdef GENERATEDSAXPARSER_VALIDATION
42006     if ( mValidate )
42007     {
42008     ParserError::ErrorType simpleTypeValidationResult = validate__NCName(attributeData->param, strlen(attributeData->param));
42009     if (simpleTypeValidationResult != ParserError::SIMPLE_TYPE_VALIDATION_OK)
42010     {
42011         if( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL,
42012             simpleTypeValidationResult,
42013             HASH_ELEMENT_SAMPLE_ALPHA_TO_COVERAGE_ENABLE,
42014             HASH_ATTRIBUTE_param,
42015             attributeValue) )
42016         {
42017             return false;
42018         }
42019     }
42020     } // validation
42021 #endif
42022 
42023     break;
42024     }
42025     default:
42026     {
42027         if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_UNKNOWN_ATTRIBUTE, HASH_ELEMENT_SAMPLE_ALPHA_TO_COVERAGE_ENABLE, attribute, attributeValue))
42028             {return false;}
42029     }
42030     }
42031     }
42032 }
42033 
42034 
42035     return true;
42036 }
42037 
42038 //---------------------------------------------------------------------
_preEnd__profile_GLES__technique__pass__sample_alpha_to_coverage_enable()42039 bool ColladaParserAutoGen14Private::_preEnd__profile_GLES__technique__pass__sample_alpha_to_coverage_enable()
42040 {
42041 #ifdef GENERATEDSAXPARSER_VALIDATION
42042     if ( mValidate )
42043     {
42044 
42045         bool validationResult = _validateEnd__profile_GLES__technique__pass__sample_alpha_to_coverage_enable();
42046         if ( !validationResult ) return false;
42047 
42048     } // validation
42049 #endif
42050 
42051     return true;
42052 }
42053 
42054 //---------------------------------------------------------------------
_freeAttributes__profile_GLES__technique__pass__sample_alpha_to_coverage_enable(void * attributeData)42055 bool ColladaParserAutoGen14Private::_freeAttributes__profile_GLES__technique__pass__sample_alpha_to_coverage_enable( void* attributeData )
42056 {
42057     profile_GLES__technique__pass__sample_alpha_to_coverage_enable__AttributeData* typedAttributeData = static_cast<profile_GLES__technique__pass__sample_alpha_to_coverage_enable__AttributeData*>(attributeData);
42058 
42059     typedAttributeData->~profile_GLES__technique__pass__sample_alpha_to_coverage_enable__AttributeData();
42060 
42061     return true;
42062 }
42063 
42064 //---------------------------------------------------------------------
42065 const profile_GLES__technique__pass__sample_alpha_to_one_enable__AttributeData profile_GLES__technique__pass__sample_alpha_to_one_enable__AttributeData::DEFAULT = {false, 0};
42066 
42067 //---------------------------------------------------------------------
_data__profile_GLES__technique__pass__sample_alpha_to_one_enable(const ParserChar * text,size_t textLength)42068 bool ColladaParserAutoGen14Private::_data__profile_GLES__technique__pass__sample_alpha_to_one_enable( const ParserChar* text, size_t textLength )
42069 {
42070     return true;
42071 }
42072 
42073 //---------------------------------------------------------------------
_preBegin__profile_GLES__technique__pass__sample_alpha_to_one_enable(const ParserAttributes & attributes,void ** attributeDataPtr,void ** validationDataPtr)42074 bool ColladaParserAutoGen14Private::_preBegin__profile_GLES__technique__pass__sample_alpha_to_one_enable( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
42075 {
42076 #ifdef GENERATEDSAXPARSER_VALIDATION
42077     if ( mValidate )
42078     {
42079 
42080         bool validationResult = _validateBegin__profile_GLES__technique__pass__sample_alpha_to_one_enable( attributes, attributeDataPtr, validationDataPtr );
42081         if ( !validationResult ) return false;
42082 
42083     } // validation
42084 #endif
42085 
42086 profile_GLES__technique__pass__sample_alpha_to_one_enable__AttributeData* attributeData = newData<profile_GLES__technique__pass__sample_alpha_to_one_enable__AttributeData>(attributeDataPtr);
42087 
42088 const ParserChar** attributeArray = attributes.attributes;
42089 if ( attributeArray )
42090 {
42091     while (true)
42092     {
42093         const ParserChar * attribute = *attributeArray;
42094         if ( !attribute )
42095             break;
42096         StringHash hash = GeneratedSaxParser::Utils::calculateStringHash(attribute);
42097         attributeArray++;
42098         if ( !attributeArray )
42099             return false;
42100         const ParserChar* attributeValue = *attributeArray;
42101         attributeArray++;
42102 
42103 
42104     switch ( hash )
42105     {
42106     case HASH_ATTRIBUTE_value:
42107     {
42108 bool failed;
42109 attributeData->value = GeneratedSaxParser::Utils::toBool(attributeValue, failed);
42110 if ( failed && handleError(ParserError::SEVERITY_ERROR_NONCRITICAL,
42111         ParserError::ERROR_ATTRIBUTE_PARSING_FAILED,
42112         HASH_ELEMENT_SAMPLE_ALPHA_TO_ONE_ENABLE,
42113         HASH_ATTRIBUTE_value,
42114         attributeValue))
42115 {
42116     return false;
42117 }
42118 
42119     break;
42120     }
42121     case HASH_ATTRIBUTE_param:
42122     {
42123 
42124 attributeData->param = attributeValue;
42125 #ifdef GENERATEDSAXPARSER_VALIDATION
42126     if ( mValidate )
42127     {
42128     ParserError::ErrorType simpleTypeValidationResult = validate__NCName(attributeData->param, strlen(attributeData->param));
42129     if (simpleTypeValidationResult != ParserError::SIMPLE_TYPE_VALIDATION_OK)
42130     {
42131         if( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL,
42132             simpleTypeValidationResult,
42133             HASH_ELEMENT_SAMPLE_ALPHA_TO_ONE_ENABLE,
42134             HASH_ATTRIBUTE_param,
42135             attributeValue) )
42136         {
42137             return false;
42138         }
42139     }
42140     } // validation
42141 #endif
42142 
42143     break;
42144     }
42145     default:
42146     {
42147         if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_UNKNOWN_ATTRIBUTE, HASH_ELEMENT_SAMPLE_ALPHA_TO_ONE_ENABLE, attribute, attributeValue))
42148             {return false;}
42149     }
42150     }
42151     }
42152 }
42153 
42154 
42155     return true;
42156 }
42157 
42158 //---------------------------------------------------------------------
_preEnd__profile_GLES__technique__pass__sample_alpha_to_one_enable()42159 bool ColladaParserAutoGen14Private::_preEnd__profile_GLES__technique__pass__sample_alpha_to_one_enable()
42160 {
42161 #ifdef GENERATEDSAXPARSER_VALIDATION
42162     if ( mValidate )
42163     {
42164 
42165         bool validationResult = _validateEnd__profile_GLES__technique__pass__sample_alpha_to_one_enable();
42166         if ( !validationResult ) return false;
42167 
42168     } // validation
42169 #endif
42170 
42171     return true;
42172 }
42173 
42174 //---------------------------------------------------------------------
_freeAttributes__profile_GLES__technique__pass__sample_alpha_to_one_enable(void * attributeData)42175 bool ColladaParserAutoGen14Private::_freeAttributes__profile_GLES__technique__pass__sample_alpha_to_one_enable( void* attributeData )
42176 {
42177     profile_GLES__technique__pass__sample_alpha_to_one_enable__AttributeData* typedAttributeData = static_cast<profile_GLES__technique__pass__sample_alpha_to_one_enable__AttributeData*>(attributeData);
42178 
42179     typedAttributeData->~profile_GLES__technique__pass__sample_alpha_to_one_enable__AttributeData();
42180 
42181     return true;
42182 }
42183 
42184 //---------------------------------------------------------------------
42185 const profile_GLES__technique__pass__sample_coverage_enable__AttributeData profile_GLES__technique__pass__sample_coverage_enable__AttributeData::DEFAULT = {false, 0};
42186 
42187 //---------------------------------------------------------------------
_data__profile_GLES__technique__pass__sample_coverage_enable(const ParserChar * text,size_t textLength)42188 bool ColladaParserAutoGen14Private::_data__profile_GLES__technique__pass__sample_coverage_enable( const ParserChar* text, size_t textLength )
42189 {
42190     return true;
42191 }
42192 
42193 //---------------------------------------------------------------------
_preBegin__profile_GLES__technique__pass__sample_coverage_enable(const ParserAttributes & attributes,void ** attributeDataPtr,void ** validationDataPtr)42194 bool ColladaParserAutoGen14Private::_preBegin__profile_GLES__technique__pass__sample_coverage_enable( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
42195 {
42196 #ifdef GENERATEDSAXPARSER_VALIDATION
42197     if ( mValidate )
42198     {
42199 
42200         bool validationResult = _validateBegin__profile_GLES__technique__pass__sample_coverage_enable( attributes, attributeDataPtr, validationDataPtr );
42201         if ( !validationResult ) return false;
42202 
42203     } // validation
42204 #endif
42205 
42206 profile_GLES__technique__pass__sample_coverage_enable__AttributeData* attributeData = newData<profile_GLES__technique__pass__sample_coverage_enable__AttributeData>(attributeDataPtr);
42207 
42208 const ParserChar** attributeArray = attributes.attributes;
42209 if ( attributeArray )
42210 {
42211     while (true)
42212     {
42213         const ParserChar * attribute = *attributeArray;
42214         if ( !attribute )
42215             break;
42216         StringHash hash = GeneratedSaxParser::Utils::calculateStringHash(attribute);
42217         attributeArray++;
42218         if ( !attributeArray )
42219             return false;
42220         const ParserChar* attributeValue = *attributeArray;
42221         attributeArray++;
42222 
42223 
42224     switch ( hash )
42225     {
42226     case HASH_ATTRIBUTE_value:
42227     {
42228 bool failed;
42229 attributeData->value = GeneratedSaxParser::Utils::toBool(attributeValue, failed);
42230 if ( failed && handleError(ParserError::SEVERITY_ERROR_NONCRITICAL,
42231         ParserError::ERROR_ATTRIBUTE_PARSING_FAILED,
42232         HASH_ELEMENT_SAMPLE_COVERAGE_ENABLE,
42233         HASH_ATTRIBUTE_value,
42234         attributeValue))
42235 {
42236     return false;
42237 }
42238 
42239     break;
42240     }
42241     case HASH_ATTRIBUTE_param:
42242     {
42243 
42244 attributeData->param = attributeValue;
42245 #ifdef GENERATEDSAXPARSER_VALIDATION
42246     if ( mValidate )
42247     {
42248     ParserError::ErrorType simpleTypeValidationResult = validate__NCName(attributeData->param, strlen(attributeData->param));
42249     if (simpleTypeValidationResult != ParserError::SIMPLE_TYPE_VALIDATION_OK)
42250     {
42251         if( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL,
42252             simpleTypeValidationResult,
42253             HASH_ELEMENT_SAMPLE_COVERAGE_ENABLE,
42254             HASH_ATTRIBUTE_param,
42255             attributeValue) )
42256         {
42257             return false;
42258         }
42259     }
42260     } // validation
42261 #endif
42262 
42263     break;
42264     }
42265     default:
42266     {
42267         if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_UNKNOWN_ATTRIBUTE, HASH_ELEMENT_SAMPLE_COVERAGE_ENABLE, attribute, attributeValue))
42268             {return false;}
42269     }
42270     }
42271     }
42272 }
42273 
42274 
42275     return true;
42276 }
42277 
42278 //---------------------------------------------------------------------
_preEnd__profile_GLES__technique__pass__sample_coverage_enable()42279 bool ColladaParserAutoGen14Private::_preEnd__profile_GLES__technique__pass__sample_coverage_enable()
42280 {
42281 #ifdef GENERATEDSAXPARSER_VALIDATION
42282     if ( mValidate )
42283     {
42284 
42285         bool validationResult = _validateEnd__profile_GLES__technique__pass__sample_coverage_enable();
42286         if ( !validationResult ) return false;
42287 
42288     } // validation
42289 #endif
42290 
42291     return true;
42292 }
42293 
42294 //---------------------------------------------------------------------
_freeAttributes__profile_GLES__technique__pass__sample_coverage_enable(void * attributeData)42295 bool ColladaParserAutoGen14Private::_freeAttributes__profile_GLES__technique__pass__sample_coverage_enable( void* attributeData )
42296 {
42297     profile_GLES__technique__pass__sample_coverage_enable__AttributeData* typedAttributeData = static_cast<profile_GLES__technique__pass__sample_coverage_enable__AttributeData*>(attributeData);
42298 
42299     typedAttributeData->~profile_GLES__technique__pass__sample_coverage_enable__AttributeData();
42300 
42301     return true;
42302 }
42303 
42304 //---------------------------------------------------------------------
42305 const profile_GLES__technique__pass__scissor_test_enable__AttributeData profile_GLES__technique__pass__scissor_test_enable__AttributeData::DEFAULT = {false, 0};
42306 
42307 //---------------------------------------------------------------------
_data__profile_GLES__technique__pass__scissor_test_enable(const ParserChar * text,size_t textLength)42308 bool ColladaParserAutoGen14Private::_data__profile_GLES__technique__pass__scissor_test_enable( const ParserChar* text, size_t textLength )
42309 {
42310     return true;
42311 }
42312 
42313 //---------------------------------------------------------------------
_preBegin__profile_GLES__technique__pass__scissor_test_enable(const ParserAttributes & attributes,void ** attributeDataPtr,void ** validationDataPtr)42314 bool ColladaParserAutoGen14Private::_preBegin__profile_GLES__technique__pass__scissor_test_enable( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
42315 {
42316 #ifdef GENERATEDSAXPARSER_VALIDATION
42317     if ( mValidate )
42318     {
42319 
42320         bool validationResult = _validateBegin__profile_GLES__technique__pass__scissor_test_enable( attributes, attributeDataPtr, validationDataPtr );
42321         if ( !validationResult ) return false;
42322 
42323     } // validation
42324 #endif
42325 
42326 profile_GLES__technique__pass__scissor_test_enable__AttributeData* attributeData = newData<profile_GLES__technique__pass__scissor_test_enable__AttributeData>(attributeDataPtr);
42327 
42328 const ParserChar** attributeArray = attributes.attributes;
42329 if ( attributeArray )
42330 {
42331     while (true)
42332     {
42333         const ParserChar * attribute = *attributeArray;
42334         if ( !attribute )
42335             break;
42336         StringHash hash = GeneratedSaxParser::Utils::calculateStringHash(attribute);
42337         attributeArray++;
42338         if ( !attributeArray )
42339             return false;
42340         const ParserChar* attributeValue = *attributeArray;
42341         attributeArray++;
42342 
42343 
42344     switch ( hash )
42345     {
42346     case HASH_ATTRIBUTE_value:
42347     {
42348 bool failed;
42349 attributeData->value = GeneratedSaxParser::Utils::toBool(attributeValue, failed);
42350 if ( failed && handleError(ParserError::SEVERITY_ERROR_NONCRITICAL,
42351         ParserError::ERROR_ATTRIBUTE_PARSING_FAILED,
42352         HASH_ELEMENT_SCISSOR_TEST_ENABLE,
42353         HASH_ATTRIBUTE_value,
42354         attributeValue))
42355 {
42356     return false;
42357 }
42358 
42359     break;
42360     }
42361     case HASH_ATTRIBUTE_param:
42362     {
42363 
42364 attributeData->param = attributeValue;
42365 #ifdef GENERATEDSAXPARSER_VALIDATION
42366     if ( mValidate )
42367     {
42368     ParserError::ErrorType simpleTypeValidationResult = validate__NCName(attributeData->param, strlen(attributeData->param));
42369     if (simpleTypeValidationResult != ParserError::SIMPLE_TYPE_VALIDATION_OK)
42370     {
42371         if( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL,
42372             simpleTypeValidationResult,
42373             HASH_ELEMENT_SCISSOR_TEST_ENABLE,
42374             HASH_ATTRIBUTE_param,
42375             attributeValue) )
42376         {
42377             return false;
42378         }
42379     }
42380     } // validation
42381 #endif
42382 
42383     break;
42384     }
42385     default:
42386     {
42387         if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_UNKNOWN_ATTRIBUTE, HASH_ELEMENT_SCISSOR_TEST_ENABLE, attribute, attributeValue))
42388             {return false;}
42389     }
42390     }
42391     }
42392 }
42393 
42394 
42395     return true;
42396 }
42397 
42398 //---------------------------------------------------------------------
_preEnd__profile_GLES__technique__pass__scissor_test_enable()42399 bool ColladaParserAutoGen14Private::_preEnd__profile_GLES__technique__pass__scissor_test_enable()
42400 {
42401 #ifdef GENERATEDSAXPARSER_VALIDATION
42402     if ( mValidate )
42403     {
42404 
42405         bool validationResult = _validateEnd__profile_GLES__technique__pass__scissor_test_enable();
42406         if ( !validationResult ) return false;
42407 
42408     } // validation
42409 #endif
42410 
42411     return true;
42412 }
42413 
42414 //---------------------------------------------------------------------
_freeAttributes__profile_GLES__technique__pass__scissor_test_enable(void * attributeData)42415 bool ColladaParserAutoGen14Private::_freeAttributes__profile_GLES__technique__pass__scissor_test_enable( void* attributeData )
42416 {
42417     profile_GLES__technique__pass__scissor_test_enable__AttributeData* typedAttributeData = static_cast<profile_GLES__technique__pass__scissor_test_enable__AttributeData*>(attributeData);
42418 
42419     typedAttributeData->~profile_GLES__technique__pass__scissor_test_enable__AttributeData();
42420 
42421     return true;
42422 }
42423 
42424 //---------------------------------------------------------------------
42425 const profile_GLES__technique__pass__stencil_test_enable__AttributeData profile_GLES__technique__pass__stencil_test_enable__AttributeData::DEFAULT = {false, 0};
42426 
42427 //---------------------------------------------------------------------
_data__profile_GLES__technique__pass__stencil_test_enable(const ParserChar * text,size_t textLength)42428 bool ColladaParserAutoGen14Private::_data__profile_GLES__technique__pass__stencil_test_enable( const ParserChar* text, size_t textLength )
42429 {
42430     return true;
42431 }
42432 
42433 //---------------------------------------------------------------------
_preBegin__profile_GLES__technique__pass__stencil_test_enable(const ParserAttributes & attributes,void ** attributeDataPtr,void ** validationDataPtr)42434 bool ColladaParserAutoGen14Private::_preBegin__profile_GLES__technique__pass__stencil_test_enable( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
42435 {
42436 #ifdef GENERATEDSAXPARSER_VALIDATION
42437     if ( mValidate )
42438     {
42439 
42440         bool validationResult = _validateBegin__profile_GLES__technique__pass__stencil_test_enable( attributes, attributeDataPtr, validationDataPtr );
42441         if ( !validationResult ) return false;
42442 
42443     } // validation
42444 #endif
42445 
42446 profile_GLES__technique__pass__stencil_test_enable__AttributeData* attributeData = newData<profile_GLES__technique__pass__stencil_test_enable__AttributeData>(attributeDataPtr);
42447 
42448 const ParserChar** attributeArray = attributes.attributes;
42449 if ( attributeArray )
42450 {
42451     while (true)
42452     {
42453         const ParserChar * attribute = *attributeArray;
42454         if ( !attribute )
42455             break;
42456         StringHash hash = GeneratedSaxParser::Utils::calculateStringHash(attribute);
42457         attributeArray++;
42458         if ( !attributeArray )
42459             return false;
42460         const ParserChar* attributeValue = *attributeArray;
42461         attributeArray++;
42462 
42463 
42464     switch ( hash )
42465     {
42466     case HASH_ATTRIBUTE_value:
42467     {
42468 bool failed;
42469 attributeData->value = GeneratedSaxParser::Utils::toBool(attributeValue, failed);
42470 if ( failed && handleError(ParserError::SEVERITY_ERROR_NONCRITICAL,
42471         ParserError::ERROR_ATTRIBUTE_PARSING_FAILED,
42472         HASH_ELEMENT_STENCIL_TEST_ENABLE,
42473         HASH_ATTRIBUTE_value,
42474         attributeValue))
42475 {
42476     return false;
42477 }
42478 
42479     break;
42480     }
42481     case HASH_ATTRIBUTE_param:
42482     {
42483 
42484 attributeData->param = attributeValue;
42485 #ifdef GENERATEDSAXPARSER_VALIDATION
42486     if ( mValidate )
42487     {
42488     ParserError::ErrorType simpleTypeValidationResult = validate__NCName(attributeData->param, strlen(attributeData->param));
42489     if (simpleTypeValidationResult != ParserError::SIMPLE_TYPE_VALIDATION_OK)
42490     {
42491         if( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL,
42492             simpleTypeValidationResult,
42493             HASH_ELEMENT_STENCIL_TEST_ENABLE,
42494             HASH_ATTRIBUTE_param,
42495             attributeValue) )
42496         {
42497             return false;
42498         }
42499     }
42500     } // validation
42501 #endif
42502 
42503     break;
42504     }
42505     default:
42506     {
42507         if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_UNKNOWN_ATTRIBUTE, HASH_ELEMENT_STENCIL_TEST_ENABLE, attribute, attributeValue))
42508             {return false;}
42509     }
42510     }
42511     }
42512 }
42513 
42514 
42515     return true;
42516 }
42517 
42518 //---------------------------------------------------------------------
_preEnd__profile_GLES__technique__pass__stencil_test_enable()42519 bool ColladaParserAutoGen14Private::_preEnd__profile_GLES__technique__pass__stencil_test_enable()
42520 {
42521 #ifdef GENERATEDSAXPARSER_VALIDATION
42522     if ( mValidate )
42523     {
42524 
42525         bool validationResult = _validateEnd__profile_GLES__technique__pass__stencil_test_enable();
42526         if ( !validationResult ) return false;
42527 
42528     } // validation
42529 #endif
42530 
42531     return true;
42532 }
42533 
42534 //---------------------------------------------------------------------
_freeAttributes__profile_GLES__technique__pass__stencil_test_enable(void * attributeData)42535 bool ColladaParserAutoGen14Private::_freeAttributes__profile_GLES__technique__pass__stencil_test_enable( void* attributeData )
42536 {
42537     profile_GLES__technique__pass__stencil_test_enable__AttributeData* typedAttributeData = static_cast<profile_GLES__technique__pass__stencil_test_enable__AttributeData*>(attributeData);
42538 
42539     typedAttributeData->~profile_GLES__technique__pass__stencil_test_enable__AttributeData();
42540 
42541     return true;
42542 }
42543 
42544 //---------------------------------------------------------------------
_data__size____float3(const ParserChar * text,size_t textLength)42545 bool ColladaParserAutoGen14Private::_data__size____float3( const ParserChar* text, size_t textLength )
42546 {
42547 #ifdef GENERATEDSAXPARSER_VALIDATION
42548     if ( mValidate )
42549     {
42550         float3____float3__ValidationData* validationData = (float3____float3__ValidationData*)mValidationDataStack.top();
42551         DISABLE_WARNING_UNUSED(validationData)
42552 return characterData2FloatData(text, textLength, &ColladaParserAutoGen14::data__size____float3, &validate__float3__stream, &validationData->validationWholeSize, 0);
42553     }
42554     else
42555     {
42556 return characterData2FloatData(text, textLength, &ColladaParserAutoGen14::data__size____float3);
42557     }
42558 #else
42559     {
42560 return characterData2FloatData(text, textLength, &ColladaParserAutoGen14::data__size____float3);
42561     } // validation
42562 #endif
42563 
42564 }
42565 
42566 //---------------------------------------------------------------------
_preBegin__size____float3(const ParserAttributes & attributes,void ** attributeDataPtr,void ** validationDataPtr)42567 bool ColladaParserAutoGen14Private::_preBegin__size____float3( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
42568 {
42569 #ifdef GENERATEDSAXPARSER_VALIDATION
42570     if ( mValidate )
42571     {
42572 
42573         bool validationResult = _validateBegin__size____float3( attributes, attributeDataPtr, validationDataPtr );
42574         if ( !validationResult ) return false;
42575 
42576     } // validation
42577 #endif
42578 
42579     return true;
42580 }
42581 
42582 //---------------------------------------------------------------------
_preEnd__size____float3()42583 bool ColladaParserAutoGen14Private::_preEnd__size____float3()
42584 {
42585 #ifdef GENERATEDSAXPARSER_VALIDATION
42586     if ( mValidate )
42587     {
42588 
42589         bool validationResult = _validateEnd__size____float3();
42590         if ( !validationResult ) return false;
42591 
42592     } // validation
42593 #endif
42594 
42595 #ifdef GENERATEDSAXPARSER_VALIDATION
42596     if ( mValidate )
42597     {
42598         float3____float3__ValidationData* validationData = (float3____float3__ValidationData*)mValidationDataStack.top();
42599         DISABLE_WARNING_UNUSED(validationData)
42600 bool returnValue = floatDataEnd( &ColladaParserAutoGen14::data__size____float3, &validate__float3__streamEnd, &validationData->validationWholeSize, 0 );
42601         ParserError::ErrorType simpleTypeValidationResult = validate__float3(0, (*(&validationData->validationWholeSize)));
42602         mValidationDataStack.deleteObject();
42603         if (simpleTypeValidationResult != ParserError::SIMPLE_TYPE_VALIDATION_OK)
42604         {
42605             if( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL,
42606                 simpleTypeValidationResult,
42607                 HASH_ELEMENT_SIZE,
42608                 (ParserChar*)0, 0 ) )
42609             {
42610                 return false;
42611             }
42612         }
42613         return returnValue;
42614     }
42615     else
42616     {
42617 return floatDataEnd( &ColladaParserAutoGen14::data__size____float3 );
42618     }
42619 #else
42620     {
42621 return floatDataEnd( &ColladaParserAutoGen14::data__size____float3 );
42622     } // validation
42623 #endif
42624 
42625 }
42626 
42627 //---------------------------------------------------------------------
_freeAttributes__size____float3(void * attributeData)42628 bool ColladaParserAutoGen14Private::_freeAttributes__size____float3( void* attributeData )
42629 {
42630     return true;
42631 }
42632 
42633 //---------------------------------------------------------------------
42634 const profile_GLSL__AttributeData profile_GLSL__AttributeData::DEFAULT = {0};
42635 
42636 //---------------------------------------------------------------------
_data__profile_GLSL(const ParserChar * text,size_t textLength)42637 bool ColladaParserAutoGen14Private::_data__profile_GLSL( const ParserChar* text, size_t textLength )
42638 {
42639     return true;
42640 }
42641 
42642 //---------------------------------------------------------------------
_preBegin__profile_GLSL(const ParserAttributes & attributes,void ** attributeDataPtr,void ** validationDataPtr)42643 bool ColladaParserAutoGen14Private::_preBegin__profile_GLSL( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
42644 {
42645 #ifdef GENERATEDSAXPARSER_VALIDATION
42646     if ( mValidate )
42647     {
42648 
42649         bool validationResult = _validateBegin__profile_GLSL( attributes, attributeDataPtr, validationDataPtr );
42650         if ( !validationResult ) return false;
42651 
42652     } // validation
42653 #endif
42654 
42655 profile_GLSL__AttributeData* attributeData = newData<profile_GLSL__AttributeData>(attributeDataPtr);
42656 
42657 const ParserChar** attributeArray = attributes.attributes;
42658 if ( attributeArray )
42659 {
42660     while (true)
42661     {
42662         const ParserChar * attribute = *attributeArray;
42663         if ( !attribute )
42664             break;
42665         StringHash hash = GeneratedSaxParser::Utils::calculateStringHash(attribute);
42666         attributeArray++;
42667         if ( !attributeArray )
42668             return false;
42669         const ParserChar* attributeValue = *attributeArray;
42670         attributeArray++;
42671 
42672 
42673     switch ( hash )
42674     {
42675     case HASH_ATTRIBUTE_id:
42676     {
42677 
42678 attributeData->id = attributeValue;
42679 
42680     break;
42681     }
42682     default:
42683     {
42684         if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_UNKNOWN_ATTRIBUTE, HASH_ELEMENT_PROFILE_GLSL, attribute, attributeValue))
42685             {return false;}
42686     }
42687     }
42688     }
42689 }
42690 
42691 
42692     return true;
42693 }
42694 
42695 //---------------------------------------------------------------------
_preEnd__profile_GLSL()42696 bool ColladaParserAutoGen14Private::_preEnd__profile_GLSL()
42697 {
42698 #ifdef GENERATEDSAXPARSER_VALIDATION
42699     if ( mValidate )
42700     {
42701 
42702         bool validationResult = _validateEnd__profile_GLSL();
42703         if ( !validationResult ) return false;
42704 
42705     } // validation
42706 #endif
42707 
42708     return true;
42709 }
42710 
42711 //---------------------------------------------------------------------
_freeAttributes__profile_GLSL(void * attributeData)42712 bool ColladaParserAutoGen14Private::_freeAttributes__profile_GLSL( void* attributeData )
42713 {
42714     profile_GLSL__AttributeData* typedAttributeData = static_cast<profile_GLSL__AttributeData*>(attributeData);
42715 
42716     typedAttributeData->~profile_GLSL__AttributeData();
42717 
42718     return true;
42719 }
42720 
42721 //---------------------------------------------------------------------
42722 const code__AttributeData code__AttributeData::DEFAULT = {0};
42723 
42724 //---------------------------------------------------------------------
_data__code(const ParserChar * text,size_t textLength)42725 bool ColladaParserAutoGen14Private::_data__code( const ParserChar* text, size_t textLength )
42726 {
42727 
42728 return mImpl->data__code(text, textLength);
42729 }
42730 
42731 //---------------------------------------------------------------------
_preBegin__code(const ParserAttributes & attributes,void ** attributeDataPtr,void ** validationDataPtr)42732 bool ColladaParserAutoGen14Private::_preBegin__code( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
42733 {
42734 #ifdef GENERATEDSAXPARSER_VALIDATION
42735     if ( mValidate )
42736     {
42737 
42738         bool validationResult = _validateBegin__code( attributes, attributeDataPtr, validationDataPtr );
42739         if ( !validationResult ) return false;
42740 
42741     } // validation
42742 #endif
42743 
42744 code__AttributeData* attributeData = newData<code__AttributeData>(attributeDataPtr);
42745 
42746 const ParserChar** attributeArray = attributes.attributes;
42747 if ( attributeArray )
42748 {
42749     while (true)
42750     {
42751         const ParserChar * attribute = *attributeArray;
42752         if ( !attribute )
42753             break;
42754         StringHash hash = GeneratedSaxParser::Utils::calculateStringHash(attribute);
42755         attributeArray++;
42756         if ( !attributeArray )
42757             return false;
42758         const ParserChar* attributeValue = *attributeArray;
42759         attributeArray++;
42760 
42761 
42762     switch ( hash )
42763     {
42764     case HASH_ATTRIBUTE_sid:
42765     {
42766 
42767 attributeData->sid = attributeValue;
42768 #ifdef GENERATEDSAXPARSER_VALIDATION
42769     if ( mValidate )
42770     {
42771     ParserError::ErrorType simpleTypeValidationResult = validate__NCName(attributeData->sid, strlen(attributeData->sid));
42772     if (simpleTypeValidationResult != ParserError::SIMPLE_TYPE_VALIDATION_OK)
42773     {
42774         if( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL,
42775             simpleTypeValidationResult,
42776             HASH_ELEMENT_CODE,
42777             HASH_ATTRIBUTE_sid,
42778             attributeValue) )
42779         {
42780             return false;
42781         }
42782     }
42783     } // validation
42784 #endif
42785 
42786     break;
42787     }
42788     default:
42789     {
42790         if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_UNKNOWN_ATTRIBUTE, HASH_ELEMENT_CODE, attribute, attributeValue))
42791             {return false;}
42792     }
42793     }
42794     }
42795 }
42796 
42797 
42798     return true;
42799 }
42800 
42801 //---------------------------------------------------------------------
_preEnd__code()42802 bool ColladaParserAutoGen14Private::_preEnd__code()
42803 {
42804 #ifdef GENERATEDSAXPARSER_VALIDATION
42805     if ( mValidate )
42806     {
42807 
42808         bool validationResult = _validateEnd__code();
42809         if ( !validationResult ) return false;
42810 
42811     } // validation
42812 #endif
42813 
42814     return true;
42815 }
42816 
42817 //---------------------------------------------------------------------
_freeAttributes__code(void * attributeData)42818 bool ColladaParserAutoGen14Private::_freeAttributes__code( void* attributeData )
42819 {
42820     code__AttributeData* typedAttributeData = static_cast<code__AttributeData*>(attributeData);
42821 
42822     typedAttributeData->~code__AttributeData();
42823 
42824     return true;
42825 }
42826 
42827 //---------------------------------------------------------------------
42828 const include__AttributeData include__AttributeData::DEFAULT = {0, 0, 0};
42829 
42830 //---------------------------------------------------------------------
_data__include(const ParserChar * text,size_t textLength)42831 bool ColladaParserAutoGen14Private::_data__include( const ParserChar* text, size_t textLength )
42832 {
42833     return true;
42834 }
42835 
42836 //---------------------------------------------------------------------
_preBegin__include(const ParserAttributes & attributes,void ** attributeDataPtr,void ** validationDataPtr)42837 bool ColladaParserAutoGen14Private::_preBegin__include( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
42838 {
42839 #ifdef GENERATEDSAXPARSER_VALIDATION
42840     if ( mValidate )
42841     {
42842 
42843         bool validationResult = _validateBegin__include( attributes, attributeDataPtr, validationDataPtr );
42844         if ( !validationResult ) return false;
42845 
42846     } // validation
42847 #endif
42848 
42849 include__AttributeData* attributeData = newData<include__AttributeData>(attributeDataPtr);
42850 
42851 const ParserChar** attributeArray = attributes.attributes;
42852 if ( attributeArray )
42853 {
42854     while (true)
42855     {
42856         const ParserChar * attribute = *attributeArray;
42857         if ( !attribute )
42858             break;
42859         StringHash hash = GeneratedSaxParser::Utils::calculateStringHash(attribute);
42860         attributeArray++;
42861         if ( !attributeArray )
42862             return false;
42863         const ParserChar* attributeValue = *attributeArray;
42864         attributeArray++;
42865 
42866 
42867     switch ( hash )
42868     {
42869     case HASH_ATTRIBUTE_sid:
42870     {
42871 
42872 attributeData->sid = attributeValue;
42873 #ifdef GENERATEDSAXPARSER_VALIDATION
42874     if ( mValidate )
42875     {
42876     ParserError::ErrorType simpleTypeValidationResult = validate__NCName(attributeData->sid, strlen(attributeData->sid));
42877     if (simpleTypeValidationResult != ParserError::SIMPLE_TYPE_VALIDATION_OK)
42878     {
42879         if( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL,
42880             simpleTypeValidationResult,
42881             HASH_ELEMENT_INCLUDE,
42882             HASH_ATTRIBUTE_sid,
42883             attributeValue) )
42884         {
42885             return false;
42886         }
42887     }
42888     } // validation
42889 #endif
42890 
42891     break;
42892     }
42893     case HASH_ATTRIBUTE_url:
42894     {
42895 bool failed;
42896 attributeData->url = GeneratedSaxParser::Utils::toURI(&attributeValue, failed);
42897 if ( failed && handleError(ParserError::SEVERITY_ERROR_NONCRITICAL,
42898         ParserError::ERROR_ATTRIBUTE_PARSING_FAILED,
42899         HASH_ELEMENT_INCLUDE,
42900         HASH_ATTRIBUTE_url,
42901         attributeValue))
42902 {
42903     return false;
42904 }
42905 if ( !failed )
42906     attributeData->present_attributes |= include__AttributeData::ATTRIBUTE_URL_PRESENT;
42907 
42908     break;
42909     }
42910     default:
42911     {
42912         if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_UNKNOWN_ATTRIBUTE, HASH_ELEMENT_INCLUDE, attribute, attributeValue))
42913             {return false;}
42914     }
42915     }
42916     }
42917 }
42918 if ((attributeData->present_attributes & include__AttributeData::ATTRIBUTE_URL_PRESENT) == 0)
42919 {
42920     attributeData->url = COLLADABU::URI("");
42921 }
42922 if ( !attributeData->sid )
42923 {
42924     if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_REQUIRED_ATTRIBUTE_MISSING, HASH_ELEMENT_INCLUDE, HASH_ATTRIBUTE_sid, 0 ) )
42925         return false;
42926 }
42927 if ( (attributeData->present_attributes & include__AttributeData::ATTRIBUTE_URL_PRESENT) == 0 )
42928 {
42929     if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_REQUIRED_ATTRIBUTE_MISSING, HASH_ELEMENT_INCLUDE, HASH_ATTRIBUTE_url, 0 ) )
42930         return false;
42931 }
42932 
42933 
42934     return true;
42935 }
42936 
42937 //---------------------------------------------------------------------
_preEnd__include()42938 bool ColladaParserAutoGen14Private::_preEnd__include()
42939 {
42940 #ifdef GENERATEDSAXPARSER_VALIDATION
42941     if ( mValidate )
42942     {
42943 
42944         bool validationResult = _validateEnd__include();
42945         if ( !validationResult ) return false;
42946 
42947     } // validation
42948 #endif
42949 
42950     return true;
42951 }
42952 
42953 //---------------------------------------------------------------------
_freeAttributes__include(void * attributeData)42954 bool ColladaParserAutoGen14Private::_freeAttributes__include( void* attributeData )
42955 {
42956     include__AttributeData* typedAttributeData = static_cast<include__AttributeData*>(attributeData);
42957 
42958     typedAttributeData->~include__AttributeData();
42959 
42960     return true;
42961 }
42962 
42963 //---------------------------------------------------------------------
42964 const newparam____glsl_newparam__AttributeData newparam____glsl_newparam__AttributeData::DEFAULT = {0};
42965 
42966 //---------------------------------------------------------------------
_data__newparam____glsl_newparam(const ParserChar * text,size_t textLength)42967 bool ColladaParserAutoGen14Private::_data__newparam____glsl_newparam( const ParserChar* text, size_t textLength )
42968 {
42969     return true;
42970 }
42971 
42972 //---------------------------------------------------------------------
_preBegin__newparam____glsl_newparam(const ParserAttributes & attributes,void ** attributeDataPtr,void ** validationDataPtr)42973 bool ColladaParserAutoGen14Private::_preBegin__newparam____glsl_newparam( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
42974 {
42975 #ifdef GENERATEDSAXPARSER_VALIDATION
42976     if ( mValidate )
42977     {
42978 
42979         bool validationResult = _validateBegin__newparam____glsl_newparam( attributes, attributeDataPtr, validationDataPtr );
42980         if ( !validationResult ) return false;
42981 
42982     } // validation
42983 #endif
42984 
42985 newparam____glsl_newparam__AttributeData* attributeData = newData<newparam____glsl_newparam__AttributeData>(attributeDataPtr);
42986 
42987 const ParserChar** attributeArray = attributes.attributes;
42988 if ( attributeArray )
42989 {
42990     while (true)
42991     {
42992         const ParserChar * attribute = *attributeArray;
42993         if ( !attribute )
42994             break;
42995         StringHash hash = GeneratedSaxParser::Utils::calculateStringHash(attribute);
42996         attributeArray++;
42997         if ( !attributeArray )
42998             return false;
42999         const ParserChar* attributeValue = *attributeArray;
43000         attributeArray++;
43001 
43002 
43003     switch ( hash )
43004     {
43005     case HASH_ATTRIBUTE_sid:
43006     {
43007 
43008 attributeData->sid = attributeValue;
43009 
43010     break;
43011     }
43012     default:
43013     {
43014         if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_UNKNOWN_ATTRIBUTE, HASH_ELEMENT_NEWPARAM, attribute, attributeValue))
43015             {return false;}
43016     }
43017     }
43018     }
43019 }
43020 if ( !attributeData->sid )
43021 {
43022     if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_REQUIRED_ATTRIBUTE_MISSING, HASH_ELEMENT_NEWPARAM, HASH_ATTRIBUTE_sid, 0 ) )
43023         return false;
43024 }
43025 
43026 
43027     return true;
43028 }
43029 
43030 //---------------------------------------------------------------------
_preEnd__newparam____glsl_newparam()43031 bool ColladaParserAutoGen14Private::_preEnd__newparam____glsl_newparam()
43032 {
43033 #ifdef GENERATEDSAXPARSER_VALIDATION
43034     if ( mValidate )
43035     {
43036 
43037         bool validationResult = _validateEnd__newparam____glsl_newparam();
43038         if ( !validationResult ) return false;
43039 
43040     } // validation
43041 #endif
43042 
43043     return true;
43044 }
43045 
43046 //---------------------------------------------------------------------
_freeAttributes__newparam____glsl_newparam(void * attributeData)43047 bool ColladaParserAutoGen14Private::_freeAttributes__newparam____glsl_newparam( void* attributeData )
43048 {
43049     newparam____glsl_newparam__AttributeData* typedAttributeData = static_cast<newparam____glsl_newparam__AttributeData*>(attributeData);
43050 
43051     typedAttributeData->~newparam____glsl_newparam__AttributeData();
43052 
43053     return true;
43054 }
43055 
43056 //---------------------------------------------------------------------
_data__bool____glsl_bool(const ParserChar * text,size_t textLength)43057 bool ColladaParserAutoGen14Private::_data__bool____glsl_bool( const ParserChar* text, size_t textLength )
43058 {
43059 if (!mLastIncompleteFragmentInCharacterData)
43060 {
43061     mLastIncompleteFragmentInCharacterData = (ParserChar*)mStackMemoryManager.newObject(textLength);
43062     memcpy(mLastIncompleteFragmentInCharacterData, text, textLength);
43063     mEndOfDataInCurrentObjectOnStack = mLastIncompleteFragmentInCharacterData + textLength;
43064 }
43065 else
43066 {
43067     ParserChar* tmp = (ParserChar*)mStackMemoryManager.growObject(textLength);
43068     if ( tmp != mLastIncompleteFragmentInCharacterData ) {
43069         mEndOfDataInCurrentObjectOnStack = (mEndOfDataInCurrentObjectOnStack - mLastIncompleteFragmentInCharacterData) + tmp;
43070         mLastIncompleteFragmentInCharacterData = tmp;
43071     }
43072     memcpy(mEndOfDataInCurrentObjectOnStack, text, textLength);
43073     mEndOfDataInCurrentObjectOnStack += textLength;
43074 }
43075 return true;
43076 }
43077 
43078 //---------------------------------------------------------------------
_preBegin__bool____glsl_bool(const ParserAttributes & attributes,void ** attributeDataPtr,void ** validationDataPtr)43079 bool ColladaParserAutoGen14Private::_preBegin__bool____glsl_bool( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
43080 {
43081 #ifdef GENERATEDSAXPARSER_VALIDATION
43082     if ( mValidate )
43083     {
43084 
43085         bool validationResult = _validateBegin__bool____glsl_bool( attributes, attributeDataPtr, validationDataPtr );
43086         if ( !validationResult ) return false;
43087 
43088     } // validation
43089 #endif
43090 
43091     return true;
43092 }
43093 
43094 //---------------------------------------------------------------------
_preEnd__bool____glsl_bool()43095 bool ColladaParserAutoGen14Private::_preEnd__bool____glsl_bool()
43096 {
43097 #ifdef GENERATEDSAXPARSER_VALIDATION
43098     if ( mValidate )
43099     {
43100 
43101         bool validationResult = _validateEnd__bool____glsl_bool();
43102         if ( !validationResult ) return false;
43103 
43104     } // validation
43105 #endif
43106 
43107 bool failed;
43108 const ParserChar* ptrForErr = mLastIncompleteFragmentInCharacterData;
43109 DISABLE_WARNING_UNUSED(ptrForErr)
43110 bool parameter = GeneratedSaxParser::Utils::toBool((const ParserChar**)&mLastIncompleteFragmentInCharacterData, mEndOfDataInCurrentObjectOnStack, failed);
43111 bool returnValue;
43112 if (!failed)
43113 {
43114     returnValue = mImpl->data__bool____glsl_bool(parameter);
43115 }
43116 else
43117     returnValue = !handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_TEXTDATA_PARSING_FAILED, HASH_ELEMENT_BOOL, (const ParserChar*)0, mLastIncompleteFragmentInCharacterData);
43118 if (mLastIncompleteFragmentInCharacterData)
43119     mStackMemoryManager.deleteObject();
43120 mLastIncompleteFragmentInCharacterData = 0;
43121 mEndOfDataInCurrentObjectOnStack = 0;
43122 return returnValue;
43123 }
43124 
43125 //---------------------------------------------------------------------
_freeAttributes__bool____glsl_bool(void * attributeData)43126 bool ColladaParserAutoGen14Private::_freeAttributes__bool____glsl_bool( void* attributeData )
43127 {
43128     return true;
43129 }
43130 
43131 //---------------------------------------------------------------------
_data__bool2____glsl_bool2(const ParserChar * text,size_t textLength)43132 bool ColladaParserAutoGen14Private::_data__bool2____glsl_bool2( const ParserChar* text, size_t textLength )
43133 {
43134 #ifdef GENERATEDSAXPARSER_VALIDATION
43135     if ( mValidate )
43136     {
43137         bool2____glsl_bool2__ValidationData* validationData = (bool2____glsl_bool2__ValidationData*)mValidationDataStack.top();
43138         DISABLE_WARNING_UNUSED(validationData)
43139 return characterData2BoolData(text, textLength, &ColladaParserAutoGen14::data__bool2____glsl_bool2, &validate__glsl_bool2__stream, &validationData->validationWholeSize, 0);
43140     }
43141     else
43142     {
43143 return characterData2BoolData(text, textLength, &ColladaParserAutoGen14::data__bool2____glsl_bool2);
43144     }
43145 #else
43146     {
43147 return characterData2BoolData(text, textLength, &ColladaParserAutoGen14::data__bool2____glsl_bool2);
43148     } // validation
43149 #endif
43150 
43151 }
43152 
43153 //---------------------------------------------------------------------
_preBegin__bool2____glsl_bool2(const ParserAttributes & attributes,void ** attributeDataPtr,void ** validationDataPtr)43154 bool ColladaParserAutoGen14Private::_preBegin__bool2____glsl_bool2( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
43155 {
43156 #ifdef GENERATEDSAXPARSER_VALIDATION
43157     if ( mValidate )
43158     {
43159 
43160         bool validationResult = _validateBegin__bool2____glsl_bool2( attributes, attributeDataPtr, validationDataPtr );
43161         if ( !validationResult ) return false;
43162 
43163     } // validation
43164 #endif
43165 
43166     return true;
43167 }
43168 
43169 //---------------------------------------------------------------------
_preEnd__bool2____glsl_bool2()43170 bool ColladaParserAutoGen14Private::_preEnd__bool2____glsl_bool2()
43171 {
43172 #ifdef GENERATEDSAXPARSER_VALIDATION
43173     if ( mValidate )
43174     {
43175 
43176         bool validationResult = _validateEnd__bool2____glsl_bool2();
43177         if ( !validationResult ) return false;
43178 
43179     } // validation
43180 #endif
43181 
43182 #ifdef GENERATEDSAXPARSER_VALIDATION
43183     if ( mValidate )
43184     {
43185         bool2____glsl_bool2__ValidationData* validationData = (bool2____glsl_bool2__ValidationData*)mValidationDataStack.top();
43186         DISABLE_WARNING_UNUSED(validationData)
43187 bool returnValue = boolDataEnd( &ColladaParserAutoGen14::data__bool2____glsl_bool2, &validate__glsl_bool2__streamEnd, &validationData->validationWholeSize, 0 );
43188         ParserError::ErrorType simpleTypeValidationResult = validate__glsl_bool2(0, (*(&validationData->validationWholeSize)));
43189         mValidationDataStack.deleteObject();
43190         if (simpleTypeValidationResult != ParserError::SIMPLE_TYPE_VALIDATION_OK)
43191         {
43192             if( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL,
43193                 simpleTypeValidationResult,
43194                 HASH_ELEMENT_BOOL2,
43195                 (ParserChar*)0, 0 ) )
43196             {
43197                 return false;
43198             }
43199         }
43200         return returnValue;
43201     }
43202     else
43203     {
43204 return boolDataEnd( &ColladaParserAutoGen14::data__bool2____glsl_bool2 );
43205     }
43206 #else
43207     {
43208 return boolDataEnd( &ColladaParserAutoGen14::data__bool2____glsl_bool2 );
43209     } // validation
43210 #endif
43211 
43212 }
43213 
43214 //---------------------------------------------------------------------
_freeAttributes__bool2____glsl_bool2(void * attributeData)43215 bool ColladaParserAutoGen14Private::_freeAttributes__bool2____glsl_bool2( void* attributeData )
43216 {
43217     return true;
43218 }
43219 
43220 //---------------------------------------------------------------------
_data__bool3____glsl_bool3(const ParserChar * text,size_t textLength)43221 bool ColladaParserAutoGen14Private::_data__bool3____glsl_bool3( const ParserChar* text, size_t textLength )
43222 {
43223 #ifdef GENERATEDSAXPARSER_VALIDATION
43224     if ( mValidate )
43225     {
43226         bool3____glsl_bool3__ValidationData* validationData = (bool3____glsl_bool3__ValidationData*)mValidationDataStack.top();
43227         DISABLE_WARNING_UNUSED(validationData)
43228 return characterData2BoolData(text, textLength, &ColladaParserAutoGen14::data__bool3____glsl_bool3, &validate__glsl_bool3__stream, &validationData->validationWholeSize, 0);
43229     }
43230     else
43231     {
43232 return characterData2BoolData(text, textLength, &ColladaParserAutoGen14::data__bool3____glsl_bool3);
43233     }
43234 #else
43235     {
43236 return characterData2BoolData(text, textLength, &ColladaParserAutoGen14::data__bool3____glsl_bool3);
43237     } // validation
43238 #endif
43239 
43240 }
43241 
43242 //---------------------------------------------------------------------
_preBegin__bool3____glsl_bool3(const ParserAttributes & attributes,void ** attributeDataPtr,void ** validationDataPtr)43243 bool ColladaParserAutoGen14Private::_preBegin__bool3____glsl_bool3( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
43244 {
43245 #ifdef GENERATEDSAXPARSER_VALIDATION
43246     if ( mValidate )
43247     {
43248 
43249         bool validationResult = _validateBegin__bool3____glsl_bool3( attributes, attributeDataPtr, validationDataPtr );
43250         if ( !validationResult ) return false;
43251 
43252     } // validation
43253 #endif
43254 
43255     return true;
43256 }
43257 
43258 //---------------------------------------------------------------------
_preEnd__bool3____glsl_bool3()43259 bool ColladaParserAutoGen14Private::_preEnd__bool3____glsl_bool3()
43260 {
43261 #ifdef GENERATEDSAXPARSER_VALIDATION
43262     if ( mValidate )
43263     {
43264 
43265         bool validationResult = _validateEnd__bool3____glsl_bool3();
43266         if ( !validationResult ) return false;
43267 
43268     } // validation
43269 #endif
43270 
43271 #ifdef GENERATEDSAXPARSER_VALIDATION
43272     if ( mValidate )
43273     {
43274         bool3____glsl_bool3__ValidationData* validationData = (bool3____glsl_bool3__ValidationData*)mValidationDataStack.top();
43275         DISABLE_WARNING_UNUSED(validationData)
43276 bool returnValue = boolDataEnd( &ColladaParserAutoGen14::data__bool3____glsl_bool3, &validate__glsl_bool3__streamEnd, &validationData->validationWholeSize, 0 );
43277         ParserError::ErrorType simpleTypeValidationResult = validate__glsl_bool3(0, (*(&validationData->validationWholeSize)));
43278         mValidationDataStack.deleteObject();
43279         if (simpleTypeValidationResult != ParserError::SIMPLE_TYPE_VALIDATION_OK)
43280         {
43281             if( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL,
43282                 simpleTypeValidationResult,
43283                 HASH_ELEMENT_BOOL3,
43284                 (ParserChar*)0, 0 ) )
43285             {
43286                 return false;
43287             }
43288         }
43289         return returnValue;
43290     }
43291     else
43292     {
43293 return boolDataEnd( &ColladaParserAutoGen14::data__bool3____glsl_bool3 );
43294     }
43295 #else
43296     {
43297 return boolDataEnd( &ColladaParserAutoGen14::data__bool3____glsl_bool3 );
43298     } // validation
43299 #endif
43300 
43301 }
43302 
43303 //---------------------------------------------------------------------
_freeAttributes__bool3____glsl_bool3(void * attributeData)43304 bool ColladaParserAutoGen14Private::_freeAttributes__bool3____glsl_bool3( void* attributeData )
43305 {
43306     return true;
43307 }
43308 
43309 //---------------------------------------------------------------------
_data__bool4____glsl_bool4(const ParserChar * text,size_t textLength)43310 bool ColladaParserAutoGen14Private::_data__bool4____glsl_bool4( const ParserChar* text, size_t textLength )
43311 {
43312 #ifdef GENERATEDSAXPARSER_VALIDATION
43313     if ( mValidate )
43314     {
43315         bool4____glsl_bool4__ValidationData* validationData = (bool4____glsl_bool4__ValidationData*)mValidationDataStack.top();
43316         DISABLE_WARNING_UNUSED(validationData)
43317 return characterData2BoolData(text, textLength, &ColladaParserAutoGen14::data__bool4____glsl_bool4, &validate__glsl_bool4__stream, &validationData->validationWholeSize, 0);
43318     }
43319     else
43320     {
43321 return characterData2BoolData(text, textLength, &ColladaParserAutoGen14::data__bool4____glsl_bool4);
43322     }
43323 #else
43324     {
43325 return characterData2BoolData(text, textLength, &ColladaParserAutoGen14::data__bool4____glsl_bool4);
43326     } // validation
43327 #endif
43328 
43329 }
43330 
43331 //---------------------------------------------------------------------
_preBegin__bool4____glsl_bool4(const ParserAttributes & attributes,void ** attributeDataPtr,void ** validationDataPtr)43332 bool ColladaParserAutoGen14Private::_preBegin__bool4____glsl_bool4( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
43333 {
43334 #ifdef GENERATEDSAXPARSER_VALIDATION
43335     if ( mValidate )
43336     {
43337 
43338         bool validationResult = _validateBegin__bool4____glsl_bool4( attributes, attributeDataPtr, validationDataPtr );
43339         if ( !validationResult ) return false;
43340 
43341     } // validation
43342 #endif
43343 
43344     return true;
43345 }
43346 
43347 //---------------------------------------------------------------------
_preEnd__bool4____glsl_bool4()43348 bool ColladaParserAutoGen14Private::_preEnd__bool4____glsl_bool4()
43349 {
43350 #ifdef GENERATEDSAXPARSER_VALIDATION
43351     if ( mValidate )
43352     {
43353 
43354         bool validationResult = _validateEnd__bool4____glsl_bool4();
43355         if ( !validationResult ) return false;
43356 
43357     } // validation
43358 #endif
43359 
43360 #ifdef GENERATEDSAXPARSER_VALIDATION
43361     if ( mValidate )
43362     {
43363         bool4____glsl_bool4__ValidationData* validationData = (bool4____glsl_bool4__ValidationData*)mValidationDataStack.top();
43364         DISABLE_WARNING_UNUSED(validationData)
43365 bool returnValue = boolDataEnd( &ColladaParserAutoGen14::data__bool4____glsl_bool4, &validate__glsl_bool4__streamEnd, &validationData->validationWholeSize, 0 );
43366         ParserError::ErrorType simpleTypeValidationResult = validate__glsl_bool4(0, (*(&validationData->validationWholeSize)));
43367         mValidationDataStack.deleteObject();
43368         if (simpleTypeValidationResult != ParserError::SIMPLE_TYPE_VALIDATION_OK)
43369         {
43370             if( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL,
43371                 simpleTypeValidationResult,
43372                 HASH_ELEMENT_BOOL4,
43373                 (ParserChar*)0, 0 ) )
43374             {
43375                 return false;
43376             }
43377         }
43378         return returnValue;
43379     }
43380     else
43381     {
43382 return boolDataEnd( &ColladaParserAutoGen14::data__bool4____glsl_bool4 );
43383     }
43384 #else
43385     {
43386 return boolDataEnd( &ColladaParserAutoGen14::data__bool4____glsl_bool4 );
43387     } // validation
43388 #endif
43389 
43390 }
43391 
43392 //---------------------------------------------------------------------
_freeAttributes__bool4____glsl_bool4(void * attributeData)43393 bool ColladaParserAutoGen14Private::_freeAttributes__bool4____glsl_bool4( void* attributeData )
43394 {
43395     return true;
43396 }
43397 
43398 //---------------------------------------------------------------------
_data__float____glsl_float(const ParserChar * text,size_t textLength)43399 bool ColladaParserAutoGen14Private::_data__float____glsl_float( const ParserChar* text, size_t textLength )
43400 {
43401 if (!mLastIncompleteFragmentInCharacterData)
43402 {
43403     mLastIncompleteFragmentInCharacterData = (ParserChar*)mStackMemoryManager.newObject(textLength);
43404     memcpy(mLastIncompleteFragmentInCharacterData, text, textLength);
43405     mEndOfDataInCurrentObjectOnStack = mLastIncompleteFragmentInCharacterData + textLength;
43406 }
43407 else
43408 {
43409     ParserChar* tmp = (ParserChar*)mStackMemoryManager.growObject(textLength);
43410     if ( tmp != mLastIncompleteFragmentInCharacterData ) {
43411         mEndOfDataInCurrentObjectOnStack = (mEndOfDataInCurrentObjectOnStack - mLastIncompleteFragmentInCharacterData) + tmp;
43412         mLastIncompleteFragmentInCharacterData = tmp;
43413     }
43414     memcpy(mEndOfDataInCurrentObjectOnStack, text, textLength);
43415     mEndOfDataInCurrentObjectOnStack += textLength;
43416 }
43417 return true;
43418 }
43419 
43420 //---------------------------------------------------------------------
_preBegin__float____glsl_float(const ParserAttributes & attributes,void ** attributeDataPtr,void ** validationDataPtr)43421 bool ColladaParserAutoGen14Private::_preBegin__float____glsl_float( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
43422 {
43423 #ifdef GENERATEDSAXPARSER_VALIDATION
43424     if ( mValidate )
43425     {
43426 
43427         bool validationResult = _validateBegin__float____glsl_float( attributes, attributeDataPtr, validationDataPtr );
43428         if ( !validationResult ) return false;
43429 
43430     } // validation
43431 #endif
43432 
43433     return true;
43434 }
43435 
43436 //---------------------------------------------------------------------
_preEnd__float____glsl_float()43437 bool ColladaParserAutoGen14Private::_preEnd__float____glsl_float()
43438 {
43439 #ifdef GENERATEDSAXPARSER_VALIDATION
43440     if ( mValidate )
43441     {
43442 
43443         bool validationResult = _validateEnd__float____glsl_float();
43444         if ( !validationResult ) return false;
43445 
43446     } // validation
43447 #endif
43448 
43449 bool failed;
43450 const ParserChar* ptrForErr = mLastIncompleteFragmentInCharacterData;
43451 DISABLE_WARNING_UNUSED(ptrForErr)
43452 float parameter = GeneratedSaxParser::Utils::toFloat((const ParserChar**)&mLastIncompleteFragmentInCharacterData, mEndOfDataInCurrentObjectOnStack, failed);
43453 bool returnValue;
43454 if (!failed)
43455 {
43456     returnValue = mImpl->data__float____glsl_float(parameter);
43457 }
43458 else
43459     returnValue = !handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_TEXTDATA_PARSING_FAILED, HASH_ELEMENT_FLOAT, (const ParserChar*)0, mLastIncompleteFragmentInCharacterData);
43460 if (mLastIncompleteFragmentInCharacterData)
43461     mStackMemoryManager.deleteObject();
43462 mLastIncompleteFragmentInCharacterData = 0;
43463 mEndOfDataInCurrentObjectOnStack = 0;
43464 return returnValue;
43465 }
43466 
43467 //---------------------------------------------------------------------
_freeAttributes__float____glsl_float(void * attributeData)43468 bool ColladaParserAutoGen14Private::_freeAttributes__float____glsl_float( void* attributeData )
43469 {
43470     return true;
43471 }
43472 
43473 //---------------------------------------------------------------------
_data__float2____glsl_float2(const ParserChar * text,size_t textLength)43474 bool ColladaParserAutoGen14Private::_data__float2____glsl_float2( const ParserChar* text, size_t textLength )
43475 {
43476 #ifdef GENERATEDSAXPARSER_VALIDATION
43477     if ( mValidate )
43478     {
43479         float2____glsl_float2__ValidationData* validationData = (float2____glsl_float2__ValidationData*)mValidationDataStack.top();
43480         DISABLE_WARNING_UNUSED(validationData)
43481 return characterData2FloatData(text, textLength, &ColladaParserAutoGen14::data__float2____glsl_float2, &validate__glsl_float2__stream, &validationData->validationWholeSize, 0);
43482     }
43483     else
43484     {
43485 return characterData2FloatData(text, textLength, &ColladaParserAutoGen14::data__float2____glsl_float2);
43486     }
43487 #else
43488     {
43489 return characterData2FloatData(text, textLength, &ColladaParserAutoGen14::data__float2____glsl_float2);
43490     } // validation
43491 #endif
43492 
43493 }
43494 
43495 //---------------------------------------------------------------------
_preBegin__float2____glsl_float2(const ParserAttributes & attributes,void ** attributeDataPtr,void ** validationDataPtr)43496 bool ColladaParserAutoGen14Private::_preBegin__float2____glsl_float2( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
43497 {
43498 #ifdef GENERATEDSAXPARSER_VALIDATION
43499     if ( mValidate )
43500     {
43501 
43502         bool validationResult = _validateBegin__float2____glsl_float2( attributes, attributeDataPtr, validationDataPtr );
43503         if ( !validationResult ) return false;
43504 
43505     } // validation
43506 #endif
43507 
43508     return true;
43509 }
43510 
43511 //---------------------------------------------------------------------
_preEnd__float2____glsl_float2()43512 bool ColladaParserAutoGen14Private::_preEnd__float2____glsl_float2()
43513 {
43514 #ifdef GENERATEDSAXPARSER_VALIDATION
43515     if ( mValidate )
43516     {
43517 
43518         bool validationResult = _validateEnd__float2____glsl_float2();
43519         if ( !validationResult ) return false;
43520 
43521     } // validation
43522 #endif
43523 
43524 #ifdef GENERATEDSAXPARSER_VALIDATION
43525     if ( mValidate )
43526     {
43527         float2____glsl_float2__ValidationData* validationData = (float2____glsl_float2__ValidationData*)mValidationDataStack.top();
43528         DISABLE_WARNING_UNUSED(validationData)
43529 bool returnValue = floatDataEnd( &ColladaParserAutoGen14::data__float2____glsl_float2, &validate__glsl_float2__streamEnd, &validationData->validationWholeSize, 0 );
43530         ParserError::ErrorType simpleTypeValidationResult = validate__glsl_float2(0, (*(&validationData->validationWholeSize)));
43531         mValidationDataStack.deleteObject();
43532         if (simpleTypeValidationResult != ParserError::SIMPLE_TYPE_VALIDATION_OK)
43533         {
43534             if( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL,
43535                 simpleTypeValidationResult,
43536                 HASH_ELEMENT_FLOAT2,
43537                 (ParserChar*)0, 0 ) )
43538             {
43539                 return false;
43540             }
43541         }
43542         return returnValue;
43543     }
43544     else
43545     {
43546 return floatDataEnd( &ColladaParserAutoGen14::data__float2____glsl_float2 );
43547     }
43548 #else
43549     {
43550 return floatDataEnd( &ColladaParserAutoGen14::data__float2____glsl_float2 );
43551     } // validation
43552 #endif
43553 
43554 }
43555 
43556 //---------------------------------------------------------------------
_freeAttributes__float2____glsl_float2(void * attributeData)43557 bool ColladaParserAutoGen14Private::_freeAttributes__float2____glsl_float2( void* attributeData )
43558 {
43559     return true;
43560 }
43561 
43562 //---------------------------------------------------------------------
_data__float3____glsl_float3(const ParserChar * text,size_t textLength)43563 bool ColladaParserAutoGen14Private::_data__float3____glsl_float3( const ParserChar* text, size_t textLength )
43564 {
43565 #ifdef GENERATEDSAXPARSER_VALIDATION
43566     if ( mValidate )
43567     {
43568         float3____glsl_float3__ValidationData* validationData = (float3____glsl_float3__ValidationData*)mValidationDataStack.top();
43569         DISABLE_WARNING_UNUSED(validationData)
43570 return characterData2FloatData(text, textLength, &ColladaParserAutoGen14::data__float3____glsl_float3, &validate__glsl_float3__stream, &validationData->validationWholeSize, 0);
43571     }
43572     else
43573     {
43574 return characterData2FloatData(text, textLength, &ColladaParserAutoGen14::data__float3____glsl_float3);
43575     }
43576 #else
43577     {
43578 return characterData2FloatData(text, textLength, &ColladaParserAutoGen14::data__float3____glsl_float3);
43579     } // validation
43580 #endif
43581 
43582 }
43583 
43584 //---------------------------------------------------------------------
_preBegin__float3____glsl_float3(const ParserAttributes & attributes,void ** attributeDataPtr,void ** validationDataPtr)43585 bool ColladaParserAutoGen14Private::_preBegin__float3____glsl_float3( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
43586 {
43587 #ifdef GENERATEDSAXPARSER_VALIDATION
43588     if ( mValidate )
43589     {
43590 
43591         bool validationResult = _validateBegin__float3____glsl_float3( attributes, attributeDataPtr, validationDataPtr );
43592         if ( !validationResult ) return false;
43593 
43594     } // validation
43595 #endif
43596 
43597     return true;
43598 }
43599 
43600 //---------------------------------------------------------------------
_preEnd__float3____glsl_float3()43601 bool ColladaParserAutoGen14Private::_preEnd__float3____glsl_float3()
43602 {
43603 #ifdef GENERATEDSAXPARSER_VALIDATION
43604     if ( mValidate )
43605     {
43606 
43607         bool validationResult = _validateEnd__float3____glsl_float3();
43608         if ( !validationResult ) return false;
43609 
43610     } // validation
43611 #endif
43612 
43613 #ifdef GENERATEDSAXPARSER_VALIDATION
43614     if ( mValidate )
43615     {
43616         float3____glsl_float3__ValidationData* validationData = (float3____glsl_float3__ValidationData*)mValidationDataStack.top();
43617         DISABLE_WARNING_UNUSED(validationData)
43618 bool returnValue = floatDataEnd( &ColladaParserAutoGen14::data__float3____glsl_float3, &validate__glsl_float3__streamEnd, &validationData->validationWholeSize, 0 );
43619         ParserError::ErrorType simpleTypeValidationResult = validate__glsl_float3(0, (*(&validationData->validationWholeSize)));
43620         mValidationDataStack.deleteObject();
43621         if (simpleTypeValidationResult != ParserError::SIMPLE_TYPE_VALIDATION_OK)
43622         {
43623             if( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL,
43624                 simpleTypeValidationResult,
43625                 HASH_ELEMENT_FLOAT3,
43626                 (ParserChar*)0, 0 ) )
43627             {
43628                 return false;
43629             }
43630         }
43631         return returnValue;
43632     }
43633     else
43634     {
43635 return floatDataEnd( &ColladaParserAutoGen14::data__float3____glsl_float3 );
43636     }
43637 #else
43638     {
43639 return floatDataEnd( &ColladaParserAutoGen14::data__float3____glsl_float3 );
43640     } // validation
43641 #endif
43642 
43643 }
43644 
43645 //---------------------------------------------------------------------
_freeAttributes__float3____glsl_float3(void * attributeData)43646 bool ColladaParserAutoGen14Private::_freeAttributes__float3____glsl_float3( void* attributeData )
43647 {
43648     return true;
43649 }
43650 
43651 //---------------------------------------------------------------------
_data__float4____glsl_float4(const ParserChar * text,size_t textLength)43652 bool ColladaParserAutoGen14Private::_data__float4____glsl_float4( const ParserChar* text, size_t textLength )
43653 {
43654 #ifdef GENERATEDSAXPARSER_VALIDATION
43655     if ( mValidate )
43656     {
43657         float4____glsl_float4__ValidationData* validationData = (float4____glsl_float4__ValidationData*)mValidationDataStack.top();
43658         DISABLE_WARNING_UNUSED(validationData)
43659 return characterData2FloatData(text, textLength, &ColladaParserAutoGen14::data__float4____glsl_float4, &validate__glsl_float4__stream, &validationData->validationWholeSize, 0);
43660     }
43661     else
43662     {
43663 return characterData2FloatData(text, textLength, &ColladaParserAutoGen14::data__float4____glsl_float4);
43664     }
43665 #else
43666     {
43667 return characterData2FloatData(text, textLength, &ColladaParserAutoGen14::data__float4____glsl_float4);
43668     } // validation
43669 #endif
43670 
43671 }
43672 
43673 //---------------------------------------------------------------------
_preBegin__float4____glsl_float4(const ParserAttributes & attributes,void ** attributeDataPtr,void ** validationDataPtr)43674 bool ColladaParserAutoGen14Private::_preBegin__float4____glsl_float4( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
43675 {
43676 #ifdef GENERATEDSAXPARSER_VALIDATION
43677     if ( mValidate )
43678     {
43679 
43680         bool validationResult = _validateBegin__float4____glsl_float4( attributes, attributeDataPtr, validationDataPtr );
43681         if ( !validationResult ) return false;
43682 
43683     } // validation
43684 #endif
43685 
43686     return true;
43687 }
43688 
43689 //---------------------------------------------------------------------
_preEnd__float4____glsl_float4()43690 bool ColladaParserAutoGen14Private::_preEnd__float4____glsl_float4()
43691 {
43692 #ifdef GENERATEDSAXPARSER_VALIDATION
43693     if ( mValidate )
43694     {
43695 
43696         bool validationResult = _validateEnd__float4____glsl_float4();
43697         if ( !validationResult ) return false;
43698 
43699     } // validation
43700 #endif
43701 
43702 #ifdef GENERATEDSAXPARSER_VALIDATION
43703     if ( mValidate )
43704     {
43705         float4____glsl_float4__ValidationData* validationData = (float4____glsl_float4__ValidationData*)mValidationDataStack.top();
43706         DISABLE_WARNING_UNUSED(validationData)
43707 bool returnValue = floatDataEnd( &ColladaParserAutoGen14::data__float4____glsl_float4, &validate__glsl_float4__streamEnd, &validationData->validationWholeSize, 0 );
43708         ParserError::ErrorType simpleTypeValidationResult = validate__glsl_float4(0, (*(&validationData->validationWholeSize)));
43709         mValidationDataStack.deleteObject();
43710         if (simpleTypeValidationResult != ParserError::SIMPLE_TYPE_VALIDATION_OK)
43711         {
43712             if( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL,
43713                 simpleTypeValidationResult,
43714                 HASH_ELEMENT_FLOAT4,
43715                 (ParserChar*)0, 0 ) )
43716             {
43717                 return false;
43718             }
43719         }
43720         return returnValue;
43721     }
43722     else
43723     {
43724 return floatDataEnd( &ColladaParserAutoGen14::data__float4____glsl_float4 );
43725     }
43726 #else
43727     {
43728 return floatDataEnd( &ColladaParserAutoGen14::data__float4____glsl_float4 );
43729     } // validation
43730 #endif
43731 
43732 }
43733 
43734 //---------------------------------------------------------------------
_freeAttributes__float4____glsl_float4(void * attributeData)43735 bool ColladaParserAutoGen14Private::_freeAttributes__float4____glsl_float4( void* attributeData )
43736 {
43737     return true;
43738 }
43739 
43740 //---------------------------------------------------------------------
_data__float2x2____glsl_float2x2(const ParserChar * text,size_t textLength)43741 bool ColladaParserAutoGen14Private::_data__float2x2____glsl_float2x2( const ParserChar* text, size_t textLength )
43742 {
43743 #ifdef GENERATEDSAXPARSER_VALIDATION
43744     if ( mValidate )
43745     {
43746         float2x2____glsl_float2x2__ValidationData* validationData = (float2x2____glsl_float2x2__ValidationData*)mValidationDataStack.top();
43747         DISABLE_WARNING_UNUSED(validationData)
43748 return characterData2FloatData(text, textLength, &ColladaParserAutoGen14::data__float2x2____glsl_float2x2, &validate__glsl_float2x2__stream, &validationData->validationWholeSize, 0);
43749     }
43750     else
43751     {
43752 return characterData2FloatData(text, textLength, &ColladaParserAutoGen14::data__float2x2____glsl_float2x2);
43753     }
43754 #else
43755     {
43756 return characterData2FloatData(text, textLength, &ColladaParserAutoGen14::data__float2x2____glsl_float2x2);
43757     } // validation
43758 #endif
43759 
43760 }
43761 
43762 //---------------------------------------------------------------------
_preBegin__float2x2____glsl_float2x2(const ParserAttributes & attributes,void ** attributeDataPtr,void ** validationDataPtr)43763 bool ColladaParserAutoGen14Private::_preBegin__float2x2____glsl_float2x2( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
43764 {
43765 #ifdef GENERATEDSAXPARSER_VALIDATION
43766     if ( mValidate )
43767     {
43768 
43769         bool validationResult = _validateBegin__float2x2____glsl_float2x2( attributes, attributeDataPtr, validationDataPtr );
43770         if ( !validationResult ) return false;
43771 
43772     } // validation
43773 #endif
43774 
43775     return true;
43776 }
43777 
43778 //---------------------------------------------------------------------
_preEnd__float2x2____glsl_float2x2()43779 bool ColladaParserAutoGen14Private::_preEnd__float2x2____glsl_float2x2()
43780 {
43781 #ifdef GENERATEDSAXPARSER_VALIDATION
43782     if ( mValidate )
43783     {
43784 
43785         bool validationResult = _validateEnd__float2x2____glsl_float2x2();
43786         if ( !validationResult ) return false;
43787 
43788     } // validation
43789 #endif
43790 
43791 #ifdef GENERATEDSAXPARSER_VALIDATION
43792     if ( mValidate )
43793     {
43794         float2x2____glsl_float2x2__ValidationData* validationData = (float2x2____glsl_float2x2__ValidationData*)mValidationDataStack.top();
43795         DISABLE_WARNING_UNUSED(validationData)
43796 bool returnValue = floatDataEnd( &ColladaParserAutoGen14::data__float2x2____glsl_float2x2, &validate__glsl_float2x2__streamEnd, &validationData->validationWholeSize, 0 );
43797         ParserError::ErrorType simpleTypeValidationResult = validate__glsl_float2x2(0, (*(&validationData->validationWholeSize)));
43798         mValidationDataStack.deleteObject();
43799         if (simpleTypeValidationResult != ParserError::SIMPLE_TYPE_VALIDATION_OK)
43800         {
43801             if( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL,
43802                 simpleTypeValidationResult,
43803                 HASH_ELEMENT_FLOAT2X2,
43804                 (ParserChar*)0, 0 ) )
43805             {
43806                 return false;
43807             }
43808         }
43809         return returnValue;
43810     }
43811     else
43812     {
43813 return floatDataEnd( &ColladaParserAutoGen14::data__float2x2____glsl_float2x2 );
43814     }
43815 #else
43816     {
43817 return floatDataEnd( &ColladaParserAutoGen14::data__float2x2____glsl_float2x2 );
43818     } // validation
43819 #endif
43820 
43821 }
43822 
43823 //---------------------------------------------------------------------
_freeAttributes__float2x2____glsl_float2x2(void * attributeData)43824 bool ColladaParserAutoGen14Private::_freeAttributes__float2x2____glsl_float2x2( void* attributeData )
43825 {
43826     return true;
43827 }
43828 
43829 //---------------------------------------------------------------------
_data__float3x3____glsl_float3x3(const ParserChar * text,size_t textLength)43830 bool ColladaParserAutoGen14Private::_data__float3x3____glsl_float3x3( const ParserChar* text, size_t textLength )
43831 {
43832 #ifdef GENERATEDSAXPARSER_VALIDATION
43833     if ( mValidate )
43834     {
43835         float3x3____glsl_float3x3__ValidationData* validationData = (float3x3____glsl_float3x3__ValidationData*)mValidationDataStack.top();
43836         DISABLE_WARNING_UNUSED(validationData)
43837 return characterData2FloatData(text, textLength, &ColladaParserAutoGen14::data__float3x3____glsl_float3x3, &validate__glsl_float3x3__stream, &validationData->validationWholeSize, 0);
43838     }
43839     else
43840     {
43841 return characterData2FloatData(text, textLength, &ColladaParserAutoGen14::data__float3x3____glsl_float3x3);
43842     }
43843 #else
43844     {
43845 return characterData2FloatData(text, textLength, &ColladaParserAutoGen14::data__float3x3____glsl_float3x3);
43846     } // validation
43847 #endif
43848 
43849 }
43850 
43851 //---------------------------------------------------------------------
_preBegin__float3x3____glsl_float3x3(const ParserAttributes & attributes,void ** attributeDataPtr,void ** validationDataPtr)43852 bool ColladaParserAutoGen14Private::_preBegin__float3x3____glsl_float3x3( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
43853 {
43854 #ifdef GENERATEDSAXPARSER_VALIDATION
43855     if ( mValidate )
43856     {
43857 
43858         bool validationResult = _validateBegin__float3x3____glsl_float3x3( attributes, attributeDataPtr, validationDataPtr );
43859         if ( !validationResult ) return false;
43860 
43861     } // validation
43862 #endif
43863 
43864     return true;
43865 }
43866 
43867 //---------------------------------------------------------------------
_preEnd__float3x3____glsl_float3x3()43868 bool ColladaParserAutoGen14Private::_preEnd__float3x3____glsl_float3x3()
43869 {
43870 #ifdef GENERATEDSAXPARSER_VALIDATION
43871     if ( mValidate )
43872     {
43873 
43874         bool validationResult = _validateEnd__float3x3____glsl_float3x3();
43875         if ( !validationResult ) return false;
43876 
43877     } // validation
43878 #endif
43879 
43880 #ifdef GENERATEDSAXPARSER_VALIDATION
43881     if ( mValidate )
43882     {
43883         float3x3____glsl_float3x3__ValidationData* validationData = (float3x3____glsl_float3x3__ValidationData*)mValidationDataStack.top();
43884         DISABLE_WARNING_UNUSED(validationData)
43885 bool returnValue = floatDataEnd( &ColladaParserAutoGen14::data__float3x3____glsl_float3x3, &validate__glsl_float3x3__streamEnd, &validationData->validationWholeSize, 0 );
43886         ParserError::ErrorType simpleTypeValidationResult = validate__glsl_float3x3(0, (*(&validationData->validationWholeSize)));
43887         mValidationDataStack.deleteObject();
43888         if (simpleTypeValidationResult != ParserError::SIMPLE_TYPE_VALIDATION_OK)
43889         {
43890             if( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL,
43891                 simpleTypeValidationResult,
43892                 HASH_ELEMENT_FLOAT3X3,
43893                 (ParserChar*)0, 0 ) )
43894             {
43895                 return false;
43896             }
43897         }
43898         return returnValue;
43899     }
43900     else
43901     {
43902 return floatDataEnd( &ColladaParserAutoGen14::data__float3x3____glsl_float3x3 );
43903     }
43904 #else
43905     {
43906 return floatDataEnd( &ColladaParserAutoGen14::data__float3x3____glsl_float3x3 );
43907     } // validation
43908 #endif
43909 
43910 }
43911 
43912 //---------------------------------------------------------------------
_freeAttributes__float3x3____glsl_float3x3(void * attributeData)43913 bool ColladaParserAutoGen14Private::_freeAttributes__float3x3____glsl_float3x3( void* attributeData )
43914 {
43915     return true;
43916 }
43917 
43918 //---------------------------------------------------------------------
_data__float4x4____glsl_float4x4(const ParserChar * text,size_t textLength)43919 bool ColladaParserAutoGen14Private::_data__float4x4____glsl_float4x4( const ParserChar* text, size_t textLength )
43920 {
43921 #ifdef GENERATEDSAXPARSER_VALIDATION
43922     if ( mValidate )
43923     {
43924         float4x4____glsl_float4x4__ValidationData* validationData = (float4x4____glsl_float4x4__ValidationData*)mValidationDataStack.top();
43925         DISABLE_WARNING_UNUSED(validationData)
43926 return characterData2FloatData(text, textLength, &ColladaParserAutoGen14::data__float4x4____glsl_float4x4, &validate__glsl_float4x4__stream, &validationData->validationWholeSize, 0);
43927     }
43928     else
43929     {
43930 return characterData2FloatData(text, textLength, &ColladaParserAutoGen14::data__float4x4____glsl_float4x4);
43931     }
43932 #else
43933     {
43934 return characterData2FloatData(text, textLength, &ColladaParserAutoGen14::data__float4x4____glsl_float4x4);
43935     } // validation
43936 #endif
43937 
43938 }
43939 
43940 //---------------------------------------------------------------------
_preBegin__float4x4____glsl_float4x4(const ParserAttributes & attributes,void ** attributeDataPtr,void ** validationDataPtr)43941 bool ColladaParserAutoGen14Private::_preBegin__float4x4____glsl_float4x4( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
43942 {
43943 #ifdef GENERATEDSAXPARSER_VALIDATION
43944     if ( mValidate )
43945     {
43946 
43947         bool validationResult = _validateBegin__float4x4____glsl_float4x4( attributes, attributeDataPtr, validationDataPtr );
43948         if ( !validationResult ) return false;
43949 
43950     } // validation
43951 #endif
43952 
43953     return true;
43954 }
43955 
43956 //---------------------------------------------------------------------
_preEnd__float4x4____glsl_float4x4()43957 bool ColladaParserAutoGen14Private::_preEnd__float4x4____glsl_float4x4()
43958 {
43959 #ifdef GENERATEDSAXPARSER_VALIDATION
43960     if ( mValidate )
43961     {
43962 
43963         bool validationResult = _validateEnd__float4x4____glsl_float4x4();
43964         if ( !validationResult ) return false;
43965 
43966     } // validation
43967 #endif
43968 
43969 #ifdef GENERATEDSAXPARSER_VALIDATION
43970     if ( mValidate )
43971     {
43972         float4x4____glsl_float4x4__ValidationData* validationData = (float4x4____glsl_float4x4__ValidationData*)mValidationDataStack.top();
43973         DISABLE_WARNING_UNUSED(validationData)
43974 bool returnValue = floatDataEnd( &ColladaParserAutoGen14::data__float4x4____glsl_float4x4, &validate__glsl_float4x4__streamEnd, &validationData->validationWholeSize, 0 );
43975         ParserError::ErrorType simpleTypeValidationResult = validate__glsl_float4x4(0, (*(&validationData->validationWholeSize)));
43976         mValidationDataStack.deleteObject();
43977         if (simpleTypeValidationResult != ParserError::SIMPLE_TYPE_VALIDATION_OK)
43978         {
43979             if( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL,
43980                 simpleTypeValidationResult,
43981                 HASH_ELEMENT_FLOAT4X4,
43982                 (ParserChar*)0, 0 ) )
43983             {
43984                 return false;
43985             }
43986         }
43987         return returnValue;
43988     }
43989     else
43990     {
43991 return floatDataEnd( &ColladaParserAutoGen14::data__float4x4____glsl_float4x4 );
43992     }
43993 #else
43994     {
43995 return floatDataEnd( &ColladaParserAutoGen14::data__float4x4____glsl_float4x4 );
43996     } // validation
43997 #endif
43998 
43999 }
44000 
44001 //---------------------------------------------------------------------
_freeAttributes__float4x4____glsl_float4x4(void * attributeData)44002 bool ColladaParserAutoGen14Private::_freeAttributes__float4x4____glsl_float4x4( void* attributeData )
44003 {
44004     return true;
44005 }
44006 
44007 //---------------------------------------------------------------------
_data__int____glsl_int(const ParserChar * text,size_t textLength)44008 bool ColladaParserAutoGen14Private::_data__int____glsl_int( const ParserChar* text, size_t textLength )
44009 {
44010 if (!mLastIncompleteFragmentInCharacterData)
44011 {
44012     mLastIncompleteFragmentInCharacterData = (ParserChar*)mStackMemoryManager.newObject(textLength);
44013     memcpy(mLastIncompleteFragmentInCharacterData, text, textLength);
44014     mEndOfDataInCurrentObjectOnStack = mLastIncompleteFragmentInCharacterData + textLength;
44015 }
44016 else
44017 {
44018     ParserChar* tmp = (ParserChar*)mStackMemoryManager.growObject(textLength);
44019     if ( tmp != mLastIncompleteFragmentInCharacterData ) {
44020         mEndOfDataInCurrentObjectOnStack = (mEndOfDataInCurrentObjectOnStack - mLastIncompleteFragmentInCharacterData) + tmp;
44021         mLastIncompleteFragmentInCharacterData = tmp;
44022     }
44023     memcpy(mEndOfDataInCurrentObjectOnStack, text, textLength);
44024     mEndOfDataInCurrentObjectOnStack += textLength;
44025 }
44026 return true;
44027 }
44028 
44029 //---------------------------------------------------------------------
_preBegin__int____glsl_int(const ParserAttributes & attributes,void ** attributeDataPtr,void ** validationDataPtr)44030 bool ColladaParserAutoGen14Private::_preBegin__int____glsl_int( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
44031 {
44032 #ifdef GENERATEDSAXPARSER_VALIDATION
44033     if ( mValidate )
44034     {
44035 
44036         bool validationResult = _validateBegin__int____glsl_int( attributes, attributeDataPtr, validationDataPtr );
44037         if ( !validationResult ) return false;
44038 
44039     } // validation
44040 #endif
44041 
44042     return true;
44043 }
44044 
44045 //---------------------------------------------------------------------
_preEnd__int____glsl_int()44046 bool ColladaParserAutoGen14Private::_preEnd__int____glsl_int()
44047 {
44048 #ifdef GENERATEDSAXPARSER_VALIDATION
44049     if ( mValidate )
44050     {
44051 
44052         bool validationResult = _validateEnd__int____glsl_int();
44053         if ( !validationResult ) return false;
44054 
44055     } // validation
44056 #endif
44057 
44058 bool failed;
44059 const ParserChar* ptrForErr = mLastIncompleteFragmentInCharacterData;
44060 DISABLE_WARNING_UNUSED(ptrForErr)
44061 sint32 parameter = GeneratedSaxParser::Utils::toSint32((const ParserChar**)&mLastIncompleteFragmentInCharacterData, mEndOfDataInCurrentObjectOnStack, failed);
44062 bool returnValue;
44063 if (!failed)
44064 {
44065 #ifdef GENERATEDSAXPARSER_VALIDATION
44066     if ( mValidate )
44067     {
44068     ParserError::ErrorType simpleTypeValidationResult = validate__glsl_int(parameter);
44069     if (simpleTypeValidationResult != ParserError::SIMPLE_TYPE_VALIDATION_OK)
44070     {
44071         ParserChar msg[21];
44072         Utils::fillErrorMsg(msg, ptrForErr, 20);
44073         if( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL,
44074             simpleTypeValidationResult,
44075             0,
44076             msg) )
44077         {
44078             return false;
44079         }
44080     }
44081     } // validation
44082 #endif
44083     returnValue = mImpl->data__int____glsl_int(parameter);
44084 }
44085 else
44086     returnValue = !handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_TEXTDATA_PARSING_FAILED, HASH_ELEMENT_INT, (const ParserChar*)0, mLastIncompleteFragmentInCharacterData);
44087 if (mLastIncompleteFragmentInCharacterData)
44088     mStackMemoryManager.deleteObject();
44089 mLastIncompleteFragmentInCharacterData = 0;
44090 mEndOfDataInCurrentObjectOnStack = 0;
44091 return returnValue;
44092 }
44093 
44094 //---------------------------------------------------------------------
_freeAttributes__int____glsl_int(void * attributeData)44095 bool ColladaParserAutoGen14Private::_freeAttributes__int____glsl_int( void* attributeData )
44096 {
44097     return true;
44098 }
44099 
44100 //---------------------------------------------------------------------
_data__int2____glsl_int2(const ParserChar * text,size_t textLength)44101 bool ColladaParserAutoGen14Private::_data__int2____glsl_int2( const ParserChar* text, size_t textLength )
44102 {
44103 #ifdef GENERATEDSAXPARSER_VALIDATION
44104     if ( mValidate )
44105     {
44106         int2____glsl_int2__ValidationData* validationData = (int2____glsl_int2__ValidationData*)mValidationDataStack.top();
44107         DISABLE_WARNING_UNUSED(validationData)
44108 return characterData2Sint32Data(text, textLength, &ColladaParserAutoGen14::data__int2____glsl_int2, &validate__glsl_int2__stream, &validationData->validationWholeSize, &validate__glsl_int);
44109     }
44110     else
44111     {
44112 return characterData2Sint32Data(text, textLength, &ColladaParserAutoGen14::data__int2____glsl_int2);
44113     }
44114 #else
44115     {
44116 return characterData2Sint32Data(text, textLength, &ColladaParserAutoGen14::data__int2____glsl_int2);
44117     } // validation
44118 #endif
44119 
44120 }
44121 
44122 //---------------------------------------------------------------------
_preBegin__int2____glsl_int2(const ParserAttributes & attributes,void ** attributeDataPtr,void ** validationDataPtr)44123 bool ColladaParserAutoGen14Private::_preBegin__int2____glsl_int2( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
44124 {
44125 #ifdef GENERATEDSAXPARSER_VALIDATION
44126     if ( mValidate )
44127     {
44128 
44129         bool validationResult = _validateBegin__int2____glsl_int2( attributes, attributeDataPtr, validationDataPtr );
44130         if ( !validationResult ) return false;
44131 
44132     } // validation
44133 #endif
44134 
44135     return true;
44136 }
44137 
44138 //---------------------------------------------------------------------
_preEnd__int2____glsl_int2()44139 bool ColladaParserAutoGen14Private::_preEnd__int2____glsl_int2()
44140 {
44141 #ifdef GENERATEDSAXPARSER_VALIDATION
44142     if ( mValidate )
44143     {
44144 
44145         bool validationResult = _validateEnd__int2____glsl_int2();
44146         if ( !validationResult ) return false;
44147 
44148     } // validation
44149 #endif
44150 
44151 #ifdef GENERATEDSAXPARSER_VALIDATION
44152     if ( mValidate )
44153     {
44154         int2____glsl_int2__ValidationData* validationData = (int2____glsl_int2__ValidationData*)mValidationDataStack.top();
44155         DISABLE_WARNING_UNUSED(validationData)
44156 bool returnValue = sint32DataEnd( &ColladaParserAutoGen14::data__int2____glsl_int2, &validate__glsl_int2__streamEnd, &validationData->validationWholeSize, &validate__glsl_int );
44157         ParserError::ErrorType simpleTypeValidationResult = validate__glsl_int2(0, (*(&validationData->validationWholeSize)));
44158         mValidationDataStack.deleteObject();
44159         if (simpleTypeValidationResult != ParserError::SIMPLE_TYPE_VALIDATION_OK)
44160         {
44161             if( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL,
44162                 simpleTypeValidationResult,
44163                 HASH_ELEMENT_INT2,
44164                 (ParserChar*)0, 0 ) )
44165             {
44166                 return false;
44167             }
44168         }
44169         return returnValue;
44170     }
44171     else
44172     {
44173 return sint32DataEnd( &ColladaParserAutoGen14::data__int2____glsl_int2 );
44174     }
44175 #else
44176     {
44177 return sint32DataEnd( &ColladaParserAutoGen14::data__int2____glsl_int2 );
44178     } // validation
44179 #endif
44180 
44181 }
44182 
44183 //---------------------------------------------------------------------
_freeAttributes__int2____glsl_int2(void * attributeData)44184 bool ColladaParserAutoGen14Private::_freeAttributes__int2____glsl_int2( void* attributeData )
44185 {
44186     return true;
44187 }
44188 
44189 //---------------------------------------------------------------------
_data__int3____glsl_int3(const ParserChar * text,size_t textLength)44190 bool ColladaParserAutoGen14Private::_data__int3____glsl_int3( const ParserChar* text, size_t textLength )
44191 {
44192 #ifdef GENERATEDSAXPARSER_VALIDATION
44193     if ( mValidate )
44194     {
44195         int3____glsl_int3__ValidationData* validationData = (int3____glsl_int3__ValidationData*)mValidationDataStack.top();
44196         DISABLE_WARNING_UNUSED(validationData)
44197 return characterData2Sint32Data(text, textLength, &ColladaParserAutoGen14::data__int3____glsl_int3, &validate__glsl_int3__stream, &validationData->validationWholeSize, &validate__glsl_int);
44198     }
44199     else
44200     {
44201 return characterData2Sint32Data(text, textLength, &ColladaParserAutoGen14::data__int3____glsl_int3);
44202     }
44203 #else
44204     {
44205 return characterData2Sint32Data(text, textLength, &ColladaParserAutoGen14::data__int3____glsl_int3);
44206     } // validation
44207 #endif
44208 
44209 }
44210 
44211 //---------------------------------------------------------------------
_preBegin__int3____glsl_int3(const ParserAttributes & attributes,void ** attributeDataPtr,void ** validationDataPtr)44212 bool ColladaParserAutoGen14Private::_preBegin__int3____glsl_int3( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
44213 {
44214 #ifdef GENERATEDSAXPARSER_VALIDATION
44215     if ( mValidate )
44216     {
44217 
44218         bool validationResult = _validateBegin__int3____glsl_int3( attributes, attributeDataPtr, validationDataPtr );
44219         if ( !validationResult ) return false;
44220 
44221     } // validation
44222 #endif
44223 
44224     return true;
44225 }
44226 
44227 //---------------------------------------------------------------------
_preEnd__int3____glsl_int3()44228 bool ColladaParserAutoGen14Private::_preEnd__int3____glsl_int3()
44229 {
44230 #ifdef GENERATEDSAXPARSER_VALIDATION
44231     if ( mValidate )
44232     {
44233 
44234         bool validationResult = _validateEnd__int3____glsl_int3();
44235         if ( !validationResult ) return false;
44236 
44237     } // validation
44238 #endif
44239 
44240 #ifdef GENERATEDSAXPARSER_VALIDATION
44241     if ( mValidate )
44242     {
44243         int3____glsl_int3__ValidationData* validationData = (int3____glsl_int3__ValidationData*)mValidationDataStack.top();
44244         DISABLE_WARNING_UNUSED(validationData)
44245 bool returnValue = sint32DataEnd( &ColladaParserAutoGen14::data__int3____glsl_int3, &validate__glsl_int3__streamEnd, &validationData->validationWholeSize, &validate__glsl_int );
44246         ParserError::ErrorType simpleTypeValidationResult = validate__glsl_int3(0, (*(&validationData->validationWholeSize)));
44247         mValidationDataStack.deleteObject();
44248         if (simpleTypeValidationResult != ParserError::SIMPLE_TYPE_VALIDATION_OK)
44249         {
44250             if( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL,
44251                 simpleTypeValidationResult,
44252                 HASH_ELEMENT_INT3,
44253                 (ParserChar*)0, 0 ) )
44254             {
44255                 return false;
44256             }
44257         }
44258         return returnValue;
44259     }
44260     else
44261     {
44262 return sint32DataEnd( &ColladaParserAutoGen14::data__int3____glsl_int3 );
44263     }
44264 #else
44265     {
44266 return sint32DataEnd( &ColladaParserAutoGen14::data__int3____glsl_int3 );
44267     } // validation
44268 #endif
44269 
44270 }
44271 
44272 //---------------------------------------------------------------------
_freeAttributes__int3____glsl_int3(void * attributeData)44273 bool ColladaParserAutoGen14Private::_freeAttributes__int3____glsl_int3( void* attributeData )
44274 {
44275     return true;
44276 }
44277 
44278 //---------------------------------------------------------------------
_data__int4____glsl_int4(const ParserChar * text,size_t textLength)44279 bool ColladaParserAutoGen14Private::_data__int4____glsl_int4( const ParserChar* text, size_t textLength )
44280 {
44281 #ifdef GENERATEDSAXPARSER_VALIDATION
44282     if ( mValidate )
44283     {
44284         int4____glsl_int4__ValidationData* validationData = (int4____glsl_int4__ValidationData*)mValidationDataStack.top();
44285         DISABLE_WARNING_UNUSED(validationData)
44286 return characterData2Sint32Data(text, textLength, &ColladaParserAutoGen14::data__int4____glsl_int4, &validate__glsl_int4__stream, &validationData->validationWholeSize, &validate__glsl_int);
44287     }
44288     else
44289     {
44290 return characterData2Sint32Data(text, textLength, &ColladaParserAutoGen14::data__int4____glsl_int4);
44291     }
44292 #else
44293     {
44294 return characterData2Sint32Data(text, textLength, &ColladaParserAutoGen14::data__int4____glsl_int4);
44295     } // validation
44296 #endif
44297 
44298 }
44299 
44300 //---------------------------------------------------------------------
_preBegin__int4____glsl_int4(const ParserAttributes & attributes,void ** attributeDataPtr,void ** validationDataPtr)44301 bool ColladaParserAutoGen14Private::_preBegin__int4____glsl_int4( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
44302 {
44303 #ifdef GENERATEDSAXPARSER_VALIDATION
44304     if ( mValidate )
44305     {
44306 
44307         bool validationResult = _validateBegin__int4____glsl_int4( attributes, attributeDataPtr, validationDataPtr );
44308         if ( !validationResult ) return false;
44309 
44310     } // validation
44311 #endif
44312 
44313     return true;
44314 }
44315 
44316 //---------------------------------------------------------------------
_preEnd__int4____glsl_int4()44317 bool ColladaParserAutoGen14Private::_preEnd__int4____glsl_int4()
44318 {
44319 #ifdef GENERATEDSAXPARSER_VALIDATION
44320     if ( mValidate )
44321     {
44322 
44323         bool validationResult = _validateEnd__int4____glsl_int4();
44324         if ( !validationResult ) return false;
44325 
44326     } // validation
44327 #endif
44328 
44329 #ifdef GENERATEDSAXPARSER_VALIDATION
44330     if ( mValidate )
44331     {
44332         int4____glsl_int4__ValidationData* validationData = (int4____glsl_int4__ValidationData*)mValidationDataStack.top();
44333         DISABLE_WARNING_UNUSED(validationData)
44334 bool returnValue = sint32DataEnd( &ColladaParserAutoGen14::data__int4____glsl_int4, &validate__glsl_int4__streamEnd, &validationData->validationWholeSize, &validate__glsl_int );
44335         ParserError::ErrorType simpleTypeValidationResult = validate__glsl_int4(0, (*(&validationData->validationWholeSize)));
44336         mValidationDataStack.deleteObject();
44337         if (simpleTypeValidationResult != ParserError::SIMPLE_TYPE_VALIDATION_OK)
44338         {
44339             if( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL,
44340                 simpleTypeValidationResult,
44341                 HASH_ELEMENT_INT4,
44342                 (ParserChar*)0, 0 ) )
44343             {
44344                 return false;
44345             }
44346         }
44347         return returnValue;
44348     }
44349     else
44350     {
44351 return sint32DataEnd( &ColladaParserAutoGen14::data__int4____glsl_int4 );
44352     }
44353 #else
44354     {
44355 return sint32DataEnd( &ColladaParserAutoGen14::data__int4____glsl_int4 );
44356     } // validation
44357 #endif
44358 
44359 }
44360 
44361 //---------------------------------------------------------------------
_freeAttributes__int4____glsl_int4(void * attributeData)44362 bool ColladaParserAutoGen14Private::_freeAttributes__int4____glsl_int4( void* attributeData )
44363 {
44364     return true;
44365 }
44366 
44367 //---------------------------------------------------------------------
44368 const surface____glsl_surface_type__AttributeData surface____glsl_surface_type__AttributeData::DEFAULT = {ENUM__fx_surface_type_enum__NOT_PRESENT};
44369 
44370 //---------------------------------------------------------------------
_data__surface____glsl_surface_type(const ParserChar * text,size_t textLength)44371 bool ColladaParserAutoGen14Private::_data__surface____glsl_surface_type( const ParserChar* text, size_t textLength )
44372 {
44373     return true;
44374 }
44375 
44376 //---------------------------------------------------------------------
_preBegin__surface____glsl_surface_type(const ParserAttributes & attributes,void ** attributeDataPtr,void ** validationDataPtr)44377 bool ColladaParserAutoGen14Private::_preBegin__surface____glsl_surface_type( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
44378 {
44379 #ifdef GENERATEDSAXPARSER_VALIDATION
44380     if ( mValidate )
44381     {
44382 
44383         bool validationResult = _validateBegin__surface____glsl_surface_type( attributes, attributeDataPtr, validationDataPtr );
44384         if ( !validationResult ) return false;
44385 
44386     } // validation
44387 #endif
44388 
44389 surface____glsl_surface_type__AttributeData* attributeData = newData<surface____glsl_surface_type__AttributeData>(attributeDataPtr);
44390 
44391 const ParserChar** attributeArray = attributes.attributes;
44392 if ( attributeArray )
44393 {
44394     while (true)
44395     {
44396         const ParserChar * attribute = *attributeArray;
44397         if ( !attribute )
44398             break;
44399         StringHash hash = GeneratedSaxParser::Utils::calculateStringHash(attribute);
44400         attributeArray++;
44401         if ( !attributeArray )
44402             return false;
44403         const ParserChar* attributeValue = *attributeArray;
44404         attributeArray++;
44405 
44406 
44407     switch ( hash )
44408     {
44409     case HASH_ATTRIBUTE_type:
44410     {
44411 bool failed;
44412 attributeData->type = Utils::toEnum<ENUM__fx_surface_type_enum, StringHash, ENUM__fx_surface_type_enum__COUNT>(attributeValue, failed, ENUM__fx_surface_type_enumMap, Utils::calculateStringHash);
44413 if ( failed && handleError(ParserError::SEVERITY_ERROR_NONCRITICAL,
44414         ParserError::ERROR_ATTRIBUTE_PARSING_FAILED,
44415         HASH_ELEMENT_SURFACE,
44416         HASH_ATTRIBUTE_type,
44417         attributeValue))
44418 {
44419     return false;
44420 }
44421 
44422     break;
44423     }
44424     default:
44425     {
44426         if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_UNKNOWN_ATTRIBUTE, HASH_ELEMENT_SURFACE, attribute, attributeValue))
44427             {return false;}
44428     }
44429     }
44430     }
44431 }
44432 if ( attributeData->type == ENUM__fx_surface_type_enum__NOT_PRESENT )
44433 {
44434     if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_REQUIRED_ATTRIBUTE_MISSING, HASH_ELEMENT_SURFACE, HASH_ATTRIBUTE_type, 0 ) )
44435         return false;
44436 }
44437 
44438 
44439     return true;
44440 }
44441 
44442 //---------------------------------------------------------------------
_preEnd__surface____glsl_surface_type()44443 bool ColladaParserAutoGen14Private::_preEnd__surface____glsl_surface_type()
44444 {
44445 #ifdef GENERATEDSAXPARSER_VALIDATION
44446     if ( mValidate )
44447     {
44448 
44449         bool validationResult = _validateEnd__surface____glsl_surface_type();
44450         if ( !validationResult ) return false;
44451 
44452     } // validation
44453 #endif
44454 
44455     return true;
44456 }
44457 
44458 //---------------------------------------------------------------------
_freeAttributes__surface____glsl_surface_type(void * attributeData)44459 bool ColladaParserAutoGen14Private::_freeAttributes__surface____glsl_surface_type( void* attributeData )
44460 {
44461     surface____glsl_surface_type__AttributeData* typedAttributeData = static_cast<surface____glsl_surface_type__AttributeData*>(attributeData);
44462 
44463     typedAttributeData->~surface____glsl_surface_type__AttributeData();
44464 
44465     return true;
44466 }
44467 
44468 //---------------------------------------------------------------------
_data__glsl_surface_type____generator(const ParserChar * text,size_t textLength)44469 bool ColladaParserAutoGen14Private::_data__glsl_surface_type____generator( const ParserChar* text, size_t textLength )
44470 {
44471     return true;
44472 }
44473 
44474 //---------------------------------------------------------------------
_preBegin__glsl_surface_type____generator(const ParserAttributes & attributes,void ** attributeDataPtr,void ** validationDataPtr)44475 bool ColladaParserAutoGen14Private::_preBegin__glsl_surface_type____generator( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
44476 {
44477 #ifdef GENERATEDSAXPARSER_VALIDATION
44478     if ( mValidate )
44479     {
44480 
44481         bool validationResult = _validateBegin__glsl_surface_type____generator( attributes, attributeDataPtr, validationDataPtr );
44482         if ( !validationResult ) return false;
44483 
44484     } // validation
44485 #endif
44486 
44487     return true;
44488 }
44489 
44490 //---------------------------------------------------------------------
_preEnd__glsl_surface_type____generator()44491 bool ColladaParserAutoGen14Private::_preEnd__glsl_surface_type____generator()
44492 {
44493 #ifdef GENERATEDSAXPARSER_VALIDATION
44494     if ( mValidate )
44495     {
44496 
44497         bool validationResult = _validateEnd__glsl_surface_type____generator();
44498         if ( !validationResult ) return false;
44499 
44500     } // validation
44501 #endif
44502 
44503     return true;
44504 }
44505 
44506 //---------------------------------------------------------------------
_freeAttributes__glsl_surface_type____generator(void * attributeData)44507 bool ColladaParserAutoGen14Private::_freeAttributes__glsl_surface_type____generator( void* attributeData )
44508 {
44509     return true;
44510 }
44511 
44512 //---------------------------------------------------------------------
44513 const profile_GLSL__newparam__surface__generator__name__AttributeData profile_GLSL__newparam__surface__generator__name__AttributeData::DEFAULT = {0};
44514 
44515 //---------------------------------------------------------------------
_data__profile_GLSL__newparam__surface__generator__name(const ParserChar * text,size_t textLength)44516 bool ColladaParserAutoGen14Private::_data__profile_GLSL__newparam__surface__generator__name( const ParserChar* text, size_t textLength )
44517 {
44518 if (!mLastIncompleteFragmentInCharacterData)
44519 {
44520     mLastIncompleteFragmentInCharacterData = (ParserChar*)mStackMemoryManager.newObject(textLength);
44521     memcpy(mLastIncompleteFragmentInCharacterData, text, textLength);
44522     mEndOfDataInCurrentObjectOnStack = mLastIncompleteFragmentInCharacterData + textLength;
44523 }
44524 else
44525 {
44526     ParserChar* tmp = (ParserChar*)mStackMemoryManager.growObject(textLength);
44527     if ( tmp != mLastIncompleteFragmentInCharacterData ) {
44528         mEndOfDataInCurrentObjectOnStack = (mEndOfDataInCurrentObjectOnStack - mLastIncompleteFragmentInCharacterData) + tmp;
44529         mLastIncompleteFragmentInCharacterData = tmp;
44530     }
44531     memcpy(mEndOfDataInCurrentObjectOnStack, text, textLength);
44532     mEndOfDataInCurrentObjectOnStack += textLength;
44533 }
44534 return true;
44535 }
44536 
44537 //---------------------------------------------------------------------
_preBegin__profile_GLSL__newparam__surface__generator__name(const ParserAttributes & attributes,void ** attributeDataPtr,void ** validationDataPtr)44538 bool ColladaParserAutoGen14Private::_preBegin__profile_GLSL__newparam__surface__generator__name( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
44539 {
44540 #ifdef GENERATEDSAXPARSER_VALIDATION
44541     if ( mValidate )
44542     {
44543 
44544         bool validationResult = _validateBegin__profile_GLSL__newparam__surface__generator__name( attributes, attributeDataPtr, validationDataPtr );
44545         if ( !validationResult ) return false;
44546 
44547     } // validation
44548 #endif
44549 
44550 profile_GLSL__newparam__surface__generator__name__AttributeData* attributeData = newData<profile_GLSL__newparam__surface__generator__name__AttributeData>(attributeDataPtr);
44551 
44552 const ParserChar** attributeArray = attributes.attributes;
44553 if ( attributeArray )
44554 {
44555     while (true)
44556     {
44557         const ParserChar * attribute = *attributeArray;
44558         if ( !attribute )
44559             break;
44560         StringHash hash = GeneratedSaxParser::Utils::calculateStringHash(attribute);
44561         attributeArray++;
44562         if ( !attributeArray )
44563             return false;
44564         const ParserChar* attributeValue = *attributeArray;
44565         attributeArray++;
44566 
44567 
44568     switch ( hash )
44569     {
44570     case HASH_ATTRIBUTE_source:
44571     {
44572 
44573 attributeData->source = attributeValue;
44574 #ifdef GENERATEDSAXPARSER_VALIDATION
44575     if ( mValidate )
44576     {
44577     ParserError::ErrorType simpleTypeValidationResult = validate__NCName(attributeData->source, strlen(attributeData->source));
44578     if (simpleTypeValidationResult != ParserError::SIMPLE_TYPE_VALIDATION_OK)
44579     {
44580         if( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL,
44581             simpleTypeValidationResult,
44582             HASH_ELEMENT_NAME,
44583             HASH_ATTRIBUTE_source,
44584             attributeValue) )
44585         {
44586             return false;
44587         }
44588     }
44589     } // validation
44590 #endif
44591 
44592     break;
44593     }
44594     default:
44595     {
44596         if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_UNKNOWN_ATTRIBUTE, HASH_ELEMENT_NAME, attribute, attributeValue))
44597             {return false;}
44598     }
44599     }
44600     }
44601 }
44602 
44603 
44604     return true;
44605 }
44606 
44607 //---------------------------------------------------------------------
_preEnd__profile_GLSL__newparam__surface__generator__name()44608 bool ColladaParserAutoGen14Private::_preEnd__profile_GLSL__newparam__surface__generator__name()
44609 {
44610 #ifdef GENERATEDSAXPARSER_VALIDATION
44611     if ( mValidate )
44612     {
44613 
44614         bool validationResult = _validateEnd__profile_GLSL__newparam__surface__generator__name();
44615         if ( !validationResult ) return false;
44616 
44617     } // validation
44618 #endif
44619 
44620 bool returnValue = true;
44621 #ifdef GENERATEDSAXPARSER_VALIDATION
44622     if ( mValidate )
44623     {
44624 ParserError::ErrorType simpleTypeValidationResult = validate__NCName(mLastIncompleteFragmentInCharacterData, mEndOfDataInCurrentObjectOnStack - mLastIncompleteFragmentInCharacterData);
44625 if (simpleTypeValidationResult != ParserError::SIMPLE_TYPE_VALIDATION_OK)
44626 {
44627     ParserChar msg[21];
44628     Utils::fillErrorMsg(msg, mLastIncompleteFragmentInCharacterData, 20);
44629     if( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL,
44630         simpleTypeValidationResult,
44631         0,
44632         msg) )
44633     {
44634         returnValue =  false;
44635     }
44636 }
44637 if (!returnValue)
44638 {
44639     mStackMemoryManager.deleteObject();
44640     mLastIncompleteFragmentInCharacterData = 0;
44641     mEndOfDataInCurrentObjectOnStack = 0;
44642     return returnValue;
44643 }
44644     } // validation
44645 #endif
44646 returnValue = mImpl->data__profile_GLSL__newparam__surface__generator__name(mLastIncompleteFragmentInCharacterData, mEndOfDataInCurrentObjectOnStack - mLastIncompleteFragmentInCharacterData);
44647 mStackMemoryManager.deleteObject();
44648 mLastIncompleteFragmentInCharacterData = 0;
44649 mEndOfDataInCurrentObjectOnStack = 0;
44650 return returnValue;
44651 
44652 }
44653 
44654 //---------------------------------------------------------------------
_freeAttributes__profile_GLSL__newparam__surface__generator__name(void * attributeData)44655 bool ColladaParserAutoGen14Private::_freeAttributes__profile_GLSL__newparam__surface__generator__name( void* attributeData )
44656 {
44657     profile_GLSL__newparam__surface__generator__name__AttributeData* typedAttributeData = static_cast<profile_GLSL__newparam__surface__generator__name__AttributeData*>(attributeData);
44658 
44659     typedAttributeData->~profile_GLSL__newparam__surface__generator__name__AttributeData();
44660 
44661     return true;
44662 }
44663 
44664 //---------------------------------------------------------------------
44665 const setparam____glsl_setparam_simple__AttributeData setparam____glsl_setparam_simple__AttributeData::DEFAULT = {0};
44666 
44667 //---------------------------------------------------------------------
_data__setparam____glsl_setparam_simple(const ParserChar * text,size_t textLength)44668 bool ColladaParserAutoGen14Private::_data__setparam____glsl_setparam_simple( const ParserChar* text, size_t textLength )
44669 {
44670     return true;
44671 }
44672 
44673 //---------------------------------------------------------------------
_preBegin__setparam____glsl_setparam_simple(const ParserAttributes & attributes,void ** attributeDataPtr,void ** validationDataPtr)44674 bool ColladaParserAutoGen14Private::_preBegin__setparam____glsl_setparam_simple( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
44675 {
44676 #ifdef GENERATEDSAXPARSER_VALIDATION
44677     if ( mValidate )
44678     {
44679 
44680         bool validationResult = _validateBegin__setparam____glsl_setparam_simple( attributes, attributeDataPtr, validationDataPtr );
44681         if ( !validationResult ) return false;
44682 
44683     } // validation
44684 #endif
44685 
44686 setparam____glsl_setparam_simple__AttributeData* attributeData = newData<setparam____glsl_setparam_simple__AttributeData>(attributeDataPtr);
44687 
44688 const ParserChar** attributeArray = attributes.attributes;
44689 if ( attributeArray )
44690 {
44691     while (true)
44692     {
44693         const ParserChar * attribute = *attributeArray;
44694         if ( !attribute )
44695             break;
44696         StringHash hash = GeneratedSaxParser::Utils::calculateStringHash(attribute);
44697         attributeArray++;
44698         if ( !attributeArray )
44699             return false;
44700         const ParserChar* attributeValue = *attributeArray;
44701         attributeArray++;
44702 
44703 
44704     switch ( hash )
44705     {
44706     case HASH_ATTRIBUTE_ref:
44707     {
44708 
44709 attributeData->ref = attributeValue;
44710 
44711     break;
44712     }
44713     default:
44714     {
44715         if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_UNKNOWN_ATTRIBUTE, HASH_ELEMENT_SETPARAM, attribute, attributeValue))
44716             {return false;}
44717     }
44718     }
44719     }
44720 }
44721 if ( !attributeData->ref )
44722 {
44723     if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_REQUIRED_ATTRIBUTE_MISSING, HASH_ELEMENT_SETPARAM, HASH_ATTRIBUTE_ref, 0 ) )
44724         return false;
44725 }
44726 
44727 
44728     return true;
44729 }
44730 
44731 //---------------------------------------------------------------------
_preEnd__setparam____glsl_setparam_simple()44732 bool ColladaParserAutoGen14Private::_preEnd__setparam____glsl_setparam_simple()
44733 {
44734 #ifdef GENERATEDSAXPARSER_VALIDATION
44735     if ( mValidate )
44736     {
44737 
44738         bool validationResult = _validateEnd__setparam____glsl_setparam_simple();
44739         if ( !validationResult ) return false;
44740 
44741     } // validation
44742 #endif
44743 
44744     return true;
44745 }
44746 
44747 //---------------------------------------------------------------------
_freeAttributes__setparam____glsl_setparam_simple(void * attributeData)44748 bool ColladaParserAutoGen14Private::_freeAttributes__setparam____glsl_setparam_simple( void* attributeData )
44749 {
44750     setparam____glsl_setparam_simple__AttributeData* typedAttributeData = static_cast<setparam____glsl_setparam_simple__AttributeData*>(attributeData);
44751 
44752     typedAttributeData->~setparam____glsl_setparam_simple__AttributeData();
44753 
44754     return true;
44755 }
44756 
44757 //---------------------------------------------------------------------
_data__sampler1D____gl_sampler1D(const ParserChar * text,size_t textLength)44758 bool ColladaParserAutoGen14Private::_data__sampler1D____gl_sampler1D( const ParserChar* text, size_t textLength )
44759 {
44760     return true;
44761 }
44762 
44763 //---------------------------------------------------------------------
_preBegin__sampler1D____gl_sampler1D(const ParserAttributes & attributes,void ** attributeDataPtr,void ** validationDataPtr)44764 bool ColladaParserAutoGen14Private::_preBegin__sampler1D____gl_sampler1D( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
44765 {
44766 #ifdef GENERATEDSAXPARSER_VALIDATION
44767     if ( mValidate )
44768     {
44769 
44770         bool validationResult = _validateBegin__sampler1D____gl_sampler1D( attributes, attributeDataPtr, validationDataPtr );
44771         if ( !validationResult ) return false;
44772 
44773     } // validation
44774 #endif
44775 
44776     return true;
44777 }
44778 
44779 //---------------------------------------------------------------------
_preEnd__sampler1D____gl_sampler1D()44780 bool ColladaParserAutoGen14Private::_preEnd__sampler1D____gl_sampler1D()
44781 {
44782 #ifdef GENERATEDSAXPARSER_VALIDATION
44783     if ( mValidate )
44784     {
44785 
44786         bool validationResult = _validateEnd__sampler1D____gl_sampler1D();
44787         if ( !validationResult ) return false;
44788 
44789     } // validation
44790 #endif
44791 
44792     return true;
44793 }
44794 
44795 //---------------------------------------------------------------------
_freeAttributes__sampler1D____gl_sampler1D(void * attributeData)44796 bool ColladaParserAutoGen14Private::_freeAttributes__sampler1D____gl_sampler1D( void* attributeData )
44797 {
44798     return true;
44799 }
44800 
44801 //---------------------------------------------------------------------
_data__sampler2D____gl_sampler2D(const ParserChar * text,size_t textLength)44802 bool ColladaParserAutoGen14Private::_data__sampler2D____gl_sampler2D( const ParserChar* text, size_t textLength )
44803 {
44804     return true;
44805 }
44806 
44807 //---------------------------------------------------------------------
_preBegin__sampler2D____gl_sampler2D(const ParserAttributes & attributes,void ** attributeDataPtr,void ** validationDataPtr)44808 bool ColladaParserAutoGen14Private::_preBegin__sampler2D____gl_sampler2D( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
44809 {
44810 #ifdef GENERATEDSAXPARSER_VALIDATION
44811     if ( mValidate )
44812     {
44813 
44814         bool validationResult = _validateBegin__sampler2D____gl_sampler2D( attributes, attributeDataPtr, validationDataPtr );
44815         if ( !validationResult ) return false;
44816 
44817     } // validation
44818 #endif
44819 
44820     return true;
44821 }
44822 
44823 //---------------------------------------------------------------------
_preEnd__sampler2D____gl_sampler2D()44824 bool ColladaParserAutoGen14Private::_preEnd__sampler2D____gl_sampler2D()
44825 {
44826 #ifdef GENERATEDSAXPARSER_VALIDATION
44827     if ( mValidate )
44828     {
44829 
44830         bool validationResult = _validateEnd__sampler2D____gl_sampler2D();
44831         if ( !validationResult ) return false;
44832 
44833     } // validation
44834 #endif
44835 
44836     return true;
44837 }
44838 
44839 //---------------------------------------------------------------------
_freeAttributes__sampler2D____gl_sampler2D(void * attributeData)44840 bool ColladaParserAutoGen14Private::_freeAttributes__sampler2D____gl_sampler2D( void* attributeData )
44841 {
44842     return true;
44843 }
44844 
44845 //---------------------------------------------------------------------
_data__sampler3D____gl_sampler3D(const ParserChar * text,size_t textLength)44846 bool ColladaParserAutoGen14Private::_data__sampler3D____gl_sampler3D( const ParserChar* text, size_t textLength )
44847 {
44848     return true;
44849 }
44850 
44851 //---------------------------------------------------------------------
_preBegin__sampler3D____gl_sampler3D(const ParserAttributes & attributes,void ** attributeDataPtr,void ** validationDataPtr)44852 bool ColladaParserAutoGen14Private::_preBegin__sampler3D____gl_sampler3D( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
44853 {
44854 #ifdef GENERATEDSAXPARSER_VALIDATION
44855     if ( mValidate )
44856     {
44857 
44858         bool validationResult = _validateBegin__sampler3D____gl_sampler3D( attributes, attributeDataPtr, validationDataPtr );
44859         if ( !validationResult ) return false;
44860 
44861     } // validation
44862 #endif
44863 
44864     return true;
44865 }
44866 
44867 //---------------------------------------------------------------------
_preEnd__sampler3D____gl_sampler3D()44868 bool ColladaParserAutoGen14Private::_preEnd__sampler3D____gl_sampler3D()
44869 {
44870 #ifdef GENERATEDSAXPARSER_VALIDATION
44871     if ( mValidate )
44872     {
44873 
44874         bool validationResult = _validateEnd__sampler3D____gl_sampler3D();
44875         if ( !validationResult ) return false;
44876 
44877     } // validation
44878 #endif
44879 
44880     return true;
44881 }
44882 
44883 //---------------------------------------------------------------------
_freeAttributes__sampler3D____gl_sampler3D(void * attributeData)44884 bool ColladaParserAutoGen14Private::_freeAttributes__sampler3D____gl_sampler3D( void* attributeData )
44885 {
44886     return true;
44887 }
44888 
44889 //---------------------------------------------------------------------
_data__samplerCUBE____gl_samplerCUBE(const ParserChar * text,size_t textLength)44890 bool ColladaParserAutoGen14Private::_data__samplerCUBE____gl_samplerCUBE( const ParserChar* text, size_t textLength )
44891 {
44892     return true;
44893 }
44894 
44895 //---------------------------------------------------------------------
_preBegin__samplerCUBE____gl_samplerCUBE(const ParserAttributes & attributes,void ** attributeDataPtr,void ** validationDataPtr)44896 bool ColladaParserAutoGen14Private::_preBegin__samplerCUBE____gl_samplerCUBE( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
44897 {
44898 #ifdef GENERATEDSAXPARSER_VALIDATION
44899     if ( mValidate )
44900     {
44901 
44902         bool validationResult = _validateBegin__samplerCUBE____gl_samplerCUBE( attributes, attributeDataPtr, validationDataPtr );
44903         if ( !validationResult ) return false;
44904 
44905     } // validation
44906 #endif
44907 
44908     return true;
44909 }
44910 
44911 //---------------------------------------------------------------------
_preEnd__samplerCUBE____gl_samplerCUBE()44912 bool ColladaParserAutoGen14Private::_preEnd__samplerCUBE____gl_samplerCUBE()
44913 {
44914 #ifdef GENERATEDSAXPARSER_VALIDATION
44915     if ( mValidate )
44916     {
44917 
44918         bool validationResult = _validateEnd__samplerCUBE____gl_samplerCUBE();
44919         if ( !validationResult ) return false;
44920 
44921     } // validation
44922 #endif
44923 
44924     return true;
44925 }
44926 
44927 //---------------------------------------------------------------------
_freeAttributes__samplerCUBE____gl_samplerCUBE(void * attributeData)44928 bool ColladaParserAutoGen14Private::_freeAttributes__samplerCUBE____gl_samplerCUBE( void* attributeData )
44929 {
44930     return true;
44931 }
44932 
44933 //---------------------------------------------------------------------
_data__samplerRECT____gl_samplerRECT(const ParserChar * text,size_t textLength)44934 bool ColladaParserAutoGen14Private::_data__samplerRECT____gl_samplerRECT( const ParserChar* text, size_t textLength )
44935 {
44936     return true;
44937 }
44938 
44939 //---------------------------------------------------------------------
_preBegin__samplerRECT____gl_samplerRECT(const ParserAttributes & attributes,void ** attributeDataPtr,void ** validationDataPtr)44940 bool ColladaParserAutoGen14Private::_preBegin__samplerRECT____gl_samplerRECT( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
44941 {
44942 #ifdef GENERATEDSAXPARSER_VALIDATION
44943     if ( mValidate )
44944     {
44945 
44946         bool validationResult = _validateBegin__samplerRECT____gl_samplerRECT( attributes, attributeDataPtr, validationDataPtr );
44947         if ( !validationResult ) return false;
44948 
44949     } // validation
44950 #endif
44951 
44952     return true;
44953 }
44954 
44955 //---------------------------------------------------------------------
_preEnd__samplerRECT____gl_samplerRECT()44956 bool ColladaParserAutoGen14Private::_preEnd__samplerRECT____gl_samplerRECT()
44957 {
44958 #ifdef GENERATEDSAXPARSER_VALIDATION
44959     if ( mValidate )
44960     {
44961 
44962         bool validationResult = _validateEnd__samplerRECT____gl_samplerRECT();
44963         if ( !validationResult ) return false;
44964 
44965     } // validation
44966 #endif
44967 
44968     return true;
44969 }
44970 
44971 //---------------------------------------------------------------------
_freeAttributes__samplerRECT____gl_samplerRECT(void * attributeData)44972 bool ColladaParserAutoGen14Private::_freeAttributes__samplerRECT____gl_samplerRECT( void* attributeData )
44973 {
44974     return true;
44975 }
44976 
44977 //---------------------------------------------------------------------
_data__samplerDEPTH____gl_samplerDEPTH(const ParserChar * text,size_t textLength)44978 bool ColladaParserAutoGen14Private::_data__samplerDEPTH____gl_samplerDEPTH( const ParserChar* text, size_t textLength )
44979 {
44980     return true;
44981 }
44982 
44983 //---------------------------------------------------------------------
_preBegin__samplerDEPTH____gl_samplerDEPTH(const ParserAttributes & attributes,void ** attributeDataPtr,void ** validationDataPtr)44984 bool ColladaParserAutoGen14Private::_preBegin__samplerDEPTH____gl_samplerDEPTH( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
44985 {
44986 #ifdef GENERATEDSAXPARSER_VALIDATION
44987     if ( mValidate )
44988     {
44989 
44990         bool validationResult = _validateBegin__samplerDEPTH____gl_samplerDEPTH( attributes, attributeDataPtr, validationDataPtr );
44991         if ( !validationResult ) return false;
44992 
44993     } // validation
44994 #endif
44995 
44996     return true;
44997 }
44998 
44999 //---------------------------------------------------------------------
_preEnd__samplerDEPTH____gl_samplerDEPTH()45000 bool ColladaParserAutoGen14Private::_preEnd__samplerDEPTH____gl_samplerDEPTH()
45001 {
45002 #ifdef GENERATEDSAXPARSER_VALIDATION
45003     if ( mValidate )
45004     {
45005 
45006         bool validationResult = _validateEnd__samplerDEPTH____gl_samplerDEPTH();
45007         if ( !validationResult ) return false;
45008 
45009     } // validation
45010 #endif
45011 
45012     return true;
45013 }
45014 
45015 //---------------------------------------------------------------------
_freeAttributes__samplerDEPTH____gl_samplerDEPTH(void * attributeData)45016 bool ColladaParserAutoGen14Private::_freeAttributes__samplerDEPTH____gl_samplerDEPTH( void* attributeData )
45017 {
45018     return true;
45019 }
45020 
45021 //---------------------------------------------------------------------
_data__enum____gl_enumeration(const ParserChar * text,size_t textLength)45022 bool ColladaParserAutoGen14Private::_data__enum____gl_enumeration( const ParserChar* text, size_t textLength )
45023 {
45024 if (!mLastIncompleteFragmentInCharacterData)
45025 {
45026     mLastIncompleteFragmentInCharacterData = (ParserChar*)mStackMemoryManager.newObject(textLength);
45027     memcpy(mLastIncompleteFragmentInCharacterData, text, textLength);
45028     mEndOfDataInCurrentObjectOnStack = mLastIncompleteFragmentInCharacterData + textLength;
45029 }
45030 else
45031 {
45032     ParserChar* tmp = (ParserChar*)mStackMemoryManager.growObject(textLength);
45033     if ( tmp != mLastIncompleteFragmentInCharacterData ) {
45034         mEndOfDataInCurrentObjectOnStack = (mEndOfDataInCurrentObjectOnStack - mLastIncompleteFragmentInCharacterData) + tmp;
45035         mLastIncompleteFragmentInCharacterData = tmp;
45036     }
45037     memcpy(mEndOfDataInCurrentObjectOnStack, text, textLength);
45038     mEndOfDataInCurrentObjectOnStack += textLength;
45039 }
45040 return true;
45041 }
45042 
45043 //---------------------------------------------------------------------
_preBegin__enum____gl_enumeration(const ParserAttributes & attributes,void ** attributeDataPtr,void ** validationDataPtr)45044 bool ColladaParserAutoGen14Private::_preBegin__enum____gl_enumeration( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
45045 {
45046 #ifdef GENERATEDSAXPARSER_VALIDATION
45047     if ( mValidate )
45048     {
45049 
45050         bool validationResult = _validateBegin__enum____gl_enumeration( attributes, attributeDataPtr, validationDataPtr );
45051         if ( !validationResult ) return false;
45052 
45053     } // validation
45054 #endif
45055 
45056     return true;
45057 }
45058 
45059 //---------------------------------------------------------------------
_preEnd__enum____gl_enumeration()45060 bool ColladaParserAutoGen14Private::_preEnd__enum____gl_enumeration()
45061 {
45062 #ifdef GENERATEDSAXPARSER_VALIDATION
45063     if ( mValidate )
45064     {
45065 
45066         bool validationResult = _validateEnd__enum____gl_enumeration();
45067         if ( !validationResult ) return false;
45068 
45069     } // validation
45070 #endif
45071 
45072 bool failed;
45073 const ParserChar* ptrForErr = mLastIncompleteFragmentInCharacterData;
45074 DISABLE_WARNING_UNUSED(ptrForErr)
45075 UNION__gl_enumeration parameter = toUnion_UNION__gl_enumeration( mLastIncompleteFragmentInCharacterData, (size_t)(mEndOfDataInCurrentObjectOnStack - mLastIncompleteFragmentInCharacterData), failed );
45076 bool returnValue;
45077 if (!failed)
45078 {
45079     returnValue = mImpl->data__enum____gl_enumeration(parameter);
45080 }
45081 else
45082     returnValue = !handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_TEXTDATA_PARSING_FAILED, HASH_ELEMENT_ENUM, (const ParserChar*)0, mLastIncompleteFragmentInCharacterData);
45083 if (mLastIncompleteFragmentInCharacterData)
45084     mStackMemoryManager.deleteObject();
45085 mLastIncompleteFragmentInCharacterData = 0;
45086 mEndOfDataInCurrentObjectOnStack = 0;
45087 return returnValue;
45088 
45089 }
45090 
45091 //---------------------------------------------------------------------
_freeAttributes__enum____gl_enumeration(void * attributeData)45092 bool ColladaParserAutoGen14Private::_freeAttributes__enum____gl_enumeration( void* attributeData )
45093 {
45094     return true;
45095 }
45096 
45097 //---------------------------------------------------------------------
toEnumDataPrefix_ENUM__gl_blend_equation_type(const ParserChar * prefixedBuffer,const ParserChar * prefixedBufferEnd,const ParserChar ** buffer,const ParserChar * bufferEnd,bool & failed,const std::pair<StringHash,ENUM__gl_blend_equation_type> * enumMap,StringHash (* baseConversionFunc)(const ParserChar **,const ParserChar *,bool &))45098 ENUM__gl_blend_equation_type ColladaParserAutoGen14Private::toEnumDataPrefix_ENUM__gl_blend_equation_type (
45099     const ParserChar* prefixedBuffer,
45100     const ParserChar* prefixedBufferEnd,
45101     const ParserChar** buffer,
45102     const ParserChar* bufferEnd,
45103     bool& failed,
45104     const std::pair<StringHash, ENUM__gl_blend_equation_type>* enumMap,
45105     StringHash (*baseConversionFunc)( const ParserChar**, const ParserChar*, bool& )
45106 )
45107 {
45108     return toEnumDataPrefix<ENUM__gl_blend_equation_type, StringHash, ENUM__gl_blend_equation_type__COUNT, &toEnum_ENUM__gl_blend_equation_type>(prefixedBuffer, prefixedBufferEnd, buffer, bufferEnd, failed, enumMap, baseConversionFunc);
45109 }
45110 
45111 //---------------------------------------------------------------------
characterData2EnumData_ENUM__gl_blend_equation_type(const ParserChar * text,size_t textLength,bool (ColladaParserAutoGen14::* dataFunction)(const ENUM__gl_blend_equation_type *,size_t),StringHash (* baseConversionFunc)(const ParserChar **,const ParserChar *,bool &))45112 bool ColladaParserAutoGen14Private::characterData2EnumData_ENUM__gl_blend_equation_type (
45113     const ParserChar* text,
45114     size_t textLength,
45115     bool ( ColladaParserAutoGen14::*dataFunction )(const ENUM__gl_blend_equation_type*, size_t ),
45116     StringHash (*baseConversionFunc)( const ParserChar**, const ParserChar*, bool& )
45117 )
45118 {
45119     return characterData2EnumData<ENUM__gl_blend_equation_type, StringHash, ENUM__gl_blend_equation_type__COUNT>(text, textLength, dataFunction, ENUM__gl_blend_equation_typeMap, baseConversionFunc, &toEnum_ENUM__gl_blend_equation_type, &ColladaParserAutoGen14Private::toEnumDataPrefix_ENUM__gl_blend_equation_type);
45120 }
45121 
45122 //---------------------------------------------------------------------
dataEnumEnd_ENUM__gl_blend_equation_type(bool (ColladaParserAutoGen14::* dataFunction)(const ENUM__gl_blend_equation_type *,size_t),const std::pair<StringHash,ENUM__gl_blend_equation_type> * enumMap,StringHash (* baseConversionFunc)(const ParserChar **,const ParserChar *,bool &),ENUM__gl_blend_equation_type (* toEnumFunc)(const ParserChar **,const ParserChar *,bool &,const std::pair<StringHash,ENUM__gl_blend_equation_type> * enumMap,StringHash (* baseConversionFunc)(const ParserChar **,const ParserChar *,bool &)))45123 bool ColladaParserAutoGen14Private::dataEnumEnd_ENUM__gl_blend_equation_type (
45124     bool ( ColladaParserAutoGen14::*dataFunction )(const ENUM__gl_blend_equation_type*, size_t ),
45125     const std::pair<StringHash, ENUM__gl_blend_equation_type>* enumMap,
45126     StringHash (*baseConversionFunc)( const ParserChar**, const ParserChar*, bool& ),
45127     ENUM__gl_blend_equation_type (*toEnumFunc)( const ParserChar**, const ParserChar*, bool&, const std::pair<StringHash, ENUM__gl_blend_equation_type>* enumMap, StringHash (*baseConversionFunc)( const ParserChar**, const ParserChar*, bool& ))
45128 )
45129 {
45130     return dataEnumEnd<ENUM__gl_blend_equation_type, StringHash, ENUM__gl_blend_equation_type__COUNT>(dataFunction, enumMap, baseConversionFunc, toEnumFunc);
45131 }
45132 
45133 //---------------------------------------------------------------------
toEnumDataPrefix_ENUM__gl_fog_coord_src_type(const ParserChar * prefixedBuffer,const ParserChar * prefixedBufferEnd,const ParserChar ** buffer,const ParserChar * bufferEnd,bool & failed,const std::pair<StringHash,ENUM__gl_fog_coord_src_type> * enumMap,StringHash (* baseConversionFunc)(const ParserChar **,const ParserChar *,bool &))45134 ENUM__gl_fog_coord_src_type ColladaParserAutoGen14Private::toEnumDataPrefix_ENUM__gl_fog_coord_src_type (
45135     const ParserChar* prefixedBuffer,
45136     const ParserChar* prefixedBufferEnd,
45137     const ParserChar** buffer,
45138     const ParserChar* bufferEnd,
45139     bool& failed,
45140     const std::pair<StringHash, ENUM__gl_fog_coord_src_type>* enumMap,
45141     StringHash (*baseConversionFunc)( const ParserChar**, const ParserChar*, bool& )
45142 )
45143 {
45144     return toEnumDataPrefix<ENUM__gl_fog_coord_src_type, StringHash, ENUM__gl_fog_coord_src_type__COUNT, &toEnum_ENUM__gl_fog_coord_src_type>(prefixedBuffer, prefixedBufferEnd, buffer, bufferEnd, failed, enumMap, baseConversionFunc);
45145 }
45146 
45147 //---------------------------------------------------------------------
characterData2EnumData_ENUM__gl_fog_coord_src_type(const ParserChar * text,size_t textLength,bool (ColladaParserAutoGen14::* dataFunction)(const ENUM__gl_fog_coord_src_type *,size_t),StringHash (* baseConversionFunc)(const ParserChar **,const ParserChar *,bool &))45148 bool ColladaParserAutoGen14Private::characterData2EnumData_ENUM__gl_fog_coord_src_type (
45149     const ParserChar* text,
45150     size_t textLength,
45151     bool ( ColladaParserAutoGen14::*dataFunction )(const ENUM__gl_fog_coord_src_type*, size_t ),
45152     StringHash (*baseConversionFunc)( const ParserChar**, const ParserChar*, bool& )
45153 )
45154 {
45155     return characterData2EnumData<ENUM__gl_fog_coord_src_type, StringHash, ENUM__gl_fog_coord_src_type__COUNT>(text, textLength, dataFunction, ENUM__gl_fog_coord_src_typeMap, baseConversionFunc, &toEnum_ENUM__gl_fog_coord_src_type, &ColladaParserAutoGen14Private::toEnumDataPrefix_ENUM__gl_fog_coord_src_type);
45156 }
45157 
45158 //---------------------------------------------------------------------
dataEnumEnd_ENUM__gl_fog_coord_src_type(bool (ColladaParserAutoGen14::* dataFunction)(const ENUM__gl_fog_coord_src_type *,size_t),const std::pair<StringHash,ENUM__gl_fog_coord_src_type> * enumMap,StringHash (* baseConversionFunc)(const ParserChar **,const ParserChar *,bool &),ENUM__gl_fog_coord_src_type (* toEnumFunc)(const ParserChar **,const ParserChar *,bool &,const std::pair<StringHash,ENUM__gl_fog_coord_src_type> * enumMap,StringHash (* baseConversionFunc)(const ParserChar **,const ParserChar *,bool &)))45159 bool ColladaParserAutoGen14Private::dataEnumEnd_ENUM__gl_fog_coord_src_type (
45160     bool ( ColladaParserAutoGen14::*dataFunction )(const ENUM__gl_fog_coord_src_type*, size_t ),
45161     const std::pair<StringHash, ENUM__gl_fog_coord_src_type>* enumMap,
45162     StringHash (*baseConversionFunc)( const ParserChar**, const ParserChar*, bool& ),
45163     ENUM__gl_fog_coord_src_type (*toEnumFunc)( const ParserChar**, const ParserChar*, bool&, const std::pair<StringHash, ENUM__gl_fog_coord_src_type>* enumMap, StringHash (*baseConversionFunc)( const ParserChar**, const ParserChar*, bool& ))
45164 )
45165 {
45166     return dataEnumEnd<ENUM__gl_fog_coord_src_type, StringHash, ENUM__gl_fog_coord_src_type__COUNT>(dataFunction, enumMap, baseConversionFunc, toEnumFunc);
45167 }
45168 
45169 //---------------------------------------------------------------------
toUnionPrefix_UNION__gl_enumeration(const ParserChar * prefixedBuffer,const ParserChar * prefixedBufferEnd,const ParserChar ** buffer,const ParserChar * bufferEnd,bool & failed)45170 UNION__gl_enumeration ColladaParserAutoGen14Private::toUnionPrefix_UNION__gl_enumeration (
45171     const ParserChar* prefixedBuffer,
45172     const ParserChar* prefixedBufferEnd,
45173     const ParserChar** buffer,
45174     const ParserChar* bufferEnd,
45175     bool& failed
45176 )
45177 {
45178     return toDataPrefix<UNION__gl_enumeration>(prefixedBuffer, prefixedBufferEnd, buffer, bufferEnd, failed, toUnion_UNION__gl_enumeration);
45179 }
45180 
45181 //---------------------------------------------------------------------
45182 const array____glsl_newarray_type__AttributeData array____glsl_newarray_type__AttributeData::DEFAULT = {0, 0};
45183 
45184 //---------------------------------------------------------------------
_data__array____glsl_newarray_type(const ParserChar * text,size_t textLength)45185 bool ColladaParserAutoGen14Private::_data__array____glsl_newarray_type( const ParserChar* text, size_t textLength )
45186 {
45187     return true;
45188 }
45189 
45190 //---------------------------------------------------------------------
_preBegin__array____glsl_newarray_type(const ParserAttributes & attributes,void ** attributeDataPtr,void ** validationDataPtr)45191 bool ColladaParserAutoGen14Private::_preBegin__array____glsl_newarray_type( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
45192 {
45193 #ifdef GENERATEDSAXPARSER_VALIDATION
45194     if ( mValidate )
45195     {
45196 
45197         bool validationResult = _validateBegin__array____glsl_newarray_type( attributes, attributeDataPtr, validationDataPtr );
45198         if ( !validationResult ) return false;
45199 
45200     } // validation
45201 #endif
45202 
45203 array____glsl_newarray_type__AttributeData* attributeData = newData<array____glsl_newarray_type__AttributeData>(attributeDataPtr);
45204 
45205 const ParserChar** attributeArray = attributes.attributes;
45206 if ( attributeArray )
45207 {
45208     while (true)
45209     {
45210         const ParserChar * attribute = *attributeArray;
45211         if ( !attribute )
45212             break;
45213         StringHash hash = GeneratedSaxParser::Utils::calculateStringHash(attribute);
45214         attributeArray++;
45215         if ( !attributeArray )
45216             return false;
45217         const ParserChar* attributeValue = *attributeArray;
45218         attributeArray++;
45219 
45220 
45221     switch ( hash )
45222     {
45223     case HASH_ATTRIBUTE_length:
45224     {
45225 bool failed;
45226 attributeData->length = GeneratedSaxParser::Utils::toUint64(attributeValue, failed);
45227 if ( failed && handleError(ParserError::SEVERITY_ERROR_NONCRITICAL,
45228         ParserError::ERROR_ATTRIBUTE_PARSING_FAILED,
45229         HASH_ELEMENT_ARRAY,
45230         HASH_ATTRIBUTE_length,
45231         attributeValue))
45232 {
45233     return false;
45234 }
45235 #ifdef GENERATEDSAXPARSER_VALIDATION
45236     if ( mValidate )
45237     {
45238     ParserError::ErrorType simpleTypeValidationResult = validate__positiveInteger(attributeData->length);
45239     if (simpleTypeValidationResult != ParserError::SIMPLE_TYPE_VALIDATION_OK)
45240     {
45241         if( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL,
45242             simpleTypeValidationResult,
45243             HASH_ELEMENT_ARRAY,
45244             HASH_ATTRIBUTE_length,
45245             attributeValue) )
45246         {
45247             return false;
45248         }
45249     }
45250     } // validation
45251 #endif
45252 if ( !failed )
45253     attributeData->present_attributes |= array____glsl_newarray_type__AttributeData::ATTRIBUTE_LENGTH_PRESENT;
45254 
45255     break;
45256     }
45257     default:
45258     {
45259         if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_UNKNOWN_ATTRIBUTE, HASH_ELEMENT_ARRAY, attribute, attributeValue))
45260             {return false;}
45261     }
45262     }
45263     }
45264 }
45265 if ( (attributeData->present_attributes & array____glsl_newarray_type__AttributeData::ATTRIBUTE_LENGTH_PRESENT) == 0 )
45266 {
45267     if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_REQUIRED_ATTRIBUTE_MISSING, HASH_ELEMENT_ARRAY, HASH_ATTRIBUTE_length, 0 ) )
45268         return false;
45269 }
45270 
45271 
45272     return true;
45273 }
45274 
45275 //---------------------------------------------------------------------
_preEnd__array____glsl_newarray_type()45276 bool ColladaParserAutoGen14Private::_preEnd__array____glsl_newarray_type()
45277 {
45278 #ifdef GENERATEDSAXPARSER_VALIDATION
45279     if ( mValidate )
45280     {
45281 
45282         bool validationResult = _validateEnd__array____glsl_newarray_type();
45283         if ( !validationResult ) return false;
45284 
45285     } // validation
45286 #endif
45287 
45288     return true;
45289 }
45290 
45291 //---------------------------------------------------------------------
_freeAttributes__array____glsl_newarray_type(void * attributeData)45292 bool ColladaParserAutoGen14Private::_freeAttributes__array____glsl_newarray_type( void* attributeData )
45293 {
45294     array____glsl_newarray_type__AttributeData* typedAttributeData = static_cast<array____glsl_newarray_type__AttributeData*>(attributeData);
45295 
45296     typedAttributeData->~array____glsl_newarray_type__AttributeData();
45297 
45298     return true;
45299 }
45300 
45301 //---------------------------------------------------------------------
45302 const profile_GLSL__technique__AttributeData profile_GLSL__technique__AttributeData::DEFAULT = {0, 0};
45303 
45304 //---------------------------------------------------------------------
_data__profile_GLSL__technique(const ParserChar * text,size_t textLength)45305 bool ColladaParserAutoGen14Private::_data__profile_GLSL__technique( const ParserChar* text, size_t textLength )
45306 {
45307     return true;
45308 }
45309 
45310 //---------------------------------------------------------------------
_preBegin__profile_GLSL__technique(const ParserAttributes & attributes,void ** attributeDataPtr,void ** validationDataPtr)45311 bool ColladaParserAutoGen14Private::_preBegin__profile_GLSL__technique( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
45312 {
45313 #ifdef GENERATEDSAXPARSER_VALIDATION
45314     if ( mValidate )
45315     {
45316 
45317         bool validationResult = _validateBegin__profile_GLSL__technique( attributes, attributeDataPtr, validationDataPtr );
45318         if ( !validationResult ) return false;
45319 
45320     } // validation
45321 #endif
45322 
45323 profile_GLSL__technique__AttributeData* attributeData = newData<profile_GLSL__technique__AttributeData>(attributeDataPtr);
45324 
45325 const ParserChar** attributeArray = attributes.attributes;
45326 if ( attributeArray )
45327 {
45328     while (true)
45329     {
45330         const ParserChar * attribute = *attributeArray;
45331         if ( !attribute )
45332             break;
45333         StringHash hash = GeneratedSaxParser::Utils::calculateStringHash(attribute);
45334         attributeArray++;
45335         if ( !attributeArray )
45336             return false;
45337         const ParserChar* attributeValue = *attributeArray;
45338         attributeArray++;
45339 
45340 
45341     switch ( hash )
45342     {
45343     case HASH_ATTRIBUTE_id:
45344     {
45345 
45346 attributeData->id = attributeValue;
45347 
45348     break;
45349     }
45350     case HASH_ATTRIBUTE_sid:
45351     {
45352 
45353 attributeData->sid = attributeValue;
45354 #ifdef GENERATEDSAXPARSER_VALIDATION
45355     if ( mValidate )
45356     {
45357     ParserError::ErrorType simpleTypeValidationResult = validate__NCName(attributeData->sid, strlen(attributeData->sid));
45358     if (simpleTypeValidationResult != ParserError::SIMPLE_TYPE_VALIDATION_OK)
45359     {
45360         if( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL,
45361             simpleTypeValidationResult,
45362             HASH_ELEMENT_TECHNIQUE,
45363             HASH_ATTRIBUTE_sid,
45364             attributeValue) )
45365         {
45366             return false;
45367         }
45368     }
45369     } // validation
45370 #endif
45371 
45372     break;
45373     }
45374     default:
45375     {
45376         if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_UNKNOWN_ATTRIBUTE, HASH_ELEMENT_TECHNIQUE, attribute, attributeValue))
45377             {return false;}
45378     }
45379     }
45380     }
45381 }
45382 if ( !attributeData->sid )
45383 {
45384     if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_REQUIRED_ATTRIBUTE_MISSING, HASH_ELEMENT_TECHNIQUE, HASH_ATTRIBUTE_sid, 0 ) )
45385         return false;
45386 }
45387 
45388 
45389     return true;
45390 }
45391 
45392 //---------------------------------------------------------------------
_preEnd__profile_GLSL__technique()45393 bool ColladaParserAutoGen14Private::_preEnd__profile_GLSL__technique()
45394 {
45395 #ifdef GENERATEDSAXPARSER_VALIDATION
45396     if ( mValidate )
45397     {
45398 
45399         bool validationResult = _validateEnd__profile_GLSL__technique();
45400         if ( !validationResult ) return false;
45401 
45402     } // validation
45403 #endif
45404 
45405     return true;
45406 }
45407 
45408 //---------------------------------------------------------------------
_freeAttributes__profile_GLSL__technique(void * attributeData)45409 bool ColladaParserAutoGen14Private::_freeAttributes__profile_GLSL__technique( void* attributeData )
45410 {
45411     profile_GLSL__technique__AttributeData* typedAttributeData = static_cast<profile_GLSL__technique__AttributeData*>(attributeData);
45412 
45413     typedAttributeData->~profile_GLSL__technique__AttributeData();
45414 
45415     return true;
45416 }
45417 
45418 //---------------------------------------------------------------------
45419 const setparam____glsl_setparam__AttributeData setparam____glsl_setparam__AttributeData::DEFAULT = {0, 0};
45420 
45421 //---------------------------------------------------------------------
_data__setparam____glsl_setparam(const ParserChar * text,size_t textLength)45422 bool ColladaParserAutoGen14Private::_data__setparam____glsl_setparam( const ParserChar* text, size_t textLength )
45423 {
45424     return true;
45425 }
45426 
45427 //---------------------------------------------------------------------
_preBegin__setparam____glsl_setparam(const ParserAttributes & attributes,void ** attributeDataPtr,void ** validationDataPtr)45428 bool ColladaParserAutoGen14Private::_preBegin__setparam____glsl_setparam( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
45429 {
45430 #ifdef GENERATEDSAXPARSER_VALIDATION
45431     if ( mValidate )
45432     {
45433 
45434         bool validationResult = _validateBegin__setparam____glsl_setparam( attributes, attributeDataPtr, validationDataPtr );
45435         if ( !validationResult ) return false;
45436 
45437     } // validation
45438 #endif
45439 
45440 setparam____glsl_setparam__AttributeData* attributeData = newData<setparam____glsl_setparam__AttributeData>(attributeDataPtr);
45441 
45442 const ParserChar** attributeArray = attributes.attributes;
45443 if ( attributeArray )
45444 {
45445     while (true)
45446     {
45447         const ParserChar * attribute = *attributeArray;
45448         if ( !attribute )
45449             break;
45450         StringHash hash = GeneratedSaxParser::Utils::calculateStringHash(attribute);
45451         attributeArray++;
45452         if ( !attributeArray )
45453             return false;
45454         const ParserChar* attributeValue = *attributeArray;
45455         attributeArray++;
45456 
45457 
45458     switch ( hash )
45459     {
45460     case HASH_ATTRIBUTE_ref:
45461     {
45462 
45463 attributeData->ref = attributeValue;
45464 
45465     break;
45466     }
45467     case HASH_ATTRIBUTE_program:
45468     {
45469 
45470 attributeData->program = attributeValue;
45471 #ifdef GENERATEDSAXPARSER_VALIDATION
45472     if ( mValidate )
45473     {
45474     ParserError::ErrorType simpleTypeValidationResult = validate__NCName(attributeData->program, strlen(attributeData->program));
45475     if (simpleTypeValidationResult != ParserError::SIMPLE_TYPE_VALIDATION_OK)
45476     {
45477         if( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL,
45478             simpleTypeValidationResult,
45479             HASH_ELEMENT_SETPARAM,
45480             HASH_ATTRIBUTE_program,
45481             attributeValue) )
45482         {
45483             return false;
45484         }
45485     }
45486     } // validation
45487 #endif
45488 
45489     break;
45490     }
45491     default:
45492     {
45493         if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_UNKNOWN_ATTRIBUTE, HASH_ELEMENT_SETPARAM, attribute, attributeValue))
45494             {return false;}
45495     }
45496     }
45497     }
45498 }
45499 if ( !attributeData->ref )
45500 {
45501     if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_REQUIRED_ATTRIBUTE_MISSING, HASH_ELEMENT_SETPARAM, HASH_ATTRIBUTE_ref, 0 ) )
45502         return false;
45503 }
45504 
45505 
45506     return true;
45507 }
45508 
45509 //---------------------------------------------------------------------
_preEnd__setparam____glsl_setparam()45510 bool ColladaParserAutoGen14Private::_preEnd__setparam____glsl_setparam()
45511 {
45512 #ifdef GENERATEDSAXPARSER_VALIDATION
45513     if ( mValidate )
45514     {
45515 
45516         bool validationResult = _validateEnd__setparam____glsl_setparam();
45517         if ( !validationResult ) return false;
45518 
45519     } // validation
45520 #endif
45521 
45522     return true;
45523 }
45524 
45525 //---------------------------------------------------------------------
_freeAttributes__setparam____glsl_setparam(void * attributeData)45526 bool ColladaParserAutoGen14Private::_freeAttributes__setparam____glsl_setparam( void* attributeData )
45527 {
45528     setparam____glsl_setparam__AttributeData* typedAttributeData = static_cast<setparam____glsl_setparam__AttributeData*>(attributeData);
45529 
45530     typedAttributeData->~setparam____glsl_setparam__AttributeData();
45531 
45532     return true;
45533 }
45534 
45535 //---------------------------------------------------------------------
45536 const array____glsl_setarray_type__AttributeData array____glsl_setarray_type__AttributeData::DEFAULT = {0, 0};
45537 
45538 //---------------------------------------------------------------------
_data__array____glsl_setarray_type(const ParserChar * text,size_t textLength)45539 bool ColladaParserAutoGen14Private::_data__array____glsl_setarray_type( const ParserChar* text, size_t textLength )
45540 {
45541     return true;
45542 }
45543 
45544 //---------------------------------------------------------------------
_preBegin__array____glsl_setarray_type(const ParserAttributes & attributes,void ** attributeDataPtr,void ** validationDataPtr)45545 bool ColladaParserAutoGen14Private::_preBegin__array____glsl_setarray_type( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
45546 {
45547 #ifdef GENERATEDSAXPARSER_VALIDATION
45548     if ( mValidate )
45549     {
45550 
45551         bool validationResult = _validateBegin__array____glsl_setarray_type( attributes, attributeDataPtr, validationDataPtr );
45552         if ( !validationResult ) return false;
45553 
45554     } // validation
45555 #endif
45556 
45557 array____glsl_setarray_type__AttributeData* attributeData = newData<array____glsl_setarray_type__AttributeData>(attributeDataPtr);
45558 
45559 const ParserChar** attributeArray = attributes.attributes;
45560 if ( attributeArray )
45561 {
45562     while (true)
45563     {
45564         const ParserChar * attribute = *attributeArray;
45565         if ( !attribute )
45566             break;
45567         StringHash hash = GeneratedSaxParser::Utils::calculateStringHash(attribute);
45568         attributeArray++;
45569         if ( !attributeArray )
45570             return false;
45571         const ParserChar* attributeValue = *attributeArray;
45572         attributeArray++;
45573 
45574 
45575     switch ( hash )
45576     {
45577     case HASH_ATTRIBUTE_length:
45578     {
45579 bool failed;
45580 attributeData->length = GeneratedSaxParser::Utils::toUint64(attributeValue, failed);
45581 if ( failed && handleError(ParserError::SEVERITY_ERROR_NONCRITICAL,
45582         ParserError::ERROR_ATTRIBUTE_PARSING_FAILED,
45583         HASH_ELEMENT_ARRAY,
45584         HASH_ATTRIBUTE_length,
45585         attributeValue))
45586 {
45587     return false;
45588 }
45589 #ifdef GENERATEDSAXPARSER_VALIDATION
45590     if ( mValidate )
45591     {
45592     ParserError::ErrorType simpleTypeValidationResult = validate__positiveInteger(attributeData->length);
45593     if (simpleTypeValidationResult != ParserError::SIMPLE_TYPE_VALIDATION_OK)
45594     {
45595         if( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL,
45596             simpleTypeValidationResult,
45597             HASH_ELEMENT_ARRAY,
45598             HASH_ATTRIBUTE_length,
45599             attributeValue) )
45600         {
45601             return false;
45602         }
45603     }
45604     } // validation
45605 #endif
45606 if ( !failed )
45607     attributeData->present_attributes |= array____glsl_setarray_type__AttributeData::ATTRIBUTE_LENGTH_PRESENT;
45608 
45609     break;
45610     }
45611     default:
45612     {
45613         if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_UNKNOWN_ATTRIBUTE, HASH_ELEMENT_ARRAY, attribute, attributeValue))
45614             {return false;}
45615     }
45616     }
45617     }
45618 }
45619 
45620 
45621     return true;
45622 }
45623 
45624 //---------------------------------------------------------------------
_preEnd__array____glsl_setarray_type()45625 bool ColladaParserAutoGen14Private::_preEnd__array____glsl_setarray_type()
45626 {
45627 #ifdef GENERATEDSAXPARSER_VALIDATION
45628     if ( mValidate )
45629     {
45630 
45631         bool validationResult = _validateEnd__array____glsl_setarray_type();
45632         if ( !validationResult ) return false;
45633 
45634     } // validation
45635 #endif
45636 
45637     return true;
45638 }
45639 
45640 //---------------------------------------------------------------------
_freeAttributes__array____glsl_setarray_type(void * attributeData)45641 bool ColladaParserAutoGen14Private::_freeAttributes__array____glsl_setarray_type( void* attributeData )
45642 {
45643     array____glsl_setarray_type__AttributeData* typedAttributeData = static_cast<array____glsl_setarray_type__AttributeData*>(attributeData);
45644 
45645     typedAttributeData->~array____glsl_setarray_type__AttributeData();
45646 
45647     return true;
45648 }
45649 
45650 //---------------------------------------------------------------------
45651 const profile_GLSL__technique__pass__AttributeData profile_GLSL__technique__pass__AttributeData::DEFAULT = {0};
45652 
45653 //---------------------------------------------------------------------
_data__profile_GLSL__technique__pass(const ParserChar * text,size_t textLength)45654 bool ColladaParserAutoGen14Private::_data__profile_GLSL__technique__pass( const ParserChar* text, size_t textLength )
45655 {
45656     return true;
45657 }
45658 
45659 //---------------------------------------------------------------------
_preBegin__profile_GLSL__technique__pass(const ParserAttributes & attributes,void ** attributeDataPtr,void ** validationDataPtr)45660 bool ColladaParserAutoGen14Private::_preBegin__profile_GLSL__technique__pass( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
45661 {
45662 #ifdef GENERATEDSAXPARSER_VALIDATION
45663     if ( mValidate )
45664     {
45665 
45666         bool validationResult = _validateBegin__profile_GLSL__technique__pass( attributes, attributeDataPtr, validationDataPtr );
45667         if ( !validationResult ) return false;
45668 
45669     } // validation
45670 #endif
45671 
45672 profile_GLSL__technique__pass__AttributeData* attributeData = newData<profile_GLSL__technique__pass__AttributeData>(attributeDataPtr);
45673 
45674 const ParserChar** attributeArray = attributes.attributes;
45675 if ( attributeArray )
45676 {
45677     while (true)
45678     {
45679         const ParserChar * attribute = *attributeArray;
45680         if ( !attribute )
45681             break;
45682         StringHash hash = GeneratedSaxParser::Utils::calculateStringHash(attribute);
45683         attributeArray++;
45684         if ( !attributeArray )
45685             return false;
45686         const ParserChar* attributeValue = *attributeArray;
45687         attributeArray++;
45688 
45689 
45690     switch ( hash )
45691     {
45692     case HASH_ATTRIBUTE_sid:
45693     {
45694 
45695 attributeData->sid = attributeValue;
45696 #ifdef GENERATEDSAXPARSER_VALIDATION
45697     if ( mValidate )
45698     {
45699     ParserError::ErrorType simpleTypeValidationResult = validate__NCName(attributeData->sid, strlen(attributeData->sid));
45700     if (simpleTypeValidationResult != ParserError::SIMPLE_TYPE_VALIDATION_OK)
45701     {
45702         if( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL,
45703             simpleTypeValidationResult,
45704             HASH_ELEMENT_PASS,
45705             HASH_ATTRIBUTE_sid,
45706             attributeValue) )
45707         {
45708             return false;
45709         }
45710     }
45711     } // validation
45712 #endif
45713 
45714     break;
45715     }
45716     default:
45717     {
45718         if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_UNKNOWN_ATTRIBUTE, HASH_ELEMENT_PASS, attribute, attributeValue))
45719             {return false;}
45720     }
45721     }
45722     }
45723 }
45724 
45725 
45726     return true;
45727 }
45728 
45729 //---------------------------------------------------------------------
_preEnd__profile_GLSL__technique__pass()45730 bool ColladaParserAutoGen14Private::_preEnd__profile_GLSL__technique__pass()
45731 {
45732 #ifdef GENERATEDSAXPARSER_VALIDATION
45733     if ( mValidate )
45734     {
45735 
45736         bool validationResult = _validateEnd__profile_GLSL__technique__pass();
45737         if ( !validationResult ) return false;
45738 
45739     } // validation
45740 #endif
45741 
45742     return true;
45743 }
45744 
45745 //---------------------------------------------------------------------
_freeAttributes__profile_GLSL__technique__pass(void * attributeData)45746 bool ColladaParserAutoGen14Private::_freeAttributes__profile_GLSL__technique__pass( void* attributeData )
45747 {
45748     profile_GLSL__technique__pass__AttributeData* typedAttributeData = static_cast<profile_GLSL__technique__pass__AttributeData*>(attributeData);
45749 
45750     typedAttributeData->~profile_GLSL__technique__pass__AttributeData();
45751 
45752     return true;
45753 }
45754 
45755 //---------------------------------------------------------------------
45756 const color_target____fx_colortarget_common__AttributeData color_target____fx_colortarget_common__AttributeData::DEFAULT = {0, ENUM__fx_surface_face_enum__POSITIVE_X, 0, 0};
45757 
45758 //---------------------------------------------------------------------
_data__color_target____fx_colortarget_common(const ParserChar * text,size_t textLength)45759 bool ColladaParserAutoGen14Private::_data__color_target____fx_colortarget_common( const ParserChar* text, size_t textLength )
45760 {
45761 if (!mLastIncompleteFragmentInCharacterData)
45762 {
45763     mLastIncompleteFragmentInCharacterData = (ParserChar*)mStackMemoryManager.newObject(textLength);
45764     memcpy(mLastIncompleteFragmentInCharacterData, text, textLength);
45765     mEndOfDataInCurrentObjectOnStack = mLastIncompleteFragmentInCharacterData + textLength;
45766 }
45767 else
45768 {
45769     ParserChar* tmp = (ParserChar*)mStackMemoryManager.growObject(textLength);
45770     if ( tmp != mLastIncompleteFragmentInCharacterData ) {
45771         mEndOfDataInCurrentObjectOnStack = (mEndOfDataInCurrentObjectOnStack - mLastIncompleteFragmentInCharacterData) + tmp;
45772         mLastIncompleteFragmentInCharacterData = tmp;
45773     }
45774     memcpy(mEndOfDataInCurrentObjectOnStack, text, textLength);
45775     mEndOfDataInCurrentObjectOnStack += textLength;
45776 }
45777 return true;
45778 }
45779 
45780 //---------------------------------------------------------------------
_preBegin__color_target____fx_colortarget_common(const ParserAttributes & attributes,void ** attributeDataPtr,void ** validationDataPtr)45781 bool ColladaParserAutoGen14Private::_preBegin__color_target____fx_colortarget_common( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
45782 {
45783 #ifdef GENERATEDSAXPARSER_VALIDATION
45784     if ( mValidate )
45785     {
45786 
45787         bool validationResult = _validateBegin__color_target____fx_colortarget_common( attributes, attributeDataPtr, validationDataPtr );
45788         if ( !validationResult ) return false;
45789 
45790     } // validation
45791 #endif
45792 
45793 color_target____fx_colortarget_common__AttributeData* attributeData = newData<color_target____fx_colortarget_common__AttributeData>(attributeDataPtr);
45794 
45795 const ParserChar** attributeArray = attributes.attributes;
45796 if ( attributeArray )
45797 {
45798     while (true)
45799     {
45800         const ParserChar * attribute = *attributeArray;
45801         if ( !attribute )
45802             break;
45803         StringHash hash = GeneratedSaxParser::Utils::calculateStringHash(attribute);
45804         attributeArray++;
45805         if ( !attributeArray )
45806             return false;
45807         const ParserChar* attributeValue = *attributeArray;
45808         attributeArray++;
45809 
45810 
45811     switch ( hash )
45812     {
45813     case HASH_ATTRIBUTE_index:
45814     {
45815 bool failed;
45816 attributeData->index = GeneratedSaxParser::Utils::toUint64(attributeValue, failed);
45817 if ( failed && handleError(ParserError::SEVERITY_ERROR_NONCRITICAL,
45818         ParserError::ERROR_ATTRIBUTE_PARSING_FAILED,
45819         HASH_ELEMENT_COLOR_TARGET,
45820         HASH_ATTRIBUTE_index,
45821         attributeValue))
45822 {
45823     return false;
45824 }
45825 
45826     break;
45827     }
45828     case HASH_ATTRIBUTE_face:
45829     {
45830 bool failed;
45831 attributeData->face = Utils::toEnum<ENUM__fx_surface_face_enum, StringHash, ENUM__fx_surface_face_enum__COUNT>(attributeValue, failed, ENUM__fx_surface_face_enumMap, Utils::calculateStringHash);
45832 if ( failed && handleError(ParserError::SEVERITY_ERROR_NONCRITICAL,
45833         ParserError::ERROR_ATTRIBUTE_PARSING_FAILED,
45834         HASH_ELEMENT_COLOR_TARGET,
45835         HASH_ATTRIBUTE_face,
45836         attributeValue))
45837 {
45838     return false;
45839 }
45840 
45841     break;
45842     }
45843     case HASH_ATTRIBUTE_mip:
45844     {
45845 bool failed;
45846 attributeData->mip = GeneratedSaxParser::Utils::toUint64(attributeValue, failed);
45847 if ( failed && handleError(ParserError::SEVERITY_ERROR_NONCRITICAL,
45848         ParserError::ERROR_ATTRIBUTE_PARSING_FAILED,
45849         HASH_ELEMENT_COLOR_TARGET,
45850         HASH_ATTRIBUTE_mip,
45851         attributeValue))
45852 {
45853     return false;
45854 }
45855 
45856     break;
45857     }
45858     case HASH_ATTRIBUTE_slice:
45859     {
45860 bool failed;
45861 attributeData->slice = GeneratedSaxParser::Utils::toUint64(attributeValue, failed);
45862 if ( failed && handleError(ParserError::SEVERITY_ERROR_NONCRITICAL,
45863         ParserError::ERROR_ATTRIBUTE_PARSING_FAILED,
45864         HASH_ELEMENT_COLOR_TARGET,
45865         HASH_ATTRIBUTE_slice,
45866         attributeValue))
45867 {
45868     return false;
45869 }
45870 
45871     break;
45872     }
45873     default:
45874     {
45875         if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_UNKNOWN_ATTRIBUTE, HASH_ELEMENT_COLOR_TARGET, attribute, attributeValue))
45876             {return false;}
45877     }
45878     }
45879     }
45880 }
45881 
45882 
45883     return true;
45884 }
45885 
45886 //---------------------------------------------------------------------
_preEnd__color_target____fx_colortarget_common()45887 bool ColladaParserAutoGen14Private::_preEnd__color_target____fx_colortarget_common()
45888 {
45889 #ifdef GENERATEDSAXPARSER_VALIDATION
45890     if ( mValidate )
45891     {
45892 
45893         bool validationResult = _validateEnd__color_target____fx_colortarget_common();
45894         if ( !validationResult ) return false;
45895 
45896     } // validation
45897 #endif
45898 
45899 bool returnValue = true;
45900 #ifdef GENERATEDSAXPARSER_VALIDATION
45901     if ( mValidate )
45902     {
45903 ParserError::ErrorType simpleTypeValidationResult = validate__NCName(mLastIncompleteFragmentInCharacterData, mEndOfDataInCurrentObjectOnStack - mLastIncompleteFragmentInCharacterData);
45904 if (simpleTypeValidationResult != ParserError::SIMPLE_TYPE_VALIDATION_OK)
45905 {
45906     ParserChar msg[21];
45907     Utils::fillErrorMsg(msg, mLastIncompleteFragmentInCharacterData, 20);
45908     if( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL,
45909         simpleTypeValidationResult,
45910         0,
45911         msg) )
45912     {
45913         returnValue =  false;
45914     }
45915 }
45916 if (!returnValue)
45917 {
45918     mStackMemoryManager.deleteObject();
45919     mLastIncompleteFragmentInCharacterData = 0;
45920     mEndOfDataInCurrentObjectOnStack = 0;
45921     return returnValue;
45922 }
45923     } // validation
45924 #endif
45925 returnValue = mImpl->data__color_target____fx_colortarget_common(mLastIncompleteFragmentInCharacterData, mEndOfDataInCurrentObjectOnStack - mLastIncompleteFragmentInCharacterData);
45926 mStackMemoryManager.deleteObject();
45927 mLastIncompleteFragmentInCharacterData = 0;
45928 mEndOfDataInCurrentObjectOnStack = 0;
45929 return returnValue;
45930 
45931 }
45932 
45933 //---------------------------------------------------------------------
_freeAttributes__color_target____fx_colortarget_common(void * attributeData)45934 bool ColladaParserAutoGen14Private::_freeAttributes__color_target____fx_colortarget_common( void* attributeData )
45935 {
45936     color_target____fx_colortarget_common__AttributeData* typedAttributeData = static_cast<color_target____fx_colortarget_common__AttributeData*>(attributeData);
45937 
45938     typedAttributeData->~color_target____fx_colortarget_common__AttributeData();
45939 
45940     return true;
45941 }
45942 
45943 //---------------------------------------------------------------------
45944 const depth_target____fx_depthtarget_common__AttributeData depth_target____fx_depthtarget_common__AttributeData::DEFAULT = {0, ENUM__fx_surface_face_enum__POSITIVE_X, 0, 0};
45945 
45946 //---------------------------------------------------------------------
_data__depth_target____fx_depthtarget_common(const ParserChar * text,size_t textLength)45947 bool ColladaParserAutoGen14Private::_data__depth_target____fx_depthtarget_common( const ParserChar* text, size_t textLength )
45948 {
45949 if (!mLastIncompleteFragmentInCharacterData)
45950 {
45951     mLastIncompleteFragmentInCharacterData = (ParserChar*)mStackMemoryManager.newObject(textLength);
45952     memcpy(mLastIncompleteFragmentInCharacterData, text, textLength);
45953     mEndOfDataInCurrentObjectOnStack = mLastIncompleteFragmentInCharacterData + textLength;
45954 }
45955 else
45956 {
45957     ParserChar* tmp = (ParserChar*)mStackMemoryManager.growObject(textLength);
45958     if ( tmp != mLastIncompleteFragmentInCharacterData ) {
45959         mEndOfDataInCurrentObjectOnStack = (mEndOfDataInCurrentObjectOnStack - mLastIncompleteFragmentInCharacterData) + tmp;
45960         mLastIncompleteFragmentInCharacterData = tmp;
45961     }
45962     memcpy(mEndOfDataInCurrentObjectOnStack, text, textLength);
45963     mEndOfDataInCurrentObjectOnStack += textLength;
45964 }
45965 return true;
45966 }
45967 
45968 //---------------------------------------------------------------------
_preBegin__depth_target____fx_depthtarget_common(const ParserAttributes & attributes,void ** attributeDataPtr,void ** validationDataPtr)45969 bool ColladaParserAutoGen14Private::_preBegin__depth_target____fx_depthtarget_common( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
45970 {
45971 #ifdef GENERATEDSAXPARSER_VALIDATION
45972     if ( mValidate )
45973     {
45974 
45975         bool validationResult = _validateBegin__depth_target____fx_depthtarget_common( attributes, attributeDataPtr, validationDataPtr );
45976         if ( !validationResult ) return false;
45977 
45978     } // validation
45979 #endif
45980 
45981 depth_target____fx_depthtarget_common__AttributeData* attributeData = newData<depth_target____fx_depthtarget_common__AttributeData>(attributeDataPtr);
45982 
45983 const ParserChar** attributeArray = attributes.attributes;
45984 if ( attributeArray )
45985 {
45986     while (true)
45987     {
45988         const ParserChar * attribute = *attributeArray;
45989         if ( !attribute )
45990             break;
45991         StringHash hash = GeneratedSaxParser::Utils::calculateStringHash(attribute);
45992         attributeArray++;
45993         if ( !attributeArray )
45994             return false;
45995         const ParserChar* attributeValue = *attributeArray;
45996         attributeArray++;
45997 
45998 
45999     switch ( hash )
46000     {
46001     case HASH_ATTRIBUTE_index:
46002     {
46003 bool failed;
46004 attributeData->index = GeneratedSaxParser::Utils::toUint64(attributeValue, failed);
46005 if ( failed && handleError(ParserError::SEVERITY_ERROR_NONCRITICAL,
46006         ParserError::ERROR_ATTRIBUTE_PARSING_FAILED,
46007         HASH_ELEMENT_DEPTH_TARGET,
46008         HASH_ATTRIBUTE_index,
46009         attributeValue))
46010 {
46011     return false;
46012 }
46013 
46014     break;
46015     }
46016     case HASH_ATTRIBUTE_face:
46017     {
46018 bool failed;
46019 attributeData->face = Utils::toEnum<ENUM__fx_surface_face_enum, StringHash, ENUM__fx_surface_face_enum__COUNT>(attributeValue, failed, ENUM__fx_surface_face_enumMap, Utils::calculateStringHash);
46020 if ( failed && handleError(ParserError::SEVERITY_ERROR_NONCRITICAL,
46021         ParserError::ERROR_ATTRIBUTE_PARSING_FAILED,
46022         HASH_ELEMENT_DEPTH_TARGET,
46023         HASH_ATTRIBUTE_face,
46024         attributeValue))
46025 {
46026     return false;
46027 }
46028 
46029     break;
46030     }
46031     case HASH_ATTRIBUTE_mip:
46032     {
46033 bool failed;
46034 attributeData->mip = GeneratedSaxParser::Utils::toUint64(attributeValue, failed);
46035 if ( failed && handleError(ParserError::SEVERITY_ERROR_NONCRITICAL,
46036         ParserError::ERROR_ATTRIBUTE_PARSING_FAILED,
46037         HASH_ELEMENT_DEPTH_TARGET,
46038         HASH_ATTRIBUTE_mip,
46039         attributeValue))
46040 {
46041     return false;
46042 }
46043 
46044     break;
46045     }
46046     case HASH_ATTRIBUTE_slice:
46047     {
46048 bool failed;
46049 attributeData->slice = GeneratedSaxParser::Utils::toUint64(attributeValue, failed);
46050 if ( failed && handleError(ParserError::SEVERITY_ERROR_NONCRITICAL,
46051         ParserError::ERROR_ATTRIBUTE_PARSING_FAILED,
46052         HASH_ELEMENT_DEPTH_TARGET,
46053         HASH_ATTRIBUTE_slice,
46054         attributeValue))
46055 {
46056     return false;
46057 }
46058 
46059     break;
46060     }
46061     default:
46062     {
46063         if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_UNKNOWN_ATTRIBUTE, HASH_ELEMENT_DEPTH_TARGET, attribute, attributeValue))
46064             {return false;}
46065     }
46066     }
46067     }
46068 }
46069 
46070 
46071     return true;
46072 }
46073 
46074 //---------------------------------------------------------------------
_preEnd__depth_target____fx_depthtarget_common()46075 bool ColladaParserAutoGen14Private::_preEnd__depth_target____fx_depthtarget_common()
46076 {
46077 #ifdef GENERATEDSAXPARSER_VALIDATION
46078     if ( mValidate )
46079     {
46080 
46081         bool validationResult = _validateEnd__depth_target____fx_depthtarget_common();
46082         if ( !validationResult ) return false;
46083 
46084     } // validation
46085 #endif
46086 
46087 bool returnValue = true;
46088 #ifdef GENERATEDSAXPARSER_VALIDATION
46089     if ( mValidate )
46090     {
46091 ParserError::ErrorType simpleTypeValidationResult = validate__NCName(mLastIncompleteFragmentInCharacterData, mEndOfDataInCurrentObjectOnStack - mLastIncompleteFragmentInCharacterData);
46092 if (simpleTypeValidationResult != ParserError::SIMPLE_TYPE_VALIDATION_OK)
46093 {
46094     ParserChar msg[21];
46095     Utils::fillErrorMsg(msg, mLastIncompleteFragmentInCharacterData, 20);
46096     if( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL,
46097         simpleTypeValidationResult,
46098         0,
46099         msg) )
46100     {
46101         returnValue =  false;
46102     }
46103 }
46104 if (!returnValue)
46105 {
46106     mStackMemoryManager.deleteObject();
46107     mLastIncompleteFragmentInCharacterData = 0;
46108     mEndOfDataInCurrentObjectOnStack = 0;
46109     return returnValue;
46110 }
46111     } // validation
46112 #endif
46113 returnValue = mImpl->data__depth_target____fx_depthtarget_common(mLastIncompleteFragmentInCharacterData, mEndOfDataInCurrentObjectOnStack - mLastIncompleteFragmentInCharacterData);
46114 mStackMemoryManager.deleteObject();
46115 mLastIncompleteFragmentInCharacterData = 0;
46116 mEndOfDataInCurrentObjectOnStack = 0;
46117 return returnValue;
46118 
46119 }
46120 
46121 //---------------------------------------------------------------------
_freeAttributes__depth_target____fx_depthtarget_common(void * attributeData)46122 bool ColladaParserAutoGen14Private::_freeAttributes__depth_target____fx_depthtarget_common( void* attributeData )
46123 {
46124     depth_target____fx_depthtarget_common__AttributeData* typedAttributeData = static_cast<depth_target____fx_depthtarget_common__AttributeData*>(attributeData);
46125 
46126     typedAttributeData->~depth_target____fx_depthtarget_common__AttributeData();
46127 
46128     return true;
46129 }
46130 
46131 //---------------------------------------------------------------------
46132 const stencil_target____fx_stenciltarget_common__AttributeData stencil_target____fx_stenciltarget_common__AttributeData::DEFAULT = {0, ENUM__fx_surface_face_enum__POSITIVE_X, 0, 0};
46133 
46134 //---------------------------------------------------------------------
_data__stencil_target____fx_stenciltarget_common(const ParserChar * text,size_t textLength)46135 bool ColladaParserAutoGen14Private::_data__stencil_target____fx_stenciltarget_common( const ParserChar* text, size_t textLength )
46136 {
46137 if (!mLastIncompleteFragmentInCharacterData)
46138 {
46139     mLastIncompleteFragmentInCharacterData = (ParserChar*)mStackMemoryManager.newObject(textLength);
46140     memcpy(mLastIncompleteFragmentInCharacterData, text, textLength);
46141     mEndOfDataInCurrentObjectOnStack = mLastIncompleteFragmentInCharacterData + textLength;
46142 }
46143 else
46144 {
46145     ParserChar* tmp = (ParserChar*)mStackMemoryManager.growObject(textLength);
46146     if ( tmp != mLastIncompleteFragmentInCharacterData ) {
46147         mEndOfDataInCurrentObjectOnStack = (mEndOfDataInCurrentObjectOnStack - mLastIncompleteFragmentInCharacterData) + tmp;
46148         mLastIncompleteFragmentInCharacterData = tmp;
46149     }
46150     memcpy(mEndOfDataInCurrentObjectOnStack, text, textLength);
46151     mEndOfDataInCurrentObjectOnStack += textLength;
46152 }
46153 return true;
46154 }
46155 
46156 //---------------------------------------------------------------------
_preBegin__stencil_target____fx_stenciltarget_common(const ParserAttributes & attributes,void ** attributeDataPtr,void ** validationDataPtr)46157 bool ColladaParserAutoGen14Private::_preBegin__stencil_target____fx_stenciltarget_common( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
46158 {
46159 #ifdef GENERATEDSAXPARSER_VALIDATION
46160     if ( mValidate )
46161     {
46162 
46163         bool validationResult = _validateBegin__stencil_target____fx_stenciltarget_common( attributes, attributeDataPtr, validationDataPtr );
46164         if ( !validationResult ) return false;
46165 
46166     } // validation
46167 #endif
46168 
46169 stencil_target____fx_stenciltarget_common__AttributeData* attributeData = newData<stencil_target____fx_stenciltarget_common__AttributeData>(attributeDataPtr);
46170 
46171 const ParserChar** attributeArray = attributes.attributes;
46172 if ( attributeArray )
46173 {
46174     while (true)
46175     {
46176         const ParserChar * attribute = *attributeArray;
46177         if ( !attribute )
46178             break;
46179         StringHash hash = GeneratedSaxParser::Utils::calculateStringHash(attribute);
46180         attributeArray++;
46181         if ( !attributeArray )
46182             return false;
46183         const ParserChar* attributeValue = *attributeArray;
46184         attributeArray++;
46185 
46186 
46187     switch ( hash )
46188     {
46189     case HASH_ATTRIBUTE_index:
46190     {
46191 bool failed;
46192 attributeData->index = GeneratedSaxParser::Utils::toUint64(attributeValue, failed);
46193 if ( failed && handleError(ParserError::SEVERITY_ERROR_NONCRITICAL,
46194         ParserError::ERROR_ATTRIBUTE_PARSING_FAILED,
46195         HASH_ELEMENT_STENCIL_TARGET,
46196         HASH_ATTRIBUTE_index,
46197         attributeValue))
46198 {
46199     return false;
46200 }
46201 
46202     break;
46203     }
46204     case HASH_ATTRIBUTE_face:
46205     {
46206 bool failed;
46207 attributeData->face = Utils::toEnum<ENUM__fx_surface_face_enum, StringHash, ENUM__fx_surface_face_enum__COUNT>(attributeValue, failed, ENUM__fx_surface_face_enumMap, Utils::calculateStringHash);
46208 if ( failed && handleError(ParserError::SEVERITY_ERROR_NONCRITICAL,
46209         ParserError::ERROR_ATTRIBUTE_PARSING_FAILED,
46210         HASH_ELEMENT_STENCIL_TARGET,
46211         HASH_ATTRIBUTE_face,
46212         attributeValue))
46213 {
46214     return false;
46215 }
46216 
46217     break;
46218     }
46219     case HASH_ATTRIBUTE_mip:
46220     {
46221 bool failed;
46222 attributeData->mip = GeneratedSaxParser::Utils::toUint64(attributeValue, failed);
46223 if ( failed && handleError(ParserError::SEVERITY_ERROR_NONCRITICAL,
46224         ParserError::ERROR_ATTRIBUTE_PARSING_FAILED,
46225         HASH_ELEMENT_STENCIL_TARGET,
46226         HASH_ATTRIBUTE_mip,
46227         attributeValue))
46228 {
46229     return false;
46230 }
46231 
46232     break;
46233     }
46234     case HASH_ATTRIBUTE_slice:
46235     {
46236 bool failed;
46237 attributeData->slice = GeneratedSaxParser::Utils::toUint64(attributeValue, failed);
46238 if ( failed && handleError(ParserError::SEVERITY_ERROR_NONCRITICAL,
46239         ParserError::ERROR_ATTRIBUTE_PARSING_FAILED,
46240         HASH_ELEMENT_STENCIL_TARGET,
46241         HASH_ATTRIBUTE_slice,
46242         attributeValue))
46243 {
46244     return false;
46245 }
46246 
46247     break;
46248     }
46249     default:
46250     {
46251         if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_UNKNOWN_ATTRIBUTE, HASH_ELEMENT_STENCIL_TARGET, attribute, attributeValue))
46252             {return false;}
46253     }
46254     }
46255     }
46256 }
46257 
46258 
46259     return true;
46260 }
46261 
46262 //---------------------------------------------------------------------
_preEnd__stencil_target____fx_stenciltarget_common()46263 bool ColladaParserAutoGen14Private::_preEnd__stencil_target____fx_stenciltarget_common()
46264 {
46265 #ifdef GENERATEDSAXPARSER_VALIDATION
46266     if ( mValidate )
46267     {
46268 
46269         bool validationResult = _validateEnd__stencil_target____fx_stenciltarget_common();
46270         if ( !validationResult ) return false;
46271 
46272     } // validation
46273 #endif
46274 
46275 bool returnValue = true;
46276 #ifdef GENERATEDSAXPARSER_VALIDATION
46277     if ( mValidate )
46278     {
46279 ParserError::ErrorType simpleTypeValidationResult = validate__NCName(mLastIncompleteFragmentInCharacterData, mEndOfDataInCurrentObjectOnStack - mLastIncompleteFragmentInCharacterData);
46280 if (simpleTypeValidationResult != ParserError::SIMPLE_TYPE_VALIDATION_OK)
46281 {
46282     ParserChar msg[21];
46283     Utils::fillErrorMsg(msg, mLastIncompleteFragmentInCharacterData, 20);
46284     if( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL,
46285         simpleTypeValidationResult,
46286         0,
46287         msg) )
46288     {
46289         returnValue =  false;
46290     }
46291 }
46292 if (!returnValue)
46293 {
46294     mStackMemoryManager.deleteObject();
46295     mLastIncompleteFragmentInCharacterData = 0;
46296     mEndOfDataInCurrentObjectOnStack = 0;
46297     return returnValue;
46298 }
46299     } // validation
46300 #endif
46301 returnValue = mImpl->data__stencil_target____fx_stenciltarget_common(mLastIncompleteFragmentInCharacterData, mEndOfDataInCurrentObjectOnStack - mLastIncompleteFragmentInCharacterData);
46302 mStackMemoryManager.deleteObject();
46303 mLastIncompleteFragmentInCharacterData = 0;
46304 mEndOfDataInCurrentObjectOnStack = 0;
46305 return returnValue;
46306 
46307 }
46308 
46309 //---------------------------------------------------------------------
_freeAttributes__stencil_target____fx_stenciltarget_common(void * attributeData)46310 bool ColladaParserAutoGen14Private::_freeAttributes__stencil_target____fx_stenciltarget_common( void* attributeData )
46311 {
46312     stencil_target____fx_stenciltarget_common__AttributeData* typedAttributeData = static_cast<stencil_target____fx_stenciltarget_common__AttributeData*>(attributeData);
46313 
46314     typedAttributeData->~stencil_target____fx_stenciltarget_common__AttributeData();
46315 
46316     return true;
46317 }
46318 
46319 //---------------------------------------------------------------------
46320 const color_clear____fx_clearcolor_common__AttributeData color_clear____fx_clearcolor_common__AttributeData::DEFAULT = {0};
46321 
46322 //---------------------------------------------------------------------
_data__color_clear____fx_clearcolor_common(const ParserChar * text,size_t textLength)46323 bool ColladaParserAutoGen14Private::_data__color_clear____fx_clearcolor_common( const ParserChar* text, size_t textLength )
46324 {
46325 #ifdef GENERATEDSAXPARSER_VALIDATION
46326     if ( mValidate )
46327     {
46328         border_color__ValidationData* validationData = (border_color__ValidationData*)mValidationDataStack.top();
46329         DISABLE_WARNING_UNUSED(validationData)
46330 return characterData2FloatData(text, textLength, &ColladaParserAutoGen14::data__color_clear____fx_clearcolor_common, &validate__fx_color_common__stream, &validationData->validationWholeSize, 0);
46331     }
46332     else
46333     {
46334 return characterData2FloatData(text, textLength, &ColladaParserAutoGen14::data__color_clear____fx_clearcolor_common);
46335     }
46336 #else
46337     {
46338 return characterData2FloatData(text, textLength, &ColladaParserAutoGen14::data__color_clear____fx_clearcolor_common);
46339     } // validation
46340 #endif
46341 
46342 }
46343 
46344 //---------------------------------------------------------------------
_preBegin__color_clear____fx_clearcolor_common(const ParserAttributes & attributes,void ** attributeDataPtr,void ** validationDataPtr)46345 bool ColladaParserAutoGen14Private::_preBegin__color_clear____fx_clearcolor_common( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
46346 {
46347 #ifdef GENERATEDSAXPARSER_VALIDATION
46348     if ( mValidate )
46349     {
46350 
46351         bool validationResult = _validateBegin__color_clear____fx_clearcolor_common( attributes, attributeDataPtr, validationDataPtr );
46352         if ( !validationResult ) return false;
46353 
46354     } // validation
46355 #endif
46356 
46357 color_clear____fx_clearcolor_common__AttributeData* attributeData = newData<color_clear____fx_clearcolor_common__AttributeData>(attributeDataPtr);
46358 
46359 const ParserChar** attributeArray = attributes.attributes;
46360 if ( attributeArray )
46361 {
46362     while (true)
46363     {
46364         const ParserChar * attribute = *attributeArray;
46365         if ( !attribute )
46366             break;
46367         StringHash hash = GeneratedSaxParser::Utils::calculateStringHash(attribute);
46368         attributeArray++;
46369         if ( !attributeArray )
46370             return false;
46371         const ParserChar* attributeValue = *attributeArray;
46372         attributeArray++;
46373 
46374 
46375     switch ( hash )
46376     {
46377     case HASH_ATTRIBUTE_index:
46378     {
46379 bool failed;
46380 attributeData->index = GeneratedSaxParser::Utils::toUint64(attributeValue, failed);
46381 if ( failed && handleError(ParserError::SEVERITY_ERROR_NONCRITICAL,
46382         ParserError::ERROR_ATTRIBUTE_PARSING_FAILED,
46383         HASH_ELEMENT_COLOR_CLEAR,
46384         HASH_ATTRIBUTE_index,
46385         attributeValue))
46386 {
46387     return false;
46388 }
46389 
46390     break;
46391     }
46392     default:
46393     {
46394         if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_UNKNOWN_ATTRIBUTE, HASH_ELEMENT_COLOR_CLEAR, attribute, attributeValue))
46395             {return false;}
46396     }
46397     }
46398     }
46399 }
46400 
46401 
46402     return true;
46403 }
46404 
46405 //---------------------------------------------------------------------
_preEnd__color_clear____fx_clearcolor_common()46406 bool ColladaParserAutoGen14Private::_preEnd__color_clear____fx_clearcolor_common()
46407 {
46408 #ifdef GENERATEDSAXPARSER_VALIDATION
46409     if ( mValidate )
46410     {
46411 
46412         bool validationResult = _validateEnd__color_clear____fx_clearcolor_common();
46413         if ( !validationResult ) return false;
46414 
46415     } // validation
46416 #endif
46417 
46418 #ifdef GENERATEDSAXPARSER_VALIDATION
46419     if ( mValidate )
46420     {
46421         border_color__ValidationData* validationData = (border_color__ValidationData*)mValidationDataStack.top();
46422         DISABLE_WARNING_UNUSED(validationData)
46423 bool returnValue = floatDataEnd( &ColladaParserAutoGen14::data__color_clear____fx_clearcolor_common, &validate__fx_color_common__streamEnd, &validationData->validationWholeSize, 0 );
46424         ParserError::ErrorType simpleTypeValidationResult = validate__fx_color_common(0, (*(&validationData->validationWholeSize)));
46425         mValidationDataStack.deleteObject();
46426         if (simpleTypeValidationResult != ParserError::SIMPLE_TYPE_VALIDATION_OK)
46427         {
46428             if( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL,
46429                 simpleTypeValidationResult,
46430                 HASH_ELEMENT_COLOR_CLEAR,
46431                 (ParserChar*)0, 0 ) )
46432             {
46433                 return false;
46434             }
46435         }
46436         return returnValue;
46437     }
46438     else
46439     {
46440 return floatDataEnd( &ColladaParserAutoGen14::data__color_clear____fx_clearcolor_common );
46441     }
46442 #else
46443     {
46444 return floatDataEnd( &ColladaParserAutoGen14::data__color_clear____fx_clearcolor_common );
46445     } // validation
46446 #endif
46447 
46448 }
46449 
46450 //---------------------------------------------------------------------
_freeAttributes__color_clear____fx_clearcolor_common(void * attributeData)46451 bool ColladaParserAutoGen14Private::_freeAttributes__color_clear____fx_clearcolor_common( void* attributeData )
46452 {
46453     color_clear____fx_clearcolor_common__AttributeData* typedAttributeData = static_cast<color_clear____fx_clearcolor_common__AttributeData*>(attributeData);
46454 
46455     typedAttributeData->~color_clear____fx_clearcolor_common__AttributeData();
46456 
46457     return true;
46458 }
46459 
46460 //---------------------------------------------------------------------
46461 const depth_clear____fx_cleardepth_common__AttributeData depth_clear____fx_cleardepth_common__AttributeData::DEFAULT = {0};
46462 
46463 //---------------------------------------------------------------------
_data__depth_clear____fx_cleardepth_common(const ParserChar * text,size_t textLength)46464 bool ColladaParserAutoGen14Private::_data__depth_clear____fx_cleardepth_common( const ParserChar* text, size_t textLength )
46465 {
46466 if (!mLastIncompleteFragmentInCharacterData)
46467 {
46468     mLastIncompleteFragmentInCharacterData = (ParserChar*)mStackMemoryManager.newObject(textLength);
46469     memcpy(mLastIncompleteFragmentInCharacterData, text, textLength);
46470     mEndOfDataInCurrentObjectOnStack = mLastIncompleteFragmentInCharacterData + textLength;
46471 }
46472 else
46473 {
46474     ParserChar* tmp = (ParserChar*)mStackMemoryManager.growObject(textLength);
46475     if ( tmp != mLastIncompleteFragmentInCharacterData ) {
46476         mEndOfDataInCurrentObjectOnStack = (mEndOfDataInCurrentObjectOnStack - mLastIncompleteFragmentInCharacterData) + tmp;
46477         mLastIncompleteFragmentInCharacterData = tmp;
46478     }
46479     memcpy(mEndOfDataInCurrentObjectOnStack, text, textLength);
46480     mEndOfDataInCurrentObjectOnStack += textLength;
46481 }
46482 return true;
46483 }
46484 
46485 //---------------------------------------------------------------------
_preBegin__depth_clear____fx_cleardepth_common(const ParserAttributes & attributes,void ** attributeDataPtr,void ** validationDataPtr)46486 bool ColladaParserAutoGen14Private::_preBegin__depth_clear____fx_cleardepth_common( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
46487 {
46488 #ifdef GENERATEDSAXPARSER_VALIDATION
46489     if ( mValidate )
46490     {
46491 
46492         bool validationResult = _validateBegin__depth_clear____fx_cleardepth_common( attributes, attributeDataPtr, validationDataPtr );
46493         if ( !validationResult ) return false;
46494 
46495     } // validation
46496 #endif
46497 
46498 depth_clear____fx_cleardepth_common__AttributeData* attributeData = newData<depth_clear____fx_cleardepth_common__AttributeData>(attributeDataPtr);
46499 
46500 const ParserChar** attributeArray = attributes.attributes;
46501 if ( attributeArray )
46502 {
46503     while (true)
46504     {
46505         const ParserChar * attribute = *attributeArray;
46506         if ( !attribute )
46507             break;
46508         StringHash hash = GeneratedSaxParser::Utils::calculateStringHash(attribute);
46509         attributeArray++;
46510         if ( !attributeArray )
46511             return false;
46512         const ParserChar* attributeValue = *attributeArray;
46513         attributeArray++;
46514 
46515 
46516     switch ( hash )
46517     {
46518     case HASH_ATTRIBUTE_index:
46519     {
46520 bool failed;
46521 attributeData->index = GeneratedSaxParser::Utils::toUint64(attributeValue, failed);
46522 if ( failed && handleError(ParserError::SEVERITY_ERROR_NONCRITICAL,
46523         ParserError::ERROR_ATTRIBUTE_PARSING_FAILED,
46524         HASH_ELEMENT_DEPTH_CLEAR,
46525         HASH_ATTRIBUTE_index,
46526         attributeValue))
46527 {
46528     return false;
46529 }
46530 
46531     break;
46532     }
46533     default:
46534     {
46535         if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_UNKNOWN_ATTRIBUTE, HASH_ELEMENT_DEPTH_CLEAR, attribute, attributeValue))
46536             {return false;}
46537     }
46538     }
46539     }
46540 }
46541 
46542 
46543     return true;
46544 }
46545 
46546 //---------------------------------------------------------------------
_preEnd__depth_clear____fx_cleardepth_common()46547 bool ColladaParserAutoGen14Private::_preEnd__depth_clear____fx_cleardepth_common()
46548 {
46549 #ifdef GENERATEDSAXPARSER_VALIDATION
46550     if ( mValidate )
46551     {
46552 
46553         bool validationResult = _validateEnd__depth_clear____fx_cleardepth_common();
46554         if ( !validationResult ) return false;
46555 
46556     } // validation
46557 #endif
46558 
46559 bool failed;
46560 const ParserChar* ptrForErr = mLastIncompleteFragmentInCharacterData;
46561 DISABLE_WARNING_UNUSED(ptrForErr)
46562 float parameter = GeneratedSaxParser::Utils::toFloat((const ParserChar**)&mLastIncompleteFragmentInCharacterData, mEndOfDataInCurrentObjectOnStack, failed);
46563 bool returnValue;
46564 if (!failed)
46565 {
46566     returnValue = mImpl->data__depth_clear____fx_cleardepth_common(parameter);
46567 }
46568 else
46569     returnValue = !handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_TEXTDATA_PARSING_FAILED, HASH_ELEMENT_DEPTH_CLEAR, (const ParserChar*)0, mLastIncompleteFragmentInCharacterData);
46570 if (mLastIncompleteFragmentInCharacterData)
46571     mStackMemoryManager.deleteObject();
46572 mLastIncompleteFragmentInCharacterData = 0;
46573 mEndOfDataInCurrentObjectOnStack = 0;
46574 return returnValue;
46575 }
46576 
46577 //---------------------------------------------------------------------
_freeAttributes__depth_clear____fx_cleardepth_common(void * attributeData)46578 bool ColladaParserAutoGen14Private::_freeAttributes__depth_clear____fx_cleardepth_common( void* attributeData )
46579 {
46580     depth_clear____fx_cleardepth_common__AttributeData* typedAttributeData = static_cast<depth_clear____fx_cleardepth_common__AttributeData*>(attributeData);
46581 
46582     typedAttributeData->~depth_clear____fx_cleardepth_common__AttributeData();
46583 
46584     return true;
46585 }
46586 
46587 //---------------------------------------------------------------------
46588 const stencil_clear____fx_clearstencil_common__AttributeData stencil_clear____fx_clearstencil_common__AttributeData::DEFAULT = {0};
46589 
46590 //---------------------------------------------------------------------
_data__stencil_clear____fx_clearstencil_common(const ParserChar * text,size_t textLength)46591 bool ColladaParserAutoGen14Private::_data__stencil_clear____fx_clearstencil_common( const ParserChar* text, size_t textLength )
46592 {
46593 if (!mLastIncompleteFragmentInCharacterData)
46594 {
46595     mLastIncompleteFragmentInCharacterData = (ParserChar*)mStackMemoryManager.newObject(textLength);
46596     memcpy(mLastIncompleteFragmentInCharacterData, text, textLength);
46597     mEndOfDataInCurrentObjectOnStack = mLastIncompleteFragmentInCharacterData + textLength;
46598 }
46599 else
46600 {
46601     ParserChar* tmp = (ParserChar*)mStackMemoryManager.growObject(textLength);
46602     if ( tmp != mLastIncompleteFragmentInCharacterData ) {
46603         mEndOfDataInCurrentObjectOnStack = (mEndOfDataInCurrentObjectOnStack - mLastIncompleteFragmentInCharacterData) + tmp;
46604         mLastIncompleteFragmentInCharacterData = tmp;
46605     }
46606     memcpy(mEndOfDataInCurrentObjectOnStack, text, textLength);
46607     mEndOfDataInCurrentObjectOnStack += textLength;
46608 }
46609 return true;
46610 }
46611 
46612 //---------------------------------------------------------------------
_preBegin__stencil_clear____fx_clearstencil_common(const ParserAttributes & attributes,void ** attributeDataPtr,void ** validationDataPtr)46613 bool ColladaParserAutoGen14Private::_preBegin__stencil_clear____fx_clearstencil_common( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
46614 {
46615 #ifdef GENERATEDSAXPARSER_VALIDATION
46616     if ( mValidate )
46617     {
46618 
46619         bool validationResult = _validateBegin__stencil_clear____fx_clearstencil_common( attributes, attributeDataPtr, validationDataPtr );
46620         if ( !validationResult ) return false;
46621 
46622     } // validation
46623 #endif
46624 
46625 stencil_clear____fx_clearstencil_common__AttributeData* attributeData = newData<stencil_clear____fx_clearstencil_common__AttributeData>(attributeDataPtr);
46626 
46627 const ParserChar** attributeArray = attributes.attributes;
46628 if ( attributeArray )
46629 {
46630     while (true)
46631     {
46632         const ParserChar * attribute = *attributeArray;
46633         if ( !attribute )
46634             break;
46635         StringHash hash = GeneratedSaxParser::Utils::calculateStringHash(attribute);
46636         attributeArray++;
46637         if ( !attributeArray )
46638             return false;
46639         const ParserChar* attributeValue = *attributeArray;
46640         attributeArray++;
46641 
46642 
46643     switch ( hash )
46644     {
46645     case HASH_ATTRIBUTE_index:
46646     {
46647 bool failed;
46648 attributeData->index = GeneratedSaxParser::Utils::toUint64(attributeValue, failed);
46649 if ( failed && handleError(ParserError::SEVERITY_ERROR_NONCRITICAL,
46650         ParserError::ERROR_ATTRIBUTE_PARSING_FAILED,
46651         HASH_ELEMENT_STENCIL_CLEAR,
46652         HASH_ATTRIBUTE_index,
46653         attributeValue))
46654 {
46655     return false;
46656 }
46657 
46658     break;
46659     }
46660     default:
46661     {
46662         if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_UNKNOWN_ATTRIBUTE, HASH_ELEMENT_STENCIL_CLEAR, attribute, attributeValue))
46663             {return false;}
46664     }
46665     }
46666     }
46667 }
46668 
46669 
46670     return true;
46671 }
46672 
46673 //---------------------------------------------------------------------
_preEnd__stencil_clear____fx_clearstencil_common()46674 bool ColladaParserAutoGen14Private::_preEnd__stencil_clear____fx_clearstencil_common()
46675 {
46676 #ifdef GENERATEDSAXPARSER_VALIDATION
46677     if ( mValidate )
46678     {
46679 
46680         bool validationResult = _validateEnd__stencil_clear____fx_clearstencil_common();
46681         if ( !validationResult ) return false;
46682 
46683     } // validation
46684 #endif
46685 
46686 bool failed;
46687 const ParserChar* ptrForErr = mLastIncompleteFragmentInCharacterData;
46688 DISABLE_WARNING_UNUSED(ptrForErr)
46689 sint8 parameter = GeneratedSaxParser::Utils::toSint8((const ParserChar**)&mLastIncompleteFragmentInCharacterData, mEndOfDataInCurrentObjectOnStack, failed);
46690 bool returnValue;
46691 if (!failed)
46692 {
46693     returnValue = mImpl->data__stencil_clear____fx_clearstencil_common(parameter);
46694 }
46695 else
46696     returnValue = !handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_TEXTDATA_PARSING_FAILED, HASH_ELEMENT_STENCIL_CLEAR, (const ParserChar*)0, mLastIncompleteFragmentInCharacterData);
46697 if (mLastIncompleteFragmentInCharacterData)
46698     mStackMemoryManager.deleteObject();
46699 mLastIncompleteFragmentInCharacterData = 0;
46700 mEndOfDataInCurrentObjectOnStack = 0;
46701 return returnValue;
46702 }
46703 
46704 //---------------------------------------------------------------------
_freeAttributes__stencil_clear____fx_clearstencil_common(void * attributeData)46705 bool ColladaParserAutoGen14Private::_freeAttributes__stencil_clear____fx_clearstencil_common( void* attributeData )
46706 {
46707     stencil_clear____fx_clearstencil_common__AttributeData* typedAttributeData = static_cast<stencil_clear____fx_clearstencil_common__AttributeData*>(attributeData);
46708 
46709     typedAttributeData->~stencil_clear____fx_clearstencil_common__AttributeData();
46710 
46711     return true;
46712 }
46713 
46714 //---------------------------------------------------------------------
_data__profile_GLSL__technique__pass__alpha_func(const ParserChar * text,size_t textLength)46715 bool ColladaParserAutoGen14Private::_data__profile_GLSL__technique__pass__alpha_func( const ParserChar* text, size_t textLength )
46716 {
46717     return true;
46718 }
46719 
46720 //---------------------------------------------------------------------
_preBegin__profile_GLSL__technique__pass__alpha_func(const ParserAttributes & attributes,void ** attributeDataPtr,void ** validationDataPtr)46721 bool ColladaParserAutoGen14Private::_preBegin__profile_GLSL__technique__pass__alpha_func( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
46722 {
46723 #ifdef GENERATEDSAXPARSER_VALIDATION
46724     if ( mValidate )
46725     {
46726 
46727         bool validationResult = _validateBegin__profile_GLSL__technique__pass__alpha_func( attributes, attributeDataPtr, validationDataPtr );
46728         if ( !validationResult ) return false;
46729 
46730     } // validation
46731 #endif
46732 
46733     return true;
46734 }
46735 
46736 //---------------------------------------------------------------------
_preEnd__profile_GLSL__technique__pass__alpha_func()46737 bool ColladaParserAutoGen14Private::_preEnd__profile_GLSL__technique__pass__alpha_func()
46738 {
46739 #ifdef GENERATEDSAXPARSER_VALIDATION
46740     if ( mValidate )
46741     {
46742 
46743         bool validationResult = _validateEnd__profile_GLSL__technique__pass__alpha_func();
46744         if ( !validationResult ) return false;
46745 
46746     } // validation
46747 #endif
46748 
46749     return true;
46750 }
46751 
46752 //---------------------------------------------------------------------
_freeAttributes__profile_GLSL__technique__pass__alpha_func(void * attributeData)46753 bool ColladaParserAutoGen14Private::_freeAttributes__profile_GLSL__technique__pass__alpha_func( void* attributeData )
46754 {
46755     return true;
46756 }
46757 
46758 //---------------------------------------------------------------------
46759 const profile_GLSL__technique__pass__alpha_func__func__AttributeData profile_GLSL__technique__pass__alpha_func__func__AttributeData::DEFAULT = {ENUM__gl_func_type__ALWAYS, 0};
46760 
46761 //---------------------------------------------------------------------
_data__profile_GLSL__technique__pass__alpha_func__func(const ParserChar * text,size_t textLength)46762 bool ColladaParserAutoGen14Private::_data__profile_GLSL__technique__pass__alpha_func__func( const ParserChar* text, size_t textLength )
46763 {
46764     return true;
46765 }
46766 
46767 //---------------------------------------------------------------------
_preBegin__profile_GLSL__technique__pass__alpha_func__func(const ParserAttributes & attributes,void ** attributeDataPtr,void ** validationDataPtr)46768 bool ColladaParserAutoGen14Private::_preBegin__profile_GLSL__technique__pass__alpha_func__func( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
46769 {
46770 #ifdef GENERATEDSAXPARSER_VALIDATION
46771     if ( mValidate )
46772     {
46773 
46774         bool validationResult = _validateBegin__profile_GLSL__technique__pass__alpha_func__func( attributes, attributeDataPtr, validationDataPtr );
46775         if ( !validationResult ) return false;
46776 
46777     } // validation
46778 #endif
46779 
46780 profile_GLSL__technique__pass__alpha_func__func__AttributeData* attributeData = newData<profile_GLSL__technique__pass__alpha_func__func__AttributeData>(attributeDataPtr);
46781 
46782 const ParserChar** attributeArray = attributes.attributes;
46783 if ( attributeArray )
46784 {
46785     while (true)
46786     {
46787         const ParserChar * attribute = *attributeArray;
46788         if ( !attribute )
46789             break;
46790         StringHash hash = GeneratedSaxParser::Utils::calculateStringHash(attribute);
46791         attributeArray++;
46792         if ( !attributeArray )
46793             return false;
46794         const ParserChar* attributeValue = *attributeArray;
46795         attributeArray++;
46796 
46797 
46798     switch ( hash )
46799     {
46800     case HASH_ATTRIBUTE_value:
46801     {
46802 bool failed;
46803 attributeData->value = Utils::toEnum<ENUM__gl_func_type, StringHash, ENUM__gl_func_type__COUNT>(attributeValue, failed, ENUM__gl_func_typeMap, Utils::calculateStringHash);
46804 if ( failed && handleError(ParserError::SEVERITY_ERROR_NONCRITICAL,
46805         ParserError::ERROR_ATTRIBUTE_PARSING_FAILED,
46806         HASH_ELEMENT_FUNC,
46807         HASH_ATTRIBUTE_value,
46808         attributeValue))
46809 {
46810     return false;
46811 }
46812 
46813     break;
46814     }
46815     case HASH_ATTRIBUTE_param:
46816     {
46817 
46818 attributeData->param = attributeValue;
46819 #ifdef GENERATEDSAXPARSER_VALIDATION
46820     if ( mValidate )
46821     {
46822     ParserError::ErrorType simpleTypeValidationResult = validate__NCName(attributeData->param, strlen(attributeData->param));
46823     if (simpleTypeValidationResult != ParserError::SIMPLE_TYPE_VALIDATION_OK)
46824     {
46825         if( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL,
46826             simpleTypeValidationResult,
46827             HASH_ELEMENT_FUNC,
46828             HASH_ATTRIBUTE_param,
46829             attributeValue) )
46830         {
46831             return false;
46832         }
46833     }
46834     } // validation
46835 #endif
46836 
46837     break;
46838     }
46839     default:
46840     {
46841         if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_UNKNOWN_ATTRIBUTE, HASH_ELEMENT_FUNC, attribute, attributeValue))
46842             {return false;}
46843     }
46844     }
46845     }
46846 }
46847 
46848 
46849     return true;
46850 }
46851 
46852 //---------------------------------------------------------------------
_preEnd__profile_GLSL__technique__pass__alpha_func__func()46853 bool ColladaParserAutoGen14Private::_preEnd__profile_GLSL__technique__pass__alpha_func__func()
46854 {
46855 #ifdef GENERATEDSAXPARSER_VALIDATION
46856     if ( mValidate )
46857     {
46858 
46859         bool validationResult = _validateEnd__profile_GLSL__technique__pass__alpha_func__func();
46860         if ( !validationResult ) return false;
46861 
46862     } // validation
46863 #endif
46864 
46865     return true;
46866 }
46867 
46868 //---------------------------------------------------------------------
_freeAttributes__profile_GLSL__technique__pass__alpha_func__func(void * attributeData)46869 bool ColladaParserAutoGen14Private::_freeAttributes__profile_GLSL__technique__pass__alpha_func__func( void* attributeData )
46870 {
46871     profile_GLSL__technique__pass__alpha_func__func__AttributeData* typedAttributeData = static_cast<profile_GLSL__technique__pass__alpha_func__func__AttributeData*>(attributeData);
46872 
46873     typedAttributeData->~profile_GLSL__technique__pass__alpha_func__func__AttributeData();
46874 
46875     return true;
46876 }
46877 
46878 //---------------------------------------------------------------------
46879 const profile_GLSL__technique__pass__alpha_func__value__AttributeData profile_GLSL__technique__pass__alpha_func__value__AttributeData::DEFAULT = {0.0E1, 0};
46880 
46881 //---------------------------------------------------------------------
_data__profile_GLSL__technique__pass__alpha_func__value(const ParserChar * text,size_t textLength)46882 bool ColladaParserAutoGen14Private::_data__profile_GLSL__technique__pass__alpha_func__value( const ParserChar* text, size_t textLength )
46883 {
46884     return true;
46885 }
46886 
46887 //---------------------------------------------------------------------
_preBegin__profile_GLSL__technique__pass__alpha_func__value(const ParserAttributes & attributes,void ** attributeDataPtr,void ** validationDataPtr)46888 bool ColladaParserAutoGen14Private::_preBegin__profile_GLSL__technique__pass__alpha_func__value( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
46889 {
46890 #ifdef GENERATEDSAXPARSER_VALIDATION
46891     if ( mValidate )
46892     {
46893 
46894         bool validationResult = _validateBegin__profile_GLSL__technique__pass__alpha_func__value( attributes, attributeDataPtr, validationDataPtr );
46895         if ( !validationResult ) return false;
46896 
46897     } // validation
46898 #endif
46899 
46900 profile_GLSL__technique__pass__alpha_func__value__AttributeData* attributeData = newData<profile_GLSL__technique__pass__alpha_func__value__AttributeData>(attributeDataPtr);
46901 
46902 const ParserChar** attributeArray = attributes.attributes;
46903 if ( attributeArray )
46904 {
46905     while (true)
46906     {
46907         const ParserChar * attribute = *attributeArray;
46908         if ( !attribute )
46909             break;
46910         StringHash hash = GeneratedSaxParser::Utils::calculateStringHash(attribute);
46911         attributeArray++;
46912         if ( !attributeArray )
46913             return false;
46914         const ParserChar* attributeValue = *attributeArray;
46915         attributeArray++;
46916 
46917 
46918     switch ( hash )
46919     {
46920     case HASH_ATTRIBUTE_value:
46921     {
46922 bool failed;
46923 attributeData->value = GeneratedSaxParser::Utils::toFloat(attributeValue, failed);
46924 if ( failed && handleError(ParserError::SEVERITY_ERROR_NONCRITICAL,
46925         ParserError::ERROR_ATTRIBUTE_PARSING_FAILED,
46926         HASH_ELEMENT_VALUE,
46927         HASH_ATTRIBUTE_value,
46928         attributeValue))
46929 {
46930     return false;
46931 }
46932 #ifdef GENERATEDSAXPARSER_VALIDATION
46933     if ( mValidate )
46934     {
46935     ParserError::ErrorType simpleTypeValidationResult = validate__gl_alpha_value_type(attributeData->value);
46936     if (simpleTypeValidationResult != ParserError::SIMPLE_TYPE_VALIDATION_OK)
46937     {
46938         if( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL,
46939             simpleTypeValidationResult,
46940             HASH_ELEMENT_VALUE,
46941             HASH_ATTRIBUTE_value,
46942             attributeValue) )
46943         {
46944             return false;
46945         }
46946     }
46947     } // validation
46948 #endif
46949 
46950     break;
46951     }
46952     case HASH_ATTRIBUTE_param:
46953     {
46954 
46955 attributeData->param = attributeValue;
46956 #ifdef GENERATEDSAXPARSER_VALIDATION
46957     if ( mValidate )
46958     {
46959     ParserError::ErrorType simpleTypeValidationResult = validate__NCName(attributeData->param, strlen(attributeData->param));
46960     if (simpleTypeValidationResult != ParserError::SIMPLE_TYPE_VALIDATION_OK)
46961     {
46962         if( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL,
46963             simpleTypeValidationResult,
46964             HASH_ELEMENT_VALUE,
46965             HASH_ATTRIBUTE_param,
46966             attributeValue) )
46967         {
46968             return false;
46969         }
46970     }
46971     } // validation
46972 #endif
46973 
46974     break;
46975     }
46976     default:
46977     {
46978         if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_UNKNOWN_ATTRIBUTE, HASH_ELEMENT_VALUE, attribute, attributeValue))
46979             {return false;}
46980     }
46981     }
46982     }
46983 }
46984 
46985 
46986     return true;
46987 }
46988 
46989 //---------------------------------------------------------------------
_preEnd__profile_GLSL__technique__pass__alpha_func__value()46990 bool ColladaParserAutoGen14Private::_preEnd__profile_GLSL__technique__pass__alpha_func__value()
46991 {
46992 #ifdef GENERATEDSAXPARSER_VALIDATION
46993     if ( mValidate )
46994     {
46995 
46996         bool validationResult = _validateEnd__profile_GLSL__technique__pass__alpha_func__value();
46997         if ( !validationResult ) return false;
46998 
46999     } // validation
47000 #endif
47001 
47002     return true;
47003 }
47004 
47005 //---------------------------------------------------------------------
_freeAttributes__profile_GLSL__technique__pass__alpha_func__value(void * attributeData)47006 bool ColladaParserAutoGen14Private::_freeAttributes__profile_GLSL__technique__pass__alpha_func__value( void* attributeData )
47007 {
47008     profile_GLSL__technique__pass__alpha_func__value__AttributeData* typedAttributeData = static_cast<profile_GLSL__technique__pass__alpha_func__value__AttributeData*>(attributeData);
47009 
47010     typedAttributeData->~profile_GLSL__technique__pass__alpha_func__value__AttributeData();
47011 
47012     return true;
47013 }
47014 
47015 //---------------------------------------------------------------------
_data__profile_GLSL__technique__pass__blend_func(const ParserChar * text,size_t textLength)47016 bool ColladaParserAutoGen14Private::_data__profile_GLSL__technique__pass__blend_func( const ParserChar* text, size_t textLength )
47017 {
47018     return true;
47019 }
47020 
47021 //---------------------------------------------------------------------
_preBegin__profile_GLSL__technique__pass__blend_func(const ParserAttributes & attributes,void ** attributeDataPtr,void ** validationDataPtr)47022 bool ColladaParserAutoGen14Private::_preBegin__profile_GLSL__technique__pass__blend_func( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
47023 {
47024 #ifdef GENERATEDSAXPARSER_VALIDATION
47025     if ( mValidate )
47026     {
47027 
47028         bool validationResult = _validateBegin__profile_GLSL__technique__pass__blend_func( attributes, attributeDataPtr, validationDataPtr );
47029         if ( !validationResult ) return false;
47030 
47031     } // validation
47032 #endif
47033 
47034     return true;
47035 }
47036 
47037 //---------------------------------------------------------------------
_preEnd__profile_GLSL__technique__pass__blend_func()47038 bool ColladaParserAutoGen14Private::_preEnd__profile_GLSL__technique__pass__blend_func()
47039 {
47040 #ifdef GENERATEDSAXPARSER_VALIDATION
47041     if ( mValidate )
47042     {
47043 
47044         bool validationResult = _validateEnd__profile_GLSL__technique__pass__blend_func();
47045         if ( !validationResult ) return false;
47046 
47047     } // validation
47048 #endif
47049 
47050     return true;
47051 }
47052 
47053 //---------------------------------------------------------------------
_freeAttributes__profile_GLSL__technique__pass__blend_func(void * attributeData)47054 bool ColladaParserAutoGen14Private::_freeAttributes__profile_GLSL__technique__pass__blend_func( void* attributeData )
47055 {
47056     return true;
47057 }
47058 
47059 //---------------------------------------------------------------------
47060 const profile_GLSL__technique__pass__blend_func__src__AttributeData profile_GLSL__technique__pass__blend_func__src__AttributeData::DEFAULT = {ENUM__gl_blend_type__ONE, 0};
47061 
47062 //---------------------------------------------------------------------
_data__profile_GLSL__technique__pass__blend_func__src(const ParserChar * text,size_t textLength)47063 bool ColladaParserAutoGen14Private::_data__profile_GLSL__technique__pass__blend_func__src( const ParserChar* text, size_t textLength )
47064 {
47065     return true;
47066 }
47067 
47068 //---------------------------------------------------------------------
_preBegin__profile_GLSL__technique__pass__blend_func__src(const ParserAttributes & attributes,void ** attributeDataPtr,void ** validationDataPtr)47069 bool ColladaParserAutoGen14Private::_preBegin__profile_GLSL__technique__pass__blend_func__src( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
47070 {
47071 #ifdef GENERATEDSAXPARSER_VALIDATION
47072     if ( mValidate )
47073     {
47074 
47075         bool validationResult = _validateBegin__profile_GLSL__technique__pass__blend_func__src( attributes, attributeDataPtr, validationDataPtr );
47076         if ( !validationResult ) return false;
47077 
47078     } // validation
47079 #endif
47080 
47081 profile_GLSL__technique__pass__blend_func__src__AttributeData* attributeData = newData<profile_GLSL__technique__pass__blend_func__src__AttributeData>(attributeDataPtr);
47082 
47083 const ParserChar** attributeArray = attributes.attributes;
47084 if ( attributeArray )
47085 {
47086     while (true)
47087     {
47088         const ParserChar * attribute = *attributeArray;
47089         if ( !attribute )
47090             break;
47091         StringHash hash = GeneratedSaxParser::Utils::calculateStringHash(attribute);
47092         attributeArray++;
47093         if ( !attributeArray )
47094             return false;
47095         const ParserChar* attributeValue = *attributeArray;
47096         attributeArray++;
47097 
47098 
47099     switch ( hash )
47100     {
47101     case HASH_ATTRIBUTE_value:
47102     {
47103 bool failed;
47104 attributeData->value = Utils::toEnum<ENUM__gl_blend_type, StringHash, ENUM__gl_blend_type__COUNT>(attributeValue, failed, ENUM__gl_blend_typeMap, Utils::calculateStringHash);
47105 if ( failed && handleError(ParserError::SEVERITY_ERROR_NONCRITICAL,
47106         ParserError::ERROR_ATTRIBUTE_PARSING_FAILED,
47107         HASH_ELEMENT_SRC,
47108         HASH_ATTRIBUTE_value,
47109         attributeValue))
47110 {
47111     return false;
47112 }
47113 
47114     break;
47115     }
47116     case HASH_ATTRIBUTE_param:
47117     {
47118 
47119 attributeData->param = attributeValue;
47120 #ifdef GENERATEDSAXPARSER_VALIDATION
47121     if ( mValidate )
47122     {
47123     ParserError::ErrorType simpleTypeValidationResult = validate__NCName(attributeData->param, strlen(attributeData->param));
47124     if (simpleTypeValidationResult != ParserError::SIMPLE_TYPE_VALIDATION_OK)
47125     {
47126         if( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL,
47127             simpleTypeValidationResult,
47128             HASH_ELEMENT_SRC,
47129             HASH_ATTRIBUTE_param,
47130             attributeValue) )
47131         {
47132             return false;
47133         }
47134     }
47135     } // validation
47136 #endif
47137 
47138     break;
47139     }
47140     default:
47141     {
47142         if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_UNKNOWN_ATTRIBUTE, HASH_ELEMENT_SRC, attribute, attributeValue))
47143             {return false;}
47144     }
47145     }
47146     }
47147 }
47148 
47149 
47150     return true;
47151 }
47152 
47153 //---------------------------------------------------------------------
_preEnd__profile_GLSL__technique__pass__blend_func__src()47154 bool ColladaParserAutoGen14Private::_preEnd__profile_GLSL__technique__pass__blend_func__src()
47155 {
47156 #ifdef GENERATEDSAXPARSER_VALIDATION
47157     if ( mValidate )
47158     {
47159 
47160         bool validationResult = _validateEnd__profile_GLSL__technique__pass__blend_func__src();
47161         if ( !validationResult ) return false;
47162 
47163     } // validation
47164 #endif
47165 
47166     return true;
47167 }
47168 
47169 //---------------------------------------------------------------------
_freeAttributes__profile_GLSL__technique__pass__blend_func__src(void * attributeData)47170 bool ColladaParserAutoGen14Private::_freeAttributes__profile_GLSL__technique__pass__blend_func__src( void* attributeData )
47171 {
47172     profile_GLSL__technique__pass__blend_func__src__AttributeData* typedAttributeData = static_cast<profile_GLSL__technique__pass__blend_func__src__AttributeData*>(attributeData);
47173 
47174     typedAttributeData->~profile_GLSL__technique__pass__blend_func__src__AttributeData();
47175 
47176     return true;
47177 }
47178 
47179 //---------------------------------------------------------------------
47180 const profile_GLSL__technique__pass__blend_func__dest__AttributeData profile_GLSL__technique__pass__blend_func__dest__AttributeData::DEFAULT = {ENUM__gl_blend_type__ZERO, 0};
47181 
47182 //---------------------------------------------------------------------
_data__profile_GLSL__technique__pass__blend_func__dest(const ParserChar * text,size_t textLength)47183 bool ColladaParserAutoGen14Private::_data__profile_GLSL__technique__pass__blend_func__dest( const ParserChar* text, size_t textLength )
47184 {
47185     return true;
47186 }
47187 
47188 //---------------------------------------------------------------------
_preBegin__profile_GLSL__technique__pass__blend_func__dest(const ParserAttributes & attributes,void ** attributeDataPtr,void ** validationDataPtr)47189 bool ColladaParserAutoGen14Private::_preBegin__profile_GLSL__technique__pass__blend_func__dest( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
47190 {
47191 #ifdef GENERATEDSAXPARSER_VALIDATION
47192     if ( mValidate )
47193     {
47194 
47195         bool validationResult = _validateBegin__profile_GLSL__technique__pass__blend_func__dest( attributes, attributeDataPtr, validationDataPtr );
47196         if ( !validationResult ) return false;
47197 
47198     } // validation
47199 #endif
47200 
47201 profile_GLSL__technique__pass__blend_func__dest__AttributeData* attributeData = newData<profile_GLSL__technique__pass__blend_func__dest__AttributeData>(attributeDataPtr);
47202 
47203 const ParserChar** attributeArray = attributes.attributes;
47204 if ( attributeArray )
47205 {
47206     while (true)
47207     {
47208         const ParserChar * attribute = *attributeArray;
47209         if ( !attribute )
47210             break;
47211         StringHash hash = GeneratedSaxParser::Utils::calculateStringHash(attribute);
47212         attributeArray++;
47213         if ( !attributeArray )
47214             return false;
47215         const ParserChar* attributeValue = *attributeArray;
47216         attributeArray++;
47217 
47218 
47219     switch ( hash )
47220     {
47221     case HASH_ATTRIBUTE_value:
47222     {
47223 bool failed;
47224 attributeData->value = Utils::toEnum<ENUM__gl_blend_type, StringHash, ENUM__gl_blend_type__COUNT>(attributeValue, failed, ENUM__gl_blend_typeMap, Utils::calculateStringHash);
47225 if ( failed && handleError(ParserError::SEVERITY_ERROR_NONCRITICAL,
47226         ParserError::ERROR_ATTRIBUTE_PARSING_FAILED,
47227         HASH_ELEMENT_DEST,
47228         HASH_ATTRIBUTE_value,
47229         attributeValue))
47230 {
47231     return false;
47232 }
47233 
47234     break;
47235     }
47236     case HASH_ATTRIBUTE_param:
47237     {
47238 
47239 attributeData->param = attributeValue;
47240 #ifdef GENERATEDSAXPARSER_VALIDATION
47241     if ( mValidate )
47242     {
47243     ParserError::ErrorType simpleTypeValidationResult = validate__NCName(attributeData->param, strlen(attributeData->param));
47244     if (simpleTypeValidationResult != ParserError::SIMPLE_TYPE_VALIDATION_OK)
47245     {
47246         if( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL,
47247             simpleTypeValidationResult,
47248             HASH_ELEMENT_DEST,
47249             HASH_ATTRIBUTE_param,
47250             attributeValue) )
47251         {
47252             return false;
47253         }
47254     }
47255     } // validation
47256 #endif
47257 
47258     break;
47259     }
47260     default:
47261     {
47262         if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_UNKNOWN_ATTRIBUTE, HASH_ELEMENT_DEST, attribute, attributeValue))
47263             {return false;}
47264     }
47265     }
47266     }
47267 }
47268 
47269 
47270     return true;
47271 }
47272 
47273 //---------------------------------------------------------------------
_preEnd__profile_GLSL__technique__pass__blend_func__dest()47274 bool ColladaParserAutoGen14Private::_preEnd__profile_GLSL__technique__pass__blend_func__dest()
47275 {
47276 #ifdef GENERATEDSAXPARSER_VALIDATION
47277     if ( mValidate )
47278     {
47279 
47280         bool validationResult = _validateEnd__profile_GLSL__technique__pass__blend_func__dest();
47281         if ( !validationResult ) return false;
47282 
47283     } // validation
47284 #endif
47285 
47286     return true;
47287 }
47288 
47289 //---------------------------------------------------------------------
_freeAttributes__profile_GLSL__technique__pass__blend_func__dest(void * attributeData)47290 bool ColladaParserAutoGen14Private::_freeAttributes__profile_GLSL__technique__pass__blend_func__dest( void* attributeData )
47291 {
47292     profile_GLSL__technique__pass__blend_func__dest__AttributeData* typedAttributeData = static_cast<profile_GLSL__technique__pass__blend_func__dest__AttributeData*>(attributeData);
47293 
47294     typedAttributeData->~profile_GLSL__technique__pass__blend_func__dest__AttributeData();
47295 
47296     return true;
47297 }
47298 
47299 //---------------------------------------------------------------------
_data__blend_func_separate(const ParserChar * text,size_t textLength)47300 bool ColladaParserAutoGen14Private::_data__blend_func_separate( const ParserChar* text, size_t textLength )
47301 {
47302     return true;
47303 }
47304 
47305 //---------------------------------------------------------------------
_preBegin__blend_func_separate(const ParserAttributes & attributes,void ** attributeDataPtr,void ** validationDataPtr)47306 bool ColladaParserAutoGen14Private::_preBegin__blend_func_separate( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
47307 {
47308 #ifdef GENERATEDSAXPARSER_VALIDATION
47309     if ( mValidate )
47310     {
47311 
47312         bool validationResult = _validateBegin__blend_func_separate( attributes, attributeDataPtr, validationDataPtr );
47313         if ( !validationResult ) return false;
47314 
47315     } // validation
47316 #endif
47317 
47318     return true;
47319 }
47320 
47321 //---------------------------------------------------------------------
_preEnd__blend_func_separate()47322 bool ColladaParserAutoGen14Private::_preEnd__blend_func_separate()
47323 {
47324 #ifdef GENERATEDSAXPARSER_VALIDATION
47325     if ( mValidate )
47326     {
47327 
47328         bool validationResult = _validateEnd__blend_func_separate();
47329         if ( !validationResult ) return false;
47330 
47331     } // validation
47332 #endif
47333 
47334     return true;
47335 }
47336 
47337 //---------------------------------------------------------------------
_freeAttributes__blend_func_separate(void * attributeData)47338 bool ColladaParserAutoGen14Private::_freeAttributes__blend_func_separate( void* attributeData )
47339 {
47340     return true;
47341 }
47342 
47343 //---------------------------------------------------------------------
47344 const src_rgb__AttributeData src_rgb__AttributeData::DEFAULT = {ENUM__gl_blend_type__ONE, 0};
47345 
47346 //---------------------------------------------------------------------
_data__src_rgb(const ParserChar * text,size_t textLength)47347 bool ColladaParserAutoGen14Private::_data__src_rgb( const ParserChar* text, size_t textLength )
47348 {
47349     return true;
47350 }
47351 
47352 //---------------------------------------------------------------------
_preBegin__src_rgb(const ParserAttributes & attributes,void ** attributeDataPtr,void ** validationDataPtr)47353 bool ColladaParserAutoGen14Private::_preBegin__src_rgb( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
47354 {
47355 #ifdef GENERATEDSAXPARSER_VALIDATION
47356     if ( mValidate )
47357     {
47358 
47359         bool validationResult = _validateBegin__src_rgb( attributes, attributeDataPtr, validationDataPtr );
47360         if ( !validationResult ) return false;
47361 
47362     } // validation
47363 #endif
47364 
47365 src_rgb__AttributeData* attributeData = newData<src_rgb__AttributeData>(attributeDataPtr);
47366 
47367 const ParserChar** attributeArray = attributes.attributes;
47368 if ( attributeArray )
47369 {
47370     while (true)
47371     {
47372         const ParserChar * attribute = *attributeArray;
47373         if ( !attribute )
47374             break;
47375         StringHash hash = GeneratedSaxParser::Utils::calculateStringHash(attribute);
47376         attributeArray++;
47377         if ( !attributeArray )
47378             return false;
47379         const ParserChar* attributeValue = *attributeArray;
47380         attributeArray++;
47381 
47382 
47383     switch ( hash )
47384     {
47385     case HASH_ATTRIBUTE_value:
47386     {
47387 bool failed;
47388 attributeData->value = Utils::toEnum<ENUM__gl_blend_type, StringHash, ENUM__gl_blend_type__COUNT>(attributeValue, failed, ENUM__gl_blend_typeMap, Utils::calculateStringHash);
47389 if ( failed && handleError(ParserError::SEVERITY_ERROR_NONCRITICAL,
47390         ParserError::ERROR_ATTRIBUTE_PARSING_FAILED,
47391         HASH_ELEMENT_SRC_RGB,
47392         HASH_ATTRIBUTE_value,
47393         attributeValue))
47394 {
47395     return false;
47396 }
47397 
47398     break;
47399     }
47400     case HASH_ATTRIBUTE_param:
47401     {
47402 
47403 attributeData->param = attributeValue;
47404 #ifdef GENERATEDSAXPARSER_VALIDATION
47405     if ( mValidate )
47406     {
47407     ParserError::ErrorType simpleTypeValidationResult = validate__NCName(attributeData->param, strlen(attributeData->param));
47408     if (simpleTypeValidationResult != ParserError::SIMPLE_TYPE_VALIDATION_OK)
47409     {
47410         if( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL,
47411             simpleTypeValidationResult,
47412             HASH_ELEMENT_SRC_RGB,
47413             HASH_ATTRIBUTE_param,
47414             attributeValue) )
47415         {
47416             return false;
47417         }
47418     }
47419     } // validation
47420 #endif
47421 
47422     break;
47423     }
47424     default:
47425     {
47426         if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_UNKNOWN_ATTRIBUTE, HASH_ELEMENT_SRC_RGB, attribute, attributeValue))
47427             {return false;}
47428     }
47429     }
47430     }
47431 }
47432 
47433 
47434     return true;
47435 }
47436 
47437 //---------------------------------------------------------------------
_preEnd__src_rgb()47438 bool ColladaParserAutoGen14Private::_preEnd__src_rgb()
47439 {
47440 #ifdef GENERATEDSAXPARSER_VALIDATION
47441     if ( mValidate )
47442     {
47443 
47444         bool validationResult = _validateEnd__src_rgb();
47445         if ( !validationResult ) return false;
47446 
47447     } // validation
47448 #endif
47449 
47450     return true;
47451 }
47452 
47453 //---------------------------------------------------------------------
_freeAttributes__src_rgb(void * attributeData)47454 bool ColladaParserAutoGen14Private::_freeAttributes__src_rgb( void* attributeData )
47455 {
47456     src_rgb__AttributeData* typedAttributeData = static_cast<src_rgb__AttributeData*>(attributeData);
47457 
47458     typedAttributeData->~src_rgb__AttributeData();
47459 
47460     return true;
47461 }
47462 
47463 //---------------------------------------------------------------------
47464 const dest_rgb__AttributeData dest_rgb__AttributeData::DEFAULT = {ENUM__gl_blend_type__ZERO, 0};
47465 
47466 //---------------------------------------------------------------------
_data__dest_rgb(const ParserChar * text,size_t textLength)47467 bool ColladaParserAutoGen14Private::_data__dest_rgb( const ParserChar* text, size_t textLength )
47468 {
47469     return true;
47470 }
47471 
47472 //---------------------------------------------------------------------
_preBegin__dest_rgb(const ParserAttributes & attributes,void ** attributeDataPtr,void ** validationDataPtr)47473 bool ColladaParserAutoGen14Private::_preBegin__dest_rgb( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
47474 {
47475 #ifdef GENERATEDSAXPARSER_VALIDATION
47476     if ( mValidate )
47477     {
47478 
47479         bool validationResult = _validateBegin__dest_rgb( attributes, attributeDataPtr, validationDataPtr );
47480         if ( !validationResult ) return false;
47481 
47482     } // validation
47483 #endif
47484 
47485 dest_rgb__AttributeData* attributeData = newData<dest_rgb__AttributeData>(attributeDataPtr);
47486 
47487 const ParserChar** attributeArray = attributes.attributes;
47488 if ( attributeArray )
47489 {
47490     while (true)
47491     {
47492         const ParserChar * attribute = *attributeArray;
47493         if ( !attribute )
47494             break;
47495         StringHash hash = GeneratedSaxParser::Utils::calculateStringHash(attribute);
47496         attributeArray++;
47497         if ( !attributeArray )
47498             return false;
47499         const ParserChar* attributeValue = *attributeArray;
47500         attributeArray++;
47501 
47502 
47503     switch ( hash )
47504     {
47505     case HASH_ATTRIBUTE_value:
47506     {
47507 bool failed;
47508 attributeData->value = Utils::toEnum<ENUM__gl_blend_type, StringHash, ENUM__gl_blend_type__COUNT>(attributeValue, failed, ENUM__gl_blend_typeMap, Utils::calculateStringHash);
47509 if ( failed && handleError(ParserError::SEVERITY_ERROR_NONCRITICAL,
47510         ParserError::ERROR_ATTRIBUTE_PARSING_FAILED,
47511         HASH_ELEMENT_DEST_RGB,
47512         HASH_ATTRIBUTE_value,
47513         attributeValue))
47514 {
47515     return false;
47516 }
47517 
47518     break;
47519     }
47520     case HASH_ATTRIBUTE_param:
47521     {
47522 
47523 attributeData->param = attributeValue;
47524 #ifdef GENERATEDSAXPARSER_VALIDATION
47525     if ( mValidate )
47526     {
47527     ParserError::ErrorType simpleTypeValidationResult = validate__NCName(attributeData->param, strlen(attributeData->param));
47528     if (simpleTypeValidationResult != ParserError::SIMPLE_TYPE_VALIDATION_OK)
47529     {
47530         if( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL,
47531             simpleTypeValidationResult,
47532             HASH_ELEMENT_DEST_RGB,
47533             HASH_ATTRIBUTE_param,
47534             attributeValue) )
47535         {
47536             return false;
47537         }
47538     }
47539     } // validation
47540 #endif
47541 
47542     break;
47543     }
47544     default:
47545     {
47546         if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_UNKNOWN_ATTRIBUTE, HASH_ELEMENT_DEST_RGB, attribute, attributeValue))
47547             {return false;}
47548     }
47549     }
47550     }
47551 }
47552 
47553 
47554     return true;
47555 }
47556 
47557 //---------------------------------------------------------------------
_preEnd__dest_rgb()47558 bool ColladaParserAutoGen14Private::_preEnd__dest_rgb()
47559 {
47560 #ifdef GENERATEDSAXPARSER_VALIDATION
47561     if ( mValidate )
47562     {
47563 
47564         bool validationResult = _validateEnd__dest_rgb();
47565         if ( !validationResult ) return false;
47566 
47567     } // validation
47568 #endif
47569 
47570     return true;
47571 }
47572 
47573 //---------------------------------------------------------------------
_freeAttributes__dest_rgb(void * attributeData)47574 bool ColladaParserAutoGen14Private::_freeAttributes__dest_rgb( void* attributeData )
47575 {
47576     dest_rgb__AttributeData* typedAttributeData = static_cast<dest_rgb__AttributeData*>(attributeData);
47577 
47578     typedAttributeData->~dest_rgb__AttributeData();
47579 
47580     return true;
47581 }
47582 
47583 //---------------------------------------------------------------------
47584 const src_alpha__AttributeData src_alpha__AttributeData::DEFAULT = {ENUM__gl_blend_type__ONE, 0};
47585 
47586 //---------------------------------------------------------------------
_data__src_alpha(const ParserChar * text,size_t textLength)47587 bool ColladaParserAutoGen14Private::_data__src_alpha( const ParserChar* text, size_t textLength )
47588 {
47589     return true;
47590 }
47591 
47592 //---------------------------------------------------------------------
_preBegin__src_alpha(const ParserAttributes & attributes,void ** attributeDataPtr,void ** validationDataPtr)47593 bool ColladaParserAutoGen14Private::_preBegin__src_alpha( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
47594 {
47595 #ifdef GENERATEDSAXPARSER_VALIDATION
47596     if ( mValidate )
47597     {
47598 
47599         bool validationResult = _validateBegin__src_alpha( attributes, attributeDataPtr, validationDataPtr );
47600         if ( !validationResult ) return false;
47601 
47602     } // validation
47603 #endif
47604 
47605 src_alpha__AttributeData* attributeData = newData<src_alpha__AttributeData>(attributeDataPtr);
47606 
47607 const ParserChar** attributeArray = attributes.attributes;
47608 if ( attributeArray )
47609 {
47610     while (true)
47611     {
47612         const ParserChar * attribute = *attributeArray;
47613         if ( !attribute )
47614             break;
47615         StringHash hash = GeneratedSaxParser::Utils::calculateStringHash(attribute);
47616         attributeArray++;
47617         if ( !attributeArray )
47618             return false;
47619         const ParserChar* attributeValue = *attributeArray;
47620         attributeArray++;
47621 
47622 
47623     switch ( hash )
47624     {
47625     case HASH_ATTRIBUTE_value:
47626     {
47627 bool failed;
47628 attributeData->value = Utils::toEnum<ENUM__gl_blend_type, StringHash, ENUM__gl_blend_type__COUNT>(attributeValue, failed, ENUM__gl_blend_typeMap, Utils::calculateStringHash);
47629 if ( failed && handleError(ParserError::SEVERITY_ERROR_NONCRITICAL,
47630         ParserError::ERROR_ATTRIBUTE_PARSING_FAILED,
47631         HASH_ELEMENT_SRC_ALPHA,
47632         HASH_ATTRIBUTE_value,
47633         attributeValue))
47634 {
47635     return false;
47636 }
47637 
47638     break;
47639     }
47640     case HASH_ATTRIBUTE_param:
47641     {
47642 
47643 attributeData->param = attributeValue;
47644 #ifdef GENERATEDSAXPARSER_VALIDATION
47645     if ( mValidate )
47646     {
47647     ParserError::ErrorType simpleTypeValidationResult = validate__NCName(attributeData->param, strlen(attributeData->param));
47648     if (simpleTypeValidationResult != ParserError::SIMPLE_TYPE_VALIDATION_OK)
47649     {
47650         if( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL,
47651             simpleTypeValidationResult,
47652             HASH_ELEMENT_SRC_ALPHA,
47653             HASH_ATTRIBUTE_param,
47654             attributeValue) )
47655         {
47656             return false;
47657         }
47658     }
47659     } // validation
47660 #endif
47661 
47662     break;
47663     }
47664     default:
47665     {
47666         if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_UNKNOWN_ATTRIBUTE, HASH_ELEMENT_SRC_ALPHA, attribute, attributeValue))
47667             {return false;}
47668     }
47669     }
47670     }
47671 }
47672 
47673 
47674     return true;
47675 }
47676 
47677 //---------------------------------------------------------------------
_preEnd__src_alpha()47678 bool ColladaParserAutoGen14Private::_preEnd__src_alpha()
47679 {
47680 #ifdef GENERATEDSAXPARSER_VALIDATION
47681     if ( mValidate )
47682     {
47683 
47684         bool validationResult = _validateEnd__src_alpha();
47685         if ( !validationResult ) return false;
47686 
47687     } // validation
47688 #endif
47689 
47690     return true;
47691 }
47692 
47693 //---------------------------------------------------------------------
_freeAttributes__src_alpha(void * attributeData)47694 bool ColladaParserAutoGen14Private::_freeAttributes__src_alpha( void* attributeData )
47695 {
47696     src_alpha__AttributeData* typedAttributeData = static_cast<src_alpha__AttributeData*>(attributeData);
47697 
47698     typedAttributeData->~src_alpha__AttributeData();
47699 
47700     return true;
47701 }
47702 
47703 //---------------------------------------------------------------------
47704 const dest_alpha__AttributeData dest_alpha__AttributeData::DEFAULT = {ENUM__gl_blend_type__ZERO, 0};
47705 
47706 //---------------------------------------------------------------------
_data__dest_alpha(const ParserChar * text,size_t textLength)47707 bool ColladaParserAutoGen14Private::_data__dest_alpha( const ParserChar* text, size_t textLength )
47708 {
47709     return true;
47710 }
47711 
47712 //---------------------------------------------------------------------
_preBegin__dest_alpha(const ParserAttributes & attributes,void ** attributeDataPtr,void ** validationDataPtr)47713 bool ColladaParserAutoGen14Private::_preBegin__dest_alpha( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
47714 {
47715 #ifdef GENERATEDSAXPARSER_VALIDATION
47716     if ( mValidate )
47717     {
47718 
47719         bool validationResult = _validateBegin__dest_alpha( attributes, attributeDataPtr, validationDataPtr );
47720         if ( !validationResult ) return false;
47721 
47722     } // validation
47723 #endif
47724 
47725 dest_alpha__AttributeData* attributeData = newData<dest_alpha__AttributeData>(attributeDataPtr);
47726 
47727 const ParserChar** attributeArray = attributes.attributes;
47728 if ( attributeArray )
47729 {
47730     while (true)
47731     {
47732         const ParserChar * attribute = *attributeArray;
47733         if ( !attribute )
47734             break;
47735         StringHash hash = GeneratedSaxParser::Utils::calculateStringHash(attribute);
47736         attributeArray++;
47737         if ( !attributeArray )
47738             return false;
47739         const ParserChar* attributeValue = *attributeArray;
47740         attributeArray++;
47741 
47742 
47743     switch ( hash )
47744     {
47745     case HASH_ATTRIBUTE_value:
47746     {
47747 bool failed;
47748 attributeData->value = Utils::toEnum<ENUM__gl_blend_type, StringHash, ENUM__gl_blend_type__COUNT>(attributeValue, failed, ENUM__gl_blend_typeMap, Utils::calculateStringHash);
47749 if ( failed && handleError(ParserError::SEVERITY_ERROR_NONCRITICAL,
47750         ParserError::ERROR_ATTRIBUTE_PARSING_FAILED,
47751         HASH_ELEMENT_DEST_ALPHA,
47752         HASH_ATTRIBUTE_value,
47753         attributeValue))
47754 {
47755     return false;
47756 }
47757 
47758     break;
47759     }
47760     case HASH_ATTRIBUTE_param:
47761     {
47762 
47763 attributeData->param = attributeValue;
47764 #ifdef GENERATEDSAXPARSER_VALIDATION
47765     if ( mValidate )
47766     {
47767     ParserError::ErrorType simpleTypeValidationResult = validate__NCName(attributeData->param, strlen(attributeData->param));
47768     if (simpleTypeValidationResult != ParserError::SIMPLE_TYPE_VALIDATION_OK)
47769     {
47770         if( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL,
47771             simpleTypeValidationResult,
47772             HASH_ELEMENT_DEST_ALPHA,
47773             HASH_ATTRIBUTE_param,
47774             attributeValue) )
47775         {
47776             return false;
47777         }
47778     }
47779     } // validation
47780 #endif
47781 
47782     break;
47783     }
47784     default:
47785     {
47786         if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_UNKNOWN_ATTRIBUTE, HASH_ELEMENT_DEST_ALPHA, attribute, attributeValue))
47787             {return false;}
47788     }
47789     }
47790     }
47791 }
47792 
47793 
47794     return true;
47795 }
47796 
47797 //---------------------------------------------------------------------
_preEnd__dest_alpha()47798 bool ColladaParserAutoGen14Private::_preEnd__dest_alpha()
47799 {
47800 #ifdef GENERATEDSAXPARSER_VALIDATION
47801     if ( mValidate )
47802     {
47803 
47804         bool validationResult = _validateEnd__dest_alpha();
47805         if ( !validationResult ) return false;
47806 
47807     } // validation
47808 #endif
47809 
47810     return true;
47811 }
47812 
47813 //---------------------------------------------------------------------
_freeAttributes__dest_alpha(void * attributeData)47814 bool ColladaParserAutoGen14Private::_freeAttributes__dest_alpha( void* attributeData )
47815 {
47816     dest_alpha__AttributeData* typedAttributeData = static_cast<dest_alpha__AttributeData*>(attributeData);
47817 
47818     typedAttributeData->~dest_alpha__AttributeData();
47819 
47820     return true;
47821 }
47822 
47823 //---------------------------------------------------------------------
47824 const blend_equation__AttributeData blend_equation__AttributeData::DEFAULT = {ENUM__gl_blend_equation_type__FUNC_ADD, 0};
47825 
47826 //---------------------------------------------------------------------
_data__blend_equation(const ParserChar * text,size_t textLength)47827 bool ColladaParserAutoGen14Private::_data__blend_equation( const ParserChar* text, size_t textLength )
47828 {
47829     return true;
47830 }
47831 
47832 //---------------------------------------------------------------------
_preBegin__blend_equation(const ParserAttributes & attributes,void ** attributeDataPtr,void ** validationDataPtr)47833 bool ColladaParserAutoGen14Private::_preBegin__blend_equation( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
47834 {
47835 #ifdef GENERATEDSAXPARSER_VALIDATION
47836     if ( mValidate )
47837     {
47838 
47839         bool validationResult = _validateBegin__blend_equation( attributes, attributeDataPtr, validationDataPtr );
47840         if ( !validationResult ) return false;
47841 
47842     } // validation
47843 #endif
47844 
47845 blend_equation__AttributeData* attributeData = newData<blend_equation__AttributeData>(attributeDataPtr);
47846 
47847 const ParserChar** attributeArray = attributes.attributes;
47848 if ( attributeArray )
47849 {
47850     while (true)
47851     {
47852         const ParserChar * attribute = *attributeArray;
47853         if ( !attribute )
47854             break;
47855         StringHash hash = GeneratedSaxParser::Utils::calculateStringHash(attribute);
47856         attributeArray++;
47857         if ( !attributeArray )
47858             return false;
47859         const ParserChar* attributeValue = *attributeArray;
47860         attributeArray++;
47861 
47862 
47863     switch ( hash )
47864     {
47865     case HASH_ATTRIBUTE_value:
47866     {
47867 bool failed;
47868 attributeData->value = Utils::toEnum<ENUM__gl_blend_equation_type, StringHash, ENUM__gl_blend_equation_type__COUNT>(attributeValue, failed, ENUM__gl_blend_equation_typeMap, Utils::calculateStringHash);
47869 if ( failed && handleError(ParserError::SEVERITY_ERROR_NONCRITICAL,
47870         ParserError::ERROR_ATTRIBUTE_PARSING_FAILED,
47871         HASH_ELEMENT_BLEND_EQUATION,
47872         HASH_ATTRIBUTE_value,
47873         attributeValue))
47874 {
47875     return false;
47876 }
47877 
47878     break;
47879     }
47880     case HASH_ATTRIBUTE_param:
47881     {
47882 
47883 attributeData->param = attributeValue;
47884 #ifdef GENERATEDSAXPARSER_VALIDATION
47885     if ( mValidate )
47886     {
47887     ParserError::ErrorType simpleTypeValidationResult = validate__NCName(attributeData->param, strlen(attributeData->param));
47888     if (simpleTypeValidationResult != ParserError::SIMPLE_TYPE_VALIDATION_OK)
47889     {
47890         if( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL,
47891             simpleTypeValidationResult,
47892             HASH_ELEMENT_BLEND_EQUATION,
47893             HASH_ATTRIBUTE_param,
47894             attributeValue) )
47895         {
47896             return false;
47897         }
47898     }
47899     } // validation
47900 #endif
47901 
47902     break;
47903     }
47904     default:
47905     {
47906         if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_UNKNOWN_ATTRIBUTE, HASH_ELEMENT_BLEND_EQUATION, attribute, attributeValue))
47907             {return false;}
47908     }
47909     }
47910     }
47911 }
47912 
47913 
47914     return true;
47915 }
47916 
47917 //---------------------------------------------------------------------
_preEnd__blend_equation()47918 bool ColladaParserAutoGen14Private::_preEnd__blend_equation()
47919 {
47920 #ifdef GENERATEDSAXPARSER_VALIDATION
47921     if ( mValidate )
47922     {
47923 
47924         bool validationResult = _validateEnd__blend_equation();
47925         if ( !validationResult ) return false;
47926 
47927     } // validation
47928 #endif
47929 
47930     return true;
47931 }
47932 
47933 //---------------------------------------------------------------------
_freeAttributes__blend_equation(void * attributeData)47934 bool ColladaParserAutoGen14Private::_freeAttributes__blend_equation( void* attributeData )
47935 {
47936     blend_equation__AttributeData* typedAttributeData = static_cast<blend_equation__AttributeData*>(attributeData);
47937 
47938     typedAttributeData->~blend_equation__AttributeData();
47939 
47940     return true;
47941 }
47942 
47943 //---------------------------------------------------------------------
_data__blend_equation_separate(const ParserChar * text,size_t textLength)47944 bool ColladaParserAutoGen14Private::_data__blend_equation_separate( const ParserChar* text, size_t textLength )
47945 {
47946     return true;
47947 }
47948 
47949 //---------------------------------------------------------------------
_preBegin__blend_equation_separate(const ParserAttributes & attributes,void ** attributeDataPtr,void ** validationDataPtr)47950 bool ColladaParserAutoGen14Private::_preBegin__blend_equation_separate( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
47951 {
47952 #ifdef GENERATEDSAXPARSER_VALIDATION
47953     if ( mValidate )
47954     {
47955 
47956         bool validationResult = _validateBegin__blend_equation_separate( attributes, attributeDataPtr, validationDataPtr );
47957         if ( !validationResult ) return false;
47958 
47959     } // validation
47960 #endif
47961 
47962     return true;
47963 }
47964 
47965 //---------------------------------------------------------------------
_preEnd__blend_equation_separate()47966 bool ColladaParserAutoGen14Private::_preEnd__blend_equation_separate()
47967 {
47968 #ifdef GENERATEDSAXPARSER_VALIDATION
47969     if ( mValidate )
47970     {
47971 
47972         bool validationResult = _validateEnd__blend_equation_separate();
47973         if ( !validationResult ) return false;
47974 
47975     } // validation
47976 #endif
47977 
47978     return true;
47979 }
47980 
47981 //---------------------------------------------------------------------
_freeAttributes__blend_equation_separate(void * attributeData)47982 bool ColladaParserAutoGen14Private::_freeAttributes__blend_equation_separate( void* attributeData )
47983 {
47984     return true;
47985 }
47986 
47987 //---------------------------------------------------------------------
47988 const rgb__AttributeData rgb__AttributeData::DEFAULT = {ENUM__gl_blend_equation_type__FUNC_ADD, 0};
47989 
47990 //---------------------------------------------------------------------
_data__rgb(const ParserChar * text,size_t textLength)47991 bool ColladaParserAutoGen14Private::_data__rgb( const ParserChar* text, size_t textLength )
47992 {
47993     return true;
47994 }
47995 
47996 //---------------------------------------------------------------------
_preBegin__rgb(const ParserAttributes & attributes,void ** attributeDataPtr,void ** validationDataPtr)47997 bool ColladaParserAutoGen14Private::_preBegin__rgb( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
47998 {
47999 #ifdef GENERATEDSAXPARSER_VALIDATION
48000     if ( mValidate )
48001     {
48002 
48003         bool validationResult = _validateBegin__rgb( attributes, attributeDataPtr, validationDataPtr );
48004         if ( !validationResult ) return false;
48005 
48006     } // validation
48007 #endif
48008 
48009 rgb__AttributeData* attributeData = newData<rgb__AttributeData>(attributeDataPtr);
48010 
48011 const ParserChar** attributeArray = attributes.attributes;
48012 if ( attributeArray )
48013 {
48014     while (true)
48015     {
48016         const ParserChar * attribute = *attributeArray;
48017         if ( !attribute )
48018             break;
48019         StringHash hash = GeneratedSaxParser::Utils::calculateStringHash(attribute);
48020         attributeArray++;
48021         if ( !attributeArray )
48022             return false;
48023         const ParserChar* attributeValue = *attributeArray;
48024         attributeArray++;
48025 
48026 
48027     switch ( hash )
48028     {
48029     case HASH_ATTRIBUTE_value:
48030     {
48031 bool failed;
48032 attributeData->value = Utils::toEnum<ENUM__gl_blend_equation_type, StringHash, ENUM__gl_blend_equation_type__COUNT>(attributeValue, failed, ENUM__gl_blend_equation_typeMap, Utils::calculateStringHash);
48033 if ( failed && handleError(ParserError::SEVERITY_ERROR_NONCRITICAL,
48034         ParserError::ERROR_ATTRIBUTE_PARSING_FAILED,
48035         HASH_ELEMENT_RGB,
48036         HASH_ATTRIBUTE_value,
48037         attributeValue))
48038 {
48039     return false;
48040 }
48041 
48042     break;
48043     }
48044     case HASH_ATTRIBUTE_param:
48045     {
48046 
48047 attributeData->param = attributeValue;
48048 #ifdef GENERATEDSAXPARSER_VALIDATION
48049     if ( mValidate )
48050     {
48051     ParserError::ErrorType simpleTypeValidationResult = validate__NCName(attributeData->param, strlen(attributeData->param));
48052     if (simpleTypeValidationResult != ParserError::SIMPLE_TYPE_VALIDATION_OK)
48053     {
48054         if( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL,
48055             simpleTypeValidationResult,
48056             HASH_ELEMENT_RGB,
48057             HASH_ATTRIBUTE_param,
48058             attributeValue) )
48059         {
48060             return false;
48061         }
48062     }
48063     } // validation
48064 #endif
48065 
48066     break;
48067     }
48068     default:
48069     {
48070         if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_UNKNOWN_ATTRIBUTE, HASH_ELEMENT_RGB, attribute, attributeValue))
48071             {return false;}
48072     }
48073     }
48074     }
48075 }
48076 
48077 
48078     return true;
48079 }
48080 
48081 //---------------------------------------------------------------------
_preEnd__rgb()48082 bool ColladaParserAutoGen14Private::_preEnd__rgb()
48083 {
48084 #ifdef GENERATEDSAXPARSER_VALIDATION
48085     if ( mValidate )
48086     {
48087 
48088         bool validationResult = _validateEnd__rgb();
48089         if ( !validationResult ) return false;
48090 
48091     } // validation
48092 #endif
48093 
48094     return true;
48095 }
48096 
48097 //---------------------------------------------------------------------
_freeAttributes__rgb(void * attributeData)48098 bool ColladaParserAutoGen14Private::_freeAttributes__rgb( void* attributeData )
48099 {
48100     rgb__AttributeData* typedAttributeData = static_cast<rgb__AttributeData*>(attributeData);
48101 
48102     typedAttributeData->~rgb__AttributeData();
48103 
48104     return true;
48105 }
48106 
48107 //---------------------------------------------------------------------
48108 const blend_equation_separate__alpha__AttributeData blend_equation_separate__alpha__AttributeData::DEFAULT = {ENUM__gl_blend_equation_type__FUNC_ADD, 0};
48109 
48110 //---------------------------------------------------------------------
_data__blend_equation_separate__alpha(const ParserChar * text,size_t textLength)48111 bool ColladaParserAutoGen14Private::_data__blend_equation_separate__alpha( const ParserChar* text, size_t textLength )
48112 {
48113     return true;
48114 }
48115 
48116 //---------------------------------------------------------------------
_preBegin__blend_equation_separate__alpha(const ParserAttributes & attributes,void ** attributeDataPtr,void ** validationDataPtr)48117 bool ColladaParserAutoGen14Private::_preBegin__blend_equation_separate__alpha( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
48118 {
48119 #ifdef GENERATEDSAXPARSER_VALIDATION
48120     if ( mValidate )
48121     {
48122 
48123         bool validationResult = _validateBegin__blend_equation_separate__alpha( attributes, attributeDataPtr, validationDataPtr );
48124         if ( !validationResult ) return false;
48125 
48126     } // validation
48127 #endif
48128 
48129 blend_equation_separate__alpha__AttributeData* attributeData = newData<blend_equation_separate__alpha__AttributeData>(attributeDataPtr);
48130 
48131 const ParserChar** attributeArray = attributes.attributes;
48132 if ( attributeArray )
48133 {
48134     while (true)
48135     {
48136         const ParserChar * attribute = *attributeArray;
48137         if ( !attribute )
48138             break;
48139         StringHash hash = GeneratedSaxParser::Utils::calculateStringHash(attribute);
48140         attributeArray++;
48141         if ( !attributeArray )
48142             return false;
48143         const ParserChar* attributeValue = *attributeArray;
48144         attributeArray++;
48145 
48146 
48147     switch ( hash )
48148     {
48149     case HASH_ATTRIBUTE_value:
48150     {
48151 bool failed;
48152 attributeData->value = Utils::toEnum<ENUM__gl_blend_equation_type, StringHash, ENUM__gl_blend_equation_type__COUNT>(attributeValue, failed, ENUM__gl_blend_equation_typeMap, Utils::calculateStringHash);
48153 if ( failed && handleError(ParserError::SEVERITY_ERROR_NONCRITICAL,
48154         ParserError::ERROR_ATTRIBUTE_PARSING_FAILED,
48155         HASH_ELEMENT_ALPHA,
48156         HASH_ATTRIBUTE_value,
48157         attributeValue))
48158 {
48159     return false;
48160 }
48161 
48162     break;
48163     }
48164     case HASH_ATTRIBUTE_param:
48165     {
48166 
48167 attributeData->param = attributeValue;
48168 #ifdef GENERATEDSAXPARSER_VALIDATION
48169     if ( mValidate )
48170     {
48171     ParserError::ErrorType simpleTypeValidationResult = validate__NCName(attributeData->param, strlen(attributeData->param));
48172     if (simpleTypeValidationResult != ParserError::SIMPLE_TYPE_VALIDATION_OK)
48173     {
48174         if( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL,
48175             simpleTypeValidationResult,
48176             HASH_ELEMENT_ALPHA,
48177             HASH_ATTRIBUTE_param,
48178             attributeValue) )
48179         {
48180             return false;
48181         }
48182     }
48183     } // validation
48184 #endif
48185 
48186     break;
48187     }
48188     default:
48189     {
48190         if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_UNKNOWN_ATTRIBUTE, HASH_ELEMENT_ALPHA, attribute, attributeValue))
48191             {return false;}
48192     }
48193     }
48194     }
48195 }
48196 
48197 
48198     return true;
48199 }
48200 
48201 //---------------------------------------------------------------------
_preEnd__blend_equation_separate__alpha()48202 bool ColladaParserAutoGen14Private::_preEnd__blend_equation_separate__alpha()
48203 {
48204 #ifdef GENERATEDSAXPARSER_VALIDATION
48205     if ( mValidate )
48206     {
48207 
48208         bool validationResult = _validateEnd__blend_equation_separate__alpha();
48209         if ( !validationResult ) return false;
48210 
48211     } // validation
48212 #endif
48213 
48214     return true;
48215 }
48216 
48217 //---------------------------------------------------------------------
_freeAttributes__blend_equation_separate__alpha(void * attributeData)48218 bool ColladaParserAutoGen14Private::_freeAttributes__blend_equation_separate__alpha( void* attributeData )
48219 {
48220     blend_equation_separate__alpha__AttributeData* typedAttributeData = static_cast<blend_equation_separate__alpha__AttributeData*>(attributeData);
48221 
48222     typedAttributeData->~blend_equation_separate__alpha__AttributeData();
48223 
48224     return true;
48225 }
48226 
48227 //---------------------------------------------------------------------
_data__color_material(const ParserChar * text,size_t textLength)48228 bool ColladaParserAutoGen14Private::_data__color_material( const ParserChar* text, size_t textLength )
48229 {
48230     return true;
48231 }
48232 
48233 //---------------------------------------------------------------------
_preBegin__color_material(const ParserAttributes & attributes,void ** attributeDataPtr,void ** validationDataPtr)48234 bool ColladaParserAutoGen14Private::_preBegin__color_material( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
48235 {
48236 #ifdef GENERATEDSAXPARSER_VALIDATION
48237     if ( mValidate )
48238     {
48239 
48240         bool validationResult = _validateBegin__color_material( attributes, attributeDataPtr, validationDataPtr );
48241         if ( !validationResult ) return false;
48242 
48243     } // validation
48244 #endif
48245 
48246     return true;
48247 }
48248 
48249 //---------------------------------------------------------------------
_preEnd__color_material()48250 bool ColladaParserAutoGen14Private::_preEnd__color_material()
48251 {
48252 #ifdef GENERATEDSAXPARSER_VALIDATION
48253     if ( mValidate )
48254     {
48255 
48256         bool validationResult = _validateEnd__color_material();
48257         if ( !validationResult ) return false;
48258 
48259     } // validation
48260 #endif
48261 
48262     return true;
48263 }
48264 
48265 //---------------------------------------------------------------------
_freeAttributes__color_material(void * attributeData)48266 bool ColladaParserAutoGen14Private::_freeAttributes__color_material( void* attributeData )
48267 {
48268     return true;
48269 }
48270 
48271 //---------------------------------------------------------------------
48272 const color_material__face__AttributeData color_material__face__AttributeData::DEFAULT = {ENUM__gl_face_type__FRONT_AND_BACK, 0};
48273 
48274 //---------------------------------------------------------------------
_data__color_material__face(const ParserChar * text,size_t textLength)48275 bool ColladaParserAutoGen14Private::_data__color_material__face( const ParserChar* text, size_t textLength )
48276 {
48277     return true;
48278 }
48279 
48280 //---------------------------------------------------------------------
_preBegin__color_material__face(const ParserAttributes & attributes,void ** attributeDataPtr,void ** validationDataPtr)48281 bool ColladaParserAutoGen14Private::_preBegin__color_material__face( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
48282 {
48283 #ifdef GENERATEDSAXPARSER_VALIDATION
48284     if ( mValidate )
48285     {
48286 
48287         bool validationResult = _validateBegin__color_material__face( attributes, attributeDataPtr, validationDataPtr );
48288         if ( !validationResult ) return false;
48289 
48290     } // validation
48291 #endif
48292 
48293 color_material__face__AttributeData* attributeData = newData<color_material__face__AttributeData>(attributeDataPtr);
48294 
48295 const ParserChar** attributeArray = attributes.attributes;
48296 if ( attributeArray )
48297 {
48298     while (true)
48299     {
48300         const ParserChar * attribute = *attributeArray;
48301         if ( !attribute )
48302             break;
48303         StringHash hash = GeneratedSaxParser::Utils::calculateStringHash(attribute);
48304         attributeArray++;
48305         if ( !attributeArray )
48306             return false;
48307         const ParserChar* attributeValue = *attributeArray;
48308         attributeArray++;
48309 
48310 
48311     switch ( hash )
48312     {
48313     case HASH_ATTRIBUTE_value:
48314     {
48315 bool failed;
48316 attributeData->value = Utils::toEnum<ENUM__gl_face_type, StringHash, ENUM__gl_face_type__COUNT>(attributeValue, failed, ENUM__gl_face_typeMap, Utils::calculateStringHash);
48317 if ( failed && handleError(ParserError::SEVERITY_ERROR_NONCRITICAL,
48318         ParserError::ERROR_ATTRIBUTE_PARSING_FAILED,
48319         HASH_ELEMENT_FACE,
48320         HASH_ATTRIBUTE_value,
48321         attributeValue))
48322 {
48323     return false;
48324 }
48325 
48326     break;
48327     }
48328     case HASH_ATTRIBUTE_param:
48329     {
48330 
48331 attributeData->param = attributeValue;
48332 #ifdef GENERATEDSAXPARSER_VALIDATION
48333     if ( mValidate )
48334     {
48335     ParserError::ErrorType simpleTypeValidationResult = validate__NCName(attributeData->param, strlen(attributeData->param));
48336     if (simpleTypeValidationResult != ParserError::SIMPLE_TYPE_VALIDATION_OK)
48337     {
48338         if( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL,
48339             simpleTypeValidationResult,
48340             HASH_ELEMENT_FACE,
48341             HASH_ATTRIBUTE_param,
48342             attributeValue) )
48343         {
48344             return false;
48345         }
48346     }
48347     } // validation
48348 #endif
48349 
48350     break;
48351     }
48352     default:
48353     {
48354         if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_UNKNOWN_ATTRIBUTE, HASH_ELEMENT_FACE, attribute, attributeValue))
48355             {return false;}
48356     }
48357     }
48358     }
48359 }
48360 
48361 
48362     return true;
48363 }
48364 
48365 //---------------------------------------------------------------------
_preEnd__color_material__face()48366 bool ColladaParserAutoGen14Private::_preEnd__color_material__face()
48367 {
48368 #ifdef GENERATEDSAXPARSER_VALIDATION
48369     if ( mValidate )
48370     {
48371 
48372         bool validationResult = _validateEnd__color_material__face();
48373         if ( !validationResult ) return false;
48374 
48375     } // validation
48376 #endif
48377 
48378     return true;
48379 }
48380 
48381 //---------------------------------------------------------------------
_freeAttributes__color_material__face(void * attributeData)48382 bool ColladaParserAutoGen14Private::_freeAttributes__color_material__face( void* attributeData )
48383 {
48384     color_material__face__AttributeData* typedAttributeData = static_cast<color_material__face__AttributeData*>(attributeData);
48385 
48386     typedAttributeData->~color_material__face__AttributeData();
48387 
48388     return true;
48389 }
48390 
48391 //---------------------------------------------------------------------
48392 const color_material__mode__AttributeData color_material__mode__AttributeData::DEFAULT = {ENUM__gl_material_type__AMBIENT_AND_DIFFUSE, 0};
48393 
48394 //---------------------------------------------------------------------
_data__color_material__mode(const ParserChar * text,size_t textLength)48395 bool ColladaParserAutoGen14Private::_data__color_material__mode( const ParserChar* text, size_t textLength )
48396 {
48397     return true;
48398 }
48399 
48400 //---------------------------------------------------------------------
_preBegin__color_material__mode(const ParserAttributes & attributes,void ** attributeDataPtr,void ** validationDataPtr)48401 bool ColladaParserAutoGen14Private::_preBegin__color_material__mode( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
48402 {
48403 #ifdef GENERATEDSAXPARSER_VALIDATION
48404     if ( mValidate )
48405     {
48406 
48407         bool validationResult = _validateBegin__color_material__mode( attributes, attributeDataPtr, validationDataPtr );
48408         if ( !validationResult ) return false;
48409 
48410     } // validation
48411 #endif
48412 
48413 color_material__mode__AttributeData* attributeData = newData<color_material__mode__AttributeData>(attributeDataPtr);
48414 
48415 const ParserChar** attributeArray = attributes.attributes;
48416 if ( attributeArray )
48417 {
48418     while (true)
48419     {
48420         const ParserChar * attribute = *attributeArray;
48421         if ( !attribute )
48422             break;
48423         StringHash hash = GeneratedSaxParser::Utils::calculateStringHash(attribute);
48424         attributeArray++;
48425         if ( !attributeArray )
48426             return false;
48427         const ParserChar* attributeValue = *attributeArray;
48428         attributeArray++;
48429 
48430 
48431     switch ( hash )
48432     {
48433     case HASH_ATTRIBUTE_value:
48434     {
48435 bool failed;
48436 attributeData->value = Utils::toEnum<ENUM__gl_material_type, StringHash, ENUM__gl_material_type__COUNT>(attributeValue, failed, ENUM__gl_material_typeMap, Utils::calculateStringHash);
48437 if ( failed && handleError(ParserError::SEVERITY_ERROR_NONCRITICAL,
48438         ParserError::ERROR_ATTRIBUTE_PARSING_FAILED,
48439         HASH_ELEMENT_MODE,
48440         HASH_ATTRIBUTE_value,
48441         attributeValue))
48442 {
48443     return false;
48444 }
48445 
48446     break;
48447     }
48448     case HASH_ATTRIBUTE_param:
48449     {
48450 
48451 attributeData->param = attributeValue;
48452 #ifdef GENERATEDSAXPARSER_VALIDATION
48453     if ( mValidate )
48454     {
48455     ParserError::ErrorType simpleTypeValidationResult = validate__NCName(attributeData->param, strlen(attributeData->param));
48456     if (simpleTypeValidationResult != ParserError::SIMPLE_TYPE_VALIDATION_OK)
48457     {
48458         if( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL,
48459             simpleTypeValidationResult,
48460             HASH_ELEMENT_MODE,
48461             HASH_ATTRIBUTE_param,
48462             attributeValue) )
48463         {
48464             return false;
48465         }
48466     }
48467     } // validation
48468 #endif
48469 
48470     break;
48471     }
48472     default:
48473     {
48474         if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_UNKNOWN_ATTRIBUTE, HASH_ELEMENT_MODE, attribute, attributeValue))
48475             {return false;}
48476     }
48477     }
48478     }
48479 }
48480 
48481 
48482     return true;
48483 }
48484 
48485 //---------------------------------------------------------------------
_preEnd__color_material__mode()48486 bool ColladaParserAutoGen14Private::_preEnd__color_material__mode()
48487 {
48488 #ifdef GENERATEDSAXPARSER_VALIDATION
48489     if ( mValidate )
48490     {
48491 
48492         bool validationResult = _validateEnd__color_material__mode();
48493         if ( !validationResult ) return false;
48494 
48495     } // validation
48496 #endif
48497 
48498     return true;
48499 }
48500 
48501 //---------------------------------------------------------------------
_freeAttributes__color_material__mode(void * attributeData)48502 bool ColladaParserAutoGen14Private::_freeAttributes__color_material__mode( void* attributeData )
48503 {
48504     color_material__mode__AttributeData* typedAttributeData = static_cast<color_material__mode__AttributeData*>(attributeData);
48505 
48506     typedAttributeData->~color_material__mode__AttributeData();
48507 
48508     return true;
48509 }
48510 
48511 //---------------------------------------------------------------------
48512 const profile_GLSL__technique__pass__cull_face__AttributeData profile_GLSL__technique__pass__cull_face__AttributeData::DEFAULT = {ENUM__gl_face_type__BACK, 0};
48513 
48514 //---------------------------------------------------------------------
_data__profile_GLSL__technique__pass__cull_face(const ParserChar * text,size_t textLength)48515 bool ColladaParserAutoGen14Private::_data__profile_GLSL__technique__pass__cull_face( const ParserChar* text, size_t textLength )
48516 {
48517     return true;
48518 }
48519 
48520 //---------------------------------------------------------------------
_preBegin__profile_GLSL__technique__pass__cull_face(const ParserAttributes & attributes,void ** attributeDataPtr,void ** validationDataPtr)48521 bool ColladaParserAutoGen14Private::_preBegin__profile_GLSL__technique__pass__cull_face( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
48522 {
48523 #ifdef GENERATEDSAXPARSER_VALIDATION
48524     if ( mValidate )
48525     {
48526 
48527         bool validationResult = _validateBegin__profile_GLSL__technique__pass__cull_face( attributes, attributeDataPtr, validationDataPtr );
48528         if ( !validationResult ) return false;
48529 
48530     } // validation
48531 #endif
48532 
48533 profile_GLSL__technique__pass__cull_face__AttributeData* attributeData = newData<profile_GLSL__technique__pass__cull_face__AttributeData>(attributeDataPtr);
48534 
48535 const ParserChar** attributeArray = attributes.attributes;
48536 if ( attributeArray )
48537 {
48538     while (true)
48539     {
48540         const ParserChar * attribute = *attributeArray;
48541         if ( !attribute )
48542             break;
48543         StringHash hash = GeneratedSaxParser::Utils::calculateStringHash(attribute);
48544         attributeArray++;
48545         if ( !attributeArray )
48546             return false;
48547         const ParserChar* attributeValue = *attributeArray;
48548         attributeArray++;
48549 
48550 
48551     switch ( hash )
48552     {
48553     case HASH_ATTRIBUTE_value:
48554     {
48555 bool failed;
48556 attributeData->value = Utils::toEnum<ENUM__gl_face_type, StringHash, ENUM__gl_face_type__COUNT>(attributeValue, failed, ENUM__gl_face_typeMap, Utils::calculateStringHash);
48557 if ( failed && handleError(ParserError::SEVERITY_ERROR_NONCRITICAL,
48558         ParserError::ERROR_ATTRIBUTE_PARSING_FAILED,
48559         HASH_ELEMENT_CULL_FACE,
48560         HASH_ATTRIBUTE_value,
48561         attributeValue))
48562 {
48563     return false;
48564 }
48565 
48566     break;
48567     }
48568     case HASH_ATTRIBUTE_param:
48569     {
48570 
48571 attributeData->param = attributeValue;
48572 #ifdef GENERATEDSAXPARSER_VALIDATION
48573     if ( mValidate )
48574     {
48575     ParserError::ErrorType simpleTypeValidationResult = validate__NCName(attributeData->param, strlen(attributeData->param));
48576     if (simpleTypeValidationResult != ParserError::SIMPLE_TYPE_VALIDATION_OK)
48577     {
48578         if( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL,
48579             simpleTypeValidationResult,
48580             HASH_ELEMENT_CULL_FACE,
48581             HASH_ATTRIBUTE_param,
48582             attributeValue) )
48583         {
48584             return false;
48585         }
48586     }
48587     } // validation
48588 #endif
48589 
48590     break;
48591     }
48592     default:
48593     {
48594         if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_UNKNOWN_ATTRIBUTE, HASH_ELEMENT_CULL_FACE, attribute, attributeValue))
48595             {return false;}
48596     }
48597     }
48598     }
48599 }
48600 
48601 
48602     return true;
48603 }
48604 
48605 //---------------------------------------------------------------------
_preEnd__profile_GLSL__technique__pass__cull_face()48606 bool ColladaParserAutoGen14Private::_preEnd__profile_GLSL__technique__pass__cull_face()
48607 {
48608 #ifdef GENERATEDSAXPARSER_VALIDATION
48609     if ( mValidate )
48610     {
48611 
48612         bool validationResult = _validateEnd__profile_GLSL__technique__pass__cull_face();
48613         if ( !validationResult ) return false;
48614 
48615     } // validation
48616 #endif
48617 
48618     return true;
48619 }
48620 
48621 //---------------------------------------------------------------------
_freeAttributes__profile_GLSL__technique__pass__cull_face(void * attributeData)48622 bool ColladaParserAutoGen14Private::_freeAttributes__profile_GLSL__technique__pass__cull_face( void* attributeData )
48623 {
48624     profile_GLSL__technique__pass__cull_face__AttributeData* typedAttributeData = static_cast<profile_GLSL__technique__pass__cull_face__AttributeData*>(attributeData);
48625 
48626     typedAttributeData->~profile_GLSL__technique__pass__cull_face__AttributeData();
48627 
48628     return true;
48629 }
48630 
48631 //---------------------------------------------------------------------
48632 const profile_GLSL__technique__pass__depth_func__AttributeData profile_GLSL__technique__pass__depth_func__AttributeData::DEFAULT = {ENUM__gl_func_type__ALWAYS, 0};
48633 
48634 //---------------------------------------------------------------------
_data__profile_GLSL__technique__pass__depth_func(const ParserChar * text,size_t textLength)48635 bool ColladaParserAutoGen14Private::_data__profile_GLSL__technique__pass__depth_func( const ParserChar* text, size_t textLength )
48636 {
48637     return true;
48638 }
48639 
48640 //---------------------------------------------------------------------
_preBegin__profile_GLSL__technique__pass__depth_func(const ParserAttributes & attributes,void ** attributeDataPtr,void ** validationDataPtr)48641 bool ColladaParserAutoGen14Private::_preBegin__profile_GLSL__technique__pass__depth_func( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
48642 {
48643 #ifdef GENERATEDSAXPARSER_VALIDATION
48644     if ( mValidate )
48645     {
48646 
48647         bool validationResult = _validateBegin__profile_GLSL__technique__pass__depth_func( attributes, attributeDataPtr, validationDataPtr );
48648         if ( !validationResult ) return false;
48649 
48650     } // validation
48651 #endif
48652 
48653 profile_GLSL__technique__pass__depth_func__AttributeData* attributeData = newData<profile_GLSL__technique__pass__depth_func__AttributeData>(attributeDataPtr);
48654 
48655 const ParserChar** attributeArray = attributes.attributes;
48656 if ( attributeArray )
48657 {
48658     while (true)
48659     {
48660         const ParserChar * attribute = *attributeArray;
48661         if ( !attribute )
48662             break;
48663         StringHash hash = GeneratedSaxParser::Utils::calculateStringHash(attribute);
48664         attributeArray++;
48665         if ( !attributeArray )
48666             return false;
48667         const ParserChar* attributeValue = *attributeArray;
48668         attributeArray++;
48669 
48670 
48671     switch ( hash )
48672     {
48673     case HASH_ATTRIBUTE_value:
48674     {
48675 bool failed;
48676 attributeData->value = Utils::toEnum<ENUM__gl_func_type, StringHash, ENUM__gl_func_type__COUNT>(attributeValue, failed, ENUM__gl_func_typeMap, Utils::calculateStringHash);
48677 if ( failed && handleError(ParserError::SEVERITY_ERROR_NONCRITICAL,
48678         ParserError::ERROR_ATTRIBUTE_PARSING_FAILED,
48679         HASH_ELEMENT_DEPTH_FUNC,
48680         HASH_ATTRIBUTE_value,
48681         attributeValue))
48682 {
48683     return false;
48684 }
48685 
48686     break;
48687     }
48688     case HASH_ATTRIBUTE_param:
48689     {
48690 
48691 attributeData->param = attributeValue;
48692 #ifdef GENERATEDSAXPARSER_VALIDATION
48693     if ( mValidate )
48694     {
48695     ParserError::ErrorType simpleTypeValidationResult = validate__NCName(attributeData->param, strlen(attributeData->param));
48696     if (simpleTypeValidationResult != ParserError::SIMPLE_TYPE_VALIDATION_OK)
48697     {
48698         if( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL,
48699             simpleTypeValidationResult,
48700             HASH_ELEMENT_DEPTH_FUNC,
48701             HASH_ATTRIBUTE_param,
48702             attributeValue) )
48703         {
48704             return false;
48705         }
48706     }
48707     } // validation
48708 #endif
48709 
48710     break;
48711     }
48712     default:
48713     {
48714         if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_UNKNOWN_ATTRIBUTE, HASH_ELEMENT_DEPTH_FUNC, attribute, attributeValue))
48715             {return false;}
48716     }
48717     }
48718     }
48719 }
48720 
48721 
48722     return true;
48723 }
48724 
48725 //---------------------------------------------------------------------
_preEnd__profile_GLSL__technique__pass__depth_func()48726 bool ColladaParserAutoGen14Private::_preEnd__profile_GLSL__technique__pass__depth_func()
48727 {
48728 #ifdef GENERATEDSAXPARSER_VALIDATION
48729     if ( mValidate )
48730     {
48731 
48732         bool validationResult = _validateEnd__profile_GLSL__technique__pass__depth_func();
48733         if ( !validationResult ) return false;
48734 
48735     } // validation
48736 #endif
48737 
48738     return true;
48739 }
48740 
48741 //---------------------------------------------------------------------
_freeAttributes__profile_GLSL__technique__pass__depth_func(void * attributeData)48742 bool ColladaParserAutoGen14Private::_freeAttributes__profile_GLSL__technique__pass__depth_func( void* attributeData )
48743 {
48744     profile_GLSL__technique__pass__depth_func__AttributeData* typedAttributeData = static_cast<profile_GLSL__technique__pass__depth_func__AttributeData*>(attributeData);
48745 
48746     typedAttributeData->~profile_GLSL__technique__pass__depth_func__AttributeData();
48747 
48748     return true;
48749 }
48750 
48751 //---------------------------------------------------------------------
48752 const profile_GLSL__technique__pass__fog_mode__AttributeData profile_GLSL__technique__pass__fog_mode__AttributeData::DEFAULT = {ENUM__gl_fog_type__EXP, 0};
48753 
48754 //---------------------------------------------------------------------
_data__profile_GLSL__technique__pass__fog_mode(const ParserChar * text,size_t textLength)48755 bool ColladaParserAutoGen14Private::_data__profile_GLSL__technique__pass__fog_mode( const ParserChar* text, size_t textLength )
48756 {
48757     return true;
48758 }
48759 
48760 //---------------------------------------------------------------------
_preBegin__profile_GLSL__technique__pass__fog_mode(const ParserAttributes & attributes,void ** attributeDataPtr,void ** validationDataPtr)48761 bool ColladaParserAutoGen14Private::_preBegin__profile_GLSL__technique__pass__fog_mode( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
48762 {
48763 #ifdef GENERATEDSAXPARSER_VALIDATION
48764     if ( mValidate )
48765     {
48766 
48767         bool validationResult = _validateBegin__profile_GLSL__technique__pass__fog_mode( attributes, attributeDataPtr, validationDataPtr );
48768         if ( !validationResult ) return false;
48769 
48770     } // validation
48771 #endif
48772 
48773 profile_GLSL__technique__pass__fog_mode__AttributeData* attributeData = newData<profile_GLSL__technique__pass__fog_mode__AttributeData>(attributeDataPtr);
48774 
48775 const ParserChar** attributeArray = attributes.attributes;
48776 if ( attributeArray )
48777 {
48778     while (true)
48779     {
48780         const ParserChar * attribute = *attributeArray;
48781         if ( !attribute )
48782             break;
48783         StringHash hash = GeneratedSaxParser::Utils::calculateStringHash(attribute);
48784         attributeArray++;
48785         if ( !attributeArray )
48786             return false;
48787         const ParserChar* attributeValue = *attributeArray;
48788         attributeArray++;
48789 
48790 
48791     switch ( hash )
48792     {
48793     case HASH_ATTRIBUTE_value:
48794     {
48795 bool failed;
48796 attributeData->value = Utils::toEnum<ENUM__gl_fog_type, StringHash, ENUM__gl_fog_type__COUNT>(attributeValue, failed, ENUM__gl_fog_typeMap, Utils::calculateStringHash);
48797 if ( failed && handleError(ParserError::SEVERITY_ERROR_NONCRITICAL,
48798         ParserError::ERROR_ATTRIBUTE_PARSING_FAILED,
48799         HASH_ELEMENT_FOG_MODE,
48800         HASH_ATTRIBUTE_value,
48801         attributeValue))
48802 {
48803     return false;
48804 }
48805 
48806     break;
48807     }
48808     case HASH_ATTRIBUTE_param:
48809     {
48810 
48811 attributeData->param = attributeValue;
48812 #ifdef GENERATEDSAXPARSER_VALIDATION
48813     if ( mValidate )
48814     {
48815     ParserError::ErrorType simpleTypeValidationResult = validate__NCName(attributeData->param, strlen(attributeData->param));
48816     if (simpleTypeValidationResult != ParserError::SIMPLE_TYPE_VALIDATION_OK)
48817     {
48818         if( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL,
48819             simpleTypeValidationResult,
48820             HASH_ELEMENT_FOG_MODE,
48821             HASH_ATTRIBUTE_param,
48822             attributeValue) )
48823         {
48824             return false;
48825         }
48826     }
48827     } // validation
48828 #endif
48829 
48830     break;
48831     }
48832     default:
48833     {
48834         if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_UNKNOWN_ATTRIBUTE, HASH_ELEMENT_FOG_MODE, attribute, attributeValue))
48835             {return false;}
48836     }
48837     }
48838     }
48839 }
48840 
48841 
48842     return true;
48843 }
48844 
48845 //---------------------------------------------------------------------
_preEnd__profile_GLSL__technique__pass__fog_mode()48846 bool ColladaParserAutoGen14Private::_preEnd__profile_GLSL__technique__pass__fog_mode()
48847 {
48848 #ifdef GENERATEDSAXPARSER_VALIDATION
48849     if ( mValidate )
48850     {
48851 
48852         bool validationResult = _validateEnd__profile_GLSL__technique__pass__fog_mode();
48853         if ( !validationResult ) return false;
48854 
48855     } // validation
48856 #endif
48857 
48858     return true;
48859 }
48860 
48861 //---------------------------------------------------------------------
_freeAttributes__profile_GLSL__technique__pass__fog_mode(void * attributeData)48862 bool ColladaParserAutoGen14Private::_freeAttributes__profile_GLSL__technique__pass__fog_mode( void* attributeData )
48863 {
48864     profile_GLSL__technique__pass__fog_mode__AttributeData* typedAttributeData = static_cast<profile_GLSL__technique__pass__fog_mode__AttributeData*>(attributeData);
48865 
48866     typedAttributeData->~profile_GLSL__technique__pass__fog_mode__AttributeData();
48867 
48868     return true;
48869 }
48870 
48871 //---------------------------------------------------------------------
48872 const fog_coord_src__AttributeData fog_coord_src__AttributeData::DEFAULT = {ENUM__gl_fog_coord_src_type__FOG_COORDINATE, 0};
48873 
48874 //---------------------------------------------------------------------
_data__fog_coord_src(const ParserChar * text,size_t textLength)48875 bool ColladaParserAutoGen14Private::_data__fog_coord_src( const ParserChar* text, size_t textLength )
48876 {
48877     return true;
48878 }
48879 
48880 //---------------------------------------------------------------------
_preBegin__fog_coord_src(const ParserAttributes & attributes,void ** attributeDataPtr,void ** validationDataPtr)48881 bool ColladaParserAutoGen14Private::_preBegin__fog_coord_src( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
48882 {
48883 #ifdef GENERATEDSAXPARSER_VALIDATION
48884     if ( mValidate )
48885     {
48886 
48887         bool validationResult = _validateBegin__fog_coord_src( attributes, attributeDataPtr, validationDataPtr );
48888         if ( !validationResult ) return false;
48889 
48890     } // validation
48891 #endif
48892 
48893 fog_coord_src__AttributeData* attributeData = newData<fog_coord_src__AttributeData>(attributeDataPtr);
48894 
48895 const ParserChar** attributeArray = attributes.attributes;
48896 if ( attributeArray )
48897 {
48898     while (true)
48899     {
48900         const ParserChar * attribute = *attributeArray;
48901         if ( !attribute )
48902             break;
48903         StringHash hash = GeneratedSaxParser::Utils::calculateStringHash(attribute);
48904         attributeArray++;
48905         if ( !attributeArray )
48906             return false;
48907         const ParserChar* attributeValue = *attributeArray;
48908         attributeArray++;
48909 
48910 
48911     switch ( hash )
48912     {
48913     case HASH_ATTRIBUTE_value:
48914     {
48915 bool failed;
48916 attributeData->value = Utils::toEnum<ENUM__gl_fog_coord_src_type, StringHash, ENUM__gl_fog_coord_src_type__COUNT>(attributeValue, failed, ENUM__gl_fog_coord_src_typeMap, Utils::calculateStringHash);
48917 if ( failed && handleError(ParserError::SEVERITY_ERROR_NONCRITICAL,
48918         ParserError::ERROR_ATTRIBUTE_PARSING_FAILED,
48919         HASH_ELEMENT_FOG_COORD_SRC,
48920         HASH_ATTRIBUTE_value,
48921         attributeValue))
48922 {
48923     return false;
48924 }
48925 
48926     break;
48927     }
48928     case HASH_ATTRIBUTE_param:
48929     {
48930 
48931 attributeData->param = attributeValue;
48932 #ifdef GENERATEDSAXPARSER_VALIDATION
48933     if ( mValidate )
48934     {
48935     ParserError::ErrorType simpleTypeValidationResult = validate__NCName(attributeData->param, strlen(attributeData->param));
48936     if (simpleTypeValidationResult != ParserError::SIMPLE_TYPE_VALIDATION_OK)
48937     {
48938         if( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL,
48939             simpleTypeValidationResult,
48940             HASH_ELEMENT_FOG_COORD_SRC,
48941             HASH_ATTRIBUTE_param,
48942             attributeValue) )
48943         {
48944             return false;
48945         }
48946     }
48947     } // validation
48948 #endif
48949 
48950     break;
48951     }
48952     default:
48953     {
48954         if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_UNKNOWN_ATTRIBUTE, HASH_ELEMENT_FOG_COORD_SRC, attribute, attributeValue))
48955             {return false;}
48956     }
48957     }
48958     }
48959 }
48960 
48961 
48962     return true;
48963 }
48964 
48965 //---------------------------------------------------------------------
_preEnd__fog_coord_src()48966 bool ColladaParserAutoGen14Private::_preEnd__fog_coord_src()
48967 {
48968 #ifdef GENERATEDSAXPARSER_VALIDATION
48969     if ( mValidate )
48970     {
48971 
48972         bool validationResult = _validateEnd__fog_coord_src();
48973         if ( !validationResult ) return false;
48974 
48975     } // validation
48976 #endif
48977 
48978     return true;
48979 }
48980 
48981 //---------------------------------------------------------------------
_freeAttributes__fog_coord_src(void * attributeData)48982 bool ColladaParserAutoGen14Private::_freeAttributes__fog_coord_src( void* attributeData )
48983 {
48984     fog_coord_src__AttributeData* typedAttributeData = static_cast<fog_coord_src__AttributeData*>(attributeData);
48985 
48986     typedAttributeData->~fog_coord_src__AttributeData();
48987 
48988     return true;
48989 }
48990 
48991 //---------------------------------------------------------------------
48992 const profile_GLSL__technique__pass__front_face__AttributeData profile_GLSL__technique__pass__front_face__AttributeData::DEFAULT = {ENUM__gl_front_face_type__CCW, 0};
48993 
48994 //---------------------------------------------------------------------
_data__profile_GLSL__technique__pass__front_face(const ParserChar * text,size_t textLength)48995 bool ColladaParserAutoGen14Private::_data__profile_GLSL__technique__pass__front_face( const ParserChar* text, size_t textLength )
48996 {
48997     return true;
48998 }
48999 
49000 //---------------------------------------------------------------------
_preBegin__profile_GLSL__technique__pass__front_face(const ParserAttributes & attributes,void ** attributeDataPtr,void ** validationDataPtr)49001 bool ColladaParserAutoGen14Private::_preBegin__profile_GLSL__technique__pass__front_face( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
49002 {
49003 #ifdef GENERATEDSAXPARSER_VALIDATION
49004     if ( mValidate )
49005     {
49006 
49007         bool validationResult = _validateBegin__profile_GLSL__technique__pass__front_face( attributes, attributeDataPtr, validationDataPtr );
49008         if ( !validationResult ) return false;
49009 
49010     } // validation
49011 #endif
49012 
49013 profile_GLSL__technique__pass__front_face__AttributeData* attributeData = newData<profile_GLSL__technique__pass__front_face__AttributeData>(attributeDataPtr);
49014 
49015 const ParserChar** attributeArray = attributes.attributes;
49016 if ( attributeArray )
49017 {
49018     while (true)
49019     {
49020         const ParserChar * attribute = *attributeArray;
49021         if ( !attribute )
49022             break;
49023         StringHash hash = GeneratedSaxParser::Utils::calculateStringHash(attribute);
49024         attributeArray++;
49025         if ( !attributeArray )
49026             return false;
49027         const ParserChar* attributeValue = *attributeArray;
49028         attributeArray++;
49029 
49030 
49031     switch ( hash )
49032     {
49033     case HASH_ATTRIBUTE_value:
49034     {
49035 bool failed;
49036 attributeData->value = Utils::toEnum<ENUM__gl_front_face_type, StringHash, ENUM__gl_front_face_type__COUNT>(attributeValue, failed, ENUM__gl_front_face_typeMap, Utils::calculateStringHash);
49037 if ( failed && handleError(ParserError::SEVERITY_ERROR_NONCRITICAL,
49038         ParserError::ERROR_ATTRIBUTE_PARSING_FAILED,
49039         HASH_ELEMENT_FRONT_FACE,
49040         HASH_ATTRIBUTE_value,
49041         attributeValue))
49042 {
49043     return false;
49044 }
49045 
49046     break;
49047     }
49048     case HASH_ATTRIBUTE_param:
49049     {
49050 
49051 attributeData->param = attributeValue;
49052 #ifdef GENERATEDSAXPARSER_VALIDATION
49053     if ( mValidate )
49054     {
49055     ParserError::ErrorType simpleTypeValidationResult = validate__NCName(attributeData->param, strlen(attributeData->param));
49056     if (simpleTypeValidationResult != ParserError::SIMPLE_TYPE_VALIDATION_OK)
49057     {
49058         if( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL,
49059             simpleTypeValidationResult,
49060             HASH_ELEMENT_FRONT_FACE,
49061             HASH_ATTRIBUTE_param,
49062             attributeValue) )
49063         {
49064             return false;
49065         }
49066     }
49067     } // validation
49068 #endif
49069 
49070     break;
49071     }
49072     default:
49073     {
49074         if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_UNKNOWN_ATTRIBUTE, HASH_ELEMENT_FRONT_FACE, attribute, attributeValue))
49075             {return false;}
49076     }
49077     }
49078     }
49079 }
49080 
49081 
49082     return true;
49083 }
49084 
49085 //---------------------------------------------------------------------
_preEnd__profile_GLSL__technique__pass__front_face()49086 bool ColladaParserAutoGen14Private::_preEnd__profile_GLSL__technique__pass__front_face()
49087 {
49088 #ifdef GENERATEDSAXPARSER_VALIDATION
49089     if ( mValidate )
49090     {
49091 
49092         bool validationResult = _validateEnd__profile_GLSL__technique__pass__front_face();
49093         if ( !validationResult ) return false;
49094 
49095     } // validation
49096 #endif
49097 
49098     return true;
49099 }
49100 
49101 //---------------------------------------------------------------------
_freeAttributes__profile_GLSL__technique__pass__front_face(void * attributeData)49102 bool ColladaParserAutoGen14Private::_freeAttributes__profile_GLSL__technique__pass__front_face( void* attributeData )
49103 {
49104     profile_GLSL__technique__pass__front_face__AttributeData* typedAttributeData = static_cast<profile_GLSL__technique__pass__front_face__AttributeData*>(attributeData);
49105 
49106     typedAttributeData->~profile_GLSL__technique__pass__front_face__AttributeData();
49107 
49108     return true;
49109 }
49110 
49111 //---------------------------------------------------------------------
49112 const light_model_color_control__AttributeData light_model_color_control__AttributeData::DEFAULT = {ENUM__gl_light_model_color_control_type__SINGLE_COLOR, 0};
49113 
49114 //---------------------------------------------------------------------
_data__light_model_color_control(const ParserChar * text,size_t textLength)49115 bool ColladaParserAutoGen14Private::_data__light_model_color_control( const ParserChar* text, size_t textLength )
49116 {
49117     return true;
49118 }
49119 
49120 //---------------------------------------------------------------------
_preBegin__light_model_color_control(const ParserAttributes & attributes,void ** attributeDataPtr,void ** validationDataPtr)49121 bool ColladaParserAutoGen14Private::_preBegin__light_model_color_control( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
49122 {
49123 #ifdef GENERATEDSAXPARSER_VALIDATION
49124     if ( mValidate )
49125     {
49126 
49127         bool validationResult = _validateBegin__light_model_color_control( attributes, attributeDataPtr, validationDataPtr );
49128         if ( !validationResult ) return false;
49129 
49130     } // validation
49131 #endif
49132 
49133 light_model_color_control__AttributeData* attributeData = newData<light_model_color_control__AttributeData>(attributeDataPtr);
49134 
49135 const ParserChar** attributeArray = attributes.attributes;
49136 if ( attributeArray )
49137 {
49138     while (true)
49139     {
49140         const ParserChar * attribute = *attributeArray;
49141         if ( !attribute )
49142             break;
49143         StringHash hash = GeneratedSaxParser::Utils::calculateStringHash(attribute);
49144         attributeArray++;
49145         if ( !attributeArray )
49146             return false;
49147         const ParserChar* attributeValue = *attributeArray;
49148         attributeArray++;
49149 
49150 
49151     switch ( hash )
49152     {
49153     case HASH_ATTRIBUTE_value:
49154     {
49155 bool failed;
49156 attributeData->value = Utils::toEnum<ENUM__gl_light_model_color_control_type, StringHash, ENUM__gl_light_model_color_control_type__COUNT>(attributeValue, failed, ENUM__gl_light_model_color_control_typeMap, Utils::calculateStringHash);
49157 if ( failed && handleError(ParserError::SEVERITY_ERROR_NONCRITICAL,
49158         ParserError::ERROR_ATTRIBUTE_PARSING_FAILED,
49159         HASH_ELEMENT_LIGHT_MODEL_COLOR_CONTROL,
49160         HASH_ATTRIBUTE_value,
49161         attributeValue))
49162 {
49163     return false;
49164 }
49165 
49166     break;
49167     }
49168     case HASH_ATTRIBUTE_param:
49169     {
49170 
49171 attributeData->param = attributeValue;
49172 #ifdef GENERATEDSAXPARSER_VALIDATION
49173     if ( mValidate )
49174     {
49175     ParserError::ErrorType simpleTypeValidationResult = validate__NCName(attributeData->param, strlen(attributeData->param));
49176     if (simpleTypeValidationResult != ParserError::SIMPLE_TYPE_VALIDATION_OK)
49177     {
49178         if( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL,
49179             simpleTypeValidationResult,
49180             HASH_ELEMENT_LIGHT_MODEL_COLOR_CONTROL,
49181             HASH_ATTRIBUTE_param,
49182             attributeValue) )
49183         {
49184             return false;
49185         }
49186     }
49187     } // validation
49188 #endif
49189 
49190     break;
49191     }
49192     default:
49193     {
49194         if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_UNKNOWN_ATTRIBUTE, HASH_ELEMENT_LIGHT_MODEL_COLOR_CONTROL, attribute, attributeValue))
49195             {return false;}
49196     }
49197     }
49198     }
49199 }
49200 
49201 
49202     return true;
49203 }
49204 
49205 //---------------------------------------------------------------------
_preEnd__light_model_color_control()49206 bool ColladaParserAutoGen14Private::_preEnd__light_model_color_control()
49207 {
49208 #ifdef GENERATEDSAXPARSER_VALIDATION
49209     if ( mValidate )
49210     {
49211 
49212         bool validationResult = _validateEnd__light_model_color_control();
49213         if ( !validationResult ) return false;
49214 
49215     } // validation
49216 #endif
49217 
49218     return true;
49219 }
49220 
49221 //---------------------------------------------------------------------
_freeAttributes__light_model_color_control(void * attributeData)49222 bool ColladaParserAutoGen14Private::_freeAttributes__light_model_color_control( void* attributeData )
49223 {
49224     light_model_color_control__AttributeData* typedAttributeData = static_cast<light_model_color_control__AttributeData*>(attributeData);
49225 
49226     typedAttributeData->~light_model_color_control__AttributeData();
49227 
49228     return true;
49229 }
49230 
49231 //---------------------------------------------------------------------
49232 const profile_GLSL__technique__pass__logic_op__AttributeData profile_GLSL__technique__pass__logic_op__AttributeData::DEFAULT = {ENUM__gl_logic_op_type__COPY, 0};
49233 
49234 //---------------------------------------------------------------------
_data__profile_GLSL__technique__pass__logic_op(const ParserChar * text,size_t textLength)49235 bool ColladaParserAutoGen14Private::_data__profile_GLSL__technique__pass__logic_op( const ParserChar* text, size_t textLength )
49236 {
49237     return true;
49238 }
49239 
49240 //---------------------------------------------------------------------
_preBegin__profile_GLSL__technique__pass__logic_op(const ParserAttributes & attributes,void ** attributeDataPtr,void ** validationDataPtr)49241 bool ColladaParserAutoGen14Private::_preBegin__profile_GLSL__technique__pass__logic_op( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
49242 {
49243 #ifdef GENERATEDSAXPARSER_VALIDATION
49244     if ( mValidate )
49245     {
49246 
49247         bool validationResult = _validateBegin__profile_GLSL__technique__pass__logic_op( attributes, attributeDataPtr, validationDataPtr );
49248         if ( !validationResult ) return false;
49249 
49250     } // validation
49251 #endif
49252 
49253 profile_GLSL__technique__pass__logic_op__AttributeData* attributeData = newData<profile_GLSL__technique__pass__logic_op__AttributeData>(attributeDataPtr);
49254 
49255 const ParserChar** attributeArray = attributes.attributes;
49256 if ( attributeArray )
49257 {
49258     while (true)
49259     {
49260         const ParserChar * attribute = *attributeArray;
49261         if ( !attribute )
49262             break;
49263         StringHash hash = GeneratedSaxParser::Utils::calculateStringHash(attribute);
49264         attributeArray++;
49265         if ( !attributeArray )
49266             return false;
49267         const ParserChar* attributeValue = *attributeArray;
49268         attributeArray++;
49269 
49270 
49271     switch ( hash )
49272     {
49273     case HASH_ATTRIBUTE_value:
49274     {
49275 bool failed;
49276 attributeData->value = Utils::toEnum<ENUM__gl_logic_op_type, StringHash, ENUM__gl_logic_op_type__COUNT>(attributeValue, failed, ENUM__gl_logic_op_typeMap, Utils::calculateStringHash);
49277 if ( failed && handleError(ParserError::SEVERITY_ERROR_NONCRITICAL,
49278         ParserError::ERROR_ATTRIBUTE_PARSING_FAILED,
49279         HASH_ELEMENT_LOGIC_OP,
49280         HASH_ATTRIBUTE_value,
49281         attributeValue))
49282 {
49283     return false;
49284 }
49285 
49286     break;
49287     }
49288     case HASH_ATTRIBUTE_param:
49289     {
49290 
49291 attributeData->param = attributeValue;
49292 #ifdef GENERATEDSAXPARSER_VALIDATION
49293     if ( mValidate )
49294     {
49295     ParserError::ErrorType simpleTypeValidationResult = validate__NCName(attributeData->param, strlen(attributeData->param));
49296     if (simpleTypeValidationResult != ParserError::SIMPLE_TYPE_VALIDATION_OK)
49297     {
49298         if( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL,
49299             simpleTypeValidationResult,
49300             HASH_ELEMENT_LOGIC_OP,
49301             HASH_ATTRIBUTE_param,
49302             attributeValue) )
49303         {
49304             return false;
49305         }
49306     }
49307     } // validation
49308 #endif
49309 
49310     break;
49311     }
49312     default:
49313     {
49314         if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_UNKNOWN_ATTRIBUTE, HASH_ELEMENT_LOGIC_OP, attribute, attributeValue))
49315             {return false;}
49316     }
49317     }
49318     }
49319 }
49320 
49321 
49322     return true;
49323 }
49324 
49325 //---------------------------------------------------------------------
_preEnd__profile_GLSL__technique__pass__logic_op()49326 bool ColladaParserAutoGen14Private::_preEnd__profile_GLSL__technique__pass__logic_op()
49327 {
49328 #ifdef GENERATEDSAXPARSER_VALIDATION
49329     if ( mValidate )
49330     {
49331 
49332         bool validationResult = _validateEnd__profile_GLSL__technique__pass__logic_op();
49333         if ( !validationResult ) return false;
49334 
49335     } // validation
49336 #endif
49337 
49338     return true;
49339 }
49340 
49341 //---------------------------------------------------------------------
_freeAttributes__profile_GLSL__technique__pass__logic_op(void * attributeData)49342 bool ColladaParserAutoGen14Private::_freeAttributes__profile_GLSL__technique__pass__logic_op( void* attributeData )
49343 {
49344     profile_GLSL__technique__pass__logic_op__AttributeData* typedAttributeData = static_cast<profile_GLSL__technique__pass__logic_op__AttributeData*>(attributeData);
49345 
49346     typedAttributeData->~profile_GLSL__technique__pass__logic_op__AttributeData();
49347 
49348     return true;
49349 }
49350 
49351 //---------------------------------------------------------------------
_data__polygon_mode(const ParserChar * text,size_t textLength)49352 bool ColladaParserAutoGen14Private::_data__polygon_mode( const ParserChar* text, size_t textLength )
49353 {
49354     return true;
49355 }
49356 
49357 //---------------------------------------------------------------------
_preBegin__polygon_mode(const ParserAttributes & attributes,void ** attributeDataPtr,void ** validationDataPtr)49358 bool ColladaParserAutoGen14Private::_preBegin__polygon_mode( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
49359 {
49360 #ifdef GENERATEDSAXPARSER_VALIDATION
49361     if ( mValidate )
49362     {
49363 
49364         bool validationResult = _validateBegin__polygon_mode( attributes, attributeDataPtr, validationDataPtr );
49365         if ( !validationResult ) return false;
49366 
49367     } // validation
49368 #endif
49369 
49370     return true;
49371 }
49372 
49373 //---------------------------------------------------------------------
_preEnd__polygon_mode()49374 bool ColladaParserAutoGen14Private::_preEnd__polygon_mode()
49375 {
49376 #ifdef GENERATEDSAXPARSER_VALIDATION
49377     if ( mValidate )
49378     {
49379 
49380         bool validationResult = _validateEnd__polygon_mode();
49381         if ( !validationResult ) return false;
49382 
49383     } // validation
49384 #endif
49385 
49386     return true;
49387 }
49388 
49389 //---------------------------------------------------------------------
_freeAttributes__polygon_mode(void * attributeData)49390 bool ColladaParserAutoGen14Private::_freeAttributes__polygon_mode( void* attributeData )
49391 {
49392     return true;
49393 }
49394 
49395 //---------------------------------------------------------------------
49396 const polygon_mode__face__AttributeData polygon_mode__face__AttributeData::DEFAULT = {ENUM__gl_face_type__FRONT_AND_BACK, 0};
49397 
49398 //---------------------------------------------------------------------
_data__polygon_mode__face(const ParserChar * text,size_t textLength)49399 bool ColladaParserAutoGen14Private::_data__polygon_mode__face( const ParserChar* text, size_t textLength )
49400 {
49401     return true;
49402 }
49403 
49404 //---------------------------------------------------------------------
_preBegin__polygon_mode__face(const ParserAttributes & attributes,void ** attributeDataPtr,void ** validationDataPtr)49405 bool ColladaParserAutoGen14Private::_preBegin__polygon_mode__face( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
49406 {
49407 #ifdef GENERATEDSAXPARSER_VALIDATION
49408     if ( mValidate )
49409     {
49410 
49411         bool validationResult = _validateBegin__polygon_mode__face( attributes, attributeDataPtr, validationDataPtr );
49412         if ( !validationResult ) return false;
49413 
49414     } // validation
49415 #endif
49416 
49417 polygon_mode__face__AttributeData* attributeData = newData<polygon_mode__face__AttributeData>(attributeDataPtr);
49418 
49419 const ParserChar** attributeArray = attributes.attributes;
49420 if ( attributeArray )
49421 {
49422     while (true)
49423     {
49424         const ParserChar * attribute = *attributeArray;
49425         if ( !attribute )
49426             break;
49427         StringHash hash = GeneratedSaxParser::Utils::calculateStringHash(attribute);
49428         attributeArray++;
49429         if ( !attributeArray )
49430             return false;
49431         const ParserChar* attributeValue = *attributeArray;
49432         attributeArray++;
49433 
49434 
49435     switch ( hash )
49436     {
49437     case HASH_ATTRIBUTE_value:
49438     {
49439 bool failed;
49440 attributeData->value = Utils::toEnum<ENUM__gl_face_type, StringHash, ENUM__gl_face_type__COUNT>(attributeValue, failed, ENUM__gl_face_typeMap, Utils::calculateStringHash);
49441 if ( failed && handleError(ParserError::SEVERITY_ERROR_NONCRITICAL,
49442         ParserError::ERROR_ATTRIBUTE_PARSING_FAILED,
49443         HASH_ELEMENT_FACE,
49444         HASH_ATTRIBUTE_value,
49445         attributeValue))
49446 {
49447     return false;
49448 }
49449 
49450     break;
49451     }
49452     case HASH_ATTRIBUTE_param:
49453     {
49454 
49455 attributeData->param = attributeValue;
49456 #ifdef GENERATEDSAXPARSER_VALIDATION
49457     if ( mValidate )
49458     {
49459     ParserError::ErrorType simpleTypeValidationResult = validate__NCName(attributeData->param, strlen(attributeData->param));
49460     if (simpleTypeValidationResult != ParserError::SIMPLE_TYPE_VALIDATION_OK)
49461     {
49462         if( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL,
49463             simpleTypeValidationResult,
49464             HASH_ELEMENT_FACE,
49465             HASH_ATTRIBUTE_param,
49466             attributeValue) )
49467         {
49468             return false;
49469         }
49470     }
49471     } // validation
49472 #endif
49473 
49474     break;
49475     }
49476     default:
49477     {
49478         if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_UNKNOWN_ATTRIBUTE, HASH_ELEMENT_FACE, attribute, attributeValue))
49479             {return false;}
49480     }
49481     }
49482     }
49483 }
49484 
49485 
49486     return true;
49487 }
49488 
49489 //---------------------------------------------------------------------
_preEnd__polygon_mode__face()49490 bool ColladaParserAutoGen14Private::_preEnd__polygon_mode__face()
49491 {
49492 #ifdef GENERATEDSAXPARSER_VALIDATION
49493     if ( mValidate )
49494     {
49495 
49496         bool validationResult = _validateEnd__polygon_mode__face();
49497         if ( !validationResult ) return false;
49498 
49499     } // validation
49500 #endif
49501 
49502     return true;
49503 }
49504 
49505 //---------------------------------------------------------------------
_freeAttributes__polygon_mode__face(void * attributeData)49506 bool ColladaParserAutoGen14Private::_freeAttributes__polygon_mode__face( void* attributeData )
49507 {
49508     polygon_mode__face__AttributeData* typedAttributeData = static_cast<polygon_mode__face__AttributeData*>(attributeData);
49509 
49510     typedAttributeData->~polygon_mode__face__AttributeData();
49511 
49512     return true;
49513 }
49514 
49515 //---------------------------------------------------------------------
49516 const polygon_mode__mode__AttributeData polygon_mode__mode__AttributeData::DEFAULT = {ENUM__gl_polygon_mode_type__FILL, 0};
49517 
49518 //---------------------------------------------------------------------
_data__polygon_mode__mode(const ParserChar * text,size_t textLength)49519 bool ColladaParserAutoGen14Private::_data__polygon_mode__mode( const ParserChar* text, size_t textLength )
49520 {
49521     return true;
49522 }
49523 
49524 //---------------------------------------------------------------------
_preBegin__polygon_mode__mode(const ParserAttributes & attributes,void ** attributeDataPtr,void ** validationDataPtr)49525 bool ColladaParserAutoGen14Private::_preBegin__polygon_mode__mode( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
49526 {
49527 #ifdef GENERATEDSAXPARSER_VALIDATION
49528     if ( mValidate )
49529     {
49530 
49531         bool validationResult = _validateBegin__polygon_mode__mode( attributes, attributeDataPtr, validationDataPtr );
49532         if ( !validationResult ) return false;
49533 
49534     } // validation
49535 #endif
49536 
49537 polygon_mode__mode__AttributeData* attributeData = newData<polygon_mode__mode__AttributeData>(attributeDataPtr);
49538 
49539 const ParserChar** attributeArray = attributes.attributes;
49540 if ( attributeArray )
49541 {
49542     while (true)
49543     {
49544         const ParserChar * attribute = *attributeArray;
49545         if ( !attribute )
49546             break;
49547         StringHash hash = GeneratedSaxParser::Utils::calculateStringHash(attribute);
49548         attributeArray++;
49549         if ( !attributeArray )
49550             return false;
49551         const ParserChar* attributeValue = *attributeArray;
49552         attributeArray++;
49553 
49554 
49555     switch ( hash )
49556     {
49557     case HASH_ATTRIBUTE_value:
49558     {
49559 bool failed;
49560 attributeData->value = Utils::toEnum<ENUM__gl_polygon_mode_type, StringHash, ENUM__gl_polygon_mode_type__COUNT>(attributeValue, failed, ENUM__gl_polygon_mode_typeMap, Utils::calculateStringHash);
49561 if ( failed && handleError(ParserError::SEVERITY_ERROR_NONCRITICAL,
49562         ParserError::ERROR_ATTRIBUTE_PARSING_FAILED,
49563         HASH_ELEMENT_MODE,
49564         HASH_ATTRIBUTE_value,
49565         attributeValue))
49566 {
49567     return false;
49568 }
49569 
49570     break;
49571     }
49572     case HASH_ATTRIBUTE_param:
49573     {
49574 
49575 attributeData->param = attributeValue;
49576 #ifdef GENERATEDSAXPARSER_VALIDATION
49577     if ( mValidate )
49578     {
49579     ParserError::ErrorType simpleTypeValidationResult = validate__NCName(attributeData->param, strlen(attributeData->param));
49580     if (simpleTypeValidationResult != ParserError::SIMPLE_TYPE_VALIDATION_OK)
49581     {
49582         if( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL,
49583             simpleTypeValidationResult,
49584             HASH_ELEMENT_MODE,
49585             HASH_ATTRIBUTE_param,
49586             attributeValue) )
49587         {
49588             return false;
49589         }
49590     }
49591     } // validation
49592 #endif
49593 
49594     break;
49595     }
49596     default:
49597     {
49598         if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_UNKNOWN_ATTRIBUTE, HASH_ELEMENT_MODE, attribute, attributeValue))
49599             {return false;}
49600     }
49601     }
49602     }
49603 }
49604 
49605 
49606     return true;
49607 }
49608 
49609 //---------------------------------------------------------------------
_preEnd__polygon_mode__mode()49610 bool ColladaParserAutoGen14Private::_preEnd__polygon_mode__mode()
49611 {
49612 #ifdef GENERATEDSAXPARSER_VALIDATION
49613     if ( mValidate )
49614     {
49615 
49616         bool validationResult = _validateEnd__polygon_mode__mode();
49617         if ( !validationResult ) return false;
49618 
49619     } // validation
49620 #endif
49621 
49622     return true;
49623 }
49624 
49625 //---------------------------------------------------------------------
_freeAttributes__polygon_mode__mode(void * attributeData)49626 bool ColladaParserAutoGen14Private::_freeAttributes__polygon_mode__mode( void* attributeData )
49627 {
49628     polygon_mode__mode__AttributeData* typedAttributeData = static_cast<polygon_mode__mode__AttributeData*>(attributeData);
49629 
49630     typedAttributeData->~polygon_mode__mode__AttributeData();
49631 
49632     return true;
49633 }
49634 
49635 //---------------------------------------------------------------------
49636 const profile_GLSL__technique__pass__shade_model__AttributeData profile_GLSL__technique__pass__shade_model__AttributeData::DEFAULT = {ENUM__gl_shade_model_type__SMOOTH, 0};
49637 
49638 //---------------------------------------------------------------------
_data__profile_GLSL__technique__pass__shade_model(const ParserChar * text,size_t textLength)49639 bool ColladaParserAutoGen14Private::_data__profile_GLSL__technique__pass__shade_model( const ParserChar* text, size_t textLength )
49640 {
49641     return true;
49642 }
49643 
49644 //---------------------------------------------------------------------
_preBegin__profile_GLSL__technique__pass__shade_model(const ParserAttributes & attributes,void ** attributeDataPtr,void ** validationDataPtr)49645 bool ColladaParserAutoGen14Private::_preBegin__profile_GLSL__technique__pass__shade_model( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
49646 {
49647 #ifdef GENERATEDSAXPARSER_VALIDATION
49648     if ( mValidate )
49649     {
49650 
49651         bool validationResult = _validateBegin__profile_GLSL__technique__pass__shade_model( attributes, attributeDataPtr, validationDataPtr );
49652         if ( !validationResult ) return false;
49653 
49654     } // validation
49655 #endif
49656 
49657 profile_GLSL__technique__pass__shade_model__AttributeData* attributeData = newData<profile_GLSL__technique__pass__shade_model__AttributeData>(attributeDataPtr);
49658 
49659 const ParserChar** attributeArray = attributes.attributes;
49660 if ( attributeArray )
49661 {
49662     while (true)
49663     {
49664         const ParserChar * attribute = *attributeArray;
49665         if ( !attribute )
49666             break;
49667         StringHash hash = GeneratedSaxParser::Utils::calculateStringHash(attribute);
49668         attributeArray++;
49669         if ( !attributeArray )
49670             return false;
49671         const ParserChar* attributeValue = *attributeArray;
49672         attributeArray++;
49673 
49674 
49675     switch ( hash )
49676     {
49677     case HASH_ATTRIBUTE_value:
49678     {
49679 bool failed;
49680 attributeData->value = Utils::toEnum<ENUM__gl_shade_model_type, StringHash, ENUM__gl_shade_model_type__COUNT>(attributeValue, failed, ENUM__gl_shade_model_typeMap, Utils::calculateStringHash);
49681 if ( failed && handleError(ParserError::SEVERITY_ERROR_NONCRITICAL,
49682         ParserError::ERROR_ATTRIBUTE_PARSING_FAILED,
49683         HASH_ELEMENT_SHADE_MODEL,
49684         HASH_ATTRIBUTE_value,
49685         attributeValue))
49686 {
49687     return false;
49688 }
49689 
49690     break;
49691     }
49692     case HASH_ATTRIBUTE_param:
49693     {
49694 
49695 attributeData->param = attributeValue;
49696 #ifdef GENERATEDSAXPARSER_VALIDATION
49697     if ( mValidate )
49698     {
49699     ParserError::ErrorType simpleTypeValidationResult = validate__NCName(attributeData->param, strlen(attributeData->param));
49700     if (simpleTypeValidationResult != ParserError::SIMPLE_TYPE_VALIDATION_OK)
49701     {
49702         if( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL,
49703             simpleTypeValidationResult,
49704             HASH_ELEMENT_SHADE_MODEL,
49705             HASH_ATTRIBUTE_param,
49706             attributeValue) )
49707         {
49708             return false;
49709         }
49710     }
49711     } // validation
49712 #endif
49713 
49714     break;
49715     }
49716     default:
49717     {
49718         if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_UNKNOWN_ATTRIBUTE, HASH_ELEMENT_SHADE_MODEL, attribute, attributeValue))
49719             {return false;}
49720     }
49721     }
49722     }
49723 }
49724 
49725 
49726     return true;
49727 }
49728 
49729 //---------------------------------------------------------------------
_preEnd__profile_GLSL__technique__pass__shade_model()49730 bool ColladaParserAutoGen14Private::_preEnd__profile_GLSL__technique__pass__shade_model()
49731 {
49732 #ifdef GENERATEDSAXPARSER_VALIDATION
49733     if ( mValidate )
49734     {
49735 
49736         bool validationResult = _validateEnd__profile_GLSL__technique__pass__shade_model();
49737         if ( !validationResult ) return false;
49738 
49739     } // validation
49740 #endif
49741 
49742     return true;
49743 }
49744 
49745 //---------------------------------------------------------------------
_freeAttributes__profile_GLSL__technique__pass__shade_model(void * attributeData)49746 bool ColladaParserAutoGen14Private::_freeAttributes__profile_GLSL__technique__pass__shade_model( void* attributeData )
49747 {
49748     profile_GLSL__technique__pass__shade_model__AttributeData* typedAttributeData = static_cast<profile_GLSL__technique__pass__shade_model__AttributeData*>(attributeData);
49749 
49750     typedAttributeData->~profile_GLSL__technique__pass__shade_model__AttributeData();
49751 
49752     return true;
49753 }
49754 
49755 //---------------------------------------------------------------------
_data__profile_GLSL__technique__pass__stencil_func(const ParserChar * text,size_t textLength)49756 bool ColladaParserAutoGen14Private::_data__profile_GLSL__technique__pass__stencil_func( const ParserChar* text, size_t textLength )
49757 {
49758     return true;
49759 }
49760 
49761 //---------------------------------------------------------------------
_preBegin__profile_GLSL__technique__pass__stencil_func(const ParserAttributes & attributes,void ** attributeDataPtr,void ** validationDataPtr)49762 bool ColladaParserAutoGen14Private::_preBegin__profile_GLSL__technique__pass__stencil_func( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
49763 {
49764 #ifdef GENERATEDSAXPARSER_VALIDATION
49765     if ( mValidate )
49766     {
49767 
49768         bool validationResult = _validateBegin__profile_GLSL__technique__pass__stencil_func( attributes, attributeDataPtr, validationDataPtr );
49769         if ( !validationResult ) return false;
49770 
49771     } // validation
49772 #endif
49773 
49774     return true;
49775 }
49776 
49777 //---------------------------------------------------------------------
_preEnd__profile_GLSL__technique__pass__stencil_func()49778 bool ColladaParserAutoGen14Private::_preEnd__profile_GLSL__technique__pass__stencil_func()
49779 {
49780 #ifdef GENERATEDSAXPARSER_VALIDATION
49781     if ( mValidate )
49782     {
49783 
49784         bool validationResult = _validateEnd__profile_GLSL__technique__pass__stencil_func();
49785         if ( !validationResult ) return false;
49786 
49787     } // validation
49788 #endif
49789 
49790     return true;
49791 }
49792 
49793 //---------------------------------------------------------------------
_freeAttributes__profile_GLSL__technique__pass__stencil_func(void * attributeData)49794 bool ColladaParserAutoGen14Private::_freeAttributes__profile_GLSL__technique__pass__stencil_func( void* attributeData )
49795 {
49796     return true;
49797 }
49798 
49799 //---------------------------------------------------------------------
49800 const profile_GLSL__technique__pass__stencil_func__func__AttributeData profile_GLSL__technique__pass__stencil_func__func__AttributeData::DEFAULT = {ENUM__gl_func_type__ALWAYS, 0};
49801 
49802 //---------------------------------------------------------------------
_data__profile_GLSL__technique__pass__stencil_func__func(const ParserChar * text,size_t textLength)49803 bool ColladaParserAutoGen14Private::_data__profile_GLSL__technique__pass__stencil_func__func( const ParserChar* text, size_t textLength )
49804 {
49805     return true;
49806 }
49807 
49808 //---------------------------------------------------------------------
_preBegin__profile_GLSL__technique__pass__stencil_func__func(const ParserAttributes & attributes,void ** attributeDataPtr,void ** validationDataPtr)49809 bool ColladaParserAutoGen14Private::_preBegin__profile_GLSL__technique__pass__stencil_func__func( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
49810 {
49811 #ifdef GENERATEDSAXPARSER_VALIDATION
49812     if ( mValidate )
49813     {
49814 
49815         bool validationResult = _validateBegin__profile_GLSL__technique__pass__stencil_func__func( attributes, attributeDataPtr, validationDataPtr );
49816         if ( !validationResult ) return false;
49817 
49818     } // validation
49819 #endif
49820 
49821 profile_GLSL__technique__pass__stencil_func__func__AttributeData* attributeData = newData<profile_GLSL__technique__pass__stencil_func__func__AttributeData>(attributeDataPtr);
49822 
49823 const ParserChar** attributeArray = attributes.attributes;
49824 if ( attributeArray )
49825 {
49826     while (true)
49827     {
49828         const ParserChar * attribute = *attributeArray;
49829         if ( !attribute )
49830             break;
49831         StringHash hash = GeneratedSaxParser::Utils::calculateStringHash(attribute);
49832         attributeArray++;
49833         if ( !attributeArray )
49834             return false;
49835         const ParserChar* attributeValue = *attributeArray;
49836         attributeArray++;
49837 
49838 
49839     switch ( hash )
49840     {
49841     case HASH_ATTRIBUTE_value:
49842     {
49843 bool failed;
49844 attributeData->value = Utils::toEnum<ENUM__gl_func_type, StringHash, ENUM__gl_func_type__COUNT>(attributeValue, failed, ENUM__gl_func_typeMap, Utils::calculateStringHash);
49845 if ( failed && handleError(ParserError::SEVERITY_ERROR_NONCRITICAL,
49846         ParserError::ERROR_ATTRIBUTE_PARSING_FAILED,
49847         HASH_ELEMENT_FUNC,
49848         HASH_ATTRIBUTE_value,
49849         attributeValue))
49850 {
49851     return false;
49852 }
49853 
49854     break;
49855     }
49856     case HASH_ATTRIBUTE_param:
49857     {
49858 
49859 attributeData->param = attributeValue;
49860 #ifdef GENERATEDSAXPARSER_VALIDATION
49861     if ( mValidate )
49862     {
49863     ParserError::ErrorType simpleTypeValidationResult = validate__NCName(attributeData->param, strlen(attributeData->param));
49864     if (simpleTypeValidationResult != ParserError::SIMPLE_TYPE_VALIDATION_OK)
49865     {
49866         if( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL,
49867             simpleTypeValidationResult,
49868             HASH_ELEMENT_FUNC,
49869             HASH_ATTRIBUTE_param,
49870             attributeValue) )
49871         {
49872             return false;
49873         }
49874     }
49875     } // validation
49876 #endif
49877 
49878     break;
49879     }
49880     default:
49881     {
49882         if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_UNKNOWN_ATTRIBUTE, HASH_ELEMENT_FUNC, attribute, attributeValue))
49883             {return false;}
49884     }
49885     }
49886     }
49887 }
49888 
49889 
49890     return true;
49891 }
49892 
49893 //---------------------------------------------------------------------
_preEnd__profile_GLSL__technique__pass__stencil_func__func()49894 bool ColladaParserAutoGen14Private::_preEnd__profile_GLSL__technique__pass__stencil_func__func()
49895 {
49896 #ifdef GENERATEDSAXPARSER_VALIDATION
49897     if ( mValidate )
49898     {
49899 
49900         bool validationResult = _validateEnd__profile_GLSL__technique__pass__stencil_func__func();
49901         if ( !validationResult ) return false;
49902 
49903     } // validation
49904 #endif
49905 
49906     return true;
49907 }
49908 
49909 //---------------------------------------------------------------------
_freeAttributes__profile_GLSL__technique__pass__stencil_func__func(void * attributeData)49910 bool ColladaParserAutoGen14Private::_freeAttributes__profile_GLSL__technique__pass__stencil_func__func( void* attributeData )
49911 {
49912     profile_GLSL__technique__pass__stencil_func__func__AttributeData* typedAttributeData = static_cast<profile_GLSL__technique__pass__stencil_func__func__AttributeData*>(attributeData);
49913 
49914     typedAttributeData->~profile_GLSL__technique__pass__stencil_func__func__AttributeData();
49915 
49916     return true;
49917 }
49918 
49919 //---------------------------------------------------------------------
49920 const profile_GLSL__technique__pass__stencil_func__ref__AttributeData profile_GLSL__technique__pass__stencil_func__ref__AttributeData::DEFAULT = {0, 0};
49921 
49922 //---------------------------------------------------------------------
_data__profile_GLSL__technique__pass__stencil_func__ref(const ParserChar * text,size_t textLength)49923 bool ColladaParserAutoGen14Private::_data__profile_GLSL__technique__pass__stencil_func__ref( const ParserChar* text, size_t textLength )
49924 {
49925     return true;
49926 }
49927 
49928 //---------------------------------------------------------------------
_preBegin__profile_GLSL__technique__pass__stencil_func__ref(const ParserAttributes & attributes,void ** attributeDataPtr,void ** validationDataPtr)49929 bool ColladaParserAutoGen14Private::_preBegin__profile_GLSL__technique__pass__stencil_func__ref( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
49930 {
49931 #ifdef GENERATEDSAXPARSER_VALIDATION
49932     if ( mValidate )
49933     {
49934 
49935         bool validationResult = _validateBegin__profile_GLSL__technique__pass__stencil_func__ref( attributes, attributeDataPtr, validationDataPtr );
49936         if ( !validationResult ) return false;
49937 
49938     } // validation
49939 #endif
49940 
49941 profile_GLSL__technique__pass__stencil_func__ref__AttributeData* attributeData = newData<profile_GLSL__technique__pass__stencil_func__ref__AttributeData>(attributeDataPtr);
49942 
49943 const ParserChar** attributeArray = attributes.attributes;
49944 if ( attributeArray )
49945 {
49946     while (true)
49947     {
49948         const ParserChar * attribute = *attributeArray;
49949         if ( !attribute )
49950             break;
49951         StringHash hash = GeneratedSaxParser::Utils::calculateStringHash(attribute);
49952         attributeArray++;
49953         if ( !attributeArray )
49954             return false;
49955         const ParserChar* attributeValue = *attributeArray;
49956         attributeArray++;
49957 
49958 
49959     switch ( hash )
49960     {
49961     case HASH_ATTRIBUTE_value:
49962     {
49963 bool failed;
49964 attributeData->value = GeneratedSaxParser::Utils::toUint8(attributeValue, failed);
49965 if ( failed && handleError(ParserError::SEVERITY_ERROR_NONCRITICAL,
49966         ParserError::ERROR_ATTRIBUTE_PARSING_FAILED,
49967         HASH_ELEMENT_REF,
49968         HASH_ATTRIBUTE_value,
49969         attributeValue))
49970 {
49971     return false;
49972 }
49973 
49974     break;
49975     }
49976     case HASH_ATTRIBUTE_param:
49977     {
49978 
49979 attributeData->param = attributeValue;
49980 #ifdef GENERATEDSAXPARSER_VALIDATION
49981     if ( mValidate )
49982     {
49983     ParserError::ErrorType simpleTypeValidationResult = validate__NCName(attributeData->param, strlen(attributeData->param));
49984     if (simpleTypeValidationResult != ParserError::SIMPLE_TYPE_VALIDATION_OK)
49985     {
49986         if( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL,
49987             simpleTypeValidationResult,
49988             HASH_ELEMENT_REF,
49989             HASH_ATTRIBUTE_param,
49990             attributeValue) )
49991         {
49992             return false;
49993         }
49994     }
49995     } // validation
49996 #endif
49997 
49998     break;
49999     }
50000     default:
50001     {
50002         if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_UNKNOWN_ATTRIBUTE, HASH_ELEMENT_REF, attribute, attributeValue))
50003             {return false;}
50004     }
50005     }
50006     }
50007 }
50008 
50009 
50010     return true;
50011 }
50012 
50013 //---------------------------------------------------------------------
_preEnd__profile_GLSL__technique__pass__stencil_func__ref()50014 bool ColladaParserAutoGen14Private::_preEnd__profile_GLSL__technique__pass__stencil_func__ref()
50015 {
50016 #ifdef GENERATEDSAXPARSER_VALIDATION
50017     if ( mValidate )
50018     {
50019 
50020         bool validationResult = _validateEnd__profile_GLSL__technique__pass__stencil_func__ref();
50021         if ( !validationResult ) return false;
50022 
50023     } // validation
50024 #endif
50025 
50026     return true;
50027 }
50028 
50029 //---------------------------------------------------------------------
_freeAttributes__profile_GLSL__technique__pass__stencil_func__ref(void * attributeData)50030 bool ColladaParserAutoGen14Private::_freeAttributes__profile_GLSL__technique__pass__stencil_func__ref( void* attributeData )
50031 {
50032     profile_GLSL__technique__pass__stencil_func__ref__AttributeData* typedAttributeData = static_cast<profile_GLSL__technique__pass__stencil_func__ref__AttributeData*>(attributeData);
50033 
50034     typedAttributeData->~profile_GLSL__technique__pass__stencil_func__ref__AttributeData();
50035 
50036     return true;
50037 }
50038 
50039 //---------------------------------------------------------------------
50040 const profile_GLSL__technique__pass__stencil_func__mask__AttributeData profile_GLSL__technique__pass__stencil_func__mask__AttributeData::DEFAULT = {255, 0};
50041 
50042 //---------------------------------------------------------------------
_data__profile_GLSL__technique__pass__stencil_func__mask(const ParserChar * text,size_t textLength)50043 bool ColladaParserAutoGen14Private::_data__profile_GLSL__technique__pass__stencil_func__mask( const ParserChar* text, size_t textLength )
50044 {
50045     return true;
50046 }
50047 
50048 //---------------------------------------------------------------------
_preBegin__profile_GLSL__technique__pass__stencil_func__mask(const ParserAttributes & attributes,void ** attributeDataPtr,void ** validationDataPtr)50049 bool ColladaParserAutoGen14Private::_preBegin__profile_GLSL__technique__pass__stencil_func__mask( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
50050 {
50051 #ifdef GENERATEDSAXPARSER_VALIDATION
50052     if ( mValidate )
50053     {
50054 
50055         bool validationResult = _validateBegin__profile_GLSL__technique__pass__stencil_func__mask( attributes, attributeDataPtr, validationDataPtr );
50056         if ( !validationResult ) return false;
50057 
50058     } // validation
50059 #endif
50060 
50061 profile_GLSL__technique__pass__stencil_func__mask__AttributeData* attributeData = newData<profile_GLSL__technique__pass__stencil_func__mask__AttributeData>(attributeDataPtr);
50062 
50063 const ParserChar** attributeArray = attributes.attributes;
50064 if ( attributeArray )
50065 {
50066     while (true)
50067     {
50068         const ParserChar * attribute = *attributeArray;
50069         if ( !attribute )
50070             break;
50071         StringHash hash = GeneratedSaxParser::Utils::calculateStringHash(attribute);
50072         attributeArray++;
50073         if ( !attributeArray )
50074             return false;
50075         const ParserChar* attributeValue = *attributeArray;
50076         attributeArray++;
50077 
50078 
50079     switch ( hash )
50080     {
50081     case HASH_ATTRIBUTE_value:
50082     {
50083 bool failed;
50084 attributeData->value = GeneratedSaxParser::Utils::toUint8(attributeValue, failed);
50085 if ( failed && handleError(ParserError::SEVERITY_ERROR_NONCRITICAL,
50086         ParserError::ERROR_ATTRIBUTE_PARSING_FAILED,
50087         HASH_ELEMENT_MASK,
50088         HASH_ATTRIBUTE_value,
50089         attributeValue))
50090 {
50091     return false;
50092 }
50093 
50094     break;
50095     }
50096     case HASH_ATTRIBUTE_param:
50097     {
50098 
50099 attributeData->param = attributeValue;
50100 #ifdef GENERATEDSAXPARSER_VALIDATION
50101     if ( mValidate )
50102     {
50103     ParserError::ErrorType simpleTypeValidationResult = validate__NCName(attributeData->param, strlen(attributeData->param));
50104     if (simpleTypeValidationResult != ParserError::SIMPLE_TYPE_VALIDATION_OK)
50105     {
50106         if( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL,
50107             simpleTypeValidationResult,
50108             HASH_ELEMENT_MASK,
50109             HASH_ATTRIBUTE_param,
50110             attributeValue) )
50111         {
50112             return false;
50113         }
50114     }
50115     } // validation
50116 #endif
50117 
50118     break;
50119     }
50120     default:
50121     {
50122         if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_UNKNOWN_ATTRIBUTE, HASH_ELEMENT_MASK, attribute, attributeValue))
50123             {return false;}
50124     }
50125     }
50126     }
50127 }
50128 
50129 
50130     return true;
50131 }
50132 
50133 //---------------------------------------------------------------------
_preEnd__profile_GLSL__technique__pass__stencil_func__mask()50134 bool ColladaParserAutoGen14Private::_preEnd__profile_GLSL__technique__pass__stencil_func__mask()
50135 {
50136 #ifdef GENERATEDSAXPARSER_VALIDATION
50137     if ( mValidate )
50138     {
50139 
50140         bool validationResult = _validateEnd__profile_GLSL__technique__pass__stencil_func__mask();
50141         if ( !validationResult ) return false;
50142 
50143     } // validation
50144 #endif
50145 
50146     return true;
50147 }
50148 
50149 //---------------------------------------------------------------------
_freeAttributes__profile_GLSL__technique__pass__stencil_func__mask(void * attributeData)50150 bool ColladaParserAutoGen14Private::_freeAttributes__profile_GLSL__technique__pass__stencil_func__mask( void* attributeData )
50151 {
50152     profile_GLSL__technique__pass__stencil_func__mask__AttributeData* typedAttributeData = static_cast<profile_GLSL__technique__pass__stencil_func__mask__AttributeData*>(attributeData);
50153 
50154     typedAttributeData->~profile_GLSL__technique__pass__stencil_func__mask__AttributeData();
50155 
50156     return true;
50157 }
50158 
50159 //---------------------------------------------------------------------
_data__profile_GLSL__technique__pass__stencil_op(const ParserChar * text,size_t textLength)50160 bool ColladaParserAutoGen14Private::_data__profile_GLSL__technique__pass__stencil_op( const ParserChar* text, size_t textLength )
50161 {
50162     return true;
50163 }
50164 
50165 //---------------------------------------------------------------------
_preBegin__profile_GLSL__technique__pass__stencil_op(const ParserAttributes & attributes,void ** attributeDataPtr,void ** validationDataPtr)50166 bool ColladaParserAutoGen14Private::_preBegin__profile_GLSL__technique__pass__stencil_op( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
50167 {
50168 #ifdef GENERATEDSAXPARSER_VALIDATION
50169     if ( mValidate )
50170     {
50171 
50172         bool validationResult = _validateBegin__profile_GLSL__technique__pass__stencil_op( attributes, attributeDataPtr, validationDataPtr );
50173         if ( !validationResult ) return false;
50174 
50175     } // validation
50176 #endif
50177 
50178     return true;
50179 }
50180 
50181 //---------------------------------------------------------------------
_preEnd__profile_GLSL__technique__pass__stencil_op()50182 bool ColladaParserAutoGen14Private::_preEnd__profile_GLSL__technique__pass__stencil_op()
50183 {
50184 #ifdef GENERATEDSAXPARSER_VALIDATION
50185     if ( mValidate )
50186     {
50187 
50188         bool validationResult = _validateEnd__profile_GLSL__technique__pass__stencil_op();
50189         if ( !validationResult ) return false;
50190 
50191     } // validation
50192 #endif
50193 
50194     return true;
50195 }
50196 
50197 //---------------------------------------------------------------------
_freeAttributes__profile_GLSL__technique__pass__stencil_op(void * attributeData)50198 bool ColladaParserAutoGen14Private::_freeAttributes__profile_GLSL__technique__pass__stencil_op( void* attributeData )
50199 {
50200     return true;
50201 }
50202 
50203 //---------------------------------------------------------------------
50204 const profile_GLSL__technique__pass__stencil_op__fail__AttributeData profile_GLSL__technique__pass__stencil_op__fail__AttributeData::DEFAULT = {ENUM__gl_stencil_op_type__KEEP, 0};
50205 
50206 //---------------------------------------------------------------------
_data__profile_GLSL__technique__pass__stencil_op__fail(const ParserChar * text,size_t textLength)50207 bool ColladaParserAutoGen14Private::_data__profile_GLSL__technique__pass__stencil_op__fail( const ParserChar* text, size_t textLength )
50208 {
50209     return true;
50210 }
50211 
50212 //---------------------------------------------------------------------
_preBegin__profile_GLSL__technique__pass__stencil_op__fail(const ParserAttributes & attributes,void ** attributeDataPtr,void ** validationDataPtr)50213 bool ColladaParserAutoGen14Private::_preBegin__profile_GLSL__technique__pass__stencil_op__fail( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
50214 {
50215 #ifdef GENERATEDSAXPARSER_VALIDATION
50216     if ( mValidate )
50217     {
50218 
50219         bool validationResult = _validateBegin__profile_GLSL__technique__pass__stencil_op__fail( attributes, attributeDataPtr, validationDataPtr );
50220         if ( !validationResult ) return false;
50221 
50222     } // validation
50223 #endif
50224 
50225 profile_GLSL__technique__pass__stencil_op__fail__AttributeData* attributeData = newData<profile_GLSL__technique__pass__stencil_op__fail__AttributeData>(attributeDataPtr);
50226 
50227 const ParserChar** attributeArray = attributes.attributes;
50228 if ( attributeArray )
50229 {
50230     while (true)
50231     {
50232         const ParserChar * attribute = *attributeArray;
50233         if ( !attribute )
50234             break;
50235         StringHash hash = GeneratedSaxParser::Utils::calculateStringHash(attribute);
50236         attributeArray++;
50237         if ( !attributeArray )
50238             return false;
50239         const ParserChar* attributeValue = *attributeArray;
50240         attributeArray++;
50241 
50242 
50243     switch ( hash )
50244     {
50245     case HASH_ATTRIBUTE_value:
50246     {
50247 bool failed;
50248 attributeData->value = Utils::toEnum<ENUM__gl_stencil_op_type, StringHash, ENUM__gl_stencil_op_type__COUNT>(attributeValue, failed, ENUM__gl_stencil_op_typeMap, Utils::calculateStringHash);
50249 if ( failed && handleError(ParserError::SEVERITY_ERROR_NONCRITICAL,
50250         ParserError::ERROR_ATTRIBUTE_PARSING_FAILED,
50251         HASH_ELEMENT_FAIL,
50252         HASH_ATTRIBUTE_value,
50253         attributeValue))
50254 {
50255     return false;
50256 }
50257 
50258     break;
50259     }
50260     case HASH_ATTRIBUTE_param:
50261     {
50262 
50263 attributeData->param = attributeValue;
50264 #ifdef GENERATEDSAXPARSER_VALIDATION
50265     if ( mValidate )
50266     {
50267     ParserError::ErrorType simpleTypeValidationResult = validate__NCName(attributeData->param, strlen(attributeData->param));
50268     if (simpleTypeValidationResult != ParserError::SIMPLE_TYPE_VALIDATION_OK)
50269     {
50270         if( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL,
50271             simpleTypeValidationResult,
50272             HASH_ELEMENT_FAIL,
50273             HASH_ATTRIBUTE_param,
50274             attributeValue) )
50275         {
50276             return false;
50277         }
50278     }
50279     } // validation
50280 #endif
50281 
50282     break;
50283     }
50284     default:
50285     {
50286         if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_UNKNOWN_ATTRIBUTE, HASH_ELEMENT_FAIL, attribute, attributeValue))
50287             {return false;}
50288     }
50289     }
50290     }
50291 }
50292 
50293 
50294     return true;
50295 }
50296 
50297 //---------------------------------------------------------------------
_preEnd__profile_GLSL__technique__pass__stencil_op__fail()50298 bool ColladaParserAutoGen14Private::_preEnd__profile_GLSL__technique__pass__stencil_op__fail()
50299 {
50300 #ifdef GENERATEDSAXPARSER_VALIDATION
50301     if ( mValidate )
50302     {
50303 
50304         bool validationResult = _validateEnd__profile_GLSL__technique__pass__stencil_op__fail();
50305         if ( !validationResult ) return false;
50306 
50307     } // validation
50308 #endif
50309 
50310     return true;
50311 }
50312 
50313 //---------------------------------------------------------------------
_freeAttributes__profile_GLSL__technique__pass__stencil_op__fail(void * attributeData)50314 bool ColladaParserAutoGen14Private::_freeAttributes__profile_GLSL__technique__pass__stencil_op__fail( void* attributeData )
50315 {
50316     profile_GLSL__technique__pass__stencil_op__fail__AttributeData* typedAttributeData = static_cast<profile_GLSL__technique__pass__stencil_op__fail__AttributeData*>(attributeData);
50317 
50318     typedAttributeData->~profile_GLSL__technique__pass__stencil_op__fail__AttributeData();
50319 
50320     return true;
50321 }
50322 
50323 //---------------------------------------------------------------------
50324 const profile_GLSL__technique__pass__stencil_op__zfail__AttributeData profile_GLSL__technique__pass__stencil_op__zfail__AttributeData::DEFAULT = {ENUM__gl_stencil_op_type__KEEP, 0};
50325 
50326 //---------------------------------------------------------------------
_data__profile_GLSL__technique__pass__stencil_op__zfail(const ParserChar * text,size_t textLength)50327 bool ColladaParserAutoGen14Private::_data__profile_GLSL__technique__pass__stencil_op__zfail( const ParserChar* text, size_t textLength )
50328 {
50329     return true;
50330 }
50331 
50332 //---------------------------------------------------------------------
_preBegin__profile_GLSL__technique__pass__stencil_op__zfail(const ParserAttributes & attributes,void ** attributeDataPtr,void ** validationDataPtr)50333 bool ColladaParserAutoGen14Private::_preBegin__profile_GLSL__technique__pass__stencil_op__zfail( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
50334 {
50335 #ifdef GENERATEDSAXPARSER_VALIDATION
50336     if ( mValidate )
50337     {
50338 
50339         bool validationResult = _validateBegin__profile_GLSL__technique__pass__stencil_op__zfail( attributes, attributeDataPtr, validationDataPtr );
50340         if ( !validationResult ) return false;
50341 
50342     } // validation
50343 #endif
50344 
50345 profile_GLSL__technique__pass__stencil_op__zfail__AttributeData* attributeData = newData<profile_GLSL__technique__pass__stencil_op__zfail__AttributeData>(attributeDataPtr);
50346 
50347 const ParserChar** attributeArray = attributes.attributes;
50348 if ( attributeArray )
50349 {
50350     while (true)
50351     {
50352         const ParserChar * attribute = *attributeArray;
50353         if ( !attribute )
50354             break;
50355         StringHash hash = GeneratedSaxParser::Utils::calculateStringHash(attribute);
50356         attributeArray++;
50357         if ( !attributeArray )
50358             return false;
50359         const ParserChar* attributeValue = *attributeArray;
50360         attributeArray++;
50361 
50362 
50363     switch ( hash )
50364     {
50365     case HASH_ATTRIBUTE_value:
50366     {
50367 bool failed;
50368 attributeData->value = Utils::toEnum<ENUM__gl_stencil_op_type, StringHash, ENUM__gl_stencil_op_type__COUNT>(attributeValue, failed, ENUM__gl_stencil_op_typeMap, Utils::calculateStringHash);
50369 if ( failed && handleError(ParserError::SEVERITY_ERROR_NONCRITICAL,
50370         ParserError::ERROR_ATTRIBUTE_PARSING_FAILED,
50371         HASH_ELEMENT_ZFAIL,
50372         HASH_ATTRIBUTE_value,
50373         attributeValue))
50374 {
50375     return false;
50376 }
50377 
50378     break;
50379     }
50380     case HASH_ATTRIBUTE_param:
50381     {
50382 
50383 attributeData->param = attributeValue;
50384 #ifdef GENERATEDSAXPARSER_VALIDATION
50385     if ( mValidate )
50386     {
50387     ParserError::ErrorType simpleTypeValidationResult = validate__NCName(attributeData->param, strlen(attributeData->param));
50388     if (simpleTypeValidationResult != ParserError::SIMPLE_TYPE_VALIDATION_OK)
50389     {
50390         if( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL,
50391             simpleTypeValidationResult,
50392             HASH_ELEMENT_ZFAIL,
50393             HASH_ATTRIBUTE_param,
50394             attributeValue) )
50395         {
50396             return false;
50397         }
50398     }
50399     } // validation
50400 #endif
50401 
50402     break;
50403     }
50404     default:
50405     {
50406         if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_UNKNOWN_ATTRIBUTE, HASH_ELEMENT_ZFAIL, attribute, attributeValue))
50407             {return false;}
50408     }
50409     }
50410     }
50411 }
50412 
50413 
50414     return true;
50415 }
50416 
50417 //---------------------------------------------------------------------
_preEnd__profile_GLSL__technique__pass__stencil_op__zfail()50418 bool ColladaParserAutoGen14Private::_preEnd__profile_GLSL__technique__pass__stencil_op__zfail()
50419 {
50420 #ifdef GENERATEDSAXPARSER_VALIDATION
50421     if ( mValidate )
50422     {
50423 
50424         bool validationResult = _validateEnd__profile_GLSL__technique__pass__stencil_op__zfail();
50425         if ( !validationResult ) return false;
50426 
50427     } // validation
50428 #endif
50429 
50430     return true;
50431 }
50432 
50433 //---------------------------------------------------------------------
_freeAttributes__profile_GLSL__technique__pass__stencil_op__zfail(void * attributeData)50434 bool ColladaParserAutoGen14Private::_freeAttributes__profile_GLSL__technique__pass__stencil_op__zfail( void* attributeData )
50435 {
50436     profile_GLSL__technique__pass__stencil_op__zfail__AttributeData* typedAttributeData = static_cast<profile_GLSL__technique__pass__stencil_op__zfail__AttributeData*>(attributeData);
50437 
50438     typedAttributeData->~profile_GLSL__technique__pass__stencil_op__zfail__AttributeData();
50439 
50440     return true;
50441 }
50442 
50443 //---------------------------------------------------------------------
50444 const profile_GLSL__technique__pass__stencil_op__zpass__AttributeData profile_GLSL__technique__pass__stencil_op__zpass__AttributeData::DEFAULT = {ENUM__gl_stencil_op_type__KEEP, 0};
50445 
50446 //---------------------------------------------------------------------
_data__profile_GLSL__technique__pass__stencil_op__zpass(const ParserChar * text,size_t textLength)50447 bool ColladaParserAutoGen14Private::_data__profile_GLSL__technique__pass__stencil_op__zpass( const ParserChar* text, size_t textLength )
50448 {
50449     return true;
50450 }
50451 
50452 //---------------------------------------------------------------------
_preBegin__profile_GLSL__technique__pass__stencil_op__zpass(const ParserAttributes & attributes,void ** attributeDataPtr,void ** validationDataPtr)50453 bool ColladaParserAutoGen14Private::_preBegin__profile_GLSL__technique__pass__stencil_op__zpass( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
50454 {
50455 #ifdef GENERATEDSAXPARSER_VALIDATION
50456     if ( mValidate )
50457     {
50458 
50459         bool validationResult = _validateBegin__profile_GLSL__technique__pass__stencil_op__zpass( attributes, attributeDataPtr, validationDataPtr );
50460         if ( !validationResult ) return false;
50461 
50462     } // validation
50463 #endif
50464 
50465 profile_GLSL__technique__pass__stencil_op__zpass__AttributeData* attributeData = newData<profile_GLSL__technique__pass__stencil_op__zpass__AttributeData>(attributeDataPtr);
50466 
50467 const ParserChar** attributeArray = attributes.attributes;
50468 if ( attributeArray )
50469 {
50470     while (true)
50471     {
50472         const ParserChar * attribute = *attributeArray;
50473         if ( !attribute )
50474             break;
50475         StringHash hash = GeneratedSaxParser::Utils::calculateStringHash(attribute);
50476         attributeArray++;
50477         if ( !attributeArray )
50478             return false;
50479         const ParserChar* attributeValue = *attributeArray;
50480         attributeArray++;
50481 
50482 
50483     switch ( hash )
50484     {
50485     case HASH_ATTRIBUTE_value:
50486     {
50487 bool failed;
50488 attributeData->value = Utils::toEnum<ENUM__gl_stencil_op_type, StringHash, ENUM__gl_stencil_op_type__COUNT>(attributeValue, failed, ENUM__gl_stencil_op_typeMap, Utils::calculateStringHash);
50489 if ( failed && handleError(ParserError::SEVERITY_ERROR_NONCRITICAL,
50490         ParserError::ERROR_ATTRIBUTE_PARSING_FAILED,
50491         HASH_ELEMENT_ZPASS,
50492         HASH_ATTRIBUTE_value,
50493         attributeValue))
50494 {
50495     return false;
50496 }
50497 
50498     break;
50499     }
50500     case HASH_ATTRIBUTE_param:
50501     {
50502 
50503 attributeData->param = attributeValue;
50504 #ifdef GENERATEDSAXPARSER_VALIDATION
50505     if ( mValidate )
50506     {
50507     ParserError::ErrorType simpleTypeValidationResult = validate__NCName(attributeData->param, strlen(attributeData->param));
50508     if (simpleTypeValidationResult != ParserError::SIMPLE_TYPE_VALIDATION_OK)
50509     {
50510         if( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL,
50511             simpleTypeValidationResult,
50512             HASH_ELEMENT_ZPASS,
50513             HASH_ATTRIBUTE_param,
50514             attributeValue) )
50515         {
50516             return false;
50517         }
50518     }
50519     } // validation
50520 #endif
50521 
50522     break;
50523     }
50524     default:
50525     {
50526         if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_UNKNOWN_ATTRIBUTE, HASH_ELEMENT_ZPASS, attribute, attributeValue))
50527             {return false;}
50528     }
50529     }
50530     }
50531 }
50532 
50533 
50534     return true;
50535 }
50536 
50537 //---------------------------------------------------------------------
_preEnd__profile_GLSL__technique__pass__stencil_op__zpass()50538 bool ColladaParserAutoGen14Private::_preEnd__profile_GLSL__technique__pass__stencil_op__zpass()
50539 {
50540 #ifdef GENERATEDSAXPARSER_VALIDATION
50541     if ( mValidate )
50542     {
50543 
50544         bool validationResult = _validateEnd__profile_GLSL__technique__pass__stencil_op__zpass();
50545         if ( !validationResult ) return false;
50546 
50547     } // validation
50548 #endif
50549 
50550     return true;
50551 }
50552 
50553 //---------------------------------------------------------------------
_freeAttributes__profile_GLSL__technique__pass__stencil_op__zpass(void * attributeData)50554 bool ColladaParserAutoGen14Private::_freeAttributes__profile_GLSL__technique__pass__stencil_op__zpass( void* attributeData )
50555 {
50556     profile_GLSL__technique__pass__stencil_op__zpass__AttributeData* typedAttributeData = static_cast<profile_GLSL__technique__pass__stencil_op__zpass__AttributeData*>(attributeData);
50557 
50558     typedAttributeData->~profile_GLSL__technique__pass__stencil_op__zpass__AttributeData();
50559 
50560     return true;
50561 }
50562 
50563 //---------------------------------------------------------------------
_data__stencil_func_separate(const ParserChar * text,size_t textLength)50564 bool ColladaParserAutoGen14Private::_data__stencil_func_separate( const ParserChar* text, size_t textLength )
50565 {
50566     return true;
50567 }
50568 
50569 //---------------------------------------------------------------------
_preBegin__stencil_func_separate(const ParserAttributes & attributes,void ** attributeDataPtr,void ** validationDataPtr)50570 bool ColladaParserAutoGen14Private::_preBegin__stencil_func_separate( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
50571 {
50572 #ifdef GENERATEDSAXPARSER_VALIDATION
50573     if ( mValidate )
50574     {
50575 
50576         bool validationResult = _validateBegin__stencil_func_separate( attributes, attributeDataPtr, validationDataPtr );
50577         if ( !validationResult ) return false;
50578 
50579     } // validation
50580 #endif
50581 
50582     return true;
50583 }
50584 
50585 //---------------------------------------------------------------------
_preEnd__stencil_func_separate()50586 bool ColladaParserAutoGen14Private::_preEnd__stencil_func_separate()
50587 {
50588 #ifdef GENERATEDSAXPARSER_VALIDATION
50589     if ( mValidate )
50590     {
50591 
50592         bool validationResult = _validateEnd__stencil_func_separate();
50593         if ( !validationResult ) return false;
50594 
50595     } // validation
50596 #endif
50597 
50598     return true;
50599 }
50600 
50601 //---------------------------------------------------------------------
_freeAttributes__stencil_func_separate(void * attributeData)50602 bool ColladaParserAutoGen14Private::_freeAttributes__stencil_func_separate( void* attributeData )
50603 {
50604     return true;
50605 }
50606 
50607 //---------------------------------------------------------------------
50608 const front__AttributeData front__AttributeData::DEFAULT = {ENUM__gl_func_type__ALWAYS, 0};
50609 
50610 //---------------------------------------------------------------------
_data__front(const ParserChar * text,size_t textLength)50611 bool ColladaParserAutoGen14Private::_data__front( const ParserChar* text, size_t textLength )
50612 {
50613     return true;
50614 }
50615 
50616 //---------------------------------------------------------------------
_preBegin__front(const ParserAttributes & attributes,void ** attributeDataPtr,void ** validationDataPtr)50617 bool ColladaParserAutoGen14Private::_preBegin__front( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
50618 {
50619 #ifdef GENERATEDSAXPARSER_VALIDATION
50620     if ( mValidate )
50621     {
50622 
50623         bool validationResult = _validateBegin__front( attributes, attributeDataPtr, validationDataPtr );
50624         if ( !validationResult ) return false;
50625 
50626     } // validation
50627 #endif
50628 
50629 front__AttributeData* attributeData = newData<front__AttributeData>(attributeDataPtr);
50630 
50631 const ParserChar** attributeArray = attributes.attributes;
50632 if ( attributeArray )
50633 {
50634     while (true)
50635     {
50636         const ParserChar * attribute = *attributeArray;
50637         if ( !attribute )
50638             break;
50639         StringHash hash = GeneratedSaxParser::Utils::calculateStringHash(attribute);
50640         attributeArray++;
50641         if ( !attributeArray )
50642             return false;
50643         const ParserChar* attributeValue = *attributeArray;
50644         attributeArray++;
50645 
50646 
50647     switch ( hash )
50648     {
50649     case HASH_ATTRIBUTE_value:
50650     {
50651 bool failed;
50652 attributeData->value = Utils::toEnum<ENUM__gl_func_type, StringHash, ENUM__gl_func_type__COUNT>(attributeValue, failed, ENUM__gl_func_typeMap, Utils::calculateStringHash);
50653 if ( failed && handleError(ParserError::SEVERITY_ERROR_NONCRITICAL,
50654         ParserError::ERROR_ATTRIBUTE_PARSING_FAILED,
50655         HASH_ELEMENT_FRONT,
50656         HASH_ATTRIBUTE_value,
50657         attributeValue))
50658 {
50659     return false;
50660 }
50661 
50662     break;
50663     }
50664     case HASH_ATTRIBUTE_param:
50665     {
50666 
50667 attributeData->param = attributeValue;
50668 #ifdef GENERATEDSAXPARSER_VALIDATION
50669     if ( mValidate )
50670     {
50671     ParserError::ErrorType simpleTypeValidationResult = validate__NCName(attributeData->param, strlen(attributeData->param));
50672     if (simpleTypeValidationResult != ParserError::SIMPLE_TYPE_VALIDATION_OK)
50673     {
50674         if( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL,
50675             simpleTypeValidationResult,
50676             HASH_ELEMENT_FRONT,
50677             HASH_ATTRIBUTE_param,
50678             attributeValue) )
50679         {
50680             return false;
50681         }
50682     }
50683     } // validation
50684 #endif
50685 
50686     break;
50687     }
50688     default:
50689     {
50690         if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_UNKNOWN_ATTRIBUTE, HASH_ELEMENT_FRONT, attribute, attributeValue))
50691             {return false;}
50692     }
50693     }
50694     }
50695 }
50696 
50697 
50698     return true;
50699 }
50700 
50701 //---------------------------------------------------------------------
_preEnd__front()50702 bool ColladaParserAutoGen14Private::_preEnd__front()
50703 {
50704 #ifdef GENERATEDSAXPARSER_VALIDATION
50705     if ( mValidate )
50706     {
50707 
50708         bool validationResult = _validateEnd__front();
50709         if ( !validationResult ) return false;
50710 
50711     } // validation
50712 #endif
50713 
50714     return true;
50715 }
50716 
50717 //---------------------------------------------------------------------
_freeAttributes__front(void * attributeData)50718 bool ColladaParserAutoGen14Private::_freeAttributes__front( void* attributeData )
50719 {
50720     front__AttributeData* typedAttributeData = static_cast<front__AttributeData*>(attributeData);
50721 
50722     typedAttributeData->~front__AttributeData();
50723 
50724     return true;
50725 }
50726 
50727 //---------------------------------------------------------------------
50728 const back__AttributeData back__AttributeData::DEFAULT = {ENUM__gl_func_type__ALWAYS, 0};
50729 
50730 //---------------------------------------------------------------------
_data__back(const ParserChar * text,size_t textLength)50731 bool ColladaParserAutoGen14Private::_data__back( const ParserChar* text, size_t textLength )
50732 {
50733     return true;
50734 }
50735 
50736 //---------------------------------------------------------------------
_preBegin__back(const ParserAttributes & attributes,void ** attributeDataPtr,void ** validationDataPtr)50737 bool ColladaParserAutoGen14Private::_preBegin__back( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
50738 {
50739 #ifdef GENERATEDSAXPARSER_VALIDATION
50740     if ( mValidate )
50741     {
50742 
50743         bool validationResult = _validateBegin__back( attributes, attributeDataPtr, validationDataPtr );
50744         if ( !validationResult ) return false;
50745 
50746     } // validation
50747 #endif
50748 
50749 back__AttributeData* attributeData = newData<back__AttributeData>(attributeDataPtr);
50750 
50751 const ParserChar** attributeArray = attributes.attributes;
50752 if ( attributeArray )
50753 {
50754     while (true)
50755     {
50756         const ParserChar * attribute = *attributeArray;
50757         if ( !attribute )
50758             break;
50759         StringHash hash = GeneratedSaxParser::Utils::calculateStringHash(attribute);
50760         attributeArray++;
50761         if ( !attributeArray )
50762             return false;
50763         const ParserChar* attributeValue = *attributeArray;
50764         attributeArray++;
50765 
50766 
50767     switch ( hash )
50768     {
50769     case HASH_ATTRIBUTE_value:
50770     {
50771 bool failed;
50772 attributeData->value = Utils::toEnum<ENUM__gl_func_type, StringHash, ENUM__gl_func_type__COUNT>(attributeValue, failed, ENUM__gl_func_typeMap, Utils::calculateStringHash);
50773 if ( failed && handleError(ParserError::SEVERITY_ERROR_NONCRITICAL,
50774         ParserError::ERROR_ATTRIBUTE_PARSING_FAILED,
50775         HASH_ELEMENT_BACK,
50776         HASH_ATTRIBUTE_value,
50777         attributeValue))
50778 {
50779     return false;
50780 }
50781 
50782     break;
50783     }
50784     case HASH_ATTRIBUTE_param:
50785     {
50786 
50787 attributeData->param = attributeValue;
50788 #ifdef GENERATEDSAXPARSER_VALIDATION
50789     if ( mValidate )
50790     {
50791     ParserError::ErrorType simpleTypeValidationResult = validate__NCName(attributeData->param, strlen(attributeData->param));
50792     if (simpleTypeValidationResult != ParserError::SIMPLE_TYPE_VALIDATION_OK)
50793     {
50794         if( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL,
50795             simpleTypeValidationResult,
50796             HASH_ELEMENT_BACK,
50797             HASH_ATTRIBUTE_param,
50798             attributeValue) )
50799         {
50800             return false;
50801         }
50802     }
50803     } // validation
50804 #endif
50805 
50806     break;
50807     }
50808     default:
50809     {
50810         if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_UNKNOWN_ATTRIBUTE, HASH_ELEMENT_BACK, attribute, attributeValue))
50811             {return false;}
50812     }
50813     }
50814     }
50815 }
50816 
50817 
50818     return true;
50819 }
50820 
50821 //---------------------------------------------------------------------
_preEnd__back()50822 bool ColladaParserAutoGen14Private::_preEnd__back()
50823 {
50824 #ifdef GENERATEDSAXPARSER_VALIDATION
50825     if ( mValidate )
50826     {
50827 
50828         bool validationResult = _validateEnd__back();
50829         if ( !validationResult ) return false;
50830 
50831     } // validation
50832 #endif
50833 
50834     return true;
50835 }
50836 
50837 //---------------------------------------------------------------------
_freeAttributes__back(void * attributeData)50838 bool ColladaParserAutoGen14Private::_freeAttributes__back( void* attributeData )
50839 {
50840     back__AttributeData* typedAttributeData = static_cast<back__AttributeData*>(attributeData);
50841 
50842     typedAttributeData->~back__AttributeData();
50843 
50844     return true;
50845 }
50846 
50847 //---------------------------------------------------------------------
50848 const stencil_func_separate__ref__AttributeData stencil_func_separate__ref__AttributeData::DEFAULT = {0, 0};
50849 
50850 //---------------------------------------------------------------------
_data__stencil_func_separate__ref(const ParserChar * text,size_t textLength)50851 bool ColladaParserAutoGen14Private::_data__stencil_func_separate__ref( const ParserChar* text, size_t textLength )
50852 {
50853     return true;
50854 }
50855 
50856 //---------------------------------------------------------------------
_preBegin__stencil_func_separate__ref(const ParserAttributes & attributes,void ** attributeDataPtr,void ** validationDataPtr)50857 bool ColladaParserAutoGen14Private::_preBegin__stencil_func_separate__ref( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
50858 {
50859 #ifdef GENERATEDSAXPARSER_VALIDATION
50860     if ( mValidate )
50861     {
50862 
50863         bool validationResult = _validateBegin__stencil_func_separate__ref( attributes, attributeDataPtr, validationDataPtr );
50864         if ( !validationResult ) return false;
50865 
50866     } // validation
50867 #endif
50868 
50869 stencil_func_separate__ref__AttributeData* attributeData = newData<stencil_func_separate__ref__AttributeData>(attributeDataPtr);
50870 
50871 const ParserChar** attributeArray = attributes.attributes;
50872 if ( attributeArray )
50873 {
50874     while (true)
50875     {
50876         const ParserChar * attribute = *attributeArray;
50877         if ( !attribute )
50878             break;
50879         StringHash hash = GeneratedSaxParser::Utils::calculateStringHash(attribute);
50880         attributeArray++;
50881         if ( !attributeArray )
50882             return false;
50883         const ParserChar* attributeValue = *attributeArray;
50884         attributeArray++;
50885 
50886 
50887     switch ( hash )
50888     {
50889     case HASH_ATTRIBUTE_value:
50890     {
50891 bool failed;
50892 attributeData->value = GeneratedSaxParser::Utils::toUint8(attributeValue, failed);
50893 if ( failed && handleError(ParserError::SEVERITY_ERROR_NONCRITICAL,
50894         ParserError::ERROR_ATTRIBUTE_PARSING_FAILED,
50895         HASH_ELEMENT_REF,
50896         HASH_ATTRIBUTE_value,
50897         attributeValue))
50898 {
50899     return false;
50900 }
50901 
50902     break;
50903     }
50904     case HASH_ATTRIBUTE_param:
50905     {
50906 
50907 attributeData->param = attributeValue;
50908 #ifdef GENERATEDSAXPARSER_VALIDATION
50909     if ( mValidate )
50910     {
50911     ParserError::ErrorType simpleTypeValidationResult = validate__NCName(attributeData->param, strlen(attributeData->param));
50912     if (simpleTypeValidationResult != ParserError::SIMPLE_TYPE_VALIDATION_OK)
50913     {
50914         if( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL,
50915             simpleTypeValidationResult,
50916             HASH_ELEMENT_REF,
50917             HASH_ATTRIBUTE_param,
50918             attributeValue) )
50919         {
50920             return false;
50921         }
50922     }
50923     } // validation
50924 #endif
50925 
50926     break;
50927     }
50928     default:
50929     {
50930         if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_UNKNOWN_ATTRIBUTE, HASH_ELEMENT_REF, attribute, attributeValue))
50931             {return false;}
50932     }
50933     }
50934     }
50935 }
50936 
50937 
50938     return true;
50939 }
50940 
50941 //---------------------------------------------------------------------
_preEnd__stencil_func_separate__ref()50942 bool ColladaParserAutoGen14Private::_preEnd__stencil_func_separate__ref()
50943 {
50944 #ifdef GENERATEDSAXPARSER_VALIDATION
50945     if ( mValidate )
50946     {
50947 
50948         bool validationResult = _validateEnd__stencil_func_separate__ref();
50949         if ( !validationResult ) return false;
50950 
50951     } // validation
50952 #endif
50953 
50954     return true;
50955 }
50956 
50957 //---------------------------------------------------------------------
_freeAttributes__stencil_func_separate__ref(void * attributeData)50958 bool ColladaParserAutoGen14Private::_freeAttributes__stencil_func_separate__ref( void* attributeData )
50959 {
50960     stencil_func_separate__ref__AttributeData* typedAttributeData = static_cast<stencil_func_separate__ref__AttributeData*>(attributeData);
50961 
50962     typedAttributeData->~stencil_func_separate__ref__AttributeData();
50963 
50964     return true;
50965 }
50966 
50967 //---------------------------------------------------------------------
50968 const stencil_func_separate__mask__AttributeData stencil_func_separate__mask__AttributeData::DEFAULT = {255, 0};
50969 
50970 //---------------------------------------------------------------------
_data__stencil_func_separate__mask(const ParserChar * text,size_t textLength)50971 bool ColladaParserAutoGen14Private::_data__stencil_func_separate__mask( const ParserChar* text, size_t textLength )
50972 {
50973     return true;
50974 }
50975 
50976 //---------------------------------------------------------------------
_preBegin__stencil_func_separate__mask(const ParserAttributes & attributes,void ** attributeDataPtr,void ** validationDataPtr)50977 bool ColladaParserAutoGen14Private::_preBegin__stencil_func_separate__mask( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
50978 {
50979 #ifdef GENERATEDSAXPARSER_VALIDATION
50980     if ( mValidate )
50981     {
50982 
50983         bool validationResult = _validateBegin__stencil_func_separate__mask( attributes, attributeDataPtr, validationDataPtr );
50984         if ( !validationResult ) return false;
50985 
50986     } // validation
50987 #endif
50988 
50989 stencil_func_separate__mask__AttributeData* attributeData = newData<stencil_func_separate__mask__AttributeData>(attributeDataPtr);
50990 
50991 const ParserChar** attributeArray = attributes.attributes;
50992 if ( attributeArray )
50993 {
50994     while (true)
50995     {
50996         const ParserChar * attribute = *attributeArray;
50997         if ( !attribute )
50998             break;
50999         StringHash hash = GeneratedSaxParser::Utils::calculateStringHash(attribute);
51000         attributeArray++;
51001         if ( !attributeArray )
51002             return false;
51003         const ParserChar* attributeValue = *attributeArray;
51004         attributeArray++;
51005 
51006 
51007     switch ( hash )
51008     {
51009     case HASH_ATTRIBUTE_value:
51010     {
51011 bool failed;
51012 attributeData->value = GeneratedSaxParser::Utils::toUint8(attributeValue, failed);
51013 if ( failed && handleError(ParserError::SEVERITY_ERROR_NONCRITICAL,
51014         ParserError::ERROR_ATTRIBUTE_PARSING_FAILED,
51015         HASH_ELEMENT_MASK,
51016         HASH_ATTRIBUTE_value,
51017         attributeValue))
51018 {
51019     return false;
51020 }
51021 
51022     break;
51023     }
51024     case HASH_ATTRIBUTE_param:
51025     {
51026 
51027 attributeData->param = attributeValue;
51028 #ifdef GENERATEDSAXPARSER_VALIDATION
51029     if ( mValidate )
51030     {
51031     ParserError::ErrorType simpleTypeValidationResult = validate__NCName(attributeData->param, strlen(attributeData->param));
51032     if (simpleTypeValidationResult != ParserError::SIMPLE_TYPE_VALIDATION_OK)
51033     {
51034         if( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL,
51035             simpleTypeValidationResult,
51036             HASH_ELEMENT_MASK,
51037             HASH_ATTRIBUTE_param,
51038             attributeValue) )
51039         {
51040             return false;
51041         }
51042     }
51043     } // validation
51044 #endif
51045 
51046     break;
51047     }
51048     default:
51049     {
51050         if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_UNKNOWN_ATTRIBUTE, HASH_ELEMENT_MASK, attribute, attributeValue))
51051             {return false;}
51052     }
51053     }
51054     }
51055 }
51056 
51057 
51058     return true;
51059 }
51060 
51061 //---------------------------------------------------------------------
_preEnd__stencil_func_separate__mask()51062 bool ColladaParserAutoGen14Private::_preEnd__stencil_func_separate__mask()
51063 {
51064 #ifdef GENERATEDSAXPARSER_VALIDATION
51065     if ( mValidate )
51066     {
51067 
51068         bool validationResult = _validateEnd__stencil_func_separate__mask();
51069         if ( !validationResult ) return false;
51070 
51071     } // validation
51072 #endif
51073 
51074     return true;
51075 }
51076 
51077 //---------------------------------------------------------------------
_freeAttributes__stencil_func_separate__mask(void * attributeData)51078 bool ColladaParserAutoGen14Private::_freeAttributes__stencil_func_separate__mask( void* attributeData )
51079 {
51080     stencil_func_separate__mask__AttributeData* typedAttributeData = static_cast<stencil_func_separate__mask__AttributeData*>(attributeData);
51081 
51082     typedAttributeData->~stencil_func_separate__mask__AttributeData();
51083 
51084     return true;
51085 }
51086 
51087 //---------------------------------------------------------------------
_data__stencil_op_separate(const ParserChar * text,size_t textLength)51088 bool ColladaParserAutoGen14Private::_data__stencil_op_separate( const ParserChar* text, size_t textLength )
51089 {
51090     return true;
51091 }
51092 
51093 //---------------------------------------------------------------------
_preBegin__stencil_op_separate(const ParserAttributes & attributes,void ** attributeDataPtr,void ** validationDataPtr)51094 bool ColladaParserAutoGen14Private::_preBegin__stencil_op_separate( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
51095 {
51096 #ifdef GENERATEDSAXPARSER_VALIDATION
51097     if ( mValidate )
51098     {
51099 
51100         bool validationResult = _validateBegin__stencil_op_separate( attributes, attributeDataPtr, validationDataPtr );
51101         if ( !validationResult ) return false;
51102 
51103     } // validation
51104 #endif
51105 
51106     return true;
51107 }
51108 
51109 //---------------------------------------------------------------------
_preEnd__stencil_op_separate()51110 bool ColladaParserAutoGen14Private::_preEnd__stencil_op_separate()
51111 {
51112 #ifdef GENERATEDSAXPARSER_VALIDATION
51113     if ( mValidate )
51114     {
51115 
51116         bool validationResult = _validateEnd__stencil_op_separate();
51117         if ( !validationResult ) return false;
51118 
51119     } // validation
51120 #endif
51121 
51122     return true;
51123 }
51124 
51125 //---------------------------------------------------------------------
_freeAttributes__stencil_op_separate(void * attributeData)51126 bool ColladaParserAutoGen14Private::_freeAttributes__stencil_op_separate( void* attributeData )
51127 {
51128     return true;
51129 }
51130 
51131 //---------------------------------------------------------------------
51132 const stencil_op_separate__face__AttributeData stencil_op_separate__face__AttributeData::DEFAULT = {ENUM__gl_face_type__FRONT_AND_BACK, 0};
51133 
51134 //---------------------------------------------------------------------
_data__stencil_op_separate__face(const ParserChar * text,size_t textLength)51135 bool ColladaParserAutoGen14Private::_data__stencil_op_separate__face( const ParserChar* text, size_t textLength )
51136 {
51137     return true;
51138 }
51139 
51140 //---------------------------------------------------------------------
_preBegin__stencil_op_separate__face(const ParserAttributes & attributes,void ** attributeDataPtr,void ** validationDataPtr)51141 bool ColladaParserAutoGen14Private::_preBegin__stencil_op_separate__face( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
51142 {
51143 #ifdef GENERATEDSAXPARSER_VALIDATION
51144     if ( mValidate )
51145     {
51146 
51147         bool validationResult = _validateBegin__stencil_op_separate__face( attributes, attributeDataPtr, validationDataPtr );
51148         if ( !validationResult ) return false;
51149 
51150     } // validation
51151 #endif
51152 
51153 stencil_op_separate__face__AttributeData* attributeData = newData<stencil_op_separate__face__AttributeData>(attributeDataPtr);
51154 
51155 const ParserChar** attributeArray = attributes.attributes;
51156 if ( attributeArray )
51157 {
51158     while (true)
51159     {
51160         const ParserChar * attribute = *attributeArray;
51161         if ( !attribute )
51162             break;
51163         StringHash hash = GeneratedSaxParser::Utils::calculateStringHash(attribute);
51164         attributeArray++;
51165         if ( !attributeArray )
51166             return false;
51167         const ParserChar* attributeValue = *attributeArray;
51168         attributeArray++;
51169 
51170 
51171     switch ( hash )
51172     {
51173     case HASH_ATTRIBUTE_value:
51174     {
51175 bool failed;
51176 attributeData->value = Utils::toEnum<ENUM__gl_face_type, StringHash, ENUM__gl_face_type__COUNT>(attributeValue, failed, ENUM__gl_face_typeMap, Utils::calculateStringHash);
51177 if ( failed && handleError(ParserError::SEVERITY_ERROR_NONCRITICAL,
51178         ParserError::ERROR_ATTRIBUTE_PARSING_FAILED,
51179         HASH_ELEMENT_FACE,
51180         HASH_ATTRIBUTE_value,
51181         attributeValue))
51182 {
51183     return false;
51184 }
51185 
51186     break;
51187     }
51188     case HASH_ATTRIBUTE_param:
51189     {
51190 
51191 attributeData->param = attributeValue;
51192 #ifdef GENERATEDSAXPARSER_VALIDATION
51193     if ( mValidate )
51194     {
51195     ParserError::ErrorType simpleTypeValidationResult = validate__NCName(attributeData->param, strlen(attributeData->param));
51196     if (simpleTypeValidationResult != ParserError::SIMPLE_TYPE_VALIDATION_OK)
51197     {
51198         if( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL,
51199             simpleTypeValidationResult,
51200             HASH_ELEMENT_FACE,
51201             HASH_ATTRIBUTE_param,
51202             attributeValue) )
51203         {
51204             return false;
51205         }
51206     }
51207     } // validation
51208 #endif
51209 
51210     break;
51211     }
51212     default:
51213     {
51214         if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_UNKNOWN_ATTRIBUTE, HASH_ELEMENT_FACE, attribute, attributeValue))
51215             {return false;}
51216     }
51217     }
51218     }
51219 }
51220 
51221 
51222     return true;
51223 }
51224 
51225 //---------------------------------------------------------------------
_preEnd__stencil_op_separate__face()51226 bool ColladaParserAutoGen14Private::_preEnd__stencil_op_separate__face()
51227 {
51228 #ifdef GENERATEDSAXPARSER_VALIDATION
51229     if ( mValidate )
51230     {
51231 
51232         bool validationResult = _validateEnd__stencil_op_separate__face();
51233         if ( !validationResult ) return false;
51234 
51235     } // validation
51236 #endif
51237 
51238     return true;
51239 }
51240 
51241 //---------------------------------------------------------------------
_freeAttributes__stencil_op_separate__face(void * attributeData)51242 bool ColladaParserAutoGen14Private::_freeAttributes__stencil_op_separate__face( void* attributeData )
51243 {
51244     stencil_op_separate__face__AttributeData* typedAttributeData = static_cast<stencil_op_separate__face__AttributeData*>(attributeData);
51245 
51246     typedAttributeData->~stencil_op_separate__face__AttributeData();
51247 
51248     return true;
51249 }
51250 
51251 //---------------------------------------------------------------------
51252 const stencil_op_separate__fail__AttributeData stencil_op_separate__fail__AttributeData::DEFAULT = {ENUM__gl_stencil_op_type__KEEP, 0};
51253 
51254 //---------------------------------------------------------------------
_data__stencil_op_separate__fail(const ParserChar * text,size_t textLength)51255 bool ColladaParserAutoGen14Private::_data__stencil_op_separate__fail( const ParserChar* text, size_t textLength )
51256 {
51257     return true;
51258 }
51259 
51260 //---------------------------------------------------------------------
_preBegin__stencil_op_separate__fail(const ParserAttributes & attributes,void ** attributeDataPtr,void ** validationDataPtr)51261 bool ColladaParserAutoGen14Private::_preBegin__stencil_op_separate__fail( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
51262 {
51263 #ifdef GENERATEDSAXPARSER_VALIDATION
51264     if ( mValidate )
51265     {
51266 
51267         bool validationResult = _validateBegin__stencil_op_separate__fail( attributes, attributeDataPtr, validationDataPtr );
51268         if ( !validationResult ) return false;
51269 
51270     } // validation
51271 #endif
51272 
51273 stencil_op_separate__fail__AttributeData* attributeData = newData<stencil_op_separate__fail__AttributeData>(attributeDataPtr);
51274 
51275 const ParserChar** attributeArray = attributes.attributes;
51276 if ( attributeArray )
51277 {
51278     while (true)
51279     {
51280         const ParserChar * attribute = *attributeArray;
51281         if ( !attribute )
51282             break;
51283         StringHash hash = GeneratedSaxParser::Utils::calculateStringHash(attribute);
51284         attributeArray++;
51285         if ( !attributeArray )
51286             return false;
51287         const ParserChar* attributeValue = *attributeArray;
51288         attributeArray++;
51289 
51290 
51291     switch ( hash )
51292     {
51293     case HASH_ATTRIBUTE_value:
51294     {
51295 bool failed;
51296 attributeData->value = Utils::toEnum<ENUM__gl_stencil_op_type, StringHash, ENUM__gl_stencil_op_type__COUNT>(attributeValue, failed, ENUM__gl_stencil_op_typeMap, Utils::calculateStringHash);
51297 if ( failed && handleError(ParserError::SEVERITY_ERROR_NONCRITICAL,
51298         ParserError::ERROR_ATTRIBUTE_PARSING_FAILED,
51299         HASH_ELEMENT_FAIL,
51300         HASH_ATTRIBUTE_value,
51301         attributeValue))
51302 {
51303     return false;
51304 }
51305 
51306     break;
51307     }
51308     case HASH_ATTRIBUTE_param:
51309     {
51310 
51311 attributeData->param = attributeValue;
51312 #ifdef GENERATEDSAXPARSER_VALIDATION
51313     if ( mValidate )
51314     {
51315     ParserError::ErrorType simpleTypeValidationResult = validate__NCName(attributeData->param, strlen(attributeData->param));
51316     if (simpleTypeValidationResult != ParserError::SIMPLE_TYPE_VALIDATION_OK)
51317     {
51318         if( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL,
51319             simpleTypeValidationResult,
51320             HASH_ELEMENT_FAIL,
51321             HASH_ATTRIBUTE_param,
51322             attributeValue) )
51323         {
51324             return false;
51325         }
51326     }
51327     } // validation
51328 #endif
51329 
51330     break;
51331     }
51332     default:
51333     {
51334         if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_UNKNOWN_ATTRIBUTE, HASH_ELEMENT_FAIL, attribute, attributeValue))
51335             {return false;}
51336     }
51337     }
51338     }
51339 }
51340 
51341 
51342     return true;
51343 }
51344 
51345 //---------------------------------------------------------------------
_preEnd__stencil_op_separate__fail()51346 bool ColladaParserAutoGen14Private::_preEnd__stencil_op_separate__fail()
51347 {
51348 #ifdef GENERATEDSAXPARSER_VALIDATION
51349     if ( mValidate )
51350     {
51351 
51352         bool validationResult = _validateEnd__stencil_op_separate__fail();
51353         if ( !validationResult ) return false;
51354 
51355     } // validation
51356 #endif
51357 
51358     return true;
51359 }
51360 
51361 //---------------------------------------------------------------------
_freeAttributes__stencil_op_separate__fail(void * attributeData)51362 bool ColladaParserAutoGen14Private::_freeAttributes__stencil_op_separate__fail( void* attributeData )
51363 {
51364     stencil_op_separate__fail__AttributeData* typedAttributeData = static_cast<stencil_op_separate__fail__AttributeData*>(attributeData);
51365 
51366     typedAttributeData->~stencil_op_separate__fail__AttributeData();
51367 
51368     return true;
51369 }
51370 
51371 //---------------------------------------------------------------------
51372 const stencil_op_separate__zfail__AttributeData stencil_op_separate__zfail__AttributeData::DEFAULT = {ENUM__gl_stencil_op_type__KEEP, 0};
51373 
51374 //---------------------------------------------------------------------
_data__stencil_op_separate__zfail(const ParserChar * text,size_t textLength)51375 bool ColladaParserAutoGen14Private::_data__stencil_op_separate__zfail( const ParserChar* text, size_t textLength )
51376 {
51377     return true;
51378 }
51379 
51380 //---------------------------------------------------------------------
_preBegin__stencil_op_separate__zfail(const ParserAttributes & attributes,void ** attributeDataPtr,void ** validationDataPtr)51381 bool ColladaParserAutoGen14Private::_preBegin__stencil_op_separate__zfail( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
51382 {
51383 #ifdef GENERATEDSAXPARSER_VALIDATION
51384     if ( mValidate )
51385     {
51386 
51387         bool validationResult = _validateBegin__stencil_op_separate__zfail( attributes, attributeDataPtr, validationDataPtr );
51388         if ( !validationResult ) return false;
51389 
51390     } // validation
51391 #endif
51392 
51393 stencil_op_separate__zfail__AttributeData* attributeData = newData<stencil_op_separate__zfail__AttributeData>(attributeDataPtr);
51394 
51395 const ParserChar** attributeArray = attributes.attributes;
51396 if ( attributeArray )
51397 {
51398     while (true)
51399     {
51400         const ParserChar * attribute = *attributeArray;
51401         if ( !attribute )
51402             break;
51403         StringHash hash = GeneratedSaxParser::Utils::calculateStringHash(attribute);
51404         attributeArray++;
51405         if ( !attributeArray )
51406             return false;
51407         const ParserChar* attributeValue = *attributeArray;
51408         attributeArray++;
51409 
51410 
51411     switch ( hash )
51412     {
51413     case HASH_ATTRIBUTE_value:
51414     {
51415 bool failed;
51416 attributeData->value = Utils::toEnum<ENUM__gl_stencil_op_type, StringHash, ENUM__gl_stencil_op_type__COUNT>(attributeValue, failed, ENUM__gl_stencil_op_typeMap, Utils::calculateStringHash);
51417 if ( failed && handleError(ParserError::SEVERITY_ERROR_NONCRITICAL,
51418         ParserError::ERROR_ATTRIBUTE_PARSING_FAILED,
51419         HASH_ELEMENT_ZFAIL,
51420         HASH_ATTRIBUTE_value,
51421         attributeValue))
51422 {
51423     return false;
51424 }
51425 
51426     break;
51427     }
51428     case HASH_ATTRIBUTE_param:
51429     {
51430 
51431 attributeData->param = attributeValue;
51432 #ifdef GENERATEDSAXPARSER_VALIDATION
51433     if ( mValidate )
51434     {
51435     ParserError::ErrorType simpleTypeValidationResult = validate__NCName(attributeData->param, strlen(attributeData->param));
51436     if (simpleTypeValidationResult != ParserError::SIMPLE_TYPE_VALIDATION_OK)
51437     {
51438         if( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL,
51439             simpleTypeValidationResult,
51440             HASH_ELEMENT_ZFAIL,
51441             HASH_ATTRIBUTE_param,
51442             attributeValue) )
51443         {
51444             return false;
51445         }
51446     }
51447     } // validation
51448 #endif
51449 
51450     break;
51451     }
51452     default:
51453     {
51454         if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_UNKNOWN_ATTRIBUTE, HASH_ELEMENT_ZFAIL, attribute, attributeValue))
51455             {return false;}
51456     }
51457     }
51458     }
51459 }
51460 
51461 
51462     return true;
51463 }
51464 
51465 //---------------------------------------------------------------------
_preEnd__stencil_op_separate__zfail()51466 bool ColladaParserAutoGen14Private::_preEnd__stencil_op_separate__zfail()
51467 {
51468 #ifdef GENERATEDSAXPARSER_VALIDATION
51469     if ( mValidate )
51470     {
51471 
51472         bool validationResult = _validateEnd__stencil_op_separate__zfail();
51473         if ( !validationResult ) return false;
51474 
51475     } // validation
51476 #endif
51477 
51478     return true;
51479 }
51480 
51481 //---------------------------------------------------------------------
_freeAttributes__stencil_op_separate__zfail(void * attributeData)51482 bool ColladaParserAutoGen14Private::_freeAttributes__stencil_op_separate__zfail( void* attributeData )
51483 {
51484     stencil_op_separate__zfail__AttributeData* typedAttributeData = static_cast<stencil_op_separate__zfail__AttributeData*>(attributeData);
51485 
51486     typedAttributeData->~stencil_op_separate__zfail__AttributeData();
51487 
51488     return true;
51489 }
51490 
51491 //---------------------------------------------------------------------
51492 const stencil_op_separate__zpass__AttributeData stencil_op_separate__zpass__AttributeData::DEFAULT = {ENUM__gl_stencil_op_type__KEEP, 0};
51493 
51494 //---------------------------------------------------------------------
_data__stencil_op_separate__zpass(const ParserChar * text,size_t textLength)51495 bool ColladaParserAutoGen14Private::_data__stencil_op_separate__zpass( const ParserChar* text, size_t textLength )
51496 {
51497     return true;
51498 }
51499 
51500 //---------------------------------------------------------------------
_preBegin__stencil_op_separate__zpass(const ParserAttributes & attributes,void ** attributeDataPtr,void ** validationDataPtr)51501 bool ColladaParserAutoGen14Private::_preBegin__stencil_op_separate__zpass( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
51502 {
51503 #ifdef GENERATEDSAXPARSER_VALIDATION
51504     if ( mValidate )
51505     {
51506 
51507         bool validationResult = _validateBegin__stencil_op_separate__zpass( attributes, attributeDataPtr, validationDataPtr );
51508         if ( !validationResult ) return false;
51509 
51510     } // validation
51511 #endif
51512 
51513 stencil_op_separate__zpass__AttributeData* attributeData = newData<stencil_op_separate__zpass__AttributeData>(attributeDataPtr);
51514 
51515 const ParserChar** attributeArray = attributes.attributes;
51516 if ( attributeArray )
51517 {
51518     while (true)
51519     {
51520         const ParserChar * attribute = *attributeArray;
51521         if ( !attribute )
51522             break;
51523         StringHash hash = GeneratedSaxParser::Utils::calculateStringHash(attribute);
51524         attributeArray++;
51525         if ( !attributeArray )
51526             return false;
51527         const ParserChar* attributeValue = *attributeArray;
51528         attributeArray++;
51529 
51530 
51531     switch ( hash )
51532     {
51533     case HASH_ATTRIBUTE_value:
51534     {
51535 bool failed;
51536 attributeData->value = Utils::toEnum<ENUM__gl_stencil_op_type, StringHash, ENUM__gl_stencil_op_type__COUNT>(attributeValue, failed, ENUM__gl_stencil_op_typeMap, Utils::calculateStringHash);
51537 if ( failed && handleError(ParserError::SEVERITY_ERROR_NONCRITICAL,
51538         ParserError::ERROR_ATTRIBUTE_PARSING_FAILED,
51539         HASH_ELEMENT_ZPASS,
51540         HASH_ATTRIBUTE_value,
51541         attributeValue))
51542 {
51543     return false;
51544 }
51545 
51546     break;
51547     }
51548     case HASH_ATTRIBUTE_param:
51549     {
51550 
51551 attributeData->param = attributeValue;
51552 #ifdef GENERATEDSAXPARSER_VALIDATION
51553     if ( mValidate )
51554     {
51555     ParserError::ErrorType simpleTypeValidationResult = validate__NCName(attributeData->param, strlen(attributeData->param));
51556     if (simpleTypeValidationResult != ParserError::SIMPLE_TYPE_VALIDATION_OK)
51557     {
51558         if( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL,
51559             simpleTypeValidationResult,
51560             HASH_ELEMENT_ZPASS,
51561             HASH_ATTRIBUTE_param,
51562             attributeValue) )
51563         {
51564             return false;
51565         }
51566     }
51567     } // validation
51568 #endif
51569 
51570     break;
51571     }
51572     default:
51573     {
51574         if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_UNKNOWN_ATTRIBUTE, HASH_ELEMENT_ZPASS, attribute, attributeValue))
51575             {return false;}
51576     }
51577     }
51578     }
51579 }
51580 
51581 
51582     return true;
51583 }
51584 
51585 //---------------------------------------------------------------------
_preEnd__stencil_op_separate__zpass()51586 bool ColladaParserAutoGen14Private::_preEnd__stencil_op_separate__zpass()
51587 {
51588 #ifdef GENERATEDSAXPARSER_VALIDATION
51589     if ( mValidate )
51590     {
51591 
51592         bool validationResult = _validateEnd__stencil_op_separate__zpass();
51593         if ( !validationResult ) return false;
51594 
51595     } // validation
51596 #endif
51597 
51598     return true;
51599 }
51600 
51601 //---------------------------------------------------------------------
_freeAttributes__stencil_op_separate__zpass(void * attributeData)51602 bool ColladaParserAutoGen14Private::_freeAttributes__stencil_op_separate__zpass( void* attributeData )
51603 {
51604     stencil_op_separate__zpass__AttributeData* typedAttributeData = static_cast<stencil_op_separate__zpass__AttributeData*>(attributeData);
51605 
51606     typedAttributeData->~stencil_op_separate__zpass__AttributeData();
51607 
51608     return true;
51609 }
51610 
51611 //---------------------------------------------------------------------
_data__stencil_mask_separate(const ParserChar * text,size_t textLength)51612 bool ColladaParserAutoGen14Private::_data__stencil_mask_separate( const ParserChar* text, size_t textLength )
51613 {
51614     return true;
51615 }
51616 
51617 //---------------------------------------------------------------------
_preBegin__stencil_mask_separate(const ParserAttributes & attributes,void ** attributeDataPtr,void ** validationDataPtr)51618 bool ColladaParserAutoGen14Private::_preBegin__stencil_mask_separate( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
51619 {
51620 #ifdef GENERATEDSAXPARSER_VALIDATION
51621     if ( mValidate )
51622     {
51623 
51624         bool validationResult = _validateBegin__stencil_mask_separate( attributes, attributeDataPtr, validationDataPtr );
51625         if ( !validationResult ) return false;
51626 
51627     } // validation
51628 #endif
51629 
51630     return true;
51631 }
51632 
51633 //---------------------------------------------------------------------
_preEnd__stencil_mask_separate()51634 bool ColladaParserAutoGen14Private::_preEnd__stencil_mask_separate()
51635 {
51636 #ifdef GENERATEDSAXPARSER_VALIDATION
51637     if ( mValidate )
51638     {
51639 
51640         bool validationResult = _validateEnd__stencil_mask_separate();
51641         if ( !validationResult ) return false;
51642 
51643     } // validation
51644 #endif
51645 
51646     return true;
51647 }
51648 
51649 //---------------------------------------------------------------------
_freeAttributes__stencil_mask_separate(void * attributeData)51650 bool ColladaParserAutoGen14Private::_freeAttributes__stencil_mask_separate( void* attributeData )
51651 {
51652     return true;
51653 }
51654 
51655 //---------------------------------------------------------------------
51656 const stencil_mask_separate__face__AttributeData stencil_mask_separate__face__AttributeData::DEFAULT = {ENUM__gl_face_type__FRONT_AND_BACK, 0};
51657 
51658 //---------------------------------------------------------------------
_data__stencil_mask_separate__face(const ParserChar * text,size_t textLength)51659 bool ColladaParserAutoGen14Private::_data__stencil_mask_separate__face( const ParserChar* text, size_t textLength )
51660 {
51661     return true;
51662 }
51663 
51664 //---------------------------------------------------------------------
_preBegin__stencil_mask_separate__face(const ParserAttributes & attributes,void ** attributeDataPtr,void ** validationDataPtr)51665 bool ColladaParserAutoGen14Private::_preBegin__stencil_mask_separate__face( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
51666 {
51667 #ifdef GENERATEDSAXPARSER_VALIDATION
51668     if ( mValidate )
51669     {
51670 
51671         bool validationResult = _validateBegin__stencil_mask_separate__face( attributes, attributeDataPtr, validationDataPtr );
51672         if ( !validationResult ) return false;
51673 
51674     } // validation
51675 #endif
51676 
51677 stencil_mask_separate__face__AttributeData* attributeData = newData<stencil_mask_separate__face__AttributeData>(attributeDataPtr);
51678 
51679 const ParserChar** attributeArray = attributes.attributes;
51680 if ( attributeArray )
51681 {
51682     while (true)
51683     {
51684         const ParserChar * attribute = *attributeArray;
51685         if ( !attribute )
51686             break;
51687         StringHash hash = GeneratedSaxParser::Utils::calculateStringHash(attribute);
51688         attributeArray++;
51689         if ( !attributeArray )
51690             return false;
51691         const ParserChar* attributeValue = *attributeArray;
51692         attributeArray++;
51693 
51694 
51695     switch ( hash )
51696     {
51697     case HASH_ATTRIBUTE_value:
51698     {
51699 bool failed;
51700 attributeData->value = Utils::toEnum<ENUM__gl_face_type, StringHash, ENUM__gl_face_type__COUNT>(attributeValue, failed, ENUM__gl_face_typeMap, Utils::calculateStringHash);
51701 if ( failed && handleError(ParserError::SEVERITY_ERROR_NONCRITICAL,
51702         ParserError::ERROR_ATTRIBUTE_PARSING_FAILED,
51703         HASH_ELEMENT_FACE,
51704         HASH_ATTRIBUTE_value,
51705         attributeValue))
51706 {
51707     return false;
51708 }
51709 
51710     break;
51711     }
51712     case HASH_ATTRIBUTE_param:
51713     {
51714 
51715 attributeData->param = attributeValue;
51716 #ifdef GENERATEDSAXPARSER_VALIDATION
51717     if ( mValidate )
51718     {
51719     ParserError::ErrorType simpleTypeValidationResult = validate__NCName(attributeData->param, strlen(attributeData->param));
51720     if (simpleTypeValidationResult != ParserError::SIMPLE_TYPE_VALIDATION_OK)
51721     {
51722         if( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL,
51723             simpleTypeValidationResult,
51724             HASH_ELEMENT_FACE,
51725             HASH_ATTRIBUTE_param,
51726             attributeValue) )
51727         {
51728             return false;
51729         }
51730     }
51731     } // validation
51732 #endif
51733 
51734     break;
51735     }
51736     default:
51737     {
51738         if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_UNKNOWN_ATTRIBUTE, HASH_ELEMENT_FACE, attribute, attributeValue))
51739             {return false;}
51740     }
51741     }
51742     }
51743 }
51744 
51745 
51746     return true;
51747 }
51748 
51749 //---------------------------------------------------------------------
_preEnd__stencil_mask_separate__face()51750 bool ColladaParserAutoGen14Private::_preEnd__stencil_mask_separate__face()
51751 {
51752 #ifdef GENERATEDSAXPARSER_VALIDATION
51753     if ( mValidate )
51754     {
51755 
51756         bool validationResult = _validateEnd__stencil_mask_separate__face();
51757         if ( !validationResult ) return false;
51758 
51759     } // validation
51760 #endif
51761 
51762     return true;
51763 }
51764 
51765 //---------------------------------------------------------------------
_freeAttributes__stencil_mask_separate__face(void * attributeData)51766 bool ColladaParserAutoGen14Private::_freeAttributes__stencil_mask_separate__face( void* attributeData )
51767 {
51768     stencil_mask_separate__face__AttributeData* typedAttributeData = static_cast<stencil_mask_separate__face__AttributeData*>(attributeData);
51769 
51770     typedAttributeData->~stencil_mask_separate__face__AttributeData();
51771 
51772     return true;
51773 }
51774 
51775 //---------------------------------------------------------------------
51776 const stencil_mask_separate__mask__AttributeData stencil_mask_separate__mask__AttributeData::DEFAULT = {255, 0};
51777 
51778 //---------------------------------------------------------------------
_data__stencil_mask_separate__mask(const ParserChar * text,size_t textLength)51779 bool ColladaParserAutoGen14Private::_data__stencil_mask_separate__mask( const ParserChar* text, size_t textLength )
51780 {
51781     return true;
51782 }
51783 
51784 //---------------------------------------------------------------------
_preBegin__stencil_mask_separate__mask(const ParserAttributes & attributes,void ** attributeDataPtr,void ** validationDataPtr)51785 bool ColladaParserAutoGen14Private::_preBegin__stencil_mask_separate__mask( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
51786 {
51787 #ifdef GENERATEDSAXPARSER_VALIDATION
51788     if ( mValidate )
51789     {
51790 
51791         bool validationResult = _validateBegin__stencil_mask_separate__mask( attributes, attributeDataPtr, validationDataPtr );
51792         if ( !validationResult ) return false;
51793 
51794     } // validation
51795 #endif
51796 
51797 stencil_mask_separate__mask__AttributeData* attributeData = newData<stencil_mask_separate__mask__AttributeData>(attributeDataPtr);
51798 
51799 const ParserChar** attributeArray = attributes.attributes;
51800 if ( attributeArray )
51801 {
51802     while (true)
51803     {
51804         const ParserChar * attribute = *attributeArray;
51805         if ( !attribute )
51806             break;
51807         StringHash hash = GeneratedSaxParser::Utils::calculateStringHash(attribute);
51808         attributeArray++;
51809         if ( !attributeArray )
51810             return false;
51811         const ParserChar* attributeValue = *attributeArray;
51812         attributeArray++;
51813 
51814 
51815     switch ( hash )
51816     {
51817     case HASH_ATTRIBUTE_value:
51818     {
51819 bool failed;
51820 attributeData->value = GeneratedSaxParser::Utils::toUint8(attributeValue, failed);
51821 if ( failed && handleError(ParserError::SEVERITY_ERROR_NONCRITICAL,
51822         ParserError::ERROR_ATTRIBUTE_PARSING_FAILED,
51823         HASH_ELEMENT_MASK,
51824         HASH_ATTRIBUTE_value,
51825         attributeValue))
51826 {
51827     return false;
51828 }
51829 
51830     break;
51831     }
51832     case HASH_ATTRIBUTE_param:
51833     {
51834 
51835 attributeData->param = attributeValue;
51836 #ifdef GENERATEDSAXPARSER_VALIDATION
51837     if ( mValidate )
51838     {
51839     ParserError::ErrorType simpleTypeValidationResult = validate__NCName(attributeData->param, strlen(attributeData->param));
51840     if (simpleTypeValidationResult != ParserError::SIMPLE_TYPE_VALIDATION_OK)
51841     {
51842         if( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL,
51843             simpleTypeValidationResult,
51844             HASH_ELEMENT_MASK,
51845             HASH_ATTRIBUTE_param,
51846             attributeValue) )
51847         {
51848             return false;
51849         }
51850     }
51851     } // validation
51852 #endif
51853 
51854     break;
51855     }
51856     default:
51857     {
51858         if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_UNKNOWN_ATTRIBUTE, HASH_ELEMENT_MASK, attribute, attributeValue))
51859             {return false;}
51860     }
51861     }
51862     }
51863 }
51864 
51865 
51866     return true;
51867 }
51868 
51869 //---------------------------------------------------------------------
_preEnd__stencil_mask_separate__mask()51870 bool ColladaParserAutoGen14Private::_preEnd__stencil_mask_separate__mask()
51871 {
51872 #ifdef GENERATEDSAXPARSER_VALIDATION
51873     if ( mValidate )
51874     {
51875 
51876         bool validationResult = _validateEnd__stencil_mask_separate__mask();
51877         if ( !validationResult ) return false;
51878 
51879     } // validation
51880 #endif
51881 
51882     return true;
51883 }
51884 
51885 //---------------------------------------------------------------------
_freeAttributes__stencil_mask_separate__mask(void * attributeData)51886 bool ColladaParserAutoGen14Private::_freeAttributes__stencil_mask_separate__mask( void* attributeData )
51887 {
51888     stencil_mask_separate__mask__AttributeData* typedAttributeData = static_cast<stencil_mask_separate__mask__AttributeData*>(attributeData);
51889 
51890     typedAttributeData->~stencil_mask_separate__mask__AttributeData();
51891 
51892     return true;
51893 }
51894 
51895 //---------------------------------------------------------------------
51896 const profile_GLSL__technique__pass__light_enable__AttributeData profile_GLSL__technique__pass__light_enable__AttributeData::DEFAULT = {0, false, 0, 0};
51897 
51898 //---------------------------------------------------------------------
_data__profile_GLSL__technique__pass__light_enable(const ParserChar * text,size_t textLength)51899 bool ColladaParserAutoGen14Private::_data__profile_GLSL__technique__pass__light_enable( const ParserChar* text, size_t textLength )
51900 {
51901     return true;
51902 }
51903 
51904 //---------------------------------------------------------------------
_preBegin__profile_GLSL__technique__pass__light_enable(const ParserAttributes & attributes,void ** attributeDataPtr,void ** validationDataPtr)51905 bool ColladaParserAutoGen14Private::_preBegin__profile_GLSL__technique__pass__light_enable( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
51906 {
51907 #ifdef GENERATEDSAXPARSER_VALIDATION
51908     if ( mValidate )
51909     {
51910 
51911         bool validationResult = _validateBegin__profile_GLSL__technique__pass__light_enable( attributes, attributeDataPtr, validationDataPtr );
51912         if ( !validationResult ) return false;
51913 
51914     } // validation
51915 #endif
51916 
51917 profile_GLSL__technique__pass__light_enable__AttributeData* attributeData = newData<profile_GLSL__technique__pass__light_enable__AttributeData>(attributeDataPtr);
51918 
51919 const ParserChar** attributeArray = attributes.attributes;
51920 if ( attributeArray )
51921 {
51922     while (true)
51923     {
51924         const ParserChar * attribute = *attributeArray;
51925         if ( !attribute )
51926             break;
51927         StringHash hash = GeneratedSaxParser::Utils::calculateStringHash(attribute);
51928         attributeArray++;
51929         if ( !attributeArray )
51930             return false;
51931         const ParserChar* attributeValue = *attributeArray;
51932         attributeArray++;
51933 
51934 
51935     switch ( hash )
51936     {
51937     case HASH_ATTRIBUTE_value:
51938     {
51939 bool failed;
51940 attributeData->value = GeneratedSaxParser::Utils::toBool(attributeValue, failed);
51941 if ( failed && handleError(ParserError::SEVERITY_ERROR_NONCRITICAL,
51942         ParserError::ERROR_ATTRIBUTE_PARSING_FAILED,
51943         HASH_ELEMENT_LIGHT_ENABLE,
51944         HASH_ATTRIBUTE_value,
51945         attributeValue))
51946 {
51947     return false;
51948 }
51949 
51950     break;
51951     }
51952     case HASH_ATTRIBUTE_param:
51953     {
51954 
51955 attributeData->param = attributeValue;
51956 #ifdef GENERATEDSAXPARSER_VALIDATION
51957     if ( mValidate )
51958     {
51959     ParserError::ErrorType simpleTypeValidationResult = validate__NCName(attributeData->param, strlen(attributeData->param));
51960     if (simpleTypeValidationResult != ParserError::SIMPLE_TYPE_VALIDATION_OK)
51961     {
51962         if( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL,
51963             simpleTypeValidationResult,
51964             HASH_ELEMENT_LIGHT_ENABLE,
51965             HASH_ATTRIBUTE_param,
51966             attributeValue) )
51967         {
51968             return false;
51969         }
51970     }
51971     } // validation
51972 #endif
51973 
51974     break;
51975     }
51976     case HASH_ATTRIBUTE_index:
51977     {
51978 bool failed;
51979 attributeData->index = GeneratedSaxParser::Utils::toUint64(attributeValue, failed);
51980 if ( failed && handleError(ParserError::SEVERITY_ERROR_NONCRITICAL,
51981         ParserError::ERROR_ATTRIBUTE_PARSING_FAILED,
51982         HASH_ELEMENT_LIGHT_ENABLE,
51983         HASH_ATTRIBUTE_index,
51984         attributeValue))
51985 {
51986     return false;
51987 }
51988 if ( !failed )
51989     attributeData->present_attributes |= profile_GLSL__technique__pass__light_enable__AttributeData::ATTRIBUTE_INDEX_PRESENT;
51990 
51991     break;
51992     }
51993     default:
51994     {
51995         if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_UNKNOWN_ATTRIBUTE, HASH_ELEMENT_LIGHT_ENABLE, attribute, attributeValue))
51996             {return false;}
51997     }
51998     }
51999     }
52000 }
52001 if ( (attributeData->present_attributes & profile_GLSL__technique__pass__light_enable__AttributeData::ATTRIBUTE_INDEX_PRESENT) == 0 )
52002 {
52003     if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_REQUIRED_ATTRIBUTE_MISSING, HASH_ELEMENT_LIGHT_ENABLE, HASH_ATTRIBUTE_index, 0 ) )
52004         return false;
52005 }
52006 
52007 
52008     return true;
52009 }
52010 
52011 //---------------------------------------------------------------------
_preEnd__profile_GLSL__technique__pass__light_enable()52012 bool ColladaParserAutoGen14Private::_preEnd__profile_GLSL__technique__pass__light_enable()
52013 {
52014 #ifdef GENERATEDSAXPARSER_VALIDATION
52015     if ( mValidate )
52016     {
52017 
52018         bool validationResult = _validateEnd__profile_GLSL__technique__pass__light_enable();
52019         if ( !validationResult ) return false;
52020 
52021     } // validation
52022 #endif
52023 
52024     return true;
52025 }
52026 
52027 //---------------------------------------------------------------------
_freeAttributes__profile_GLSL__technique__pass__light_enable(void * attributeData)52028 bool ColladaParserAutoGen14Private::_freeAttributes__profile_GLSL__technique__pass__light_enable( void* attributeData )
52029 {
52030     profile_GLSL__technique__pass__light_enable__AttributeData* typedAttributeData = static_cast<profile_GLSL__technique__pass__light_enable__AttributeData*>(attributeData);
52031 
52032     typedAttributeData->~profile_GLSL__technique__pass__light_enable__AttributeData();
52033 
52034     return true;
52035 }
52036 
52037 //---------------------------------------------------------------------
52038 const profile_GLSL__technique__pass__light_ambient__AttributeData profile_GLSL__technique__pass__light_ambient__AttributeData::DEFAULT = {0, GeneratedSaxParser::XSList<float>(), 0, 0};
52039 
52040 //---------------------------------------------------------------------
_data__profile_GLSL__technique__pass__light_ambient(const ParserChar * text,size_t textLength)52041 bool ColladaParserAutoGen14Private::_data__profile_GLSL__technique__pass__light_ambient( const ParserChar* text, size_t textLength )
52042 {
52043     return true;
52044 }
52045 
52046 //---------------------------------------------------------------------
_preBegin__profile_GLSL__technique__pass__light_ambient(const ParserAttributes & attributes,void ** attributeDataPtr,void ** validationDataPtr)52047 bool ColladaParserAutoGen14Private::_preBegin__profile_GLSL__technique__pass__light_ambient( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
52048 {
52049 #ifdef GENERATEDSAXPARSER_VALIDATION
52050     if ( mValidate )
52051     {
52052 
52053         bool validationResult = _validateBegin__profile_GLSL__technique__pass__light_ambient( attributes, attributeDataPtr, validationDataPtr );
52054         if ( !validationResult ) return false;
52055 
52056     } // validation
52057 #endif
52058 
52059 profile_GLSL__technique__pass__light_ambient__AttributeData* attributeData = newData<profile_GLSL__technique__pass__light_ambient__AttributeData>(attributeDataPtr);
52060 
52061 const ParserChar** attributeArray = attributes.attributes;
52062 if ( attributeArray )
52063 {
52064     while (true)
52065     {
52066         const ParserChar * attribute = *attributeArray;
52067         if ( !attribute )
52068             break;
52069         StringHash hash = GeneratedSaxParser::Utils::calculateStringHash(attribute);
52070         attributeArray++;
52071         if ( !attributeArray )
52072             return false;
52073         const ParserChar* attributeValue = *attributeArray;
52074         attributeArray++;
52075 
52076 
52077     switch ( hash )
52078     {
52079     case HASH_ATTRIBUTE_value:
52080     {
52081 bool failed;
52082 #ifdef GENERATEDSAXPARSER_VALIDATION
52083     if ( mValidate )
52084     {
52085 failed = !characterData2FloatList(attributeValue, attributeData->value, 0, HASH_ELEMENT_LIGHT_AMBIENT, HASH_ATTRIBUTE_value);
52086     }
52087     else
52088     {
52089 failed = !characterData2FloatList(attributeValue, attributeData->value);
52090     }
52091 #else
52092     {
52093 failed = !characterData2FloatList(attributeValue, attributeData->value);
52094     } // validation
52095 #endif
52096 if ( failed && handleError(ParserError::SEVERITY_ERROR_NONCRITICAL,
52097         ParserError::ERROR_ATTRIBUTE_PARSING_FAILED,
52098         HASH_ELEMENT_LIGHT_AMBIENT,
52099         HASH_ATTRIBUTE_value,
52100         attributeValue))
52101 {
52102     return false;
52103 }
52104 #ifdef GENERATEDSAXPARSER_VALIDATION
52105     if ( mValidate )
52106     {
52107     ParserError::ErrorType simpleTypeValidationResult = validate__float4(attributeData->value.data, attributeData->value.size);
52108     if (simpleTypeValidationResult != ParserError::SIMPLE_TYPE_VALIDATION_OK)
52109     {
52110         if( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL,
52111             simpleTypeValidationResult,
52112             HASH_ELEMENT_LIGHT_AMBIENT,
52113             HASH_ATTRIBUTE_value,
52114             attributeValue) )
52115         {
52116             return false;
52117         }
52118     }
52119     } // validation
52120 #endif
52121 
52122 if ( !failed )
52123     attributeData->present_attributes |= profile_GLSL__technique__pass__light_ambient__AttributeData::ATTRIBUTE_VALUE_PRESENT;
52124 
52125     break;
52126     }
52127     case HASH_ATTRIBUTE_param:
52128     {
52129 
52130 attributeData->param = attributeValue;
52131 #ifdef GENERATEDSAXPARSER_VALIDATION
52132     if ( mValidate )
52133     {
52134     ParserError::ErrorType simpleTypeValidationResult = validate__NCName(attributeData->param, strlen(attributeData->param));
52135     if (simpleTypeValidationResult != ParserError::SIMPLE_TYPE_VALIDATION_OK)
52136     {
52137         if( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL,
52138             simpleTypeValidationResult,
52139             HASH_ELEMENT_LIGHT_AMBIENT,
52140             HASH_ATTRIBUTE_param,
52141             attributeValue) )
52142         {
52143             return false;
52144         }
52145     }
52146     } // validation
52147 #endif
52148 
52149     break;
52150     }
52151     case HASH_ATTRIBUTE_index:
52152     {
52153 bool failed;
52154 attributeData->index = GeneratedSaxParser::Utils::toUint64(attributeValue, failed);
52155 if ( failed && handleError(ParserError::SEVERITY_ERROR_NONCRITICAL,
52156         ParserError::ERROR_ATTRIBUTE_PARSING_FAILED,
52157         HASH_ELEMENT_LIGHT_AMBIENT,
52158         HASH_ATTRIBUTE_index,
52159         attributeValue))
52160 {
52161     return false;
52162 }
52163 if ( !failed )
52164     attributeData->present_attributes |= profile_GLSL__technique__pass__light_ambient__AttributeData::ATTRIBUTE_INDEX_PRESENT;
52165 
52166     break;
52167     }
52168     default:
52169     {
52170         if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_UNKNOWN_ATTRIBUTE, HASH_ELEMENT_LIGHT_AMBIENT, attribute, attributeValue))
52171             {return false;}
52172     }
52173     }
52174     }
52175 }
52176 if ((attributeData->present_attributes & profile_GLSL__technique__pass__light_ambient__AttributeData::ATTRIBUTE_VALUE_PRESENT) == 0)
52177 {
52178     bool failed;
52179     failed = !characterData2FloatList("0.0E1 0.0E1 0.0E1 1.0E0", attributeData->value);
52180     if ( !failed )
52181     attributeData->present_attributes |= profile_GLSL__technique__pass__light_ambient__AttributeData::ATTRIBUTE_VALUE_PRESENT;
52182 }
52183 if ( (attributeData->present_attributes & profile_GLSL__technique__pass__light_ambient__AttributeData::ATTRIBUTE_INDEX_PRESENT) == 0 )
52184 {
52185     if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_REQUIRED_ATTRIBUTE_MISSING, HASH_ELEMENT_LIGHT_AMBIENT, HASH_ATTRIBUTE_index, 0 ) )
52186         return false;
52187 }
52188 
52189 
52190     return true;
52191 }
52192 
52193 //---------------------------------------------------------------------
_preEnd__profile_GLSL__technique__pass__light_ambient()52194 bool ColladaParserAutoGen14Private::_preEnd__profile_GLSL__technique__pass__light_ambient()
52195 {
52196 #ifdef GENERATEDSAXPARSER_VALIDATION
52197     if ( mValidate )
52198     {
52199 
52200         bool validationResult = _validateEnd__profile_GLSL__technique__pass__light_ambient();
52201         if ( !validationResult ) return false;
52202 
52203     } // validation
52204 #endif
52205 
52206     return true;
52207 }
52208 
52209 //---------------------------------------------------------------------
_freeAttributes__profile_GLSL__technique__pass__light_ambient(void * attributeData)52210 bool ColladaParserAutoGen14Private::_freeAttributes__profile_GLSL__technique__pass__light_ambient( void* attributeData )
52211 {
52212     profile_GLSL__technique__pass__light_ambient__AttributeData* typedAttributeData = static_cast<profile_GLSL__technique__pass__light_ambient__AttributeData*>(attributeData);
52213     if (typedAttributeData->value.data)
52214     {
52215         mStackMemoryManager.deleteObject();
52216     }
52217 
52218 
52219     typedAttributeData->~profile_GLSL__technique__pass__light_ambient__AttributeData();
52220 
52221     return true;
52222 }
52223 
52224 //---------------------------------------------------------------------
52225 const profile_GLSL__technique__pass__light_diffuse__AttributeData profile_GLSL__technique__pass__light_diffuse__AttributeData::DEFAULT = {0, GeneratedSaxParser::XSList<float>(), 0, 0};
52226 
52227 //---------------------------------------------------------------------
_data__profile_GLSL__technique__pass__light_diffuse(const ParserChar * text,size_t textLength)52228 bool ColladaParserAutoGen14Private::_data__profile_GLSL__technique__pass__light_diffuse( const ParserChar* text, size_t textLength )
52229 {
52230     return true;
52231 }
52232 
52233 //---------------------------------------------------------------------
_preBegin__profile_GLSL__technique__pass__light_diffuse(const ParserAttributes & attributes,void ** attributeDataPtr,void ** validationDataPtr)52234 bool ColladaParserAutoGen14Private::_preBegin__profile_GLSL__technique__pass__light_diffuse( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
52235 {
52236 #ifdef GENERATEDSAXPARSER_VALIDATION
52237     if ( mValidate )
52238     {
52239 
52240         bool validationResult = _validateBegin__profile_GLSL__technique__pass__light_diffuse( attributes, attributeDataPtr, validationDataPtr );
52241         if ( !validationResult ) return false;
52242 
52243     } // validation
52244 #endif
52245 
52246 profile_GLSL__technique__pass__light_diffuse__AttributeData* attributeData = newData<profile_GLSL__technique__pass__light_diffuse__AttributeData>(attributeDataPtr);
52247 
52248 const ParserChar** attributeArray = attributes.attributes;
52249 if ( attributeArray )
52250 {
52251     while (true)
52252     {
52253         const ParserChar * attribute = *attributeArray;
52254         if ( !attribute )
52255             break;
52256         StringHash hash = GeneratedSaxParser::Utils::calculateStringHash(attribute);
52257         attributeArray++;
52258         if ( !attributeArray )
52259             return false;
52260         const ParserChar* attributeValue = *attributeArray;
52261         attributeArray++;
52262 
52263 
52264     switch ( hash )
52265     {
52266     case HASH_ATTRIBUTE_value:
52267     {
52268 bool failed;
52269 #ifdef GENERATEDSAXPARSER_VALIDATION
52270     if ( mValidate )
52271     {
52272 failed = !characterData2FloatList(attributeValue, attributeData->value, 0, HASH_ELEMENT_LIGHT_DIFFUSE, HASH_ATTRIBUTE_value);
52273     }
52274     else
52275     {
52276 failed = !characterData2FloatList(attributeValue, attributeData->value);
52277     }
52278 #else
52279     {
52280 failed = !characterData2FloatList(attributeValue, attributeData->value);
52281     } // validation
52282 #endif
52283 if ( failed && handleError(ParserError::SEVERITY_ERROR_NONCRITICAL,
52284         ParserError::ERROR_ATTRIBUTE_PARSING_FAILED,
52285         HASH_ELEMENT_LIGHT_DIFFUSE,
52286         HASH_ATTRIBUTE_value,
52287         attributeValue))
52288 {
52289     return false;
52290 }
52291 #ifdef GENERATEDSAXPARSER_VALIDATION
52292     if ( mValidate )
52293     {
52294     ParserError::ErrorType simpleTypeValidationResult = validate__float4(attributeData->value.data, attributeData->value.size);
52295     if (simpleTypeValidationResult != ParserError::SIMPLE_TYPE_VALIDATION_OK)
52296     {
52297         if( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL,
52298             simpleTypeValidationResult,
52299             HASH_ELEMENT_LIGHT_DIFFUSE,
52300             HASH_ATTRIBUTE_value,
52301             attributeValue) )
52302         {
52303             return false;
52304         }
52305     }
52306     } // validation
52307 #endif
52308 
52309 if ( !failed )
52310     attributeData->present_attributes |= profile_GLSL__technique__pass__light_diffuse__AttributeData::ATTRIBUTE_VALUE_PRESENT;
52311 
52312     break;
52313     }
52314     case HASH_ATTRIBUTE_param:
52315     {
52316 
52317 attributeData->param = attributeValue;
52318 #ifdef GENERATEDSAXPARSER_VALIDATION
52319     if ( mValidate )
52320     {
52321     ParserError::ErrorType simpleTypeValidationResult = validate__NCName(attributeData->param, strlen(attributeData->param));
52322     if (simpleTypeValidationResult != ParserError::SIMPLE_TYPE_VALIDATION_OK)
52323     {
52324         if( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL,
52325             simpleTypeValidationResult,
52326             HASH_ELEMENT_LIGHT_DIFFUSE,
52327             HASH_ATTRIBUTE_param,
52328             attributeValue) )
52329         {
52330             return false;
52331         }
52332     }
52333     } // validation
52334 #endif
52335 
52336     break;
52337     }
52338     case HASH_ATTRIBUTE_index:
52339     {
52340 bool failed;
52341 attributeData->index = GeneratedSaxParser::Utils::toUint64(attributeValue, failed);
52342 if ( failed && handleError(ParserError::SEVERITY_ERROR_NONCRITICAL,
52343         ParserError::ERROR_ATTRIBUTE_PARSING_FAILED,
52344         HASH_ELEMENT_LIGHT_DIFFUSE,
52345         HASH_ATTRIBUTE_index,
52346         attributeValue))
52347 {
52348     return false;
52349 }
52350 if ( !failed )
52351     attributeData->present_attributes |= profile_GLSL__technique__pass__light_diffuse__AttributeData::ATTRIBUTE_INDEX_PRESENT;
52352 
52353     break;
52354     }
52355     default:
52356     {
52357         if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_UNKNOWN_ATTRIBUTE, HASH_ELEMENT_LIGHT_DIFFUSE, attribute, attributeValue))
52358             {return false;}
52359     }
52360     }
52361     }
52362 }
52363 if ((attributeData->present_attributes & profile_GLSL__technique__pass__light_diffuse__AttributeData::ATTRIBUTE_VALUE_PRESENT) == 0)
52364 {
52365     bool failed;
52366     failed = !characterData2FloatList("0.0E1 0.0E1 0.0E1 0.0E1", attributeData->value);
52367     if ( !failed )
52368     attributeData->present_attributes |= profile_GLSL__technique__pass__light_diffuse__AttributeData::ATTRIBUTE_VALUE_PRESENT;
52369 }
52370 if ( (attributeData->present_attributes & profile_GLSL__technique__pass__light_diffuse__AttributeData::ATTRIBUTE_INDEX_PRESENT) == 0 )
52371 {
52372     if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_REQUIRED_ATTRIBUTE_MISSING, HASH_ELEMENT_LIGHT_DIFFUSE, HASH_ATTRIBUTE_index, 0 ) )
52373         return false;
52374 }
52375 
52376 
52377     return true;
52378 }
52379 
52380 //---------------------------------------------------------------------
_preEnd__profile_GLSL__technique__pass__light_diffuse()52381 bool ColladaParserAutoGen14Private::_preEnd__profile_GLSL__technique__pass__light_diffuse()
52382 {
52383 #ifdef GENERATEDSAXPARSER_VALIDATION
52384     if ( mValidate )
52385     {
52386 
52387         bool validationResult = _validateEnd__profile_GLSL__technique__pass__light_diffuse();
52388         if ( !validationResult ) return false;
52389 
52390     } // validation
52391 #endif
52392 
52393     return true;
52394 }
52395 
52396 //---------------------------------------------------------------------
_freeAttributes__profile_GLSL__technique__pass__light_diffuse(void * attributeData)52397 bool ColladaParserAutoGen14Private::_freeAttributes__profile_GLSL__technique__pass__light_diffuse( void* attributeData )
52398 {
52399     profile_GLSL__technique__pass__light_diffuse__AttributeData* typedAttributeData = static_cast<profile_GLSL__technique__pass__light_diffuse__AttributeData*>(attributeData);
52400     if (typedAttributeData->value.data)
52401     {
52402         mStackMemoryManager.deleteObject();
52403     }
52404 
52405 
52406     typedAttributeData->~profile_GLSL__technique__pass__light_diffuse__AttributeData();
52407 
52408     return true;
52409 }
52410 
52411 //---------------------------------------------------------------------
52412 const profile_GLSL__technique__pass__light_specular__AttributeData profile_GLSL__technique__pass__light_specular__AttributeData::DEFAULT = {0, GeneratedSaxParser::XSList<float>(), 0, 0};
52413 
52414 //---------------------------------------------------------------------
_data__profile_GLSL__technique__pass__light_specular(const ParserChar * text,size_t textLength)52415 bool ColladaParserAutoGen14Private::_data__profile_GLSL__technique__pass__light_specular( const ParserChar* text, size_t textLength )
52416 {
52417     return true;
52418 }
52419 
52420 //---------------------------------------------------------------------
_preBegin__profile_GLSL__technique__pass__light_specular(const ParserAttributes & attributes,void ** attributeDataPtr,void ** validationDataPtr)52421 bool ColladaParserAutoGen14Private::_preBegin__profile_GLSL__technique__pass__light_specular( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
52422 {
52423 #ifdef GENERATEDSAXPARSER_VALIDATION
52424     if ( mValidate )
52425     {
52426 
52427         bool validationResult = _validateBegin__profile_GLSL__technique__pass__light_specular( attributes, attributeDataPtr, validationDataPtr );
52428         if ( !validationResult ) return false;
52429 
52430     } // validation
52431 #endif
52432 
52433 profile_GLSL__technique__pass__light_specular__AttributeData* attributeData = newData<profile_GLSL__technique__pass__light_specular__AttributeData>(attributeDataPtr);
52434 
52435 const ParserChar** attributeArray = attributes.attributes;
52436 if ( attributeArray )
52437 {
52438     while (true)
52439     {
52440         const ParserChar * attribute = *attributeArray;
52441         if ( !attribute )
52442             break;
52443         StringHash hash = GeneratedSaxParser::Utils::calculateStringHash(attribute);
52444         attributeArray++;
52445         if ( !attributeArray )
52446             return false;
52447         const ParserChar* attributeValue = *attributeArray;
52448         attributeArray++;
52449 
52450 
52451     switch ( hash )
52452     {
52453     case HASH_ATTRIBUTE_value:
52454     {
52455 bool failed;
52456 #ifdef GENERATEDSAXPARSER_VALIDATION
52457     if ( mValidate )
52458     {
52459 failed = !characterData2FloatList(attributeValue, attributeData->value, 0, HASH_ELEMENT_LIGHT_SPECULAR, HASH_ATTRIBUTE_value);
52460     }
52461     else
52462     {
52463 failed = !characterData2FloatList(attributeValue, attributeData->value);
52464     }
52465 #else
52466     {
52467 failed = !characterData2FloatList(attributeValue, attributeData->value);
52468     } // validation
52469 #endif
52470 if ( failed && handleError(ParserError::SEVERITY_ERROR_NONCRITICAL,
52471         ParserError::ERROR_ATTRIBUTE_PARSING_FAILED,
52472         HASH_ELEMENT_LIGHT_SPECULAR,
52473         HASH_ATTRIBUTE_value,
52474         attributeValue))
52475 {
52476     return false;
52477 }
52478 #ifdef GENERATEDSAXPARSER_VALIDATION
52479     if ( mValidate )
52480     {
52481     ParserError::ErrorType simpleTypeValidationResult = validate__float4(attributeData->value.data, attributeData->value.size);
52482     if (simpleTypeValidationResult != ParserError::SIMPLE_TYPE_VALIDATION_OK)
52483     {
52484         if( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL,
52485             simpleTypeValidationResult,
52486             HASH_ELEMENT_LIGHT_SPECULAR,
52487             HASH_ATTRIBUTE_value,
52488             attributeValue) )
52489         {
52490             return false;
52491         }
52492     }
52493     } // validation
52494 #endif
52495 
52496 if ( !failed )
52497     attributeData->present_attributes |= profile_GLSL__technique__pass__light_specular__AttributeData::ATTRIBUTE_VALUE_PRESENT;
52498 
52499     break;
52500     }
52501     case HASH_ATTRIBUTE_param:
52502     {
52503 
52504 attributeData->param = attributeValue;
52505 #ifdef GENERATEDSAXPARSER_VALIDATION
52506     if ( mValidate )
52507     {
52508     ParserError::ErrorType simpleTypeValidationResult = validate__NCName(attributeData->param, strlen(attributeData->param));
52509     if (simpleTypeValidationResult != ParserError::SIMPLE_TYPE_VALIDATION_OK)
52510     {
52511         if( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL,
52512             simpleTypeValidationResult,
52513             HASH_ELEMENT_LIGHT_SPECULAR,
52514             HASH_ATTRIBUTE_param,
52515             attributeValue) )
52516         {
52517             return false;
52518         }
52519     }
52520     } // validation
52521 #endif
52522 
52523     break;
52524     }
52525     case HASH_ATTRIBUTE_index:
52526     {
52527 bool failed;
52528 attributeData->index = GeneratedSaxParser::Utils::toUint64(attributeValue, failed);
52529 if ( failed && handleError(ParserError::SEVERITY_ERROR_NONCRITICAL,
52530         ParserError::ERROR_ATTRIBUTE_PARSING_FAILED,
52531         HASH_ELEMENT_LIGHT_SPECULAR,
52532         HASH_ATTRIBUTE_index,
52533         attributeValue))
52534 {
52535     return false;
52536 }
52537 if ( !failed )
52538     attributeData->present_attributes |= profile_GLSL__technique__pass__light_specular__AttributeData::ATTRIBUTE_INDEX_PRESENT;
52539 
52540     break;
52541     }
52542     default:
52543     {
52544         if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_UNKNOWN_ATTRIBUTE, HASH_ELEMENT_LIGHT_SPECULAR, attribute, attributeValue))
52545             {return false;}
52546     }
52547     }
52548     }
52549 }
52550 if ((attributeData->present_attributes & profile_GLSL__technique__pass__light_specular__AttributeData::ATTRIBUTE_VALUE_PRESENT) == 0)
52551 {
52552     bool failed;
52553     failed = !characterData2FloatList("0.0E1 0.0E1 0.0E1 0.0E1", attributeData->value);
52554     if ( !failed )
52555     attributeData->present_attributes |= profile_GLSL__technique__pass__light_specular__AttributeData::ATTRIBUTE_VALUE_PRESENT;
52556 }
52557 if ( (attributeData->present_attributes & profile_GLSL__technique__pass__light_specular__AttributeData::ATTRIBUTE_INDEX_PRESENT) == 0 )
52558 {
52559     if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_REQUIRED_ATTRIBUTE_MISSING, HASH_ELEMENT_LIGHT_SPECULAR, HASH_ATTRIBUTE_index, 0 ) )
52560         return false;
52561 }
52562 
52563 
52564     return true;
52565 }
52566 
52567 //---------------------------------------------------------------------
_preEnd__profile_GLSL__technique__pass__light_specular()52568 bool ColladaParserAutoGen14Private::_preEnd__profile_GLSL__technique__pass__light_specular()
52569 {
52570 #ifdef GENERATEDSAXPARSER_VALIDATION
52571     if ( mValidate )
52572     {
52573 
52574         bool validationResult = _validateEnd__profile_GLSL__technique__pass__light_specular();
52575         if ( !validationResult ) return false;
52576 
52577     } // validation
52578 #endif
52579 
52580     return true;
52581 }
52582 
52583 //---------------------------------------------------------------------
_freeAttributes__profile_GLSL__technique__pass__light_specular(void * attributeData)52584 bool ColladaParserAutoGen14Private::_freeAttributes__profile_GLSL__technique__pass__light_specular( void* attributeData )
52585 {
52586     profile_GLSL__technique__pass__light_specular__AttributeData* typedAttributeData = static_cast<profile_GLSL__technique__pass__light_specular__AttributeData*>(attributeData);
52587     if (typedAttributeData->value.data)
52588     {
52589         mStackMemoryManager.deleteObject();
52590     }
52591 
52592 
52593     typedAttributeData->~profile_GLSL__technique__pass__light_specular__AttributeData();
52594 
52595     return true;
52596 }
52597 
52598 //---------------------------------------------------------------------
52599 const profile_GLSL__technique__pass__light_position__AttributeData profile_GLSL__technique__pass__light_position__AttributeData::DEFAULT = {0, GeneratedSaxParser::XSList<float>(), 0, 0};
52600 
52601 //---------------------------------------------------------------------
_data__profile_GLSL__technique__pass__light_position(const ParserChar * text,size_t textLength)52602 bool ColladaParserAutoGen14Private::_data__profile_GLSL__technique__pass__light_position( const ParserChar* text, size_t textLength )
52603 {
52604     return true;
52605 }
52606 
52607 //---------------------------------------------------------------------
_preBegin__profile_GLSL__technique__pass__light_position(const ParserAttributes & attributes,void ** attributeDataPtr,void ** validationDataPtr)52608 bool ColladaParserAutoGen14Private::_preBegin__profile_GLSL__technique__pass__light_position( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
52609 {
52610 #ifdef GENERATEDSAXPARSER_VALIDATION
52611     if ( mValidate )
52612     {
52613 
52614         bool validationResult = _validateBegin__profile_GLSL__technique__pass__light_position( attributes, attributeDataPtr, validationDataPtr );
52615         if ( !validationResult ) return false;
52616 
52617     } // validation
52618 #endif
52619 
52620 profile_GLSL__technique__pass__light_position__AttributeData* attributeData = newData<profile_GLSL__technique__pass__light_position__AttributeData>(attributeDataPtr);
52621 
52622 const ParserChar** attributeArray = attributes.attributes;
52623 if ( attributeArray )
52624 {
52625     while (true)
52626     {
52627         const ParserChar * attribute = *attributeArray;
52628         if ( !attribute )
52629             break;
52630         StringHash hash = GeneratedSaxParser::Utils::calculateStringHash(attribute);
52631         attributeArray++;
52632         if ( !attributeArray )
52633             return false;
52634         const ParserChar* attributeValue = *attributeArray;
52635         attributeArray++;
52636 
52637 
52638     switch ( hash )
52639     {
52640     case HASH_ATTRIBUTE_value:
52641     {
52642 bool failed;
52643 #ifdef GENERATEDSAXPARSER_VALIDATION
52644     if ( mValidate )
52645     {
52646 failed = !characterData2FloatList(attributeValue, attributeData->value, 0, HASH_ELEMENT_LIGHT_POSITION, HASH_ATTRIBUTE_value);
52647     }
52648     else
52649     {
52650 failed = !characterData2FloatList(attributeValue, attributeData->value);
52651     }
52652 #else
52653     {
52654 failed = !characterData2FloatList(attributeValue, attributeData->value);
52655     } // validation
52656 #endif
52657 if ( failed && handleError(ParserError::SEVERITY_ERROR_NONCRITICAL,
52658         ParserError::ERROR_ATTRIBUTE_PARSING_FAILED,
52659         HASH_ELEMENT_LIGHT_POSITION,
52660         HASH_ATTRIBUTE_value,
52661         attributeValue))
52662 {
52663     return false;
52664 }
52665 #ifdef GENERATEDSAXPARSER_VALIDATION
52666     if ( mValidate )
52667     {
52668     ParserError::ErrorType simpleTypeValidationResult = validate__float4(attributeData->value.data, attributeData->value.size);
52669     if (simpleTypeValidationResult != ParserError::SIMPLE_TYPE_VALIDATION_OK)
52670     {
52671         if( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL,
52672             simpleTypeValidationResult,
52673             HASH_ELEMENT_LIGHT_POSITION,
52674             HASH_ATTRIBUTE_value,
52675             attributeValue) )
52676         {
52677             return false;
52678         }
52679     }
52680     } // validation
52681 #endif
52682 
52683 if ( !failed )
52684     attributeData->present_attributes |= profile_GLSL__technique__pass__light_position__AttributeData::ATTRIBUTE_VALUE_PRESENT;
52685 
52686     break;
52687     }
52688     case HASH_ATTRIBUTE_param:
52689     {
52690 
52691 attributeData->param = attributeValue;
52692 #ifdef GENERATEDSAXPARSER_VALIDATION
52693     if ( mValidate )
52694     {
52695     ParserError::ErrorType simpleTypeValidationResult = validate__NCName(attributeData->param, strlen(attributeData->param));
52696     if (simpleTypeValidationResult != ParserError::SIMPLE_TYPE_VALIDATION_OK)
52697     {
52698         if( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL,
52699             simpleTypeValidationResult,
52700             HASH_ELEMENT_LIGHT_POSITION,
52701             HASH_ATTRIBUTE_param,
52702             attributeValue) )
52703         {
52704             return false;
52705         }
52706     }
52707     } // validation
52708 #endif
52709 
52710     break;
52711     }
52712     case HASH_ATTRIBUTE_index:
52713     {
52714 bool failed;
52715 attributeData->index = GeneratedSaxParser::Utils::toUint64(attributeValue, failed);
52716 if ( failed && handleError(ParserError::SEVERITY_ERROR_NONCRITICAL,
52717         ParserError::ERROR_ATTRIBUTE_PARSING_FAILED,
52718         HASH_ELEMENT_LIGHT_POSITION,
52719         HASH_ATTRIBUTE_index,
52720         attributeValue))
52721 {
52722     return false;
52723 }
52724 if ( !failed )
52725     attributeData->present_attributes |= profile_GLSL__technique__pass__light_position__AttributeData::ATTRIBUTE_INDEX_PRESENT;
52726 
52727     break;
52728     }
52729     default:
52730     {
52731         if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_UNKNOWN_ATTRIBUTE, HASH_ELEMENT_LIGHT_POSITION, attribute, attributeValue))
52732             {return false;}
52733     }
52734     }
52735     }
52736 }
52737 if ((attributeData->present_attributes & profile_GLSL__technique__pass__light_position__AttributeData::ATTRIBUTE_VALUE_PRESENT) == 0)
52738 {
52739     bool failed;
52740     failed = !characterData2FloatList("0.0E1 0.0E1 1.0E0 0.0E1", attributeData->value);
52741     if ( !failed )
52742     attributeData->present_attributes |= profile_GLSL__technique__pass__light_position__AttributeData::ATTRIBUTE_VALUE_PRESENT;
52743 }
52744 if ( (attributeData->present_attributes & profile_GLSL__technique__pass__light_position__AttributeData::ATTRIBUTE_INDEX_PRESENT) == 0 )
52745 {
52746     if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_REQUIRED_ATTRIBUTE_MISSING, HASH_ELEMENT_LIGHT_POSITION, HASH_ATTRIBUTE_index, 0 ) )
52747         return false;
52748 }
52749 
52750 
52751     return true;
52752 }
52753 
52754 //---------------------------------------------------------------------
_preEnd__profile_GLSL__technique__pass__light_position()52755 bool ColladaParserAutoGen14Private::_preEnd__profile_GLSL__technique__pass__light_position()
52756 {
52757 #ifdef GENERATEDSAXPARSER_VALIDATION
52758     if ( mValidate )
52759     {
52760 
52761         bool validationResult = _validateEnd__profile_GLSL__technique__pass__light_position();
52762         if ( !validationResult ) return false;
52763 
52764     } // validation
52765 #endif
52766 
52767     return true;
52768 }
52769 
52770 //---------------------------------------------------------------------
_freeAttributes__profile_GLSL__technique__pass__light_position(void * attributeData)52771 bool ColladaParserAutoGen14Private::_freeAttributes__profile_GLSL__technique__pass__light_position( void* attributeData )
52772 {
52773     profile_GLSL__technique__pass__light_position__AttributeData* typedAttributeData = static_cast<profile_GLSL__technique__pass__light_position__AttributeData*>(attributeData);
52774     if (typedAttributeData->value.data)
52775     {
52776         mStackMemoryManager.deleteObject();
52777     }
52778 
52779 
52780     typedAttributeData->~profile_GLSL__technique__pass__light_position__AttributeData();
52781 
52782     return true;
52783 }
52784 
52785 //---------------------------------------------------------------------
52786 const profile_GLSL__technique__pass__light_constant_attenuation__AttributeData profile_GLSL__technique__pass__light_constant_attenuation__AttributeData::DEFAULT = {0, 1.0E0, 0, 0};
52787 
52788 //---------------------------------------------------------------------
_data__profile_GLSL__technique__pass__light_constant_attenuation(const ParserChar * text,size_t textLength)52789 bool ColladaParserAutoGen14Private::_data__profile_GLSL__technique__pass__light_constant_attenuation( const ParserChar* text, size_t textLength )
52790 {
52791     return true;
52792 }
52793 
52794 //---------------------------------------------------------------------
_preBegin__profile_GLSL__technique__pass__light_constant_attenuation(const ParserAttributes & attributes,void ** attributeDataPtr,void ** validationDataPtr)52795 bool ColladaParserAutoGen14Private::_preBegin__profile_GLSL__technique__pass__light_constant_attenuation( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
52796 {
52797 #ifdef GENERATEDSAXPARSER_VALIDATION
52798     if ( mValidate )
52799     {
52800 
52801         bool validationResult = _validateBegin__profile_GLSL__technique__pass__light_constant_attenuation( attributes, attributeDataPtr, validationDataPtr );
52802         if ( !validationResult ) return false;
52803 
52804     } // validation
52805 #endif
52806 
52807 profile_GLSL__technique__pass__light_constant_attenuation__AttributeData* attributeData = newData<profile_GLSL__technique__pass__light_constant_attenuation__AttributeData>(attributeDataPtr);
52808 
52809 const ParserChar** attributeArray = attributes.attributes;
52810 if ( attributeArray )
52811 {
52812     while (true)
52813     {
52814         const ParserChar * attribute = *attributeArray;
52815         if ( !attribute )
52816             break;
52817         StringHash hash = GeneratedSaxParser::Utils::calculateStringHash(attribute);
52818         attributeArray++;
52819         if ( !attributeArray )
52820             return false;
52821         const ParserChar* attributeValue = *attributeArray;
52822         attributeArray++;
52823 
52824 
52825     switch ( hash )
52826     {
52827     case HASH_ATTRIBUTE_value:
52828     {
52829 bool failed;
52830 attributeData->value = GeneratedSaxParser::Utils::toFloat(attributeValue, failed);
52831 if ( failed && handleError(ParserError::SEVERITY_ERROR_NONCRITICAL,
52832         ParserError::ERROR_ATTRIBUTE_PARSING_FAILED,
52833         HASH_ELEMENT_LIGHT_CONSTANT_ATTENUATION,
52834         HASH_ATTRIBUTE_value,
52835         attributeValue))
52836 {
52837     return false;
52838 }
52839 
52840     break;
52841     }
52842     case HASH_ATTRIBUTE_param:
52843     {
52844 
52845 attributeData->param = attributeValue;
52846 #ifdef GENERATEDSAXPARSER_VALIDATION
52847     if ( mValidate )
52848     {
52849     ParserError::ErrorType simpleTypeValidationResult = validate__NCName(attributeData->param, strlen(attributeData->param));
52850     if (simpleTypeValidationResult != ParserError::SIMPLE_TYPE_VALIDATION_OK)
52851     {
52852         if( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL,
52853             simpleTypeValidationResult,
52854             HASH_ELEMENT_LIGHT_CONSTANT_ATTENUATION,
52855             HASH_ATTRIBUTE_param,
52856             attributeValue) )
52857         {
52858             return false;
52859         }
52860     }
52861     } // validation
52862 #endif
52863 
52864     break;
52865     }
52866     case HASH_ATTRIBUTE_index:
52867     {
52868 bool failed;
52869 attributeData->index = GeneratedSaxParser::Utils::toUint64(attributeValue, failed);
52870 if ( failed && handleError(ParserError::SEVERITY_ERROR_NONCRITICAL,
52871         ParserError::ERROR_ATTRIBUTE_PARSING_FAILED,
52872         HASH_ELEMENT_LIGHT_CONSTANT_ATTENUATION,
52873         HASH_ATTRIBUTE_index,
52874         attributeValue))
52875 {
52876     return false;
52877 }
52878 if ( !failed )
52879     attributeData->present_attributes |= profile_GLSL__technique__pass__light_constant_attenuation__AttributeData::ATTRIBUTE_INDEX_PRESENT;
52880 
52881     break;
52882     }
52883     default:
52884     {
52885         if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_UNKNOWN_ATTRIBUTE, HASH_ELEMENT_LIGHT_CONSTANT_ATTENUATION, attribute, attributeValue))
52886             {return false;}
52887     }
52888     }
52889     }
52890 }
52891 if ( (attributeData->present_attributes & profile_GLSL__technique__pass__light_constant_attenuation__AttributeData::ATTRIBUTE_INDEX_PRESENT) == 0 )
52892 {
52893     if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_REQUIRED_ATTRIBUTE_MISSING, HASH_ELEMENT_LIGHT_CONSTANT_ATTENUATION, HASH_ATTRIBUTE_index, 0 ) )
52894         return false;
52895 }
52896 
52897 
52898     return true;
52899 }
52900 
52901 //---------------------------------------------------------------------
_preEnd__profile_GLSL__technique__pass__light_constant_attenuation()52902 bool ColladaParserAutoGen14Private::_preEnd__profile_GLSL__technique__pass__light_constant_attenuation()
52903 {
52904 #ifdef GENERATEDSAXPARSER_VALIDATION
52905     if ( mValidate )
52906     {
52907 
52908         bool validationResult = _validateEnd__profile_GLSL__technique__pass__light_constant_attenuation();
52909         if ( !validationResult ) return false;
52910 
52911     } // validation
52912 #endif
52913 
52914     return true;
52915 }
52916 
52917 //---------------------------------------------------------------------
_freeAttributes__profile_GLSL__technique__pass__light_constant_attenuation(void * attributeData)52918 bool ColladaParserAutoGen14Private::_freeAttributes__profile_GLSL__technique__pass__light_constant_attenuation( void* attributeData )
52919 {
52920     profile_GLSL__technique__pass__light_constant_attenuation__AttributeData* typedAttributeData = static_cast<profile_GLSL__technique__pass__light_constant_attenuation__AttributeData*>(attributeData);
52921 
52922     typedAttributeData->~profile_GLSL__technique__pass__light_constant_attenuation__AttributeData();
52923 
52924     return true;
52925 }
52926 
52927 //---------------------------------------------------------------------
52928 const light_linear_attenuation__AttributeData light_linear_attenuation__AttributeData::DEFAULT = {0, 0.0E1, 0, 0};
52929 
52930 //---------------------------------------------------------------------
_data__light_linear_attenuation(const ParserChar * text,size_t textLength)52931 bool ColladaParserAutoGen14Private::_data__light_linear_attenuation( const ParserChar* text, size_t textLength )
52932 {
52933     return true;
52934 }
52935 
52936 //---------------------------------------------------------------------
_preBegin__light_linear_attenuation(const ParserAttributes & attributes,void ** attributeDataPtr,void ** validationDataPtr)52937 bool ColladaParserAutoGen14Private::_preBegin__light_linear_attenuation( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
52938 {
52939 #ifdef GENERATEDSAXPARSER_VALIDATION
52940     if ( mValidate )
52941     {
52942 
52943         bool validationResult = _validateBegin__light_linear_attenuation( attributes, attributeDataPtr, validationDataPtr );
52944         if ( !validationResult ) return false;
52945 
52946     } // validation
52947 #endif
52948 
52949 light_linear_attenuation__AttributeData* attributeData = newData<light_linear_attenuation__AttributeData>(attributeDataPtr);
52950 
52951 const ParserChar** attributeArray = attributes.attributes;
52952 if ( attributeArray )
52953 {
52954     while (true)
52955     {
52956         const ParserChar * attribute = *attributeArray;
52957         if ( !attribute )
52958             break;
52959         StringHash hash = GeneratedSaxParser::Utils::calculateStringHash(attribute);
52960         attributeArray++;
52961         if ( !attributeArray )
52962             return false;
52963         const ParserChar* attributeValue = *attributeArray;
52964         attributeArray++;
52965 
52966 
52967     switch ( hash )
52968     {
52969     case HASH_ATTRIBUTE_value:
52970     {
52971 bool failed;
52972 attributeData->value = GeneratedSaxParser::Utils::toFloat(attributeValue, failed);
52973 if ( failed && handleError(ParserError::SEVERITY_ERROR_NONCRITICAL,
52974         ParserError::ERROR_ATTRIBUTE_PARSING_FAILED,
52975         HASH_ELEMENT_LIGHT_LINEAR_ATTENUATION,
52976         HASH_ATTRIBUTE_value,
52977         attributeValue))
52978 {
52979     return false;
52980 }
52981 
52982     break;
52983     }
52984     case HASH_ATTRIBUTE_param:
52985     {
52986 
52987 attributeData->param = attributeValue;
52988 #ifdef GENERATEDSAXPARSER_VALIDATION
52989     if ( mValidate )
52990     {
52991     ParserError::ErrorType simpleTypeValidationResult = validate__NCName(attributeData->param, strlen(attributeData->param));
52992     if (simpleTypeValidationResult != ParserError::SIMPLE_TYPE_VALIDATION_OK)
52993     {
52994         if( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL,
52995             simpleTypeValidationResult,
52996             HASH_ELEMENT_LIGHT_LINEAR_ATTENUATION,
52997             HASH_ATTRIBUTE_param,
52998             attributeValue) )
52999         {
53000             return false;
53001         }
53002     }
53003     } // validation
53004 #endif
53005 
53006     break;
53007     }
53008     case HASH_ATTRIBUTE_index:
53009     {
53010 bool failed;
53011 attributeData->index = GeneratedSaxParser::Utils::toUint64(attributeValue, failed);
53012 if ( failed && handleError(ParserError::SEVERITY_ERROR_NONCRITICAL,
53013         ParserError::ERROR_ATTRIBUTE_PARSING_FAILED,
53014         HASH_ELEMENT_LIGHT_LINEAR_ATTENUATION,
53015         HASH_ATTRIBUTE_index,
53016         attributeValue))
53017 {
53018     return false;
53019 }
53020 if ( !failed )
53021     attributeData->present_attributes |= light_linear_attenuation__AttributeData::ATTRIBUTE_INDEX_PRESENT;
53022 
53023     break;
53024     }
53025     default:
53026     {
53027         if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_UNKNOWN_ATTRIBUTE, HASH_ELEMENT_LIGHT_LINEAR_ATTENUATION, attribute, attributeValue))
53028             {return false;}
53029     }
53030     }
53031     }
53032 }
53033 if ( (attributeData->present_attributes & light_linear_attenuation__AttributeData::ATTRIBUTE_INDEX_PRESENT) == 0 )
53034 {
53035     if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_REQUIRED_ATTRIBUTE_MISSING, HASH_ELEMENT_LIGHT_LINEAR_ATTENUATION, HASH_ATTRIBUTE_index, 0 ) )
53036         return false;
53037 }
53038 
53039 
53040     return true;
53041 }
53042 
53043 //---------------------------------------------------------------------
_preEnd__light_linear_attenuation()53044 bool ColladaParserAutoGen14Private::_preEnd__light_linear_attenuation()
53045 {
53046 #ifdef GENERATEDSAXPARSER_VALIDATION
53047     if ( mValidate )
53048     {
53049 
53050         bool validationResult = _validateEnd__light_linear_attenuation();
53051         if ( !validationResult ) return false;
53052 
53053     } // validation
53054 #endif
53055 
53056     return true;
53057 }
53058 
53059 //---------------------------------------------------------------------
_freeAttributes__light_linear_attenuation(void * attributeData)53060 bool ColladaParserAutoGen14Private::_freeAttributes__light_linear_attenuation( void* attributeData )
53061 {
53062     light_linear_attenuation__AttributeData* typedAttributeData = static_cast<light_linear_attenuation__AttributeData*>(attributeData);
53063 
53064     typedAttributeData->~light_linear_attenuation__AttributeData();
53065 
53066     return true;
53067 }
53068 
53069 //---------------------------------------------------------------------
53070 const profile_GLSL__technique__pass__light_quadratic_attenuation__AttributeData profile_GLSL__technique__pass__light_quadratic_attenuation__AttributeData::DEFAULT = {0, 0.0E1, 0, 0};
53071 
53072 //---------------------------------------------------------------------
_data__profile_GLSL__technique__pass__light_quadratic_attenuation(const ParserChar * text,size_t textLength)53073 bool ColladaParserAutoGen14Private::_data__profile_GLSL__technique__pass__light_quadratic_attenuation( const ParserChar* text, size_t textLength )
53074 {
53075     return true;
53076 }
53077 
53078 //---------------------------------------------------------------------
_preBegin__profile_GLSL__technique__pass__light_quadratic_attenuation(const ParserAttributes & attributes,void ** attributeDataPtr,void ** validationDataPtr)53079 bool ColladaParserAutoGen14Private::_preBegin__profile_GLSL__technique__pass__light_quadratic_attenuation( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
53080 {
53081 #ifdef GENERATEDSAXPARSER_VALIDATION
53082     if ( mValidate )
53083     {
53084 
53085         bool validationResult = _validateBegin__profile_GLSL__technique__pass__light_quadratic_attenuation( attributes, attributeDataPtr, validationDataPtr );
53086         if ( !validationResult ) return false;
53087 
53088     } // validation
53089 #endif
53090 
53091 profile_GLSL__technique__pass__light_quadratic_attenuation__AttributeData* attributeData = newData<profile_GLSL__technique__pass__light_quadratic_attenuation__AttributeData>(attributeDataPtr);
53092 
53093 const ParserChar** attributeArray = attributes.attributes;
53094 if ( attributeArray )
53095 {
53096     while (true)
53097     {
53098         const ParserChar * attribute = *attributeArray;
53099         if ( !attribute )
53100             break;
53101         StringHash hash = GeneratedSaxParser::Utils::calculateStringHash(attribute);
53102         attributeArray++;
53103         if ( !attributeArray )
53104             return false;
53105         const ParserChar* attributeValue = *attributeArray;
53106         attributeArray++;
53107 
53108 
53109     switch ( hash )
53110     {
53111     case HASH_ATTRIBUTE_value:
53112     {
53113 bool failed;
53114 attributeData->value = GeneratedSaxParser::Utils::toFloat(attributeValue, failed);
53115 if ( failed && handleError(ParserError::SEVERITY_ERROR_NONCRITICAL,
53116         ParserError::ERROR_ATTRIBUTE_PARSING_FAILED,
53117         HASH_ELEMENT_LIGHT_QUADRATIC_ATTENUATION,
53118         HASH_ATTRIBUTE_value,
53119         attributeValue))
53120 {
53121     return false;
53122 }
53123 
53124     break;
53125     }
53126     case HASH_ATTRIBUTE_param:
53127     {
53128 
53129 attributeData->param = attributeValue;
53130 #ifdef GENERATEDSAXPARSER_VALIDATION
53131     if ( mValidate )
53132     {
53133     ParserError::ErrorType simpleTypeValidationResult = validate__NCName(attributeData->param, strlen(attributeData->param));
53134     if (simpleTypeValidationResult != ParserError::SIMPLE_TYPE_VALIDATION_OK)
53135     {
53136         if( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL,
53137             simpleTypeValidationResult,
53138             HASH_ELEMENT_LIGHT_QUADRATIC_ATTENUATION,
53139             HASH_ATTRIBUTE_param,
53140             attributeValue) )
53141         {
53142             return false;
53143         }
53144     }
53145     } // validation
53146 #endif
53147 
53148     break;
53149     }
53150     case HASH_ATTRIBUTE_index:
53151     {
53152 bool failed;
53153 attributeData->index = GeneratedSaxParser::Utils::toUint64(attributeValue, failed);
53154 if ( failed && handleError(ParserError::SEVERITY_ERROR_NONCRITICAL,
53155         ParserError::ERROR_ATTRIBUTE_PARSING_FAILED,
53156         HASH_ELEMENT_LIGHT_QUADRATIC_ATTENUATION,
53157         HASH_ATTRIBUTE_index,
53158         attributeValue))
53159 {
53160     return false;
53161 }
53162 if ( !failed )
53163     attributeData->present_attributes |= profile_GLSL__technique__pass__light_quadratic_attenuation__AttributeData::ATTRIBUTE_INDEX_PRESENT;
53164 
53165     break;
53166     }
53167     default:
53168     {
53169         if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_UNKNOWN_ATTRIBUTE, HASH_ELEMENT_LIGHT_QUADRATIC_ATTENUATION, attribute, attributeValue))
53170             {return false;}
53171     }
53172     }
53173     }
53174 }
53175 if ( (attributeData->present_attributes & profile_GLSL__technique__pass__light_quadratic_attenuation__AttributeData::ATTRIBUTE_INDEX_PRESENT) == 0 )
53176 {
53177     if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_REQUIRED_ATTRIBUTE_MISSING, HASH_ELEMENT_LIGHT_QUADRATIC_ATTENUATION, HASH_ATTRIBUTE_index, 0 ) )
53178         return false;
53179 }
53180 
53181 
53182     return true;
53183 }
53184 
53185 //---------------------------------------------------------------------
_preEnd__profile_GLSL__technique__pass__light_quadratic_attenuation()53186 bool ColladaParserAutoGen14Private::_preEnd__profile_GLSL__technique__pass__light_quadratic_attenuation()
53187 {
53188 #ifdef GENERATEDSAXPARSER_VALIDATION
53189     if ( mValidate )
53190     {
53191 
53192         bool validationResult = _validateEnd__profile_GLSL__technique__pass__light_quadratic_attenuation();
53193         if ( !validationResult ) return false;
53194 
53195     } // validation
53196 #endif
53197 
53198     return true;
53199 }
53200 
53201 //---------------------------------------------------------------------
_freeAttributes__profile_GLSL__technique__pass__light_quadratic_attenuation(void * attributeData)53202 bool ColladaParserAutoGen14Private::_freeAttributes__profile_GLSL__technique__pass__light_quadratic_attenuation( void* attributeData )
53203 {
53204     profile_GLSL__technique__pass__light_quadratic_attenuation__AttributeData* typedAttributeData = static_cast<profile_GLSL__technique__pass__light_quadratic_attenuation__AttributeData*>(attributeData);
53205 
53206     typedAttributeData->~profile_GLSL__technique__pass__light_quadratic_attenuation__AttributeData();
53207 
53208     return true;
53209 }
53210 
53211 //---------------------------------------------------------------------
53212 const profile_GLSL__technique__pass__light_spot_cutoff__AttributeData profile_GLSL__technique__pass__light_spot_cutoff__AttributeData::DEFAULT = {0, 1.8E2, 0, 0};
53213 
53214 //---------------------------------------------------------------------
_data__profile_GLSL__technique__pass__light_spot_cutoff(const ParserChar * text,size_t textLength)53215 bool ColladaParserAutoGen14Private::_data__profile_GLSL__technique__pass__light_spot_cutoff( const ParserChar* text, size_t textLength )
53216 {
53217     return true;
53218 }
53219 
53220 //---------------------------------------------------------------------
_preBegin__profile_GLSL__technique__pass__light_spot_cutoff(const ParserAttributes & attributes,void ** attributeDataPtr,void ** validationDataPtr)53221 bool ColladaParserAutoGen14Private::_preBegin__profile_GLSL__technique__pass__light_spot_cutoff( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
53222 {
53223 #ifdef GENERATEDSAXPARSER_VALIDATION
53224     if ( mValidate )
53225     {
53226 
53227         bool validationResult = _validateBegin__profile_GLSL__technique__pass__light_spot_cutoff( attributes, attributeDataPtr, validationDataPtr );
53228         if ( !validationResult ) return false;
53229 
53230     } // validation
53231 #endif
53232 
53233 profile_GLSL__technique__pass__light_spot_cutoff__AttributeData* attributeData = newData<profile_GLSL__technique__pass__light_spot_cutoff__AttributeData>(attributeDataPtr);
53234 
53235 const ParserChar** attributeArray = attributes.attributes;
53236 if ( attributeArray )
53237 {
53238     while (true)
53239     {
53240         const ParserChar * attribute = *attributeArray;
53241         if ( !attribute )
53242             break;
53243         StringHash hash = GeneratedSaxParser::Utils::calculateStringHash(attribute);
53244         attributeArray++;
53245         if ( !attributeArray )
53246             return false;
53247         const ParserChar* attributeValue = *attributeArray;
53248         attributeArray++;
53249 
53250 
53251     switch ( hash )
53252     {
53253     case HASH_ATTRIBUTE_value:
53254     {
53255 bool failed;
53256 attributeData->value = GeneratedSaxParser::Utils::toFloat(attributeValue, failed);
53257 if ( failed && handleError(ParserError::SEVERITY_ERROR_NONCRITICAL,
53258         ParserError::ERROR_ATTRIBUTE_PARSING_FAILED,
53259         HASH_ELEMENT_LIGHT_SPOT_CUTOFF,
53260         HASH_ATTRIBUTE_value,
53261         attributeValue))
53262 {
53263     return false;
53264 }
53265 
53266     break;
53267     }
53268     case HASH_ATTRIBUTE_param:
53269     {
53270 
53271 attributeData->param = attributeValue;
53272 #ifdef GENERATEDSAXPARSER_VALIDATION
53273     if ( mValidate )
53274     {
53275     ParserError::ErrorType simpleTypeValidationResult = validate__NCName(attributeData->param, strlen(attributeData->param));
53276     if (simpleTypeValidationResult != ParserError::SIMPLE_TYPE_VALIDATION_OK)
53277     {
53278         if( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL,
53279             simpleTypeValidationResult,
53280             HASH_ELEMENT_LIGHT_SPOT_CUTOFF,
53281             HASH_ATTRIBUTE_param,
53282             attributeValue) )
53283         {
53284             return false;
53285         }
53286     }
53287     } // validation
53288 #endif
53289 
53290     break;
53291     }
53292     case HASH_ATTRIBUTE_index:
53293     {
53294 bool failed;
53295 attributeData->index = GeneratedSaxParser::Utils::toUint64(attributeValue, failed);
53296 if ( failed && handleError(ParserError::SEVERITY_ERROR_NONCRITICAL,
53297         ParserError::ERROR_ATTRIBUTE_PARSING_FAILED,
53298         HASH_ELEMENT_LIGHT_SPOT_CUTOFF,
53299         HASH_ATTRIBUTE_index,
53300         attributeValue))
53301 {
53302     return false;
53303 }
53304 if ( !failed )
53305     attributeData->present_attributes |= profile_GLSL__technique__pass__light_spot_cutoff__AttributeData::ATTRIBUTE_INDEX_PRESENT;
53306 
53307     break;
53308     }
53309     default:
53310     {
53311         if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_UNKNOWN_ATTRIBUTE, HASH_ELEMENT_LIGHT_SPOT_CUTOFF, attribute, attributeValue))
53312             {return false;}
53313     }
53314     }
53315     }
53316 }
53317 if ( (attributeData->present_attributes & profile_GLSL__technique__pass__light_spot_cutoff__AttributeData::ATTRIBUTE_INDEX_PRESENT) == 0 )
53318 {
53319     if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_REQUIRED_ATTRIBUTE_MISSING, HASH_ELEMENT_LIGHT_SPOT_CUTOFF, HASH_ATTRIBUTE_index, 0 ) )
53320         return false;
53321 }
53322 
53323 
53324     return true;
53325 }
53326 
53327 //---------------------------------------------------------------------
_preEnd__profile_GLSL__technique__pass__light_spot_cutoff()53328 bool ColladaParserAutoGen14Private::_preEnd__profile_GLSL__technique__pass__light_spot_cutoff()
53329 {
53330 #ifdef GENERATEDSAXPARSER_VALIDATION
53331     if ( mValidate )
53332     {
53333 
53334         bool validationResult = _validateEnd__profile_GLSL__technique__pass__light_spot_cutoff();
53335         if ( !validationResult ) return false;
53336 
53337     } // validation
53338 #endif
53339 
53340     return true;
53341 }
53342 
53343 //---------------------------------------------------------------------
_freeAttributes__profile_GLSL__technique__pass__light_spot_cutoff(void * attributeData)53344 bool ColladaParserAutoGen14Private::_freeAttributes__profile_GLSL__technique__pass__light_spot_cutoff( void* attributeData )
53345 {
53346     profile_GLSL__technique__pass__light_spot_cutoff__AttributeData* typedAttributeData = static_cast<profile_GLSL__technique__pass__light_spot_cutoff__AttributeData*>(attributeData);
53347 
53348     typedAttributeData->~profile_GLSL__technique__pass__light_spot_cutoff__AttributeData();
53349 
53350     return true;
53351 }
53352 
53353 //---------------------------------------------------------------------
53354 const profile_GLSL__technique__pass__light_spot_direction__AttributeData profile_GLSL__technique__pass__light_spot_direction__AttributeData::DEFAULT = {0, GeneratedSaxParser::XSList<float>(), 0, 0};
53355 
53356 //---------------------------------------------------------------------
_data__profile_GLSL__technique__pass__light_spot_direction(const ParserChar * text,size_t textLength)53357 bool ColladaParserAutoGen14Private::_data__profile_GLSL__technique__pass__light_spot_direction( const ParserChar* text, size_t textLength )
53358 {
53359     return true;
53360 }
53361 
53362 //---------------------------------------------------------------------
_preBegin__profile_GLSL__technique__pass__light_spot_direction(const ParserAttributes & attributes,void ** attributeDataPtr,void ** validationDataPtr)53363 bool ColladaParserAutoGen14Private::_preBegin__profile_GLSL__technique__pass__light_spot_direction( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
53364 {
53365 #ifdef GENERATEDSAXPARSER_VALIDATION
53366     if ( mValidate )
53367     {
53368 
53369         bool validationResult = _validateBegin__profile_GLSL__technique__pass__light_spot_direction( attributes, attributeDataPtr, validationDataPtr );
53370         if ( !validationResult ) return false;
53371 
53372     } // validation
53373 #endif
53374 
53375 profile_GLSL__technique__pass__light_spot_direction__AttributeData* attributeData = newData<profile_GLSL__technique__pass__light_spot_direction__AttributeData>(attributeDataPtr);
53376 
53377 const ParserChar** attributeArray = attributes.attributes;
53378 if ( attributeArray )
53379 {
53380     while (true)
53381     {
53382         const ParserChar * attribute = *attributeArray;
53383         if ( !attribute )
53384             break;
53385         StringHash hash = GeneratedSaxParser::Utils::calculateStringHash(attribute);
53386         attributeArray++;
53387         if ( !attributeArray )
53388             return false;
53389         const ParserChar* attributeValue = *attributeArray;
53390         attributeArray++;
53391 
53392 
53393     switch ( hash )
53394     {
53395     case HASH_ATTRIBUTE_value:
53396     {
53397 bool failed;
53398 #ifdef GENERATEDSAXPARSER_VALIDATION
53399     if ( mValidate )
53400     {
53401 failed = !characterData2FloatList(attributeValue, attributeData->value, 0, HASH_ELEMENT_LIGHT_SPOT_DIRECTION, HASH_ATTRIBUTE_value);
53402     }
53403     else
53404     {
53405 failed = !characterData2FloatList(attributeValue, attributeData->value);
53406     }
53407 #else
53408     {
53409 failed = !characterData2FloatList(attributeValue, attributeData->value);
53410     } // validation
53411 #endif
53412 if ( failed && handleError(ParserError::SEVERITY_ERROR_NONCRITICAL,
53413         ParserError::ERROR_ATTRIBUTE_PARSING_FAILED,
53414         HASH_ELEMENT_LIGHT_SPOT_DIRECTION,
53415         HASH_ATTRIBUTE_value,
53416         attributeValue))
53417 {
53418     return false;
53419 }
53420 #ifdef GENERATEDSAXPARSER_VALIDATION
53421     if ( mValidate )
53422     {
53423     ParserError::ErrorType simpleTypeValidationResult = validate__float3(attributeData->value.data, attributeData->value.size);
53424     if (simpleTypeValidationResult != ParserError::SIMPLE_TYPE_VALIDATION_OK)
53425     {
53426         if( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL,
53427             simpleTypeValidationResult,
53428             HASH_ELEMENT_LIGHT_SPOT_DIRECTION,
53429             HASH_ATTRIBUTE_value,
53430             attributeValue) )
53431         {
53432             return false;
53433         }
53434     }
53435     } // validation
53436 #endif
53437 
53438 if ( !failed )
53439     attributeData->present_attributes |= profile_GLSL__technique__pass__light_spot_direction__AttributeData::ATTRIBUTE_VALUE_PRESENT;
53440 
53441     break;
53442     }
53443     case HASH_ATTRIBUTE_param:
53444     {
53445 
53446 attributeData->param = attributeValue;
53447 #ifdef GENERATEDSAXPARSER_VALIDATION
53448     if ( mValidate )
53449     {
53450     ParserError::ErrorType simpleTypeValidationResult = validate__NCName(attributeData->param, strlen(attributeData->param));
53451     if (simpleTypeValidationResult != ParserError::SIMPLE_TYPE_VALIDATION_OK)
53452     {
53453         if( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL,
53454             simpleTypeValidationResult,
53455             HASH_ELEMENT_LIGHT_SPOT_DIRECTION,
53456             HASH_ATTRIBUTE_param,
53457             attributeValue) )
53458         {
53459             return false;
53460         }
53461     }
53462     } // validation
53463 #endif
53464 
53465     break;
53466     }
53467     case HASH_ATTRIBUTE_index:
53468     {
53469 bool failed;
53470 attributeData->index = GeneratedSaxParser::Utils::toUint64(attributeValue, failed);
53471 if ( failed && handleError(ParserError::SEVERITY_ERROR_NONCRITICAL,
53472         ParserError::ERROR_ATTRIBUTE_PARSING_FAILED,
53473         HASH_ELEMENT_LIGHT_SPOT_DIRECTION,
53474         HASH_ATTRIBUTE_index,
53475         attributeValue))
53476 {
53477     return false;
53478 }
53479 if ( !failed )
53480     attributeData->present_attributes |= profile_GLSL__technique__pass__light_spot_direction__AttributeData::ATTRIBUTE_INDEX_PRESENT;
53481 
53482     break;
53483     }
53484     default:
53485     {
53486         if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_UNKNOWN_ATTRIBUTE, HASH_ELEMENT_LIGHT_SPOT_DIRECTION, attribute, attributeValue))
53487             {return false;}
53488     }
53489     }
53490     }
53491 }
53492 if ((attributeData->present_attributes & profile_GLSL__technique__pass__light_spot_direction__AttributeData::ATTRIBUTE_VALUE_PRESENT) == 0)
53493 {
53494     bool failed;
53495     failed = !characterData2FloatList("0.0E1 0.0E1 -1.0E0", attributeData->value);
53496     if ( !failed )
53497     attributeData->present_attributes |= profile_GLSL__technique__pass__light_spot_direction__AttributeData::ATTRIBUTE_VALUE_PRESENT;
53498 }
53499 if ( (attributeData->present_attributes & profile_GLSL__technique__pass__light_spot_direction__AttributeData::ATTRIBUTE_INDEX_PRESENT) == 0 )
53500 {
53501     if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_REQUIRED_ATTRIBUTE_MISSING, HASH_ELEMENT_LIGHT_SPOT_DIRECTION, HASH_ATTRIBUTE_index, 0 ) )
53502         return false;
53503 }
53504 
53505 
53506     return true;
53507 }
53508 
53509 //---------------------------------------------------------------------
_preEnd__profile_GLSL__technique__pass__light_spot_direction()53510 bool ColladaParserAutoGen14Private::_preEnd__profile_GLSL__technique__pass__light_spot_direction()
53511 {
53512 #ifdef GENERATEDSAXPARSER_VALIDATION
53513     if ( mValidate )
53514     {
53515 
53516         bool validationResult = _validateEnd__profile_GLSL__technique__pass__light_spot_direction();
53517         if ( !validationResult ) return false;
53518 
53519     } // validation
53520 #endif
53521 
53522     return true;
53523 }
53524 
53525 //---------------------------------------------------------------------
_freeAttributes__profile_GLSL__technique__pass__light_spot_direction(void * attributeData)53526 bool ColladaParserAutoGen14Private::_freeAttributes__profile_GLSL__technique__pass__light_spot_direction( void* attributeData )
53527 {
53528     profile_GLSL__technique__pass__light_spot_direction__AttributeData* typedAttributeData = static_cast<profile_GLSL__technique__pass__light_spot_direction__AttributeData*>(attributeData);
53529     if (typedAttributeData->value.data)
53530     {
53531         mStackMemoryManager.deleteObject();
53532     }
53533 
53534 
53535     typedAttributeData->~profile_GLSL__technique__pass__light_spot_direction__AttributeData();
53536 
53537     return true;
53538 }
53539 
53540 //---------------------------------------------------------------------
53541 const profile_GLSL__technique__pass__light_spot_exponent__AttributeData profile_GLSL__technique__pass__light_spot_exponent__AttributeData::DEFAULT = {0, 0.0E1, 0, 0};
53542 
53543 //---------------------------------------------------------------------
_data__profile_GLSL__technique__pass__light_spot_exponent(const ParserChar * text,size_t textLength)53544 bool ColladaParserAutoGen14Private::_data__profile_GLSL__technique__pass__light_spot_exponent( const ParserChar* text, size_t textLength )
53545 {
53546     return true;
53547 }
53548 
53549 //---------------------------------------------------------------------
_preBegin__profile_GLSL__technique__pass__light_spot_exponent(const ParserAttributes & attributes,void ** attributeDataPtr,void ** validationDataPtr)53550 bool ColladaParserAutoGen14Private::_preBegin__profile_GLSL__technique__pass__light_spot_exponent( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
53551 {
53552 #ifdef GENERATEDSAXPARSER_VALIDATION
53553     if ( mValidate )
53554     {
53555 
53556         bool validationResult = _validateBegin__profile_GLSL__technique__pass__light_spot_exponent( attributes, attributeDataPtr, validationDataPtr );
53557         if ( !validationResult ) return false;
53558 
53559     } // validation
53560 #endif
53561 
53562 profile_GLSL__technique__pass__light_spot_exponent__AttributeData* attributeData = newData<profile_GLSL__technique__pass__light_spot_exponent__AttributeData>(attributeDataPtr);
53563 
53564 const ParserChar** attributeArray = attributes.attributes;
53565 if ( attributeArray )
53566 {
53567     while (true)
53568     {
53569         const ParserChar * attribute = *attributeArray;
53570         if ( !attribute )
53571             break;
53572         StringHash hash = GeneratedSaxParser::Utils::calculateStringHash(attribute);
53573         attributeArray++;
53574         if ( !attributeArray )
53575             return false;
53576         const ParserChar* attributeValue = *attributeArray;
53577         attributeArray++;
53578 
53579 
53580     switch ( hash )
53581     {
53582     case HASH_ATTRIBUTE_value:
53583     {
53584 bool failed;
53585 attributeData->value = GeneratedSaxParser::Utils::toFloat(attributeValue, failed);
53586 if ( failed && handleError(ParserError::SEVERITY_ERROR_NONCRITICAL,
53587         ParserError::ERROR_ATTRIBUTE_PARSING_FAILED,
53588         HASH_ELEMENT_LIGHT_SPOT_EXPONENT,
53589         HASH_ATTRIBUTE_value,
53590         attributeValue))
53591 {
53592     return false;
53593 }
53594 
53595     break;
53596     }
53597     case HASH_ATTRIBUTE_param:
53598     {
53599 
53600 attributeData->param = attributeValue;
53601 #ifdef GENERATEDSAXPARSER_VALIDATION
53602     if ( mValidate )
53603     {
53604     ParserError::ErrorType simpleTypeValidationResult = validate__NCName(attributeData->param, strlen(attributeData->param));
53605     if (simpleTypeValidationResult != ParserError::SIMPLE_TYPE_VALIDATION_OK)
53606     {
53607         if( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL,
53608             simpleTypeValidationResult,
53609             HASH_ELEMENT_LIGHT_SPOT_EXPONENT,
53610             HASH_ATTRIBUTE_param,
53611             attributeValue) )
53612         {
53613             return false;
53614         }
53615     }
53616     } // validation
53617 #endif
53618 
53619     break;
53620     }
53621     case HASH_ATTRIBUTE_index:
53622     {
53623 bool failed;
53624 attributeData->index = GeneratedSaxParser::Utils::toUint64(attributeValue, failed);
53625 if ( failed && handleError(ParserError::SEVERITY_ERROR_NONCRITICAL,
53626         ParserError::ERROR_ATTRIBUTE_PARSING_FAILED,
53627         HASH_ELEMENT_LIGHT_SPOT_EXPONENT,
53628         HASH_ATTRIBUTE_index,
53629         attributeValue))
53630 {
53631     return false;
53632 }
53633 if ( !failed )
53634     attributeData->present_attributes |= profile_GLSL__technique__pass__light_spot_exponent__AttributeData::ATTRIBUTE_INDEX_PRESENT;
53635 
53636     break;
53637     }
53638     default:
53639     {
53640         if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_UNKNOWN_ATTRIBUTE, HASH_ELEMENT_LIGHT_SPOT_EXPONENT, attribute, attributeValue))
53641             {return false;}
53642     }
53643     }
53644     }
53645 }
53646 if ( (attributeData->present_attributes & profile_GLSL__technique__pass__light_spot_exponent__AttributeData::ATTRIBUTE_INDEX_PRESENT) == 0 )
53647 {
53648     if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_REQUIRED_ATTRIBUTE_MISSING, HASH_ELEMENT_LIGHT_SPOT_EXPONENT, HASH_ATTRIBUTE_index, 0 ) )
53649         return false;
53650 }
53651 
53652 
53653     return true;
53654 }
53655 
53656 //---------------------------------------------------------------------
_preEnd__profile_GLSL__technique__pass__light_spot_exponent()53657 bool ColladaParserAutoGen14Private::_preEnd__profile_GLSL__technique__pass__light_spot_exponent()
53658 {
53659 #ifdef GENERATEDSAXPARSER_VALIDATION
53660     if ( mValidate )
53661     {
53662 
53663         bool validationResult = _validateEnd__profile_GLSL__technique__pass__light_spot_exponent();
53664         if ( !validationResult ) return false;
53665 
53666     } // validation
53667 #endif
53668 
53669     return true;
53670 }
53671 
53672 //---------------------------------------------------------------------
_freeAttributes__profile_GLSL__technique__pass__light_spot_exponent(void * attributeData)53673 bool ColladaParserAutoGen14Private::_freeAttributes__profile_GLSL__technique__pass__light_spot_exponent( void* attributeData )
53674 {
53675     profile_GLSL__technique__pass__light_spot_exponent__AttributeData* typedAttributeData = static_cast<profile_GLSL__technique__pass__light_spot_exponent__AttributeData*>(attributeData);
53676 
53677     typedAttributeData->~profile_GLSL__technique__pass__light_spot_exponent__AttributeData();
53678 
53679     return true;
53680 }
53681 
53682 //---------------------------------------------------------------------
53683 const texture1D__AttributeData texture1D__AttributeData::DEFAULT = {0, 0};
53684 
53685 //---------------------------------------------------------------------
_data__texture1D(const ParserChar * text,size_t textLength)53686 bool ColladaParserAutoGen14Private::_data__texture1D( const ParserChar* text, size_t textLength )
53687 {
53688     return true;
53689 }
53690 
53691 //---------------------------------------------------------------------
_preBegin__texture1D(const ParserAttributes & attributes,void ** attributeDataPtr,void ** validationDataPtr)53692 bool ColladaParserAutoGen14Private::_preBegin__texture1D( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
53693 {
53694 #ifdef GENERATEDSAXPARSER_VALIDATION
53695     if ( mValidate )
53696     {
53697 
53698         bool validationResult = _validateBegin__texture1D( attributes, attributeDataPtr, validationDataPtr );
53699         if ( !validationResult ) return false;
53700 
53701     } // validation
53702 #endif
53703 
53704 texture1D__AttributeData* attributeData = newData<texture1D__AttributeData>(attributeDataPtr);
53705 
53706 const ParserChar** attributeArray = attributes.attributes;
53707 if ( attributeArray )
53708 {
53709     while (true)
53710     {
53711         const ParserChar * attribute = *attributeArray;
53712         if ( !attribute )
53713             break;
53714         StringHash hash = GeneratedSaxParser::Utils::calculateStringHash(attribute);
53715         attributeArray++;
53716         if ( !attributeArray )
53717             return false;
53718         const ParserChar* attributeValue = *attributeArray;
53719         attributeArray++;
53720 
53721 
53722     switch ( hash )
53723     {
53724     case HASH_ATTRIBUTE_index:
53725     {
53726 bool failed;
53727 attributeData->index = GeneratedSaxParser::Utils::toUint64(attributeValue, failed);
53728 if ( failed && handleError(ParserError::SEVERITY_ERROR_NONCRITICAL,
53729         ParserError::ERROR_ATTRIBUTE_PARSING_FAILED,
53730         HASH_ELEMENT_TEXTURE1D,
53731         HASH_ATTRIBUTE_index,
53732         attributeValue))
53733 {
53734     return false;
53735 }
53736 if ( !failed )
53737     attributeData->present_attributes |= texture1D__AttributeData::ATTRIBUTE_INDEX_PRESENT;
53738 
53739     break;
53740     }
53741     default:
53742     {
53743         if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_UNKNOWN_ATTRIBUTE, HASH_ELEMENT_TEXTURE1D, attribute, attributeValue))
53744             {return false;}
53745     }
53746     }
53747     }
53748 }
53749 if ( (attributeData->present_attributes & texture1D__AttributeData::ATTRIBUTE_INDEX_PRESENT) == 0 )
53750 {
53751     if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_REQUIRED_ATTRIBUTE_MISSING, HASH_ELEMENT_TEXTURE1D, HASH_ATTRIBUTE_index, 0 ) )
53752         return false;
53753 }
53754 
53755 
53756     return true;
53757 }
53758 
53759 //---------------------------------------------------------------------
_preEnd__texture1D()53760 bool ColladaParserAutoGen14Private::_preEnd__texture1D()
53761 {
53762 #ifdef GENERATEDSAXPARSER_VALIDATION
53763     if ( mValidate )
53764     {
53765 
53766         bool validationResult = _validateEnd__texture1D();
53767         if ( !validationResult ) return false;
53768 
53769     } // validation
53770 #endif
53771 
53772     return true;
53773 }
53774 
53775 //---------------------------------------------------------------------
_freeAttributes__texture1D(void * attributeData)53776 bool ColladaParserAutoGen14Private::_freeAttributes__texture1D( void* attributeData )
53777 {
53778     texture1D__AttributeData* typedAttributeData = static_cast<texture1D__AttributeData*>(attributeData);
53779 
53780     typedAttributeData->~texture1D__AttributeData();
53781 
53782     return true;
53783 }
53784 
53785 //---------------------------------------------------------------------
_data__value____gl_sampler1D(const ParserChar * text,size_t textLength)53786 bool ColladaParserAutoGen14Private::_data__value____gl_sampler1D( const ParserChar* text, size_t textLength )
53787 {
53788     return true;
53789 }
53790 
53791 //---------------------------------------------------------------------
_preBegin__value____gl_sampler1D(const ParserAttributes & attributes,void ** attributeDataPtr,void ** validationDataPtr)53792 bool ColladaParserAutoGen14Private::_preBegin__value____gl_sampler1D( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
53793 {
53794 #ifdef GENERATEDSAXPARSER_VALIDATION
53795     if ( mValidate )
53796     {
53797 
53798         bool validationResult = _validateBegin__value____gl_sampler1D( attributes, attributeDataPtr, validationDataPtr );
53799         if ( !validationResult ) return false;
53800 
53801     } // validation
53802 #endif
53803 
53804     return true;
53805 }
53806 
53807 //---------------------------------------------------------------------
_preEnd__value____gl_sampler1D()53808 bool ColladaParserAutoGen14Private::_preEnd__value____gl_sampler1D()
53809 {
53810 #ifdef GENERATEDSAXPARSER_VALIDATION
53811     if ( mValidate )
53812     {
53813 
53814         bool validationResult = _validateEnd__value____gl_sampler1D();
53815         if ( !validationResult ) return false;
53816 
53817     } // validation
53818 #endif
53819 
53820     return true;
53821 }
53822 
53823 //---------------------------------------------------------------------
_freeAttributes__value____gl_sampler1D(void * attributeData)53824 bool ColladaParserAutoGen14Private::_freeAttributes__value____gl_sampler1D( void* attributeData )
53825 {
53826     return true;
53827 }
53828 
53829 //---------------------------------------------------------------------
_data__param____NCName(const ParserChar * text,size_t textLength)53830 bool ColladaParserAutoGen14Private::_data__param____NCName( const ParserChar* text, size_t textLength )
53831 {
53832 if (!mLastIncompleteFragmentInCharacterData)
53833 {
53834     mLastIncompleteFragmentInCharacterData = (ParserChar*)mStackMemoryManager.newObject(textLength);
53835     memcpy(mLastIncompleteFragmentInCharacterData, text, textLength);
53836     mEndOfDataInCurrentObjectOnStack = mLastIncompleteFragmentInCharacterData + textLength;
53837 }
53838 else
53839 {
53840     ParserChar* tmp = (ParserChar*)mStackMemoryManager.growObject(textLength);
53841     if ( tmp != mLastIncompleteFragmentInCharacterData ) {
53842         mEndOfDataInCurrentObjectOnStack = (mEndOfDataInCurrentObjectOnStack - mLastIncompleteFragmentInCharacterData) + tmp;
53843         mLastIncompleteFragmentInCharacterData = tmp;
53844     }
53845     memcpy(mEndOfDataInCurrentObjectOnStack, text, textLength);
53846     mEndOfDataInCurrentObjectOnStack += textLength;
53847 }
53848 return true;
53849 }
53850 
53851 //---------------------------------------------------------------------
_preBegin__param____NCName(const ParserAttributes & attributes,void ** attributeDataPtr,void ** validationDataPtr)53852 bool ColladaParserAutoGen14Private::_preBegin__param____NCName( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
53853 {
53854 #ifdef GENERATEDSAXPARSER_VALIDATION
53855     if ( mValidate )
53856     {
53857 
53858         bool validationResult = _validateBegin__param____NCName( attributes, attributeDataPtr, validationDataPtr );
53859         if ( !validationResult ) return false;
53860 
53861     } // validation
53862 #endif
53863 
53864     return true;
53865 }
53866 
53867 //---------------------------------------------------------------------
_preEnd__param____NCName()53868 bool ColladaParserAutoGen14Private::_preEnd__param____NCName()
53869 {
53870 #ifdef GENERATEDSAXPARSER_VALIDATION
53871     if ( mValidate )
53872     {
53873 
53874         bool validationResult = _validateEnd__param____NCName();
53875         if ( !validationResult ) return false;
53876 
53877     } // validation
53878 #endif
53879 
53880 bool returnValue = true;
53881 #ifdef GENERATEDSAXPARSER_VALIDATION
53882     if ( mValidate )
53883     {
53884 ParserError::ErrorType simpleTypeValidationResult = validate__NCName(mLastIncompleteFragmentInCharacterData, mEndOfDataInCurrentObjectOnStack - mLastIncompleteFragmentInCharacterData);
53885 if (simpleTypeValidationResult != ParserError::SIMPLE_TYPE_VALIDATION_OK)
53886 {
53887     ParserChar msg[21];
53888     Utils::fillErrorMsg(msg, mLastIncompleteFragmentInCharacterData, 20);
53889     if( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL,
53890         simpleTypeValidationResult,
53891         0,
53892         msg) )
53893     {
53894         returnValue =  false;
53895     }
53896 }
53897 if (!returnValue)
53898 {
53899     mStackMemoryManager.deleteObject();
53900     mLastIncompleteFragmentInCharacterData = 0;
53901     mEndOfDataInCurrentObjectOnStack = 0;
53902     return returnValue;
53903 }
53904     } // validation
53905 #endif
53906 returnValue = mImpl->data__param____NCName(mLastIncompleteFragmentInCharacterData, mEndOfDataInCurrentObjectOnStack - mLastIncompleteFragmentInCharacterData);
53907 mStackMemoryManager.deleteObject();
53908 mLastIncompleteFragmentInCharacterData = 0;
53909 mEndOfDataInCurrentObjectOnStack = 0;
53910 return returnValue;
53911 
53912 }
53913 
53914 //---------------------------------------------------------------------
_freeAttributes__param____NCName(void * attributeData)53915 bool ColladaParserAutoGen14Private::_freeAttributes__param____NCName( void* attributeData )
53916 {
53917     return true;
53918 }
53919 
53920 //---------------------------------------------------------------------
53921 const texture2D__AttributeData texture2D__AttributeData::DEFAULT = {0, 0};
53922 
53923 //---------------------------------------------------------------------
_data__texture2D(const ParserChar * text,size_t textLength)53924 bool ColladaParserAutoGen14Private::_data__texture2D( const ParserChar* text, size_t textLength )
53925 {
53926     return true;
53927 }
53928 
53929 //---------------------------------------------------------------------
_preBegin__texture2D(const ParserAttributes & attributes,void ** attributeDataPtr,void ** validationDataPtr)53930 bool ColladaParserAutoGen14Private::_preBegin__texture2D( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
53931 {
53932 #ifdef GENERATEDSAXPARSER_VALIDATION
53933     if ( mValidate )
53934     {
53935 
53936         bool validationResult = _validateBegin__texture2D( attributes, attributeDataPtr, validationDataPtr );
53937         if ( !validationResult ) return false;
53938 
53939     } // validation
53940 #endif
53941 
53942 texture2D__AttributeData* attributeData = newData<texture2D__AttributeData>(attributeDataPtr);
53943 
53944 const ParserChar** attributeArray = attributes.attributes;
53945 if ( attributeArray )
53946 {
53947     while (true)
53948     {
53949         const ParserChar * attribute = *attributeArray;
53950         if ( !attribute )
53951             break;
53952         StringHash hash = GeneratedSaxParser::Utils::calculateStringHash(attribute);
53953         attributeArray++;
53954         if ( !attributeArray )
53955             return false;
53956         const ParserChar* attributeValue = *attributeArray;
53957         attributeArray++;
53958 
53959 
53960     switch ( hash )
53961     {
53962     case HASH_ATTRIBUTE_index:
53963     {
53964 bool failed;
53965 attributeData->index = GeneratedSaxParser::Utils::toUint64(attributeValue, failed);
53966 if ( failed && handleError(ParserError::SEVERITY_ERROR_NONCRITICAL,
53967         ParserError::ERROR_ATTRIBUTE_PARSING_FAILED,
53968         HASH_ELEMENT_TEXTURE2D,
53969         HASH_ATTRIBUTE_index,
53970         attributeValue))
53971 {
53972     return false;
53973 }
53974 if ( !failed )
53975     attributeData->present_attributes |= texture2D__AttributeData::ATTRIBUTE_INDEX_PRESENT;
53976 
53977     break;
53978     }
53979     default:
53980     {
53981         if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_UNKNOWN_ATTRIBUTE, HASH_ELEMENT_TEXTURE2D, attribute, attributeValue))
53982             {return false;}
53983     }
53984     }
53985     }
53986 }
53987 if ( (attributeData->present_attributes & texture2D__AttributeData::ATTRIBUTE_INDEX_PRESENT) == 0 )
53988 {
53989     if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_REQUIRED_ATTRIBUTE_MISSING, HASH_ELEMENT_TEXTURE2D, HASH_ATTRIBUTE_index, 0 ) )
53990         return false;
53991 }
53992 
53993 
53994     return true;
53995 }
53996 
53997 //---------------------------------------------------------------------
_preEnd__texture2D()53998 bool ColladaParserAutoGen14Private::_preEnd__texture2D()
53999 {
54000 #ifdef GENERATEDSAXPARSER_VALIDATION
54001     if ( mValidate )
54002     {
54003 
54004         bool validationResult = _validateEnd__texture2D();
54005         if ( !validationResult ) return false;
54006 
54007     } // validation
54008 #endif
54009 
54010     return true;
54011 }
54012 
54013 //---------------------------------------------------------------------
_freeAttributes__texture2D(void * attributeData)54014 bool ColladaParserAutoGen14Private::_freeAttributes__texture2D( void* attributeData )
54015 {
54016     texture2D__AttributeData* typedAttributeData = static_cast<texture2D__AttributeData*>(attributeData);
54017 
54018     typedAttributeData->~texture2D__AttributeData();
54019 
54020     return true;
54021 }
54022 
54023 //---------------------------------------------------------------------
_data__value____gl_sampler2D(const ParserChar * text,size_t textLength)54024 bool ColladaParserAutoGen14Private::_data__value____gl_sampler2D( const ParserChar* text, size_t textLength )
54025 {
54026     return true;
54027 }
54028 
54029 //---------------------------------------------------------------------
_preBegin__value____gl_sampler2D(const ParserAttributes & attributes,void ** attributeDataPtr,void ** validationDataPtr)54030 bool ColladaParserAutoGen14Private::_preBegin__value____gl_sampler2D( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
54031 {
54032 #ifdef GENERATEDSAXPARSER_VALIDATION
54033     if ( mValidate )
54034     {
54035 
54036         bool validationResult = _validateBegin__value____gl_sampler2D( attributes, attributeDataPtr, validationDataPtr );
54037         if ( !validationResult ) return false;
54038 
54039     } // validation
54040 #endif
54041 
54042     return true;
54043 }
54044 
54045 //---------------------------------------------------------------------
_preEnd__value____gl_sampler2D()54046 bool ColladaParserAutoGen14Private::_preEnd__value____gl_sampler2D()
54047 {
54048 #ifdef GENERATEDSAXPARSER_VALIDATION
54049     if ( mValidate )
54050     {
54051 
54052         bool validationResult = _validateEnd__value____gl_sampler2D();
54053         if ( !validationResult ) return false;
54054 
54055     } // validation
54056 #endif
54057 
54058     return true;
54059 }
54060 
54061 //---------------------------------------------------------------------
_freeAttributes__value____gl_sampler2D(void * attributeData)54062 bool ColladaParserAutoGen14Private::_freeAttributes__value____gl_sampler2D( void* attributeData )
54063 {
54064     return true;
54065 }
54066 
54067 //---------------------------------------------------------------------
54068 const texture3D__AttributeData texture3D__AttributeData::DEFAULT = {0, 0};
54069 
54070 //---------------------------------------------------------------------
_data__texture3D(const ParserChar * text,size_t textLength)54071 bool ColladaParserAutoGen14Private::_data__texture3D( const ParserChar* text, size_t textLength )
54072 {
54073     return true;
54074 }
54075 
54076 //---------------------------------------------------------------------
_preBegin__texture3D(const ParserAttributes & attributes,void ** attributeDataPtr,void ** validationDataPtr)54077 bool ColladaParserAutoGen14Private::_preBegin__texture3D( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
54078 {
54079 #ifdef GENERATEDSAXPARSER_VALIDATION
54080     if ( mValidate )
54081     {
54082 
54083         bool validationResult = _validateBegin__texture3D( attributes, attributeDataPtr, validationDataPtr );
54084         if ( !validationResult ) return false;
54085 
54086     } // validation
54087 #endif
54088 
54089 texture3D__AttributeData* attributeData = newData<texture3D__AttributeData>(attributeDataPtr);
54090 
54091 const ParserChar** attributeArray = attributes.attributes;
54092 if ( attributeArray )
54093 {
54094     while (true)
54095     {
54096         const ParserChar * attribute = *attributeArray;
54097         if ( !attribute )
54098             break;
54099         StringHash hash = GeneratedSaxParser::Utils::calculateStringHash(attribute);
54100         attributeArray++;
54101         if ( !attributeArray )
54102             return false;
54103         const ParserChar* attributeValue = *attributeArray;
54104         attributeArray++;
54105 
54106 
54107     switch ( hash )
54108     {
54109     case HASH_ATTRIBUTE_index:
54110     {
54111 bool failed;
54112 attributeData->index = GeneratedSaxParser::Utils::toUint64(attributeValue, failed);
54113 if ( failed && handleError(ParserError::SEVERITY_ERROR_NONCRITICAL,
54114         ParserError::ERROR_ATTRIBUTE_PARSING_FAILED,
54115         HASH_ELEMENT_TEXTURE3D,
54116         HASH_ATTRIBUTE_index,
54117         attributeValue))
54118 {
54119     return false;
54120 }
54121 if ( !failed )
54122     attributeData->present_attributes |= texture3D__AttributeData::ATTRIBUTE_INDEX_PRESENT;
54123 
54124     break;
54125     }
54126     default:
54127     {
54128         if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_UNKNOWN_ATTRIBUTE, HASH_ELEMENT_TEXTURE3D, attribute, attributeValue))
54129             {return false;}
54130     }
54131     }
54132     }
54133 }
54134 if ( (attributeData->present_attributes & texture3D__AttributeData::ATTRIBUTE_INDEX_PRESENT) == 0 )
54135 {
54136     if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_REQUIRED_ATTRIBUTE_MISSING, HASH_ELEMENT_TEXTURE3D, HASH_ATTRIBUTE_index, 0 ) )
54137         return false;
54138 }
54139 
54140 
54141     return true;
54142 }
54143 
54144 //---------------------------------------------------------------------
_preEnd__texture3D()54145 bool ColladaParserAutoGen14Private::_preEnd__texture3D()
54146 {
54147 #ifdef GENERATEDSAXPARSER_VALIDATION
54148     if ( mValidate )
54149     {
54150 
54151         bool validationResult = _validateEnd__texture3D();
54152         if ( !validationResult ) return false;
54153 
54154     } // validation
54155 #endif
54156 
54157     return true;
54158 }
54159 
54160 //---------------------------------------------------------------------
_freeAttributes__texture3D(void * attributeData)54161 bool ColladaParserAutoGen14Private::_freeAttributes__texture3D( void* attributeData )
54162 {
54163     texture3D__AttributeData* typedAttributeData = static_cast<texture3D__AttributeData*>(attributeData);
54164 
54165     typedAttributeData->~texture3D__AttributeData();
54166 
54167     return true;
54168 }
54169 
54170 //---------------------------------------------------------------------
_data__value____gl_sampler3D(const ParserChar * text,size_t textLength)54171 bool ColladaParserAutoGen14Private::_data__value____gl_sampler3D( const ParserChar* text, size_t textLength )
54172 {
54173     return true;
54174 }
54175 
54176 //---------------------------------------------------------------------
_preBegin__value____gl_sampler3D(const ParserAttributes & attributes,void ** attributeDataPtr,void ** validationDataPtr)54177 bool ColladaParserAutoGen14Private::_preBegin__value____gl_sampler3D( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
54178 {
54179 #ifdef GENERATEDSAXPARSER_VALIDATION
54180     if ( mValidate )
54181     {
54182 
54183         bool validationResult = _validateBegin__value____gl_sampler3D( attributes, attributeDataPtr, validationDataPtr );
54184         if ( !validationResult ) return false;
54185 
54186     } // validation
54187 #endif
54188 
54189     return true;
54190 }
54191 
54192 //---------------------------------------------------------------------
_preEnd__value____gl_sampler3D()54193 bool ColladaParserAutoGen14Private::_preEnd__value____gl_sampler3D()
54194 {
54195 #ifdef GENERATEDSAXPARSER_VALIDATION
54196     if ( mValidate )
54197     {
54198 
54199         bool validationResult = _validateEnd__value____gl_sampler3D();
54200         if ( !validationResult ) return false;
54201 
54202     } // validation
54203 #endif
54204 
54205     return true;
54206 }
54207 
54208 //---------------------------------------------------------------------
_freeAttributes__value____gl_sampler3D(void * attributeData)54209 bool ColladaParserAutoGen14Private::_freeAttributes__value____gl_sampler3D( void* attributeData )
54210 {
54211     return true;
54212 }
54213 
54214 //---------------------------------------------------------------------
54215 const textureCUBE__AttributeData textureCUBE__AttributeData::DEFAULT = {0, 0};
54216 
54217 //---------------------------------------------------------------------
_data__textureCUBE(const ParserChar * text,size_t textLength)54218 bool ColladaParserAutoGen14Private::_data__textureCUBE( const ParserChar* text, size_t textLength )
54219 {
54220     return true;
54221 }
54222 
54223 //---------------------------------------------------------------------
_preBegin__textureCUBE(const ParserAttributes & attributes,void ** attributeDataPtr,void ** validationDataPtr)54224 bool ColladaParserAutoGen14Private::_preBegin__textureCUBE( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
54225 {
54226 #ifdef GENERATEDSAXPARSER_VALIDATION
54227     if ( mValidate )
54228     {
54229 
54230         bool validationResult = _validateBegin__textureCUBE( attributes, attributeDataPtr, validationDataPtr );
54231         if ( !validationResult ) return false;
54232 
54233     } // validation
54234 #endif
54235 
54236 textureCUBE__AttributeData* attributeData = newData<textureCUBE__AttributeData>(attributeDataPtr);
54237 
54238 const ParserChar** attributeArray = attributes.attributes;
54239 if ( attributeArray )
54240 {
54241     while (true)
54242     {
54243         const ParserChar * attribute = *attributeArray;
54244         if ( !attribute )
54245             break;
54246         StringHash hash = GeneratedSaxParser::Utils::calculateStringHash(attribute);
54247         attributeArray++;
54248         if ( !attributeArray )
54249             return false;
54250         const ParserChar* attributeValue = *attributeArray;
54251         attributeArray++;
54252 
54253 
54254     switch ( hash )
54255     {
54256     case HASH_ATTRIBUTE_index:
54257     {
54258 bool failed;
54259 attributeData->index = GeneratedSaxParser::Utils::toUint64(attributeValue, failed);
54260 if ( failed && handleError(ParserError::SEVERITY_ERROR_NONCRITICAL,
54261         ParserError::ERROR_ATTRIBUTE_PARSING_FAILED,
54262         HASH_ELEMENT_TEXTURECUBE,
54263         HASH_ATTRIBUTE_index,
54264         attributeValue))
54265 {
54266     return false;
54267 }
54268 if ( !failed )
54269     attributeData->present_attributes |= textureCUBE__AttributeData::ATTRIBUTE_INDEX_PRESENT;
54270 
54271     break;
54272     }
54273     default:
54274     {
54275         if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_UNKNOWN_ATTRIBUTE, HASH_ELEMENT_TEXTURECUBE, attribute, attributeValue))
54276             {return false;}
54277     }
54278     }
54279     }
54280 }
54281 if ( (attributeData->present_attributes & textureCUBE__AttributeData::ATTRIBUTE_INDEX_PRESENT) == 0 )
54282 {
54283     if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_REQUIRED_ATTRIBUTE_MISSING, HASH_ELEMENT_TEXTURECUBE, HASH_ATTRIBUTE_index, 0 ) )
54284         return false;
54285 }
54286 
54287 
54288     return true;
54289 }
54290 
54291 //---------------------------------------------------------------------
_preEnd__textureCUBE()54292 bool ColladaParserAutoGen14Private::_preEnd__textureCUBE()
54293 {
54294 #ifdef GENERATEDSAXPARSER_VALIDATION
54295     if ( mValidate )
54296     {
54297 
54298         bool validationResult = _validateEnd__textureCUBE();
54299         if ( !validationResult ) return false;
54300 
54301     } // validation
54302 #endif
54303 
54304     return true;
54305 }
54306 
54307 //---------------------------------------------------------------------
_freeAttributes__textureCUBE(void * attributeData)54308 bool ColladaParserAutoGen14Private::_freeAttributes__textureCUBE( void* attributeData )
54309 {
54310     textureCUBE__AttributeData* typedAttributeData = static_cast<textureCUBE__AttributeData*>(attributeData);
54311 
54312     typedAttributeData->~textureCUBE__AttributeData();
54313 
54314     return true;
54315 }
54316 
54317 //---------------------------------------------------------------------
_data__value____gl_samplerCUBE(const ParserChar * text,size_t textLength)54318 bool ColladaParserAutoGen14Private::_data__value____gl_samplerCUBE( const ParserChar* text, size_t textLength )
54319 {
54320     return true;
54321 }
54322 
54323 //---------------------------------------------------------------------
_preBegin__value____gl_samplerCUBE(const ParserAttributes & attributes,void ** attributeDataPtr,void ** validationDataPtr)54324 bool ColladaParserAutoGen14Private::_preBegin__value____gl_samplerCUBE( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
54325 {
54326 #ifdef GENERATEDSAXPARSER_VALIDATION
54327     if ( mValidate )
54328     {
54329 
54330         bool validationResult = _validateBegin__value____gl_samplerCUBE( attributes, attributeDataPtr, validationDataPtr );
54331         if ( !validationResult ) return false;
54332 
54333     } // validation
54334 #endif
54335 
54336     return true;
54337 }
54338 
54339 //---------------------------------------------------------------------
_preEnd__value____gl_samplerCUBE()54340 bool ColladaParserAutoGen14Private::_preEnd__value____gl_samplerCUBE()
54341 {
54342 #ifdef GENERATEDSAXPARSER_VALIDATION
54343     if ( mValidate )
54344     {
54345 
54346         bool validationResult = _validateEnd__value____gl_samplerCUBE();
54347         if ( !validationResult ) return false;
54348 
54349     } // validation
54350 #endif
54351 
54352     return true;
54353 }
54354 
54355 //---------------------------------------------------------------------
_freeAttributes__value____gl_samplerCUBE(void * attributeData)54356 bool ColladaParserAutoGen14Private::_freeAttributes__value____gl_samplerCUBE( void* attributeData )
54357 {
54358     return true;
54359 }
54360 
54361 //---------------------------------------------------------------------
54362 const textureRECT__AttributeData textureRECT__AttributeData::DEFAULT = {0, 0};
54363 
54364 //---------------------------------------------------------------------
_data__textureRECT(const ParserChar * text,size_t textLength)54365 bool ColladaParserAutoGen14Private::_data__textureRECT( const ParserChar* text, size_t textLength )
54366 {
54367     return true;
54368 }
54369 
54370 //---------------------------------------------------------------------
_preBegin__textureRECT(const ParserAttributes & attributes,void ** attributeDataPtr,void ** validationDataPtr)54371 bool ColladaParserAutoGen14Private::_preBegin__textureRECT( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
54372 {
54373 #ifdef GENERATEDSAXPARSER_VALIDATION
54374     if ( mValidate )
54375     {
54376 
54377         bool validationResult = _validateBegin__textureRECT( attributes, attributeDataPtr, validationDataPtr );
54378         if ( !validationResult ) return false;
54379 
54380     } // validation
54381 #endif
54382 
54383 textureRECT__AttributeData* attributeData = newData<textureRECT__AttributeData>(attributeDataPtr);
54384 
54385 const ParserChar** attributeArray = attributes.attributes;
54386 if ( attributeArray )
54387 {
54388     while (true)
54389     {
54390         const ParserChar * attribute = *attributeArray;
54391         if ( !attribute )
54392             break;
54393         StringHash hash = GeneratedSaxParser::Utils::calculateStringHash(attribute);
54394         attributeArray++;
54395         if ( !attributeArray )
54396             return false;
54397         const ParserChar* attributeValue = *attributeArray;
54398         attributeArray++;
54399 
54400 
54401     switch ( hash )
54402     {
54403     case HASH_ATTRIBUTE_index:
54404     {
54405 bool failed;
54406 attributeData->index = GeneratedSaxParser::Utils::toUint64(attributeValue, failed);
54407 if ( failed && handleError(ParserError::SEVERITY_ERROR_NONCRITICAL,
54408         ParserError::ERROR_ATTRIBUTE_PARSING_FAILED,
54409         HASH_ELEMENT_TEXTURERECT,
54410         HASH_ATTRIBUTE_index,
54411         attributeValue))
54412 {
54413     return false;
54414 }
54415 if ( !failed )
54416     attributeData->present_attributes |= textureRECT__AttributeData::ATTRIBUTE_INDEX_PRESENT;
54417 
54418     break;
54419     }
54420     default:
54421     {
54422         if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_UNKNOWN_ATTRIBUTE, HASH_ELEMENT_TEXTURERECT, attribute, attributeValue))
54423             {return false;}
54424     }
54425     }
54426     }
54427 }
54428 if ( (attributeData->present_attributes & textureRECT__AttributeData::ATTRIBUTE_INDEX_PRESENT) == 0 )
54429 {
54430     if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_REQUIRED_ATTRIBUTE_MISSING, HASH_ELEMENT_TEXTURERECT, HASH_ATTRIBUTE_index, 0 ) )
54431         return false;
54432 }
54433 
54434 
54435     return true;
54436 }
54437 
54438 //---------------------------------------------------------------------
_preEnd__textureRECT()54439 bool ColladaParserAutoGen14Private::_preEnd__textureRECT()
54440 {
54441 #ifdef GENERATEDSAXPARSER_VALIDATION
54442     if ( mValidate )
54443     {
54444 
54445         bool validationResult = _validateEnd__textureRECT();
54446         if ( !validationResult ) return false;
54447 
54448     } // validation
54449 #endif
54450 
54451     return true;
54452 }
54453 
54454 //---------------------------------------------------------------------
_freeAttributes__textureRECT(void * attributeData)54455 bool ColladaParserAutoGen14Private::_freeAttributes__textureRECT( void* attributeData )
54456 {
54457     textureRECT__AttributeData* typedAttributeData = static_cast<textureRECT__AttributeData*>(attributeData);
54458 
54459     typedAttributeData->~textureRECT__AttributeData();
54460 
54461     return true;
54462 }
54463 
54464 //---------------------------------------------------------------------
_data__value____gl_samplerRECT(const ParserChar * text,size_t textLength)54465 bool ColladaParserAutoGen14Private::_data__value____gl_samplerRECT( const ParserChar* text, size_t textLength )
54466 {
54467     return true;
54468 }
54469 
54470 //---------------------------------------------------------------------
_preBegin__value____gl_samplerRECT(const ParserAttributes & attributes,void ** attributeDataPtr,void ** validationDataPtr)54471 bool ColladaParserAutoGen14Private::_preBegin__value____gl_samplerRECT( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
54472 {
54473 #ifdef GENERATEDSAXPARSER_VALIDATION
54474     if ( mValidate )
54475     {
54476 
54477         bool validationResult = _validateBegin__value____gl_samplerRECT( attributes, attributeDataPtr, validationDataPtr );
54478         if ( !validationResult ) return false;
54479 
54480     } // validation
54481 #endif
54482 
54483     return true;
54484 }
54485 
54486 //---------------------------------------------------------------------
_preEnd__value____gl_samplerRECT()54487 bool ColladaParserAutoGen14Private::_preEnd__value____gl_samplerRECT()
54488 {
54489 #ifdef GENERATEDSAXPARSER_VALIDATION
54490     if ( mValidate )
54491     {
54492 
54493         bool validationResult = _validateEnd__value____gl_samplerRECT();
54494         if ( !validationResult ) return false;
54495 
54496     } // validation
54497 #endif
54498 
54499     return true;
54500 }
54501 
54502 //---------------------------------------------------------------------
_freeAttributes__value____gl_samplerRECT(void * attributeData)54503 bool ColladaParserAutoGen14Private::_freeAttributes__value____gl_samplerRECT( void* attributeData )
54504 {
54505     return true;
54506 }
54507 
54508 //---------------------------------------------------------------------
54509 const textureDEPTH__AttributeData textureDEPTH__AttributeData::DEFAULT = {0, 0};
54510 
54511 //---------------------------------------------------------------------
_data__textureDEPTH(const ParserChar * text,size_t textLength)54512 bool ColladaParserAutoGen14Private::_data__textureDEPTH( const ParserChar* text, size_t textLength )
54513 {
54514     return true;
54515 }
54516 
54517 //---------------------------------------------------------------------
_preBegin__textureDEPTH(const ParserAttributes & attributes,void ** attributeDataPtr,void ** validationDataPtr)54518 bool ColladaParserAutoGen14Private::_preBegin__textureDEPTH( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
54519 {
54520 #ifdef GENERATEDSAXPARSER_VALIDATION
54521     if ( mValidate )
54522     {
54523 
54524         bool validationResult = _validateBegin__textureDEPTH( attributes, attributeDataPtr, validationDataPtr );
54525         if ( !validationResult ) return false;
54526 
54527     } // validation
54528 #endif
54529 
54530 textureDEPTH__AttributeData* attributeData = newData<textureDEPTH__AttributeData>(attributeDataPtr);
54531 
54532 const ParserChar** attributeArray = attributes.attributes;
54533 if ( attributeArray )
54534 {
54535     while (true)
54536     {
54537         const ParserChar * attribute = *attributeArray;
54538         if ( !attribute )
54539             break;
54540         StringHash hash = GeneratedSaxParser::Utils::calculateStringHash(attribute);
54541         attributeArray++;
54542         if ( !attributeArray )
54543             return false;
54544         const ParserChar* attributeValue = *attributeArray;
54545         attributeArray++;
54546 
54547 
54548     switch ( hash )
54549     {
54550     case HASH_ATTRIBUTE_index:
54551     {
54552 bool failed;
54553 attributeData->index = GeneratedSaxParser::Utils::toUint64(attributeValue, failed);
54554 if ( failed && handleError(ParserError::SEVERITY_ERROR_NONCRITICAL,
54555         ParserError::ERROR_ATTRIBUTE_PARSING_FAILED,
54556         HASH_ELEMENT_TEXTUREDEPTH,
54557         HASH_ATTRIBUTE_index,
54558         attributeValue))
54559 {
54560     return false;
54561 }
54562 if ( !failed )
54563     attributeData->present_attributes |= textureDEPTH__AttributeData::ATTRIBUTE_INDEX_PRESENT;
54564 
54565     break;
54566     }
54567     default:
54568     {
54569         if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_UNKNOWN_ATTRIBUTE, HASH_ELEMENT_TEXTUREDEPTH, attribute, attributeValue))
54570             {return false;}
54571     }
54572     }
54573     }
54574 }
54575 if ( (attributeData->present_attributes & textureDEPTH__AttributeData::ATTRIBUTE_INDEX_PRESENT) == 0 )
54576 {
54577     if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_REQUIRED_ATTRIBUTE_MISSING, HASH_ELEMENT_TEXTUREDEPTH, HASH_ATTRIBUTE_index, 0 ) )
54578         return false;
54579 }
54580 
54581 
54582     return true;
54583 }
54584 
54585 //---------------------------------------------------------------------
_preEnd__textureDEPTH()54586 bool ColladaParserAutoGen14Private::_preEnd__textureDEPTH()
54587 {
54588 #ifdef GENERATEDSAXPARSER_VALIDATION
54589     if ( mValidate )
54590     {
54591 
54592         bool validationResult = _validateEnd__textureDEPTH();
54593         if ( !validationResult ) return false;
54594 
54595     } // validation
54596 #endif
54597 
54598     return true;
54599 }
54600 
54601 //---------------------------------------------------------------------
_freeAttributes__textureDEPTH(void * attributeData)54602 bool ColladaParserAutoGen14Private::_freeAttributes__textureDEPTH( void* attributeData )
54603 {
54604     textureDEPTH__AttributeData* typedAttributeData = static_cast<textureDEPTH__AttributeData*>(attributeData);
54605 
54606     typedAttributeData->~textureDEPTH__AttributeData();
54607 
54608     return true;
54609 }
54610 
54611 //---------------------------------------------------------------------
_data__value____gl_samplerDEPTH(const ParserChar * text,size_t textLength)54612 bool ColladaParserAutoGen14Private::_data__value____gl_samplerDEPTH( const ParserChar* text, size_t textLength )
54613 {
54614     return true;
54615 }
54616 
54617 //---------------------------------------------------------------------
_preBegin__value____gl_samplerDEPTH(const ParserAttributes & attributes,void ** attributeDataPtr,void ** validationDataPtr)54618 bool ColladaParserAutoGen14Private::_preBegin__value____gl_samplerDEPTH( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
54619 {
54620 #ifdef GENERATEDSAXPARSER_VALIDATION
54621     if ( mValidate )
54622     {
54623 
54624         bool validationResult = _validateBegin__value____gl_samplerDEPTH( attributes, attributeDataPtr, validationDataPtr );
54625         if ( !validationResult ) return false;
54626 
54627     } // validation
54628 #endif
54629 
54630     return true;
54631 }
54632 
54633 //---------------------------------------------------------------------
_preEnd__value____gl_samplerDEPTH()54634 bool ColladaParserAutoGen14Private::_preEnd__value____gl_samplerDEPTH()
54635 {
54636 #ifdef GENERATEDSAXPARSER_VALIDATION
54637     if ( mValidate )
54638     {
54639 
54640         bool validationResult = _validateEnd__value____gl_samplerDEPTH();
54641         if ( !validationResult ) return false;
54642 
54643     } // validation
54644 #endif
54645 
54646     return true;
54647 }
54648 
54649 //---------------------------------------------------------------------
_freeAttributes__value____gl_samplerDEPTH(void * attributeData)54650 bool ColladaParserAutoGen14Private::_freeAttributes__value____gl_samplerDEPTH( void* attributeData )
54651 {
54652     return true;
54653 }
54654 
54655 //---------------------------------------------------------------------
54656 const texture1D_enable__AttributeData texture1D_enable__AttributeData::DEFAULT = {0, false, 0, 0};
54657 
54658 //---------------------------------------------------------------------
_data__texture1D_enable(const ParserChar * text,size_t textLength)54659 bool ColladaParserAutoGen14Private::_data__texture1D_enable( const ParserChar* text, size_t textLength )
54660 {
54661     return true;
54662 }
54663 
54664 //---------------------------------------------------------------------
_preBegin__texture1D_enable(const ParserAttributes & attributes,void ** attributeDataPtr,void ** validationDataPtr)54665 bool ColladaParserAutoGen14Private::_preBegin__texture1D_enable( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
54666 {
54667 #ifdef GENERATEDSAXPARSER_VALIDATION
54668     if ( mValidate )
54669     {
54670 
54671         bool validationResult = _validateBegin__texture1D_enable( attributes, attributeDataPtr, validationDataPtr );
54672         if ( !validationResult ) return false;
54673 
54674     } // validation
54675 #endif
54676 
54677 texture1D_enable__AttributeData* attributeData = newData<texture1D_enable__AttributeData>(attributeDataPtr);
54678 
54679 const ParserChar** attributeArray = attributes.attributes;
54680 if ( attributeArray )
54681 {
54682     while (true)
54683     {
54684         const ParserChar * attribute = *attributeArray;
54685         if ( !attribute )
54686             break;
54687         StringHash hash = GeneratedSaxParser::Utils::calculateStringHash(attribute);
54688         attributeArray++;
54689         if ( !attributeArray )
54690             return false;
54691         const ParserChar* attributeValue = *attributeArray;
54692         attributeArray++;
54693 
54694 
54695     switch ( hash )
54696     {
54697     case HASH_ATTRIBUTE_value:
54698     {
54699 bool failed;
54700 attributeData->value = GeneratedSaxParser::Utils::toBool(attributeValue, failed);
54701 if ( failed && handleError(ParserError::SEVERITY_ERROR_NONCRITICAL,
54702         ParserError::ERROR_ATTRIBUTE_PARSING_FAILED,
54703         HASH_ELEMENT_TEXTURE1D_ENABLE,
54704         HASH_ATTRIBUTE_value,
54705         attributeValue))
54706 {
54707     return false;
54708 }
54709 
54710     break;
54711     }
54712     case HASH_ATTRIBUTE_param:
54713     {
54714 
54715 attributeData->param = attributeValue;
54716 #ifdef GENERATEDSAXPARSER_VALIDATION
54717     if ( mValidate )
54718     {
54719     ParserError::ErrorType simpleTypeValidationResult = validate__NCName(attributeData->param, strlen(attributeData->param));
54720     if (simpleTypeValidationResult != ParserError::SIMPLE_TYPE_VALIDATION_OK)
54721     {
54722         if( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL,
54723             simpleTypeValidationResult,
54724             HASH_ELEMENT_TEXTURE1D_ENABLE,
54725             HASH_ATTRIBUTE_param,
54726             attributeValue) )
54727         {
54728             return false;
54729         }
54730     }
54731     } // validation
54732 #endif
54733 
54734     break;
54735     }
54736     case HASH_ATTRIBUTE_index:
54737     {
54738 bool failed;
54739 attributeData->index = GeneratedSaxParser::Utils::toUint64(attributeValue, failed);
54740 if ( failed && handleError(ParserError::SEVERITY_ERROR_NONCRITICAL,
54741         ParserError::ERROR_ATTRIBUTE_PARSING_FAILED,
54742         HASH_ELEMENT_TEXTURE1D_ENABLE,
54743         HASH_ATTRIBUTE_index,
54744         attributeValue))
54745 {
54746     return false;
54747 }
54748 if ( !failed )
54749     attributeData->present_attributes |= texture1D_enable__AttributeData::ATTRIBUTE_INDEX_PRESENT;
54750 
54751     break;
54752     }
54753     default:
54754     {
54755         if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_UNKNOWN_ATTRIBUTE, HASH_ELEMENT_TEXTURE1D_ENABLE, attribute, attributeValue))
54756             {return false;}
54757     }
54758     }
54759     }
54760 }
54761 
54762 
54763     return true;
54764 }
54765 
54766 //---------------------------------------------------------------------
_preEnd__texture1D_enable()54767 bool ColladaParserAutoGen14Private::_preEnd__texture1D_enable()
54768 {
54769 #ifdef GENERATEDSAXPARSER_VALIDATION
54770     if ( mValidate )
54771     {
54772 
54773         bool validationResult = _validateEnd__texture1D_enable();
54774         if ( !validationResult ) return false;
54775 
54776     } // validation
54777 #endif
54778 
54779     return true;
54780 }
54781 
54782 //---------------------------------------------------------------------
_freeAttributes__texture1D_enable(void * attributeData)54783 bool ColladaParserAutoGen14Private::_freeAttributes__texture1D_enable( void* attributeData )
54784 {
54785     texture1D_enable__AttributeData* typedAttributeData = static_cast<texture1D_enable__AttributeData*>(attributeData);
54786 
54787     typedAttributeData->~texture1D_enable__AttributeData();
54788 
54789     return true;
54790 }
54791 
54792 //---------------------------------------------------------------------
54793 const texture2D_enable__AttributeData texture2D_enable__AttributeData::DEFAULT = {0, false, 0, 0};
54794 
54795 //---------------------------------------------------------------------
_data__texture2D_enable(const ParserChar * text,size_t textLength)54796 bool ColladaParserAutoGen14Private::_data__texture2D_enable( const ParserChar* text, size_t textLength )
54797 {
54798     return true;
54799 }
54800 
54801 //---------------------------------------------------------------------
_preBegin__texture2D_enable(const ParserAttributes & attributes,void ** attributeDataPtr,void ** validationDataPtr)54802 bool ColladaParserAutoGen14Private::_preBegin__texture2D_enable( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
54803 {
54804 #ifdef GENERATEDSAXPARSER_VALIDATION
54805     if ( mValidate )
54806     {
54807 
54808         bool validationResult = _validateBegin__texture2D_enable( attributes, attributeDataPtr, validationDataPtr );
54809         if ( !validationResult ) return false;
54810 
54811     } // validation
54812 #endif
54813 
54814 texture2D_enable__AttributeData* attributeData = newData<texture2D_enable__AttributeData>(attributeDataPtr);
54815 
54816 const ParserChar** attributeArray = attributes.attributes;
54817 if ( attributeArray )
54818 {
54819     while (true)
54820     {
54821         const ParserChar * attribute = *attributeArray;
54822         if ( !attribute )
54823             break;
54824         StringHash hash = GeneratedSaxParser::Utils::calculateStringHash(attribute);
54825         attributeArray++;
54826         if ( !attributeArray )
54827             return false;
54828         const ParserChar* attributeValue = *attributeArray;
54829         attributeArray++;
54830 
54831 
54832     switch ( hash )
54833     {
54834     case HASH_ATTRIBUTE_value:
54835     {
54836 bool failed;
54837 attributeData->value = GeneratedSaxParser::Utils::toBool(attributeValue, failed);
54838 if ( failed && handleError(ParserError::SEVERITY_ERROR_NONCRITICAL,
54839         ParserError::ERROR_ATTRIBUTE_PARSING_FAILED,
54840         HASH_ELEMENT_TEXTURE2D_ENABLE,
54841         HASH_ATTRIBUTE_value,
54842         attributeValue))
54843 {
54844     return false;
54845 }
54846 
54847     break;
54848     }
54849     case HASH_ATTRIBUTE_param:
54850     {
54851 
54852 attributeData->param = attributeValue;
54853 #ifdef GENERATEDSAXPARSER_VALIDATION
54854     if ( mValidate )
54855     {
54856     ParserError::ErrorType simpleTypeValidationResult = validate__NCName(attributeData->param, strlen(attributeData->param));
54857     if (simpleTypeValidationResult != ParserError::SIMPLE_TYPE_VALIDATION_OK)
54858     {
54859         if( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL,
54860             simpleTypeValidationResult,
54861             HASH_ELEMENT_TEXTURE2D_ENABLE,
54862             HASH_ATTRIBUTE_param,
54863             attributeValue) )
54864         {
54865             return false;
54866         }
54867     }
54868     } // validation
54869 #endif
54870 
54871     break;
54872     }
54873     case HASH_ATTRIBUTE_index:
54874     {
54875 bool failed;
54876 attributeData->index = GeneratedSaxParser::Utils::toUint64(attributeValue, failed);
54877 if ( failed && handleError(ParserError::SEVERITY_ERROR_NONCRITICAL,
54878         ParserError::ERROR_ATTRIBUTE_PARSING_FAILED,
54879         HASH_ELEMENT_TEXTURE2D_ENABLE,
54880         HASH_ATTRIBUTE_index,
54881         attributeValue))
54882 {
54883     return false;
54884 }
54885 if ( !failed )
54886     attributeData->present_attributes |= texture2D_enable__AttributeData::ATTRIBUTE_INDEX_PRESENT;
54887 
54888     break;
54889     }
54890     default:
54891     {
54892         if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_UNKNOWN_ATTRIBUTE, HASH_ELEMENT_TEXTURE2D_ENABLE, attribute, attributeValue))
54893             {return false;}
54894     }
54895     }
54896     }
54897 }
54898 
54899 
54900     return true;
54901 }
54902 
54903 //---------------------------------------------------------------------
_preEnd__texture2D_enable()54904 bool ColladaParserAutoGen14Private::_preEnd__texture2D_enable()
54905 {
54906 #ifdef GENERATEDSAXPARSER_VALIDATION
54907     if ( mValidate )
54908     {
54909 
54910         bool validationResult = _validateEnd__texture2D_enable();
54911         if ( !validationResult ) return false;
54912 
54913     } // validation
54914 #endif
54915 
54916     return true;
54917 }
54918 
54919 //---------------------------------------------------------------------
_freeAttributes__texture2D_enable(void * attributeData)54920 bool ColladaParserAutoGen14Private::_freeAttributes__texture2D_enable( void* attributeData )
54921 {
54922     texture2D_enable__AttributeData* typedAttributeData = static_cast<texture2D_enable__AttributeData*>(attributeData);
54923 
54924     typedAttributeData->~texture2D_enable__AttributeData();
54925 
54926     return true;
54927 }
54928 
54929 //---------------------------------------------------------------------
54930 const texture3D_enable__AttributeData texture3D_enable__AttributeData::DEFAULT = {0, false, 0, 0};
54931 
54932 //---------------------------------------------------------------------
_data__texture3D_enable(const ParserChar * text,size_t textLength)54933 bool ColladaParserAutoGen14Private::_data__texture3D_enable( const ParserChar* text, size_t textLength )
54934 {
54935     return true;
54936 }
54937 
54938 //---------------------------------------------------------------------
_preBegin__texture3D_enable(const ParserAttributes & attributes,void ** attributeDataPtr,void ** validationDataPtr)54939 bool ColladaParserAutoGen14Private::_preBegin__texture3D_enable( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
54940 {
54941 #ifdef GENERATEDSAXPARSER_VALIDATION
54942     if ( mValidate )
54943     {
54944 
54945         bool validationResult = _validateBegin__texture3D_enable( attributes, attributeDataPtr, validationDataPtr );
54946         if ( !validationResult ) return false;
54947 
54948     } // validation
54949 #endif
54950 
54951 texture3D_enable__AttributeData* attributeData = newData<texture3D_enable__AttributeData>(attributeDataPtr);
54952 
54953 const ParserChar** attributeArray = attributes.attributes;
54954 if ( attributeArray )
54955 {
54956     while (true)
54957     {
54958         const ParserChar * attribute = *attributeArray;
54959         if ( !attribute )
54960             break;
54961         StringHash hash = GeneratedSaxParser::Utils::calculateStringHash(attribute);
54962         attributeArray++;
54963         if ( !attributeArray )
54964             return false;
54965         const ParserChar* attributeValue = *attributeArray;
54966         attributeArray++;
54967 
54968 
54969     switch ( hash )
54970     {
54971     case HASH_ATTRIBUTE_value:
54972     {
54973 bool failed;
54974 attributeData->value = GeneratedSaxParser::Utils::toBool(attributeValue, failed);
54975 if ( failed && handleError(ParserError::SEVERITY_ERROR_NONCRITICAL,
54976         ParserError::ERROR_ATTRIBUTE_PARSING_FAILED,
54977         HASH_ELEMENT_TEXTURE3D_ENABLE,
54978         HASH_ATTRIBUTE_value,
54979         attributeValue))
54980 {
54981     return false;
54982 }
54983 
54984     break;
54985     }
54986     case HASH_ATTRIBUTE_param:
54987     {
54988 
54989 attributeData->param = attributeValue;
54990 #ifdef GENERATEDSAXPARSER_VALIDATION
54991     if ( mValidate )
54992     {
54993     ParserError::ErrorType simpleTypeValidationResult = validate__NCName(attributeData->param, strlen(attributeData->param));
54994     if (simpleTypeValidationResult != ParserError::SIMPLE_TYPE_VALIDATION_OK)
54995     {
54996         if( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL,
54997             simpleTypeValidationResult,
54998             HASH_ELEMENT_TEXTURE3D_ENABLE,
54999             HASH_ATTRIBUTE_param,
55000             attributeValue) )
55001         {
55002             return false;
55003         }
55004     }
55005     } // validation
55006 #endif
55007 
55008     break;
55009     }
55010     case HASH_ATTRIBUTE_index:
55011     {
55012 bool failed;
55013 attributeData->index = GeneratedSaxParser::Utils::toUint64(attributeValue, failed);
55014 if ( failed && handleError(ParserError::SEVERITY_ERROR_NONCRITICAL,
55015         ParserError::ERROR_ATTRIBUTE_PARSING_FAILED,
55016         HASH_ELEMENT_TEXTURE3D_ENABLE,
55017         HASH_ATTRIBUTE_index,
55018         attributeValue))
55019 {
55020     return false;
55021 }
55022 if ( !failed )
55023     attributeData->present_attributes |= texture3D_enable__AttributeData::ATTRIBUTE_INDEX_PRESENT;
55024 
55025     break;
55026     }
55027     default:
55028     {
55029         if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_UNKNOWN_ATTRIBUTE, HASH_ELEMENT_TEXTURE3D_ENABLE, attribute, attributeValue))
55030             {return false;}
55031     }
55032     }
55033     }
55034 }
55035 
55036 
55037     return true;
55038 }
55039 
55040 //---------------------------------------------------------------------
_preEnd__texture3D_enable()55041 bool ColladaParserAutoGen14Private::_preEnd__texture3D_enable()
55042 {
55043 #ifdef GENERATEDSAXPARSER_VALIDATION
55044     if ( mValidate )
55045     {
55046 
55047         bool validationResult = _validateEnd__texture3D_enable();
55048         if ( !validationResult ) return false;
55049 
55050     } // validation
55051 #endif
55052 
55053     return true;
55054 }
55055 
55056 //---------------------------------------------------------------------
_freeAttributes__texture3D_enable(void * attributeData)55057 bool ColladaParserAutoGen14Private::_freeAttributes__texture3D_enable( void* attributeData )
55058 {
55059     texture3D_enable__AttributeData* typedAttributeData = static_cast<texture3D_enable__AttributeData*>(attributeData);
55060 
55061     typedAttributeData->~texture3D_enable__AttributeData();
55062 
55063     return true;
55064 }
55065 
55066 //---------------------------------------------------------------------
55067 const textureCUBE_enable__AttributeData textureCUBE_enable__AttributeData::DEFAULT = {0, false, 0, 0};
55068 
55069 //---------------------------------------------------------------------
_data__textureCUBE_enable(const ParserChar * text,size_t textLength)55070 bool ColladaParserAutoGen14Private::_data__textureCUBE_enable( const ParserChar* text, size_t textLength )
55071 {
55072     return true;
55073 }
55074 
55075 //---------------------------------------------------------------------
_preBegin__textureCUBE_enable(const ParserAttributes & attributes,void ** attributeDataPtr,void ** validationDataPtr)55076 bool ColladaParserAutoGen14Private::_preBegin__textureCUBE_enable( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
55077 {
55078 #ifdef GENERATEDSAXPARSER_VALIDATION
55079     if ( mValidate )
55080     {
55081 
55082         bool validationResult = _validateBegin__textureCUBE_enable( attributes, attributeDataPtr, validationDataPtr );
55083         if ( !validationResult ) return false;
55084 
55085     } // validation
55086 #endif
55087 
55088 textureCUBE_enable__AttributeData* attributeData = newData<textureCUBE_enable__AttributeData>(attributeDataPtr);
55089 
55090 const ParserChar** attributeArray = attributes.attributes;
55091 if ( attributeArray )
55092 {
55093     while (true)
55094     {
55095         const ParserChar * attribute = *attributeArray;
55096         if ( !attribute )
55097             break;
55098         StringHash hash = GeneratedSaxParser::Utils::calculateStringHash(attribute);
55099         attributeArray++;
55100         if ( !attributeArray )
55101             return false;
55102         const ParserChar* attributeValue = *attributeArray;
55103         attributeArray++;
55104 
55105 
55106     switch ( hash )
55107     {
55108     case HASH_ATTRIBUTE_value:
55109     {
55110 bool failed;
55111 attributeData->value = GeneratedSaxParser::Utils::toBool(attributeValue, failed);
55112 if ( failed && handleError(ParserError::SEVERITY_ERROR_NONCRITICAL,
55113         ParserError::ERROR_ATTRIBUTE_PARSING_FAILED,
55114         HASH_ELEMENT_TEXTURECUBE_ENABLE,
55115         HASH_ATTRIBUTE_value,
55116         attributeValue))
55117 {
55118     return false;
55119 }
55120 
55121     break;
55122     }
55123     case HASH_ATTRIBUTE_param:
55124     {
55125 
55126 attributeData->param = attributeValue;
55127 #ifdef GENERATEDSAXPARSER_VALIDATION
55128     if ( mValidate )
55129     {
55130     ParserError::ErrorType simpleTypeValidationResult = validate__NCName(attributeData->param, strlen(attributeData->param));
55131     if (simpleTypeValidationResult != ParserError::SIMPLE_TYPE_VALIDATION_OK)
55132     {
55133         if( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL,
55134             simpleTypeValidationResult,
55135             HASH_ELEMENT_TEXTURECUBE_ENABLE,
55136             HASH_ATTRIBUTE_param,
55137             attributeValue) )
55138         {
55139             return false;
55140         }
55141     }
55142     } // validation
55143 #endif
55144 
55145     break;
55146     }
55147     case HASH_ATTRIBUTE_index:
55148     {
55149 bool failed;
55150 attributeData->index = GeneratedSaxParser::Utils::toUint64(attributeValue, failed);
55151 if ( failed && handleError(ParserError::SEVERITY_ERROR_NONCRITICAL,
55152         ParserError::ERROR_ATTRIBUTE_PARSING_FAILED,
55153         HASH_ELEMENT_TEXTURECUBE_ENABLE,
55154         HASH_ATTRIBUTE_index,
55155         attributeValue))
55156 {
55157     return false;
55158 }
55159 if ( !failed )
55160     attributeData->present_attributes |= textureCUBE_enable__AttributeData::ATTRIBUTE_INDEX_PRESENT;
55161 
55162     break;
55163     }
55164     default:
55165     {
55166         if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_UNKNOWN_ATTRIBUTE, HASH_ELEMENT_TEXTURECUBE_ENABLE, attribute, attributeValue))
55167             {return false;}
55168     }
55169     }
55170     }
55171 }
55172 
55173 
55174     return true;
55175 }
55176 
55177 //---------------------------------------------------------------------
_preEnd__textureCUBE_enable()55178 bool ColladaParserAutoGen14Private::_preEnd__textureCUBE_enable()
55179 {
55180 #ifdef GENERATEDSAXPARSER_VALIDATION
55181     if ( mValidate )
55182     {
55183 
55184         bool validationResult = _validateEnd__textureCUBE_enable();
55185         if ( !validationResult ) return false;
55186 
55187     } // validation
55188 #endif
55189 
55190     return true;
55191 }
55192 
55193 //---------------------------------------------------------------------
_freeAttributes__textureCUBE_enable(void * attributeData)55194 bool ColladaParserAutoGen14Private::_freeAttributes__textureCUBE_enable( void* attributeData )
55195 {
55196     textureCUBE_enable__AttributeData* typedAttributeData = static_cast<textureCUBE_enable__AttributeData*>(attributeData);
55197 
55198     typedAttributeData->~textureCUBE_enable__AttributeData();
55199 
55200     return true;
55201 }
55202 
55203 //---------------------------------------------------------------------
55204 const textureRECT_enable__AttributeData textureRECT_enable__AttributeData::DEFAULT = {0, false, 0, 0};
55205 
55206 //---------------------------------------------------------------------
_data__textureRECT_enable(const ParserChar * text,size_t textLength)55207 bool ColladaParserAutoGen14Private::_data__textureRECT_enable( const ParserChar* text, size_t textLength )
55208 {
55209     return true;
55210 }
55211 
55212 //---------------------------------------------------------------------
_preBegin__textureRECT_enable(const ParserAttributes & attributes,void ** attributeDataPtr,void ** validationDataPtr)55213 bool ColladaParserAutoGen14Private::_preBegin__textureRECT_enable( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
55214 {
55215 #ifdef GENERATEDSAXPARSER_VALIDATION
55216     if ( mValidate )
55217     {
55218 
55219         bool validationResult = _validateBegin__textureRECT_enable( attributes, attributeDataPtr, validationDataPtr );
55220         if ( !validationResult ) return false;
55221 
55222     } // validation
55223 #endif
55224 
55225 textureRECT_enable__AttributeData* attributeData = newData<textureRECT_enable__AttributeData>(attributeDataPtr);
55226 
55227 const ParserChar** attributeArray = attributes.attributes;
55228 if ( attributeArray )
55229 {
55230     while (true)
55231     {
55232         const ParserChar * attribute = *attributeArray;
55233         if ( !attribute )
55234             break;
55235         StringHash hash = GeneratedSaxParser::Utils::calculateStringHash(attribute);
55236         attributeArray++;
55237         if ( !attributeArray )
55238             return false;
55239         const ParserChar* attributeValue = *attributeArray;
55240         attributeArray++;
55241 
55242 
55243     switch ( hash )
55244     {
55245     case HASH_ATTRIBUTE_value:
55246     {
55247 bool failed;
55248 attributeData->value = GeneratedSaxParser::Utils::toBool(attributeValue, failed);
55249 if ( failed && handleError(ParserError::SEVERITY_ERROR_NONCRITICAL,
55250         ParserError::ERROR_ATTRIBUTE_PARSING_FAILED,
55251         HASH_ELEMENT_TEXTURERECT_ENABLE,
55252         HASH_ATTRIBUTE_value,
55253         attributeValue))
55254 {
55255     return false;
55256 }
55257 
55258     break;
55259     }
55260     case HASH_ATTRIBUTE_param:
55261     {
55262 
55263 attributeData->param = attributeValue;
55264 #ifdef GENERATEDSAXPARSER_VALIDATION
55265     if ( mValidate )
55266     {
55267     ParserError::ErrorType simpleTypeValidationResult = validate__NCName(attributeData->param, strlen(attributeData->param));
55268     if (simpleTypeValidationResult != ParserError::SIMPLE_TYPE_VALIDATION_OK)
55269     {
55270         if( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL,
55271             simpleTypeValidationResult,
55272             HASH_ELEMENT_TEXTURERECT_ENABLE,
55273             HASH_ATTRIBUTE_param,
55274             attributeValue) )
55275         {
55276             return false;
55277         }
55278     }
55279     } // validation
55280 #endif
55281 
55282     break;
55283     }
55284     case HASH_ATTRIBUTE_index:
55285     {
55286 bool failed;
55287 attributeData->index = GeneratedSaxParser::Utils::toUint64(attributeValue, failed);
55288 if ( failed && handleError(ParserError::SEVERITY_ERROR_NONCRITICAL,
55289         ParserError::ERROR_ATTRIBUTE_PARSING_FAILED,
55290         HASH_ELEMENT_TEXTURERECT_ENABLE,
55291         HASH_ATTRIBUTE_index,
55292         attributeValue))
55293 {
55294     return false;
55295 }
55296 if ( !failed )
55297     attributeData->present_attributes |= textureRECT_enable__AttributeData::ATTRIBUTE_INDEX_PRESENT;
55298 
55299     break;
55300     }
55301     default:
55302     {
55303         if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_UNKNOWN_ATTRIBUTE, HASH_ELEMENT_TEXTURERECT_ENABLE, attribute, attributeValue))
55304             {return false;}
55305     }
55306     }
55307     }
55308 }
55309 
55310 
55311     return true;
55312 }
55313 
55314 //---------------------------------------------------------------------
_preEnd__textureRECT_enable()55315 bool ColladaParserAutoGen14Private::_preEnd__textureRECT_enable()
55316 {
55317 #ifdef GENERATEDSAXPARSER_VALIDATION
55318     if ( mValidate )
55319     {
55320 
55321         bool validationResult = _validateEnd__textureRECT_enable();
55322         if ( !validationResult ) return false;
55323 
55324     } // validation
55325 #endif
55326 
55327     return true;
55328 }
55329 
55330 //---------------------------------------------------------------------
_freeAttributes__textureRECT_enable(void * attributeData)55331 bool ColladaParserAutoGen14Private::_freeAttributes__textureRECT_enable( void* attributeData )
55332 {
55333     textureRECT_enable__AttributeData* typedAttributeData = static_cast<textureRECT_enable__AttributeData*>(attributeData);
55334 
55335     typedAttributeData->~textureRECT_enable__AttributeData();
55336 
55337     return true;
55338 }
55339 
55340 //---------------------------------------------------------------------
55341 const textureDEPTH_enable__AttributeData textureDEPTH_enable__AttributeData::DEFAULT = {0, false, 0, 0};
55342 
55343 //---------------------------------------------------------------------
_data__textureDEPTH_enable(const ParserChar * text,size_t textLength)55344 bool ColladaParserAutoGen14Private::_data__textureDEPTH_enable( const ParserChar* text, size_t textLength )
55345 {
55346     return true;
55347 }
55348 
55349 //---------------------------------------------------------------------
_preBegin__textureDEPTH_enable(const ParserAttributes & attributes,void ** attributeDataPtr,void ** validationDataPtr)55350 bool ColladaParserAutoGen14Private::_preBegin__textureDEPTH_enable( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
55351 {
55352 #ifdef GENERATEDSAXPARSER_VALIDATION
55353     if ( mValidate )
55354     {
55355 
55356         bool validationResult = _validateBegin__textureDEPTH_enable( attributes, attributeDataPtr, validationDataPtr );
55357         if ( !validationResult ) return false;
55358 
55359     } // validation
55360 #endif
55361 
55362 textureDEPTH_enable__AttributeData* attributeData = newData<textureDEPTH_enable__AttributeData>(attributeDataPtr);
55363 
55364 const ParserChar** attributeArray = attributes.attributes;
55365 if ( attributeArray )
55366 {
55367     while (true)
55368     {
55369         const ParserChar * attribute = *attributeArray;
55370         if ( !attribute )
55371             break;
55372         StringHash hash = GeneratedSaxParser::Utils::calculateStringHash(attribute);
55373         attributeArray++;
55374         if ( !attributeArray )
55375             return false;
55376         const ParserChar* attributeValue = *attributeArray;
55377         attributeArray++;
55378 
55379 
55380     switch ( hash )
55381     {
55382     case HASH_ATTRIBUTE_value:
55383     {
55384 bool failed;
55385 attributeData->value = GeneratedSaxParser::Utils::toBool(attributeValue, failed);
55386 if ( failed && handleError(ParserError::SEVERITY_ERROR_NONCRITICAL,
55387         ParserError::ERROR_ATTRIBUTE_PARSING_FAILED,
55388         HASH_ELEMENT_TEXTUREDEPTH_ENABLE,
55389         HASH_ATTRIBUTE_value,
55390         attributeValue))
55391 {
55392     return false;
55393 }
55394 
55395     break;
55396     }
55397     case HASH_ATTRIBUTE_param:
55398     {
55399 
55400 attributeData->param = attributeValue;
55401 #ifdef GENERATEDSAXPARSER_VALIDATION
55402     if ( mValidate )
55403     {
55404     ParserError::ErrorType simpleTypeValidationResult = validate__NCName(attributeData->param, strlen(attributeData->param));
55405     if (simpleTypeValidationResult != ParserError::SIMPLE_TYPE_VALIDATION_OK)
55406     {
55407         if( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL,
55408             simpleTypeValidationResult,
55409             HASH_ELEMENT_TEXTUREDEPTH_ENABLE,
55410             HASH_ATTRIBUTE_param,
55411             attributeValue) )
55412         {
55413             return false;
55414         }
55415     }
55416     } // validation
55417 #endif
55418 
55419     break;
55420     }
55421     case HASH_ATTRIBUTE_index:
55422     {
55423 bool failed;
55424 attributeData->index = GeneratedSaxParser::Utils::toUint64(attributeValue, failed);
55425 if ( failed && handleError(ParserError::SEVERITY_ERROR_NONCRITICAL,
55426         ParserError::ERROR_ATTRIBUTE_PARSING_FAILED,
55427         HASH_ELEMENT_TEXTUREDEPTH_ENABLE,
55428         HASH_ATTRIBUTE_index,
55429         attributeValue))
55430 {
55431     return false;
55432 }
55433 if ( !failed )
55434     attributeData->present_attributes |= textureDEPTH_enable__AttributeData::ATTRIBUTE_INDEX_PRESENT;
55435 
55436     break;
55437     }
55438     default:
55439     {
55440         if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_UNKNOWN_ATTRIBUTE, HASH_ELEMENT_TEXTUREDEPTH_ENABLE, attribute, attributeValue))
55441             {return false;}
55442     }
55443     }
55444     }
55445 }
55446 
55447 
55448     return true;
55449 }
55450 
55451 //---------------------------------------------------------------------
_preEnd__textureDEPTH_enable()55452 bool ColladaParserAutoGen14Private::_preEnd__textureDEPTH_enable()
55453 {
55454 #ifdef GENERATEDSAXPARSER_VALIDATION
55455     if ( mValidate )
55456     {
55457 
55458         bool validationResult = _validateEnd__textureDEPTH_enable();
55459         if ( !validationResult ) return false;
55460 
55461     } // validation
55462 #endif
55463 
55464     return true;
55465 }
55466 
55467 //---------------------------------------------------------------------
_freeAttributes__textureDEPTH_enable(void * attributeData)55468 bool ColladaParserAutoGen14Private::_freeAttributes__textureDEPTH_enable( void* attributeData )
55469 {
55470     textureDEPTH_enable__AttributeData* typedAttributeData = static_cast<textureDEPTH_enable__AttributeData*>(attributeData);
55471 
55472     typedAttributeData->~textureDEPTH_enable__AttributeData();
55473 
55474     return true;
55475 }
55476 
55477 //---------------------------------------------------------------------
55478 const texture_env_color__AttributeData texture_env_color__AttributeData::DEFAULT = {0, GeneratedSaxParser::XSList<float>(), 0, 0};
55479 
55480 //---------------------------------------------------------------------
_data__texture_env_color(const ParserChar * text,size_t textLength)55481 bool ColladaParserAutoGen14Private::_data__texture_env_color( const ParserChar* text, size_t textLength )
55482 {
55483     return true;
55484 }
55485 
55486 //---------------------------------------------------------------------
_preBegin__texture_env_color(const ParserAttributes & attributes,void ** attributeDataPtr,void ** validationDataPtr)55487 bool ColladaParserAutoGen14Private::_preBegin__texture_env_color( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
55488 {
55489 #ifdef GENERATEDSAXPARSER_VALIDATION
55490     if ( mValidate )
55491     {
55492 
55493         bool validationResult = _validateBegin__texture_env_color( attributes, attributeDataPtr, validationDataPtr );
55494         if ( !validationResult ) return false;
55495 
55496     } // validation
55497 #endif
55498 
55499 texture_env_color__AttributeData* attributeData = newData<texture_env_color__AttributeData>(attributeDataPtr);
55500 
55501 const ParserChar** attributeArray = attributes.attributes;
55502 if ( attributeArray )
55503 {
55504     while (true)
55505     {
55506         const ParserChar * attribute = *attributeArray;
55507         if ( !attribute )
55508             break;
55509         StringHash hash = GeneratedSaxParser::Utils::calculateStringHash(attribute);
55510         attributeArray++;
55511         if ( !attributeArray )
55512             return false;
55513         const ParserChar* attributeValue = *attributeArray;
55514         attributeArray++;
55515 
55516 
55517     switch ( hash )
55518     {
55519     case HASH_ATTRIBUTE_value:
55520     {
55521 bool failed;
55522 #ifdef GENERATEDSAXPARSER_VALIDATION
55523     if ( mValidate )
55524     {
55525 failed = !characterData2FloatList(attributeValue, attributeData->value, 0, HASH_ELEMENT_TEXTURE_ENV_COLOR, HASH_ATTRIBUTE_value);
55526     }
55527     else
55528     {
55529 failed = !characterData2FloatList(attributeValue, attributeData->value);
55530     }
55531 #else
55532     {
55533 failed = !characterData2FloatList(attributeValue, attributeData->value);
55534     } // validation
55535 #endif
55536 if ( failed && handleError(ParserError::SEVERITY_ERROR_NONCRITICAL,
55537         ParserError::ERROR_ATTRIBUTE_PARSING_FAILED,
55538         HASH_ELEMENT_TEXTURE_ENV_COLOR,
55539         HASH_ATTRIBUTE_value,
55540         attributeValue))
55541 {
55542     return false;
55543 }
55544 #ifdef GENERATEDSAXPARSER_VALIDATION
55545     if ( mValidate )
55546     {
55547     ParserError::ErrorType simpleTypeValidationResult = validate__float4(attributeData->value.data, attributeData->value.size);
55548     if (simpleTypeValidationResult != ParserError::SIMPLE_TYPE_VALIDATION_OK)
55549     {
55550         if( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL,
55551             simpleTypeValidationResult,
55552             HASH_ELEMENT_TEXTURE_ENV_COLOR,
55553             HASH_ATTRIBUTE_value,
55554             attributeValue) )
55555         {
55556             return false;
55557         }
55558     }
55559     } // validation
55560 #endif
55561 
55562 if ( !failed )
55563     attributeData->present_attributes |= texture_env_color__AttributeData::ATTRIBUTE_VALUE_PRESENT;
55564 
55565     break;
55566     }
55567     case HASH_ATTRIBUTE_param:
55568     {
55569 
55570 attributeData->param = attributeValue;
55571 #ifdef GENERATEDSAXPARSER_VALIDATION
55572     if ( mValidate )
55573     {
55574     ParserError::ErrorType simpleTypeValidationResult = validate__NCName(attributeData->param, strlen(attributeData->param));
55575     if (simpleTypeValidationResult != ParserError::SIMPLE_TYPE_VALIDATION_OK)
55576     {
55577         if( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL,
55578             simpleTypeValidationResult,
55579             HASH_ELEMENT_TEXTURE_ENV_COLOR,
55580             HASH_ATTRIBUTE_param,
55581             attributeValue) )
55582         {
55583             return false;
55584         }
55585     }
55586     } // validation
55587 #endif
55588 
55589     break;
55590     }
55591     case HASH_ATTRIBUTE_index:
55592     {
55593 bool failed;
55594 attributeData->index = GeneratedSaxParser::Utils::toUint64(attributeValue, failed);
55595 if ( failed && handleError(ParserError::SEVERITY_ERROR_NONCRITICAL,
55596         ParserError::ERROR_ATTRIBUTE_PARSING_FAILED,
55597         HASH_ELEMENT_TEXTURE_ENV_COLOR,
55598         HASH_ATTRIBUTE_index,
55599         attributeValue))
55600 {
55601     return false;
55602 }
55603 if ( !failed )
55604     attributeData->present_attributes |= texture_env_color__AttributeData::ATTRIBUTE_INDEX_PRESENT;
55605 
55606     break;
55607     }
55608     default:
55609     {
55610         if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_UNKNOWN_ATTRIBUTE, HASH_ELEMENT_TEXTURE_ENV_COLOR, attribute, attributeValue))
55611             {return false;}
55612     }
55613     }
55614     }
55615 }
55616 if ((attributeData->present_attributes & texture_env_color__AttributeData::ATTRIBUTE_VALUE_PRESENT) == 0)
55617 {
55618     attributeData->value = GeneratedSaxParser::XSList<float>();
55619 }
55620 
55621 
55622     return true;
55623 }
55624 
55625 //---------------------------------------------------------------------
_preEnd__texture_env_color()55626 bool ColladaParserAutoGen14Private::_preEnd__texture_env_color()
55627 {
55628 #ifdef GENERATEDSAXPARSER_VALIDATION
55629     if ( mValidate )
55630     {
55631 
55632         bool validationResult = _validateEnd__texture_env_color();
55633         if ( !validationResult ) return false;
55634 
55635     } // validation
55636 #endif
55637 
55638     return true;
55639 }
55640 
55641 //---------------------------------------------------------------------
_freeAttributes__texture_env_color(void * attributeData)55642 bool ColladaParserAutoGen14Private::_freeAttributes__texture_env_color( void* attributeData )
55643 {
55644     texture_env_color__AttributeData* typedAttributeData = static_cast<texture_env_color__AttributeData*>(attributeData);
55645     if (typedAttributeData->value.data)
55646     {
55647         mStackMemoryManager.deleteObject();
55648     }
55649 
55650 
55651     typedAttributeData->~texture_env_color__AttributeData();
55652 
55653     return true;
55654 }
55655 
55656 //---------------------------------------------------------------------
55657 const texture_env_mode__AttributeData texture_env_mode__AttributeData::DEFAULT = {0, 0, 0, 0};
55658 
55659 //---------------------------------------------------------------------
_data__texture_env_mode(const ParserChar * text,size_t textLength)55660 bool ColladaParserAutoGen14Private::_data__texture_env_mode( const ParserChar* text, size_t textLength )
55661 {
55662     return true;
55663 }
55664 
55665 //---------------------------------------------------------------------
_preBegin__texture_env_mode(const ParserAttributes & attributes,void ** attributeDataPtr,void ** validationDataPtr)55666 bool ColladaParserAutoGen14Private::_preBegin__texture_env_mode( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
55667 {
55668 #ifdef GENERATEDSAXPARSER_VALIDATION
55669     if ( mValidate )
55670     {
55671 
55672         bool validationResult = _validateBegin__texture_env_mode( attributes, attributeDataPtr, validationDataPtr );
55673         if ( !validationResult ) return false;
55674 
55675     } // validation
55676 #endif
55677 
55678 texture_env_mode__AttributeData* attributeData = newData<texture_env_mode__AttributeData>(attributeDataPtr);
55679 
55680 const ParserChar** attributeArray = attributes.attributes;
55681 if ( attributeArray )
55682 {
55683     while (true)
55684     {
55685         const ParserChar * attribute = *attributeArray;
55686         if ( !attribute )
55687             break;
55688         StringHash hash = GeneratedSaxParser::Utils::calculateStringHash(attribute);
55689         attributeArray++;
55690         if ( !attributeArray )
55691             return false;
55692         const ParserChar* attributeValue = *attributeArray;
55693         attributeArray++;
55694 
55695 
55696     switch ( hash )
55697     {
55698     case HASH_ATTRIBUTE_value:
55699     {
55700 
55701 attributeData->value = attributeValue;
55702 
55703     break;
55704     }
55705     case HASH_ATTRIBUTE_param:
55706     {
55707 
55708 attributeData->param = attributeValue;
55709 #ifdef GENERATEDSAXPARSER_VALIDATION
55710     if ( mValidate )
55711     {
55712     ParserError::ErrorType simpleTypeValidationResult = validate__NCName(attributeData->param, strlen(attributeData->param));
55713     if (simpleTypeValidationResult != ParserError::SIMPLE_TYPE_VALIDATION_OK)
55714     {
55715         if( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL,
55716             simpleTypeValidationResult,
55717             HASH_ELEMENT_TEXTURE_ENV_MODE,
55718             HASH_ATTRIBUTE_param,
55719             attributeValue) )
55720         {
55721             return false;
55722         }
55723     }
55724     } // validation
55725 #endif
55726 
55727     break;
55728     }
55729     case HASH_ATTRIBUTE_index:
55730     {
55731 bool failed;
55732 attributeData->index = GeneratedSaxParser::Utils::toUint64(attributeValue, failed);
55733 if ( failed && handleError(ParserError::SEVERITY_ERROR_NONCRITICAL,
55734         ParserError::ERROR_ATTRIBUTE_PARSING_FAILED,
55735         HASH_ELEMENT_TEXTURE_ENV_MODE,
55736         HASH_ATTRIBUTE_index,
55737         attributeValue))
55738 {
55739     return false;
55740 }
55741 if ( !failed )
55742     attributeData->present_attributes |= texture_env_mode__AttributeData::ATTRIBUTE_INDEX_PRESENT;
55743 
55744     break;
55745     }
55746     default:
55747     {
55748         if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_UNKNOWN_ATTRIBUTE, HASH_ELEMENT_TEXTURE_ENV_MODE, attribute, attributeValue))
55749             {return false;}
55750     }
55751     }
55752     }
55753 }
55754 
55755 
55756     return true;
55757 }
55758 
55759 //---------------------------------------------------------------------
_preEnd__texture_env_mode()55760 bool ColladaParserAutoGen14Private::_preEnd__texture_env_mode()
55761 {
55762 #ifdef GENERATEDSAXPARSER_VALIDATION
55763     if ( mValidate )
55764     {
55765 
55766         bool validationResult = _validateEnd__texture_env_mode();
55767         if ( !validationResult ) return false;
55768 
55769     } // validation
55770 #endif
55771 
55772     return true;
55773 }
55774 
55775 //---------------------------------------------------------------------
_freeAttributes__texture_env_mode(void * attributeData)55776 bool ColladaParserAutoGen14Private::_freeAttributes__texture_env_mode( void* attributeData )
55777 {
55778     texture_env_mode__AttributeData* typedAttributeData = static_cast<texture_env_mode__AttributeData*>(attributeData);
55779 
55780     typedAttributeData->~texture_env_mode__AttributeData();
55781 
55782     return true;
55783 }
55784 
55785 //---------------------------------------------------------------------
55786 const profile_GLSL__technique__pass__clip_plane__AttributeData profile_GLSL__technique__pass__clip_plane__AttributeData::DEFAULT = {0, GeneratedSaxParser::XSList<float>(), 0, 0};
55787 
55788 //---------------------------------------------------------------------
_data__profile_GLSL__technique__pass__clip_plane(const ParserChar * text,size_t textLength)55789 bool ColladaParserAutoGen14Private::_data__profile_GLSL__technique__pass__clip_plane( const ParserChar* text, size_t textLength )
55790 {
55791     return true;
55792 }
55793 
55794 //---------------------------------------------------------------------
_preBegin__profile_GLSL__technique__pass__clip_plane(const ParserAttributes & attributes,void ** attributeDataPtr,void ** validationDataPtr)55795 bool ColladaParserAutoGen14Private::_preBegin__profile_GLSL__technique__pass__clip_plane( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
55796 {
55797 #ifdef GENERATEDSAXPARSER_VALIDATION
55798     if ( mValidate )
55799     {
55800 
55801         bool validationResult = _validateBegin__profile_GLSL__technique__pass__clip_plane( attributes, attributeDataPtr, validationDataPtr );
55802         if ( !validationResult ) return false;
55803 
55804     } // validation
55805 #endif
55806 
55807 profile_GLSL__technique__pass__clip_plane__AttributeData* attributeData = newData<profile_GLSL__technique__pass__clip_plane__AttributeData>(attributeDataPtr);
55808 
55809 const ParserChar** attributeArray = attributes.attributes;
55810 if ( attributeArray )
55811 {
55812     while (true)
55813     {
55814         const ParserChar * attribute = *attributeArray;
55815         if ( !attribute )
55816             break;
55817         StringHash hash = GeneratedSaxParser::Utils::calculateStringHash(attribute);
55818         attributeArray++;
55819         if ( !attributeArray )
55820             return false;
55821         const ParserChar* attributeValue = *attributeArray;
55822         attributeArray++;
55823 
55824 
55825     switch ( hash )
55826     {
55827     case HASH_ATTRIBUTE_value:
55828     {
55829 bool failed;
55830 #ifdef GENERATEDSAXPARSER_VALIDATION
55831     if ( mValidate )
55832     {
55833 failed = !characterData2FloatList(attributeValue, attributeData->value, 0, HASH_ELEMENT_CLIP_PLANE, HASH_ATTRIBUTE_value);
55834     }
55835     else
55836     {
55837 failed = !characterData2FloatList(attributeValue, attributeData->value);
55838     }
55839 #else
55840     {
55841 failed = !characterData2FloatList(attributeValue, attributeData->value);
55842     } // validation
55843 #endif
55844 if ( failed && handleError(ParserError::SEVERITY_ERROR_NONCRITICAL,
55845         ParserError::ERROR_ATTRIBUTE_PARSING_FAILED,
55846         HASH_ELEMENT_CLIP_PLANE,
55847         HASH_ATTRIBUTE_value,
55848         attributeValue))
55849 {
55850     return false;
55851 }
55852 #ifdef GENERATEDSAXPARSER_VALIDATION
55853     if ( mValidate )
55854     {
55855     ParserError::ErrorType simpleTypeValidationResult = validate__float4(attributeData->value.data, attributeData->value.size);
55856     if (simpleTypeValidationResult != ParserError::SIMPLE_TYPE_VALIDATION_OK)
55857     {
55858         if( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL,
55859             simpleTypeValidationResult,
55860             HASH_ELEMENT_CLIP_PLANE,
55861             HASH_ATTRIBUTE_value,
55862             attributeValue) )
55863         {
55864             return false;
55865         }
55866     }
55867     } // validation
55868 #endif
55869 
55870 if ( !failed )
55871     attributeData->present_attributes |= profile_GLSL__technique__pass__clip_plane__AttributeData::ATTRIBUTE_VALUE_PRESENT;
55872 
55873     break;
55874     }
55875     case HASH_ATTRIBUTE_param:
55876     {
55877 
55878 attributeData->param = attributeValue;
55879 #ifdef GENERATEDSAXPARSER_VALIDATION
55880     if ( mValidate )
55881     {
55882     ParserError::ErrorType simpleTypeValidationResult = validate__NCName(attributeData->param, strlen(attributeData->param));
55883     if (simpleTypeValidationResult != ParserError::SIMPLE_TYPE_VALIDATION_OK)
55884     {
55885         if( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL,
55886             simpleTypeValidationResult,
55887             HASH_ELEMENT_CLIP_PLANE,
55888             HASH_ATTRIBUTE_param,
55889             attributeValue) )
55890         {
55891             return false;
55892         }
55893     }
55894     } // validation
55895 #endif
55896 
55897     break;
55898     }
55899     case HASH_ATTRIBUTE_index:
55900     {
55901 bool failed;
55902 attributeData->index = GeneratedSaxParser::Utils::toUint64(attributeValue, failed);
55903 if ( failed && handleError(ParserError::SEVERITY_ERROR_NONCRITICAL,
55904         ParserError::ERROR_ATTRIBUTE_PARSING_FAILED,
55905         HASH_ELEMENT_CLIP_PLANE,
55906         HASH_ATTRIBUTE_index,
55907         attributeValue))
55908 {
55909     return false;
55910 }
55911 if ( !failed )
55912     attributeData->present_attributes |= profile_GLSL__technique__pass__clip_plane__AttributeData::ATTRIBUTE_INDEX_PRESENT;
55913 
55914     break;
55915     }
55916     default:
55917     {
55918         if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_UNKNOWN_ATTRIBUTE, HASH_ELEMENT_CLIP_PLANE, attribute, attributeValue))
55919             {return false;}
55920     }
55921     }
55922     }
55923 }
55924 if ((attributeData->present_attributes & profile_GLSL__technique__pass__clip_plane__AttributeData::ATTRIBUTE_VALUE_PRESENT) == 0)
55925 {
55926     bool failed;
55927     failed = !characterData2FloatList("0.0E1 0.0E1 0.0E1 0.0E1", attributeData->value);
55928     if ( !failed )
55929     attributeData->present_attributes |= profile_GLSL__technique__pass__clip_plane__AttributeData::ATTRIBUTE_VALUE_PRESENT;
55930 }
55931 
55932 
55933     return true;
55934 }
55935 
55936 //---------------------------------------------------------------------
_preEnd__profile_GLSL__technique__pass__clip_plane()55937 bool ColladaParserAutoGen14Private::_preEnd__profile_GLSL__technique__pass__clip_plane()
55938 {
55939 #ifdef GENERATEDSAXPARSER_VALIDATION
55940     if ( mValidate )
55941     {
55942 
55943         bool validationResult = _validateEnd__profile_GLSL__technique__pass__clip_plane();
55944         if ( !validationResult ) return false;
55945 
55946     } // validation
55947 #endif
55948 
55949     return true;
55950 }
55951 
55952 //---------------------------------------------------------------------
_freeAttributes__profile_GLSL__technique__pass__clip_plane(void * attributeData)55953 bool ColladaParserAutoGen14Private::_freeAttributes__profile_GLSL__technique__pass__clip_plane( void* attributeData )
55954 {
55955     profile_GLSL__technique__pass__clip_plane__AttributeData* typedAttributeData = static_cast<profile_GLSL__technique__pass__clip_plane__AttributeData*>(attributeData);
55956     if (typedAttributeData->value.data)
55957     {
55958         mStackMemoryManager.deleteObject();
55959     }
55960 
55961 
55962     typedAttributeData->~profile_GLSL__technique__pass__clip_plane__AttributeData();
55963 
55964     return true;
55965 }
55966 
55967 //---------------------------------------------------------------------
55968 const profile_GLSL__technique__pass__clip_plane_enable__AttributeData profile_GLSL__technique__pass__clip_plane_enable__AttributeData::DEFAULT = {0, false, 0, 0};
55969 
55970 //---------------------------------------------------------------------
_data__profile_GLSL__technique__pass__clip_plane_enable(const ParserChar * text,size_t textLength)55971 bool ColladaParserAutoGen14Private::_data__profile_GLSL__technique__pass__clip_plane_enable( const ParserChar* text, size_t textLength )
55972 {
55973     return true;
55974 }
55975 
55976 //---------------------------------------------------------------------
_preBegin__profile_GLSL__technique__pass__clip_plane_enable(const ParserAttributes & attributes,void ** attributeDataPtr,void ** validationDataPtr)55977 bool ColladaParserAutoGen14Private::_preBegin__profile_GLSL__technique__pass__clip_plane_enable( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
55978 {
55979 #ifdef GENERATEDSAXPARSER_VALIDATION
55980     if ( mValidate )
55981     {
55982 
55983         bool validationResult = _validateBegin__profile_GLSL__technique__pass__clip_plane_enable( attributes, attributeDataPtr, validationDataPtr );
55984         if ( !validationResult ) return false;
55985 
55986     } // validation
55987 #endif
55988 
55989 profile_GLSL__technique__pass__clip_plane_enable__AttributeData* attributeData = newData<profile_GLSL__technique__pass__clip_plane_enable__AttributeData>(attributeDataPtr);
55990 
55991 const ParserChar** attributeArray = attributes.attributes;
55992 if ( attributeArray )
55993 {
55994     while (true)
55995     {
55996         const ParserChar * attribute = *attributeArray;
55997         if ( !attribute )
55998             break;
55999         StringHash hash = GeneratedSaxParser::Utils::calculateStringHash(attribute);
56000         attributeArray++;
56001         if ( !attributeArray )
56002             return false;
56003         const ParserChar* attributeValue = *attributeArray;
56004         attributeArray++;
56005 
56006 
56007     switch ( hash )
56008     {
56009     case HASH_ATTRIBUTE_value:
56010     {
56011 bool failed;
56012 attributeData->value = GeneratedSaxParser::Utils::toBool(attributeValue, failed);
56013 if ( failed && handleError(ParserError::SEVERITY_ERROR_NONCRITICAL,
56014         ParserError::ERROR_ATTRIBUTE_PARSING_FAILED,
56015         HASH_ELEMENT_CLIP_PLANE_ENABLE,
56016         HASH_ATTRIBUTE_value,
56017         attributeValue))
56018 {
56019     return false;
56020 }
56021 
56022     break;
56023     }
56024     case HASH_ATTRIBUTE_param:
56025     {
56026 
56027 attributeData->param = attributeValue;
56028 #ifdef GENERATEDSAXPARSER_VALIDATION
56029     if ( mValidate )
56030     {
56031     ParserError::ErrorType simpleTypeValidationResult = validate__NCName(attributeData->param, strlen(attributeData->param));
56032     if (simpleTypeValidationResult != ParserError::SIMPLE_TYPE_VALIDATION_OK)
56033     {
56034         if( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL,
56035             simpleTypeValidationResult,
56036             HASH_ELEMENT_CLIP_PLANE_ENABLE,
56037             HASH_ATTRIBUTE_param,
56038             attributeValue) )
56039         {
56040             return false;
56041         }
56042     }
56043     } // validation
56044 #endif
56045 
56046     break;
56047     }
56048     case HASH_ATTRIBUTE_index:
56049     {
56050 bool failed;
56051 attributeData->index = GeneratedSaxParser::Utils::toUint64(attributeValue, failed);
56052 if ( failed && handleError(ParserError::SEVERITY_ERROR_NONCRITICAL,
56053         ParserError::ERROR_ATTRIBUTE_PARSING_FAILED,
56054         HASH_ELEMENT_CLIP_PLANE_ENABLE,
56055         HASH_ATTRIBUTE_index,
56056         attributeValue))
56057 {
56058     return false;
56059 }
56060 if ( !failed )
56061     attributeData->present_attributes |= profile_GLSL__technique__pass__clip_plane_enable__AttributeData::ATTRIBUTE_INDEX_PRESENT;
56062 
56063     break;
56064     }
56065     default:
56066     {
56067         if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_UNKNOWN_ATTRIBUTE, HASH_ELEMENT_CLIP_PLANE_ENABLE, attribute, attributeValue))
56068             {return false;}
56069     }
56070     }
56071     }
56072 }
56073 
56074 
56075     return true;
56076 }
56077 
56078 //---------------------------------------------------------------------
_preEnd__profile_GLSL__technique__pass__clip_plane_enable()56079 bool ColladaParserAutoGen14Private::_preEnd__profile_GLSL__technique__pass__clip_plane_enable()
56080 {
56081 #ifdef GENERATEDSAXPARSER_VALIDATION
56082     if ( mValidate )
56083     {
56084 
56085         bool validationResult = _validateEnd__profile_GLSL__technique__pass__clip_plane_enable();
56086         if ( !validationResult ) return false;
56087 
56088     } // validation
56089 #endif
56090 
56091     return true;
56092 }
56093 
56094 //---------------------------------------------------------------------
_freeAttributes__profile_GLSL__technique__pass__clip_plane_enable(void * attributeData)56095 bool ColladaParserAutoGen14Private::_freeAttributes__profile_GLSL__technique__pass__clip_plane_enable( void* attributeData )
56096 {
56097     profile_GLSL__technique__pass__clip_plane_enable__AttributeData* typedAttributeData = static_cast<profile_GLSL__technique__pass__clip_plane_enable__AttributeData*>(attributeData);
56098 
56099     typedAttributeData->~profile_GLSL__technique__pass__clip_plane_enable__AttributeData();
56100 
56101     return true;
56102 }
56103 
56104 //---------------------------------------------------------------------
56105 const blend_color__AttributeData blend_color__AttributeData::DEFAULT = {0, GeneratedSaxParser::XSList<float>(), 0};
56106 
56107 //---------------------------------------------------------------------
_data__blend_color(const ParserChar * text,size_t textLength)56108 bool ColladaParserAutoGen14Private::_data__blend_color( const ParserChar* text, size_t textLength )
56109 {
56110     return true;
56111 }
56112 
56113 //---------------------------------------------------------------------
_preBegin__blend_color(const ParserAttributes & attributes,void ** attributeDataPtr,void ** validationDataPtr)56114 bool ColladaParserAutoGen14Private::_preBegin__blend_color( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
56115 {
56116 #ifdef GENERATEDSAXPARSER_VALIDATION
56117     if ( mValidate )
56118     {
56119 
56120         bool validationResult = _validateBegin__blend_color( attributes, attributeDataPtr, validationDataPtr );
56121         if ( !validationResult ) return false;
56122 
56123     } // validation
56124 #endif
56125 
56126 blend_color__AttributeData* attributeData = newData<blend_color__AttributeData>(attributeDataPtr);
56127 
56128 const ParserChar** attributeArray = attributes.attributes;
56129 if ( attributeArray )
56130 {
56131     while (true)
56132     {
56133         const ParserChar * attribute = *attributeArray;
56134         if ( !attribute )
56135             break;
56136         StringHash hash = GeneratedSaxParser::Utils::calculateStringHash(attribute);
56137         attributeArray++;
56138         if ( !attributeArray )
56139             return false;
56140         const ParserChar* attributeValue = *attributeArray;
56141         attributeArray++;
56142 
56143 
56144     switch ( hash )
56145     {
56146     case HASH_ATTRIBUTE_value:
56147     {
56148 bool failed;
56149 #ifdef GENERATEDSAXPARSER_VALIDATION
56150     if ( mValidate )
56151     {
56152 failed = !characterData2FloatList(attributeValue, attributeData->value, 0, HASH_ELEMENT_BLEND_COLOR, HASH_ATTRIBUTE_value);
56153     }
56154     else
56155     {
56156 failed = !characterData2FloatList(attributeValue, attributeData->value);
56157     }
56158 #else
56159     {
56160 failed = !characterData2FloatList(attributeValue, attributeData->value);
56161     } // validation
56162 #endif
56163 if ( failed && handleError(ParserError::SEVERITY_ERROR_NONCRITICAL,
56164         ParserError::ERROR_ATTRIBUTE_PARSING_FAILED,
56165         HASH_ELEMENT_BLEND_COLOR,
56166         HASH_ATTRIBUTE_value,
56167         attributeValue))
56168 {
56169     return false;
56170 }
56171 #ifdef GENERATEDSAXPARSER_VALIDATION
56172     if ( mValidate )
56173     {
56174     ParserError::ErrorType simpleTypeValidationResult = validate__float4(attributeData->value.data, attributeData->value.size);
56175     if (simpleTypeValidationResult != ParserError::SIMPLE_TYPE_VALIDATION_OK)
56176     {
56177         if( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL,
56178             simpleTypeValidationResult,
56179             HASH_ELEMENT_BLEND_COLOR,
56180             HASH_ATTRIBUTE_value,
56181             attributeValue) )
56182         {
56183             return false;
56184         }
56185     }
56186     } // validation
56187 #endif
56188 
56189 if ( !failed )
56190     attributeData->present_attributes |= blend_color__AttributeData::ATTRIBUTE_VALUE_PRESENT;
56191 
56192     break;
56193     }
56194     case HASH_ATTRIBUTE_param:
56195     {
56196 
56197 attributeData->param = attributeValue;
56198 #ifdef GENERATEDSAXPARSER_VALIDATION
56199     if ( mValidate )
56200     {
56201     ParserError::ErrorType simpleTypeValidationResult = validate__NCName(attributeData->param, strlen(attributeData->param));
56202     if (simpleTypeValidationResult != ParserError::SIMPLE_TYPE_VALIDATION_OK)
56203     {
56204         if( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL,
56205             simpleTypeValidationResult,
56206             HASH_ELEMENT_BLEND_COLOR,
56207             HASH_ATTRIBUTE_param,
56208             attributeValue) )
56209         {
56210             return false;
56211         }
56212     }
56213     } // validation
56214 #endif
56215 
56216     break;
56217     }
56218     default:
56219     {
56220         if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_UNKNOWN_ATTRIBUTE, HASH_ELEMENT_BLEND_COLOR, attribute, attributeValue))
56221             {return false;}
56222     }
56223     }
56224     }
56225 }
56226 if ((attributeData->present_attributes & blend_color__AttributeData::ATTRIBUTE_VALUE_PRESENT) == 0)
56227 {
56228     bool failed;
56229     failed = !characterData2FloatList("0.0E1 0.0E1 0.0E1 0.0E1", attributeData->value);
56230     if ( !failed )
56231     attributeData->present_attributes |= blend_color__AttributeData::ATTRIBUTE_VALUE_PRESENT;
56232 }
56233 
56234 
56235     return true;
56236 }
56237 
56238 //---------------------------------------------------------------------
_preEnd__blend_color()56239 bool ColladaParserAutoGen14Private::_preEnd__blend_color()
56240 {
56241 #ifdef GENERATEDSAXPARSER_VALIDATION
56242     if ( mValidate )
56243     {
56244 
56245         bool validationResult = _validateEnd__blend_color();
56246         if ( !validationResult ) return false;
56247 
56248     } // validation
56249 #endif
56250 
56251     return true;
56252 }
56253 
56254 //---------------------------------------------------------------------
_freeAttributes__blend_color(void * attributeData)56255 bool ColladaParserAutoGen14Private::_freeAttributes__blend_color( void* attributeData )
56256 {
56257     blend_color__AttributeData* typedAttributeData = static_cast<blend_color__AttributeData*>(attributeData);
56258     if (typedAttributeData->value.data)
56259     {
56260         mStackMemoryManager.deleteObject();
56261     }
56262 
56263 
56264     typedAttributeData->~blend_color__AttributeData();
56265 
56266     return true;
56267 }
56268 
56269 //---------------------------------------------------------------------
56270 const profile_GLSL__technique__pass__clear_color__AttributeData profile_GLSL__technique__pass__clear_color__AttributeData::DEFAULT = {0, GeneratedSaxParser::XSList<float>(), 0};
56271 
56272 //---------------------------------------------------------------------
_data__profile_GLSL__technique__pass__clear_color(const ParserChar * text,size_t textLength)56273 bool ColladaParserAutoGen14Private::_data__profile_GLSL__technique__pass__clear_color( const ParserChar* text, size_t textLength )
56274 {
56275     return true;
56276 }
56277 
56278 //---------------------------------------------------------------------
_preBegin__profile_GLSL__technique__pass__clear_color(const ParserAttributes & attributes,void ** attributeDataPtr,void ** validationDataPtr)56279 bool ColladaParserAutoGen14Private::_preBegin__profile_GLSL__technique__pass__clear_color( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
56280 {
56281 #ifdef GENERATEDSAXPARSER_VALIDATION
56282     if ( mValidate )
56283     {
56284 
56285         bool validationResult = _validateBegin__profile_GLSL__technique__pass__clear_color( attributes, attributeDataPtr, validationDataPtr );
56286         if ( !validationResult ) return false;
56287 
56288     } // validation
56289 #endif
56290 
56291 profile_GLSL__technique__pass__clear_color__AttributeData* attributeData = newData<profile_GLSL__technique__pass__clear_color__AttributeData>(attributeDataPtr);
56292 
56293 const ParserChar** attributeArray = attributes.attributes;
56294 if ( attributeArray )
56295 {
56296     while (true)
56297     {
56298         const ParserChar * attribute = *attributeArray;
56299         if ( !attribute )
56300             break;
56301         StringHash hash = GeneratedSaxParser::Utils::calculateStringHash(attribute);
56302         attributeArray++;
56303         if ( !attributeArray )
56304             return false;
56305         const ParserChar* attributeValue = *attributeArray;
56306         attributeArray++;
56307 
56308 
56309     switch ( hash )
56310     {
56311     case HASH_ATTRIBUTE_value:
56312     {
56313 bool failed;
56314 #ifdef GENERATEDSAXPARSER_VALIDATION
56315     if ( mValidate )
56316     {
56317 failed = !characterData2FloatList(attributeValue, attributeData->value, 0, HASH_ELEMENT_CLEAR_COLOR, HASH_ATTRIBUTE_value);
56318     }
56319     else
56320     {
56321 failed = !characterData2FloatList(attributeValue, attributeData->value);
56322     }
56323 #else
56324     {
56325 failed = !characterData2FloatList(attributeValue, attributeData->value);
56326     } // validation
56327 #endif
56328 if ( failed && handleError(ParserError::SEVERITY_ERROR_NONCRITICAL,
56329         ParserError::ERROR_ATTRIBUTE_PARSING_FAILED,
56330         HASH_ELEMENT_CLEAR_COLOR,
56331         HASH_ATTRIBUTE_value,
56332         attributeValue))
56333 {
56334     return false;
56335 }
56336 #ifdef GENERATEDSAXPARSER_VALIDATION
56337     if ( mValidate )
56338     {
56339     ParserError::ErrorType simpleTypeValidationResult = validate__float4(attributeData->value.data, attributeData->value.size);
56340     if (simpleTypeValidationResult != ParserError::SIMPLE_TYPE_VALIDATION_OK)
56341     {
56342         if( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL,
56343             simpleTypeValidationResult,
56344             HASH_ELEMENT_CLEAR_COLOR,
56345             HASH_ATTRIBUTE_value,
56346             attributeValue) )
56347         {
56348             return false;
56349         }
56350     }
56351     } // validation
56352 #endif
56353 
56354 if ( !failed )
56355     attributeData->present_attributes |= profile_GLSL__technique__pass__clear_color__AttributeData::ATTRIBUTE_VALUE_PRESENT;
56356 
56357     break;
56358     }
56359     case HASH_ATTRIBUTE_param:
56360     {
56361 
56362 attributeData->param = attributeValue;
56363 #ifdef GENERATEDSAXPARSER_VALIDATION
56364     if ( mValidate )
56365     {
56366     ParserError::ErrorType simpleTypeValidationResult = validate__NCName(attributeData->param, strlen(attributeData->param));
56367     if (simpleTypeValidationResult != ParserError::SIMPLE_TYPE_VALIDATION_OK)
56368     {
56369         if( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL,
56370             simpleTypeValidationResult,
56371             HASH_ELEMENT_CLEAR_COLOR,
56372             HASH_ATTRIBUTE_param,
56373             attributeValue) )
56374         {
56375             return false;
56376         }
56377     }
56378     } // validation
56379 #endif
56380 
56381     break;
56382     }
56383     default:
56384     {
56385         if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_UNKNOWN_ATTRIBUTE, HASH_ELEMENT_CLEAR_COLOR, attribute, attributeValue))
56386             {return false;}
56387     }
56388     }
56389     }
56390 }
56391 if ((attributeData->present_attributes & profile_GLSL__technique__pass__clear_color__AttributeData::ATTRIBUTE_VALUE_PRESENT) == 0)
56392 {
56393     bool failed;
56394     failed = !characterData2FloatList("0.0E1 0.0E1 0.0E1 0.0E1", attributeData->value);
56395     if ( !failed )
56396     attributeData->present_attributes |= profile_GLSL__technique__pass__clear_color__AttributeData::ATTRIBUTE_VALUE_PRESENT;
56397 }
56398 
56399 
56400     return true;
56401 }
56402 
56403 //---------------------------------------------------------------------
_preEnd__profile_GLSL__technique__pass__clear_color()56404 bool ColladaParserAutoGen14Private::_preEnd__profile_GLSL__technique__pass__clear_color()
56405 {
56406 #ifdef GENERATEDSAXPARSER_VALIDATION
56407     if ( mValidate )
56408     {
56409 
56410         bool validationResult = _validateEnd__profile_GLSL__technique__pass__clear_color();
56411         if ( !validationResult ) return false;
56412 
56413     } // validation
56414 #endif
56415 
56416     return true;
56417 }
56418 
56419 //---------------------------------------------------------------------
_freeAttributes__profile_GLSL__technique__pass__clear_color(void * attributeData)56420 bool ColladaParserAutoGen14Private::_freeAttributes__profile_GLSL__technique__pass__clear_color( void* attributeData )
56421 {
56422     profile_GLSL__technique__pass__clear_color__AttributeData* typedAttributeData = static_cast<profile_GLSL__technique__pass__clear_color__AttributeData*>(attributeData);
56423     if (typedAttributeData->value.data)
56424     {
56425         mStackMemoryManager.deleteObject();
56426     }
56427 
56428 
56429     typedAttributeData->~profile_GLSL__technique__pass__clear_color__AttributeData();
56430 
56431     return true;
56432 }
56433 
56434 //---------------------------------------------------------------------
56435 const profile_GLSL__technique__pass__clear_stencil__AttributeData profile_GLSL__technique__pass__clear_stencil__AttributeData::DEFAULT = {0, 0};
56436 
56437 //---------------------------------------------------------------------
_data__profile_GLSL__technique__pass__clear_stencil(const ParserChar * text,size_t textLength)56438 bool ColladaParserAutoGen14Private::_data__profile_GLSL__technique__pass__clear_stencil( const ParserChar* text, size_t textLength )
56439 {
56440     return true;
56441 }
56442 
56443 //---------------------------------------------------------------------
_preBegin__profile_GLSL__technique__pass__clear_stencil(const ParserAttributes & attributes,void ** attributeDataPtr,void ** validationDataPtr)56444 bool ColladaParserAutoGen14Private::_preBegin__profile_GLSL__technique__pass__clear_stencil( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
56445 {
56446 #ifdef GENERATEDSAXPARSER_VALIDATION
56447     if ( mValidate )
56448     {
56449 
56450         bool validationResult = _validateBegin__profile_GLSL__technique__pass__clear_stencil( attributes, attributeDataPtr, validationDataPtr );
56451         if ( !validationResult ) return false;
56452 
56453     } // validation
56454 #endif
56455 
56456 profile_GLSL__technique__pass__clear_stencil__AttributeData* attributeData = newData<profile_GLSL__technique__pass__clear_stencil__AttributeData>(attributeDataPtr);
56457 
56458 const ParserChar** attributeArray = attributes.attributes;
56459 if ( attributeArray )
56460 {
56461     while (true)
56462     {
56463         const ParserChar * attribute = *attributeArray;
56464         if ( !attribute )
56465             break;
56466         StringHash hash = GeneratedSaxParser::Utils::calculateStringHash(attribute);
56467         attributeArray++;
56468         if ( !attributeArray )
56469             return false;
56470         const ParserChar* attributeValue = *attributeArray;
56471         attributeArray++;
56472 
56473 
56474     switch ( hash )
56475     {
56476     case HASH_ATTRIBUTE_value:
56477     {
56478 bool failed;
56479 attributeData->value = GeneratedSaxParser::Utils::toSint64(attributeValue, failed);
56480 if ( failed && handleError(ParserError::SEVERITY_ERROR_NONCRITICAL,
56481         ParserError::ERROR_ATTRIBUTE_PARSING_FAILED,
56482         HASH_ELEMENT_CLEAR_STENCIL,
56483         HASH_ATTRIBUTE_value,
56484         attributeValue))
56485 {
56486     return false;
56487 }
56488 
56489     break;
56490     }
56491     case HASH_ATTRIBUTE_param:
56492     {
56493 
56494 attributeData->param = attributeValue;
56495 #ifdef GENERATEDSAXPARSER_VALIDATION
56496     if ( mValidate )
56497     {
56498     ParserError::ErrorType simpleTypeValidationResult = validate__NCName(attributeData->param, strlen(attributeData->param));
56499     if (simpleTypeValidationResult != ParserError::SIMPLE_TYPE_VALIDATION_OK)
56500     {
56501         if( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL,
56502             simpleTypeValidationResult,
56503             HASH_ELEMENT_CLEAR_STENCIL,
56504             HASH_ATTRIBUTE_param,
56505             attributeValue) )
56506         {
56507             return false;
56508         }
56509     }
56510     } // validation
56511 #endif
56512 
56513     break;
56514     }
56515     default:
56516     {
56517         if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_UNKNOWN_ATTRIBUTE, HASH_ELEMENT_CLEAR_STENCIL, attribute, attributeValue))
56518             {return false;}
56519     }
56520     }
56521     }
56522 }
56523 
56524 
56525     return true;
56526 }
56527 
56528 //---------------------------------------------------------------------
_preEnd__profile_GLSL__technique__pass__clear_stencil()56529 bool ColladaParserAutoGen14Private::_preEnd__profile_GLSL__technique__pass__clear_stencil()
56530 {
56531 #ifdef GENERATEDSAXPARSER_VALIDATION
56532     if ( mValidate )
56533     {
56534 
56535         bool validationResult = _validateEnd__profile_GLSL__technique__pass__clear_stencil();
56536         if ( !validationResult ) return false;
56537 
56538     } // validation
56539 #endif
56540 
56541     return true;
56542 }
56543 
56544 //---------------------------------------------------------------------
_freeAttributes__profile_GLSL__technique__pass__clear_stencil(void * attributeData)56545 bool ColladaParserAutoGen14Private::_freeAttributes__profile_GLSL__technique__pass__clear_stencil( void* attributeData )
56546 {
56547     profile_GLSL__technique__pass__clear_stencil__AttributeData* typedAttributeData = static_cast<profile_GLSL__technique__pass__clear_stencil__AttributeData*>(attributeData);
56548 
56549     typedAttributeData->~profile_GLSL__technique__pass__clear_stencil__AttributeData();
56550 
56551     return true;
56552 }
56553 
56554 //---------------------------------------------------------------------
56555 const profile_GLSL__technique__pass__clear_depth__AttributeData profile_GLSL__technique__pass__clear_depth__AttributeData::DEFAULT = {1.0E0, 0};
56556 
56557 //---------------------------------------------------------------------
_data__profile_GLSL__technique__pass__clear_depth(const ParserChar * text,size_t textLength)56558 bool ColladaParserAutoGen14Private::_data__profile_GLSL__technique__pass__clear_depth( const ParserChar* text, size_t textLength )
56559 {
56560     return true;
56561 }
56562 
56563 //---------------------------------------------------------------------
_preBegin__profile_GLSL__technique__pass__clear_depth(const ParserAttributes & attributes,void ** attributeDataPtr,void ** validationDataPtr)56564 bool ColladaParserAutoGen14Private::_preBegin__profile_GLSL__technique__pass__clear_depth( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
56565 {
56566 #ifdef GENERATEDSAXPARSER_VALIDATION
56567     if ( mValidate )
56568     {
56569 
56570         bool validationResult = _validateBegin__profile_GLSL__technique__pass__clear_depth( attributes, attributeDataPtr, validationDataPtr );
56571         if ( !validationResult ) return false;
56572 
56573     } // validation
56574 #endif
56575 
56576 profile_GLSL__technique__pass__clear_depth__AttributeData* attributeData = newData<profile_GLSL__technique__pass__clear_depth__AttributeData>(attributeDataPtr);
56577 
56578 const ParserChar** attributeArray = attributes.attributes;
56579 if ( attributeArray )
56580 {
56581     while (true)
56582     {
56583         const ParserChar * attribute = *attributeArray;
56584         if ( !attribute )
56585             break;
56586         StringHash hash = GeneratedSaxParser::Utils::calculateStringHash(attribute);
56587         attributeArray++;
56588         if ( !attributeArray )
56589             return false;
56590         const ParserChar* attributeValue = *attributeArray;
56591         attributeArray++;
56592 
56593 
56594     switch ( hash )
56595     {
56596     case HASH_ATTRIBUTE_value:
56597     {
56598 bool failed;
56599 attributeData->value = GeneratedSaxParser::Utils::toFloat(attributeValue, failed);
56600 if ( failed && handleError(ParserError::SEVERITY_ERROR_NONCRITICAL,
56601         ParserError::ERROR_ATTRIBUTE_PARSING_FAILED,
56602         HASH_ELEMENT_CLEAR_DEPTH,
56603         HASH_ATTRIBUTE_value,
56604         attributeValue))
56605 {
56606     return false;
56607 }
56608 
56609     break;
56610     }
56611     case HASH_ATTRIBUTE_param:
56612     {
56613 
56614 attributeData->param = attributeValue;
56615 #ifdef GENERATEDSAXPARSER_VALIDATION
56616     if ( mValidate )
56617     {
56618     ParserError::ErrorType simpleTypeValidationResult = validate__NCName(attributeData->param, strlen(attributeData->param));
56619     if (simpleTypeValidationResult != ParserError::SIMPLE_TYPE_VALIDATION_OK)
56620     {
56621         if( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL,
56622             simpleTypeValidationResult,
56623             HASH_ELEMENT_CLEAR_DEPTH,
56624             HASH_ATTRIBUTE_param,
56625             attributeValue) )
56626         {
56627             return false;
56628         }
56629     }
56630     } // validation
56631 #endif
56632 
56633     break;
56634     }
56635     default:
56636     {
56637         if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_UNKNOWN_ATTRIBUTE, HASH_ELEMENT_CLEAR_DEPTH, attribute, attributeValue))
56638             {return false;}
56639     }
56640     }
56641     }
56642 }
56643 
56644 
56645     return true;
56646 }
56647 
56648 //---------------------------------------------------------------------
_preEnd__profile_GLSL__technique__pass__clear_depth()56649 bool ColladaParserAutoGen14Private::_preEnd__profile_GLSL__technique__pass__clear_depth()
56650 {
56651 #ifdef GENERATEDSAXPARSER_VALIDATION
56652     if ( mValidate )
56653     {
56654 
56655         bool validationResult = _validateEnd__profile_GLSL__technique__pass__clear_depth();
56656         if ( !validationResult ) return false;
56657 
56658     } // validation
56659 #endif
56660 
56661     return true;
56662 }
56663 
56664 //---------------------------------------------------------------------
_freeAttributes__profile_GLSL__technique__pass__clear_depth(void * attributeData)56665 bool ColladaParserAutoGen14Private::_freeAttributes__profile_GLSL__technique__pass__clear_depth( void* attributeData )
56666 {
56667     profile_GLSL__technique__pass__clear_depth__AttributeData* typedAttributeData = static_cast<profile_GLSL__technique__pass__clear_depth__AttributeData*>(attributeData);
56668 
56669     typedAttributeData->~profile_GLSL__technique__pass__clear_depth__AttributeData();
56670 
56671     return true;
56672 }
56673 
56674 //---------------------------------------------------------------------
56675 const profile_GLSL__technique__pass__color_mask__AttributeData profile_GLSL__technique__pass__color_mask__AttributeData::DEFAULT = {0, GeneratedSaxParser::XSList<bool>(), 0};
56676 
56677 //---------------------------------------------------------------------
_data__profile_GLSL__technique__pass__color_mask(const ParserChar * text,size_t textLength)56678 bool ColladaParserAutoGen14Private::_data__profile_GLSL__technique__pass__color_mask( const ParserChar* text, size_t textLength )
56679 {
56680     return true;
56681 }
56682 
56683 //---------------------------------------------------------------------
_preBegin__profile_GLSL__technique__pass__color_mask(const ParserAttributes & attributes,void ** attributeDataPtr,void ** validationDataPtr)56684 bool ColladaParserAutoGen14Private::_preBegin__profile_GLSL__technique__pass__color_mask( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
56685 {
56686 #ifdef GENERATEDSAXPARSER_VALIDATION
56687     if ( mValidate )
56688     {
56689 
56690         bool validationResult = _validateBegin__profile_GLSL__technique__pass__color_mask( attributes, attributeDataPtr, validationDataPtr );
56691         if ( !validationResult ) return false;
56692 
56693     } // validation
56694 #endif
56695 
56696 profile_GLSL__technique__pass__color_mask__AttributeData* attributeData = newData<profile_GLSL__technique__pass__color_mask__AttributeData>(attributeDataPtr);
56697 
56698 const ParserChar** attributeArray = attributes.attributes;
56699 if ( attributeArray )
56700 {
56701     while (true)
56702     {
56703         const ParserChar * attribute = *attributeArray;
56704         if ( !attribute )
56705             break;
56706         StringHash hash = GeneratedSaxParser::Utils::calculateStringHash(attribute);
56707         attributeArray++;
56708         if ( !attributeArray )
56709             return false;
56710         const ParserChar* attributeValue = *attributeArray;
56711         attributeArray++;
56712 
56713 
56714     switch ( hash )
56715     {
56716     case HASH_ATTRIBUTE_value:
56717     {
56718 bool failed;
56719 #ifdef GENERATEDSAXPARSER_VALIDATION
56720     if ( mValidate )
56721     {
56722 failed = !characterData2BoolList(attributeValue, attributeData->value, 0, HASH_ELEMENT_COLOR_MASK, HASH_ATTRIBUTE_value);
56723     }
56724     else
56725     {
56726 failed = !characterData2BoolList(attributeValue, attributeData->value);
56727     }
56728 #else
56729     {
56730 failed = !characterData2BoolList(attributeValue, attributeData->value);
56731     } // validation
56732 #endif
56733 if ( failed && handleError(ParserError::SEVERITY_ERROR_NONCRITICAL,
56734         ParserError::ERROR_ATTRIBUTE_PARSING_FAILED,
56735         HASH_ELEMENT_COLOR_MASK,
56736         HASH_ATTRIBUTE_value,
56737         attributeValue))
56738 {
56739     return false;
56740 }
56741 #ifdef GENERATEDSAXPARSER_VALIDATION
56742     if ( mValidate )
56743     {
56744     ParserError::ErrorType simpleTypeValidationResult = validate__bool4(attributeData->value.data, attributeData->value.size);
56745     if (simpleTypeValidationResult != ParserError::SIMPLE_TYPE_VALIDATION_OK)
56746     {
56747         if( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL,
56748             simpleTypeValidationResult,
56749             HASH_ELEMENT_COLOR_MASK,
56750             HASH_ATTRIBUTE_value,
56751             attributeValue) )
56752         {
56753             return false;
56754         }
56755     }
56756     } // validation
56757 #endif
56758 
56759 if ( !failed )
56760     attributeData->present_attributes |= profile_GLSL__technique__pass__color_mask__AttributeData::ATTRIBUTE_VALUE_PRESENT;
56761 
56762     break;
56763     }
56764     case HASH_ATTRIBUTE_param:
56765     {
56766 
56767 attributeData->param = attributeValue;
56768 #ifdef GENERATEDSAXPARSER_VALIDATION
56769     if ( mValidate )
56770     {
56771     ParserError::ErrorType simpleTypeValidationResult = validate__NCName(attributeData->param, strlen(attributeData->param));
56772     if (simpleTypeValidationResult != ParserError::SIMPLE_TYPE_VALIDATION_OK)
56773     {
56774         if( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL,
56775             simpleTypeValidationResult,
56776             HASH_ELEMENT_COLOR_MASK,
56777             HASH_ATTRIBUTE_param,
56778             attributeValue) )
56779         {
56780             return false;
56781         }
56782     }
56783     } // validation
56784 #endif
56785 
56786     break;
56787     }
56788     default:
56789     {
56790         if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_UNKNOWN_ATTRIBUTE, HASH_ELEMENT_COLOR_MASK, attribute, attributeValue))
56791             {return false;}
56792     }
56793     }
56794     }
56795 }
56796 if ((attributeData->present_attributes & profile_GLSL__technique__pass__color_mask__AttributeData::ATTRIBUTE_VALUE_PRESENT) == 0)
56797 {
56798     bool failed;
56799     failed = !characterData2BoolList("true true true true", attributeData->value);
56800     if ( !failed )
56801     attributeData->present_attributes |= profile_GLSL__technique__pass__color_mask__AttributeData::ATTRIBUTE_VALUE_PRESENT;
56802 }
56803 
56804 
56805     return true;
56806 }
56807 
56808 //---------------------------------------------------------------------
_preEnd__profile_GLSL__technique__pass__color_mask()56809 bool ColladaParserAutoGen14Private::_preEnd__profile_GLSL__technique__pass__color_mask()
56810 {
56811 #ifdef GENERATEDSAXPARSER_VALIDATION
56812     if ( mValidate )
56813     {
56814 
56815         bool validationResult = _validateEnd__profile_GLSL__technique__pass__color_mask();
56816         if ( !validationResult ) return false;
56817 
56818     } // validation
56819 #endif
56820 
56821     return true;
56822 }
56823 
56824 //---------------------------------------------------------------------
_freeAttributes__profile_GLSL__technique__pass__color_mask(void * attributeData)56825 bool ColladaParserAutoGen14Private::_freeAttributes__profile_GLSL__technique__pass__color_mask( void* attributeData )
56826 {
56827     profile_GLSL__technique__pass__color_mask__AttributeData* typedAttributeData = static_cast<profile_GLSL__technique__pass__color_mask__AttributeData*>(attributeData);
56828     if (typedAttributeData->value.data)
56829     {
56830         mStackMemoryManager.deleteObject();
56831     }
56832 
56833 
56834     typedAttributeData->~profile_GLSL__technique__pass__color_mask__AttributeData();
56835 
56836     return true;
56837 }
56838 
56839 //---------------------------------------------------------------------
56840 const depth_bounds__AttributeData depth_bounds__AttributeData::DEFAULT = {0, GeneratedSaxParser::XSList<float>(), 0};
56841 
56842 //---------------------------------------------------------------------
_data__depth_bounds(const ParserChar * text,size_t textLength)56843 bool ColladaParserAutoGen14Private::_data__depth_bounds( const ParserChar* text, size_t textLength )
56844 {
56845     return true;
56846 }
56847 
56848 //---------------------------------------------------------------------
_preBegin__depth_bounds(const ParserAttributes & attributes,void ** attributeDataPtr,void ** validationDataPtr)56849 bool ColladaParserAutoGen14Private::_preBegin__depth_bounds( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
56850 {
56851 #ifdef GENERATEDSAXPARSER_VALIDATION
56852     if ( mValidate )
56853     {
56854 
56855         bool validationResult = _validateBegin__depth_bounds( attributes, attributeDataPtr, validationDataPtr );
56856         if ( !validationResult ) return false;
56857 
56858     } // validation
56859 #endif
56860 
56861 depth_bounds__AttributeData* attributeData = newData<depth_bounds__AttributeData>(attributeDataPtr);
56862 
56863 const ParserChar** attributeArray = attributes.attributes;
56864 if ( attributeArray )
56865 {
56866     while (true)
56867     {
56868         const ParserChar * attribute = *attributeArray;
56869         if ( !attribute )
56870             break;
56871         StringHash hash = GeneratedSaxParser::Utils::calculateStringHash(attribute);
56872         attributeArray++;
56873         if ( !attributeArray )
56874             return false;
56875         const ParserChar* attributeValue = *attributeArray;
56876         attributeArray++;
56877 
56878 
56879     switch ( hash )
56880     {
56881     case HASH_ATTRIBUTE_value:
56882     {
56883 bool failed;
56884 #ifdef GENERATEDSAXPARSER_VALIDATION
56885     if ( mValidate )
56886     {
56887 failed = !characterData2FloatList(attributeValue, attributeData->value, 0, HASH_ELEMENT_DEPTH_BOUNDS, HASH_ATTRIBUTE_value);
56888     }
56889     else
56890     {
56891 failed = !characterData2FloatList(attributeValue, attributeData->value);
56892     }
56893 #else
56894     {
56895 failed = !characterData2FloatList(attributeValue, attributeData->value);
56896     } // validation
56897 #endif
56898 if ( failed && handleError(ParserError::SEVERITY_ERROR_NONCRITICAL,
56899         ParserError::ERROR_ATTRIBUTE_PARSING_FAILED,
56900         HASH_ELEMENT_DEPTH_BOUNDS,
56901         HASH_ATTRIBUTE_value,
56902         attributeValue))
56903 {
56904     return false;
56905 }
56906 #ifdef GENERATEDSAXPARSER_VALIDATION
56907     if ( mValidate )
56908     {
56909     ParserError::ErrorType simpleTypeValidationResult = validate__float2(attributeData->value.data, attributeData->value.size);
56910     if (simpleTypeValidationResult != ParserError::SIMPLE_TYPE_VALIDATION_OK)
56911     {
56912         if( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL,
56913             simpleTypeValidationResult,
56914             HASH_ELEMENT_DEPTH_BOUNDS,
56915             HASH_ATTRIBUTE_value,
56916             attributeValue) )
56917         {
56918             return false;
56919         }
56920     }
56921     } // validation
56922 #endif
56923 
56924 if ( !failed )
56925     attributeData->present_attributes |= depth_bounds__AttributeData::ATTRIBUTE_VALUE_PRESENT;
56926 
56927     break;
56928     }
56929     case HASH_ATTRIBUTE_param:
56930     {
56931 
56932 attributeData->param = attributeValue;
56933 #ifdef GENERATEDSAXPARSER_VALIDATION
56934     if ( mValidate )
56935     {
56936     ParserError::ErrorType simpleTypeValidationResult = validate__NCName(attributeData->param, strlen(attributeData->param));
56937     if (simpleTypeValidationResult != ParserError::SIMPLE_TYPE_VALIDATION_OK)
56938     {
56939         if( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL,
56940             simpleTypeValidationResult,
56941             HASH_ELEMENT_DEPTH_BOUNDS,
56942             HASH_ATTRIBUTE_param,
56943             attributeValue) )
56944         {
56945             return false;
56946         }
56947     }
56948     } // validation
56949 #endif
56950 
56951     break;
56952     }
56953     default:
56954     {
56955         if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_UNKNOWN_ATTRIBUTE, HASH_ELEMENT_DEPTH_BOUNDS, attribute, attributeValue))
56956             {return false;}
56957     }
56958     }
56959     }
56960 }
56961 if ((attributeData->present_attributes & depth_bounds__AttributeData::ATTRIBUTE_VALUE_PRESENT) == 0)
56962 {
56963     attributeData->value = GeneratedSaxParser::XSList<float>();
56964 }
56965 
56966 
56967     return true;
56968 }
56969 
56970 //---------------------------------------------------------------------
_preEnd__depth_bounds()56971 bool ColladaParserAutoGen14Private::_preEnd__depth_bounds()
56972 {
56973 #ifdef GENERATEDSAXPARSER_VALIDATION
56974     if ( mValidate )
56975     {
56976 
56977         bool validationResult = _validateEnd__depth_bounds();
56978         if ( !validationResult ) return false;
56979 
56980     } // validation
56981 #endif
56982 
56983     return true;
56984 }
56985 
56986 //---------------------------------------------------------------------
_freeAttributes__depth_bounds(void * attributeData)56987 bool ColladaParserAutoGen14Private::_freeAttributes__depth_bounds( void* attributeData )
56988 {
56989     depth_bounds__AttributeData* typedAttributeData = static_cast<depth_bounds__AttributeData*>(attributeData);
56990     if (typedAttributeData->value.data)
56991     {
56992         mStackMemoryManager.deleteObject();
56993     }
56994 
56995 
56996     typedAttributeData->~depth_bounds__AttributeData();
56997 
56998     return true;
56999 }
57000 
57001 //---------------------------------------------------------------------
57002 const profile_GLSL__technique__pass__depth_mask__AttributeData profile_GLSL__technique__pass__depth_mask__AttributeData::DEFAULT = {true, 0};
57003 
57004 //---------------------------------------------------------------------
_data__profile_GLSL__technique__pass__depth_mask(const ParserChar * text,size_t textLength)57005 bool ColladaParserAutoGen14Private::_data__profile_GLSL__technique__pass__depth_mask( const ParserChar* text, size_t textLength )
57006 {
57007     return true;
57008 }
57009 
57010 //---------------------------------------------------------------------
_preBegin__profile_GLSL__technique__pass__depth_mask(const ParserAttributes & attributes,void ** attributeDataPtr,void ** validationDataPtr)57011 bool ColladaParserAutoGen14Private::_preBegin__profile_GLSL__technique__pass__depth_mask( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
57012 {
57013 #ifdef GENERATEDSAXPARSER_VALIDATION
57014     if ( mValidate )
57015     {
57016 
57017         bool validationResult = _validateBegin__profile_GLSL__technique__pass__depth_mask( attributes, attributeDataPtr, validationDataPtr );
57018         if ( !validationResult ) return false;
57019 
57020     } // validation
57021 #endif
57022 
57023 profile_GLSL__technique__pass__depth_mask__AttributeData* attributeData = newData<profile_GLSL__technique__pass__depth_mask__AttributeData>(attributeDataPtr);
57024 
57025 const ParserChar** attributeArray = attributes.attributes;
57026 if ( attributeArray )
57027 {
57028     while (true)
57029     {
57030         const ParserChar * attribute = *attributeArray;
57031         if ( !attribute )
57032             break;
57033         StringHash hash = GeneratedSaxParser::Utils::calculateStringHash(attribute);
57034         attributeArray++;
57035         if ( !attributeArray )
57036             return false;
57037         const ParserChar* attributeValue = *attributeArray;
57038         attributeArray++;
57039 
57040 
57041     switch ( hash )
57042     {
57043     case HASH_ATTRIBUTE_value:
57044     {
57045 bool failed;
57046 attributeData->value = GeneratedSaxParser::Utils::toBool(attributeValue, failed);
57047 if ( failed && handleError(ParserError::SEVERITY_ERROR_NONCRITICAL,
57048         ParserError::ERROR_ATTRIBUTE_PARSING_FAILED,
57049         HASH_ELEMENT_DEPTH_MASK,
57050         HASH_ATTRIBUTE_value,
57051         attributeValue))
57052 {
57053     return false;
57054 }
57055 
57056     break;
57057     }
57058     case HASH_ATTRIBUTE_param:
57059     {
57060 
57061 attributeData->param = attributeValue;
57062 #ifdef GENERATEDSAXPARSER_VALIDATION
57063     if ( mValidate )
57064     {
57065     ParserError::ErrorType simpleTypeValidationResult = validate__NCName(attributeData->param, strlen(attributeData->param));
57066     if (simpleTypeValidationResult != ParserError::SIMPLE_TYPE_VALIDATION_OK)
57067     {
57068         if( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL,
57069             simpleTypeValidationResult,
57070             HASH_ELEMENT_DEPTH_MASK,
57071             HASH_ATTRIBUTE_param,
57072             attributeValue) )
57073         {
57074             return false;
57075         }
57076     }
57077     } // validation
57078 #endif
57079 
57080     break;
57081     }
57082     default:
57083     {
57084         if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_UNKNOWN_ATTRIBUTE, HASH_ELEMENT_DEPTH_MASK, attribute, attributeValue))
57085             {return false;}
57086     }
57087     }
57088     }
57089 }
57090 
57091 
57092     return true;
57093 }
57094 
57095 //---------------------------------------------------------------------
_preEnd__profile_GLSL__technique__pass__depth_mask()57096 bool ColladaParserAutoGen14Private::_preEnd__profile_GLSL__technique__pass__depth_mask()
57097 {
57098 #ifdef GENERATEDSAXPARSER_VALIDATION
57099     if ( mValidate )
57100     {
57101 
57102         bool validationResult = _validateEnd__profile_GLSL__technique__pass__depth_mask();
57103         if ( !validationResult ) return false;
57104 
57105     } // validation
57106 #endif
57107 
57108     return true;
57109 }
57110 
57111 //---------------------------------------------------------------------
_freeAttributes__profile_GLSL__technique__pass__depth_mask(void * attributeData)57112 bool ColladaParserAutoGen14Private::_freeAttributes__profile_GLSL__technique__pass__depth_mask( void* attributeData )
57113 {
57114     profile_GLSL__technique__pass__depth_mask__AttributeData* typedAttributeData = static_cast<profile_GLSL__technique__pass__depth_mask__AttributeData*>(attributeData);
57115 
57116     typedAttributeData->~profile_GLSL__technique__pass__depth_mask__AttributeData();
57117 
57118     return true;
57119 }
57120 
57121 //---------------------------------------------------------------------
57122 const profile_GLSL__technique__pass__depth_range__AttributeData profile_GLSL__technique__pass__depth_range__AttributeData::DEFAULT = {0, GeneratedSaxParser::XSList<float>(), 0};
57123 
57124 //---------------------------------------------------------------------
_data__profile_GLSL__technique__pass__depth_range(const ParserChar * text,size_t textLength)57125 bool ColladaParserAutoGen14Private::_data__profile_GLSL__technique__pass__depth_range( const ParserChar* text, size_t textLength )
57126 {
57127     return true;
57128 }
57129 
57130 //---------------------------------------------------------------------
_preBegin__profile_GLSL__technique__pass__depth_range(const ParserAttributes & attributes,void ** attributeDataPtr,void ** validationDataPtr)57131 bool ColladaParserAutoGen14Private::_preBegin__profile_GLSL__technique__pass__depth_range( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
57132 {
57133 #ifdef GENERATEDSAXPARSER_VALIDATION
57134     if ( mValidate )
57135     {
57136 
57137         bool validationResult = _validateBegin__profile_GLSL__technique__pass__depth_range( attributes, attributeDataPtr, validationDataPtr );
57138         if ( !validationResult ) return false;
57139 
57140     } // validation
57141 #endif
57142 
57143 profile_GLSL__technique__pass__depth_range__AttributeData* attributeData = newData<profile_GLSL__technique__pass__depth_range__AttributeData>(attributeDataPtr);
57144 
57145 const ParserChar** attributeArray = attributes.attributes;
57146 if ( attributeArray )
57147 {
57148     while (true)
57149     {
57150         const ParserChar * attribute = *attributeArray;
57151         if ( !attribute )
57152             break;
57153         StringHash hash = GeneratedSaxParser::Utils::calculateStringHash(attribute);
57154         attributeArray++;
57155         if ( !attributeArray )
57156             return false;
57157         const ParserChar* attributeValue = *attributeArray;
57158         attributeArray++;
57159 
57160 
57161     switch ( hash )
57162     {
57163     case HASH_ATTRIBUTE_value:
57164     {
57165 bool failed;
57166 #ifdef GENERATEDSAXPARSER_VALIDATION
57167     if ( mValidate )
57168     {
57169 failed = !characterData2FloatList(attributeValue, attributeData->value, 0, HASH_ELEMENT_DEPTH_RANGE, HASH_ATTRIBUTE_value);
57170     }
57171     else
57172     {
57173 failed = !characterData2FloatList(attributeValue, attributeData->value);
57174     }
57175 #else
57176     {
57177 failed = !characterData2FloatList(attributeValue, attributeData->value);
57178     } // validation
57179 #endif
57180 if ( failed && handleError(ParserError::SEVERITY_ERROR_NONCRITICAL,
57181         ParserError::ERROR_ATTRIBUTE_PARSING_FAILED,
57182         HASH_ELEMENT_DEPTH_RANGE,
57183         HASH_ATTRIBUTE_value,
57184         attributeValue))
57185 {
57186     return false;
57187 }
57188 #ifdef GENERATEDSAXPARSER_VALIDATION
57189     if ( mValidate )
57190     {
57191     ParserError::ErrorType simpleTypeValidationResult = validate__float2(attributeData->value.data, attributeData->value.size);
57192     if (simpleTypeValidationResult != ParserError::SIMPLE_TYPE_VALIDATION_OK)
57193     {
57194         if( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL,
57195             simpleTypeValidationResult,
57196             HASH_ELEMENT_DEPTH_RANGE,
57197             HASH_ATTRIBUTE_value,
57198             attributeValue) )
57199         {
57200             return false;
57201         }
57202     }
57203     } // validation
57204 #endif
57205 
57206 if ( !failed )
57207     attributeData->present_attributes |= profile_GLSL__technique__pass__depth_range__AttributeData::ATTRIBUTE_VALUE_PRESENT;
57208 
57209     break;
57210     }
57211     case HASH_ATTRIBUTE_param:
57212     {
57213 
57214 attributeData->param = attributeValue;
57215 #ifdef GENERATEDSAXPARSER_VALIDATION
57216     if ( mValidate )
57217     {
57218     ParserError::ErrorType simpleTypeValidationResult = validate__NCName(attributeData->param, strlen(attributeData->param));
57219     if (simpleTypeValidationResult != ParserError::SIMPLE_TYPE_VALIDATION_OK)
57220     {
57221         if( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL,
57222             simpleTypeValidationResult,
57223             HASH_ELEMENT_DEPTH_RANGE,
57224             HASH_ATTRIBUTE_param,
57225             attributeValue) )
57226         {
57227             return false;
57228         }
57229     }
57230     } // validation
57231 #endif
57232 
57233     break;
57234     }
57235     default:
57236     {
57237         if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_UNKNOWN_ATTRIBUTE, HASH_ELEMENT_DEPTH_RANGE, attribute, attributeValue))
57238             {return false;}
57239     }
57240     }
57241     }
57242 }
57243 if ((attributeData->present_attributes & profile_GLSL__technique__pass__depth_range__AttributeData::ATTRIBUTE_VALUE_PRESENT) == 0)
57244 {
57245     bool failed;
57246     failed = !characterData2FloatList("0.0E1 1.0E0", attributeData->value);
57247     if ( !failed )
57248     attributeData->present_attributes |= profile_GLSL__technique__pass__depth_range__AttributeData::ATTRIBUTE_VALUE_PRESENT;
57249 }
57250 
57251 
57252     return true;
57253 }
57254 
57255 //---------------------------------------------------------------------
_preEnd__profile_GLSL__technique__pass__depth_range()57256 bool ColladaParserAutoGen14Private::_preEnd__profile_GLSL__technique__pass__depth_range()
57257 {
57258 #ifdef GENERATEDSAXPARSER_VALIDATION
57259     if ( mValidate )
57260     {
57261 
57262         bool validationResult = _validateEnd__profile_GLSL__technique__pass__depth_range();
57263         if ( !validationResult ) return false;
57264 
57265     } // validation
57266 #endif
57267 
57268     return true;
57269 }
57270 
57271 //---------------------------------------------------------------------
_freeAttributes__profile_GLSL__technique__pass__depth_range(void * attributeData)57272 bool ColladaParserAutoGen14Private::_freeAttributes__profile_GLSL__technique__pass__depth_range( void* attributeData )
57273 {
57274     profile_GLSL__technique__pass__depth_range__AttributeData* typedAttributeData = static_cast<profile_GLSL__technique__pass__depth_range__AttributeData*>(attributeData);
57275     if (typedAttributeData->value.data)
57276     {
57277         mStackMemoryManager.deleteObject();
57278     }
57279 
57280 
57281     typedAttributeData->~profile_GLSL__technique__pass__depth_range__AttributeData();
57282 
57283     return true;
57284 }
57285 
57286 //---------------------------------------------------------------------
57287 const profile_GLSL__technique__pass__fog_density__AttributeData profile_GLSL__technique__pass__fog_density__AttributeData::DEFAULT = {1.0E0, 0};
57288 
57289 //---------------------------------------------------------------------
_data__profile_GLSL__technique__pass__fog_density(const ParserChar * text,size_t textLength)57290 bool ColladaParserAutoGen14Private::_data__profile_GLSL__technique__pass__fog_density( const ParserChar* text, size_t textLength )
57291 {
57292     return true;
57293 }
57294 
57295 //---------------------------------------------------------------------
_preBegin__profile_GLSL__technique__pass__fog_density(const ParserAttributes & attributes,void ** attributeDataPtr,void ** validationDataPtr)57296 bool ColladaParserAutoGen14Private::_preBegin__profile_GLSL__technique__pass__fog_density( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
57297 {
57298 #ifdef GENERATEDSAXPARSER_VALIDATION
57299     if ( mValidate )
57300     {
57301 
57302         bool validationResult = _validateBegin__profile_GLSL__technique__pass__fog_density( attributes, attributeDataPtr, validationDataPtr );
57303         if ( !validationResult ) return false;
57304 
57305     } // validation
57306 #endif
57307 
57308 profile_GLSL__technique__pass__fog_density__AttributeData* attributeData = newData<profile_GLSL__technique__pass__fog_density__AttributeData>(attributeDataPtr);
57309 
57310 const ParserChar** attributeArray = attributes.attributes;
57311 if ( attributeArray )
57312 {
57313     while (true)
57314     {
57315         const ParserChar * attribute = *attributeArray;
57316         if ( !attribute )
57317             break;
57318         StringHash hash = GeneratedSaxParser::Utils::calculateStringHash(attribute);
57319         attributeArray++;
57320         if ( !attributeArray )
57321             return false;
57322         const ParserChar* attributeValue = *attributeArray;
57323         attributeArray++;
57324 
57325 
57326     switch ( hash )
57327     {
57328     case HASH_ATTRIBUTE_value:
57329     {
57330 bool failed;
57331 attributeData->value = GeneratedSaxParser::Utils::toFloat(attributeValue, failed);
57332 if ( failed && handleError(ParserError::SEVERITY_ERROR_NONCRITICAL,
57333         ParserError::ERROR_ATTRIBUTE_PARSING_FAILED,
57334         HASH_ELEMENT_FOG_DENSITY,
57335         HASH_ATTRIBUTE_value,
57336         attributeValue))
57337 {
57338     return false;
57339 }
57340 
57341     break;
57342     }
57343     case HASH_ATTRIBUTE_param:
57344     {
57345 
57346 attributeData->param = attributeValue;
57347 #ifdef GENERATEDSAXPARSER_VALIDATION
57348     if ( mValidate )
57349     {
57350     ParserError::ErrorType simpleTypeValidationResult = validate__NCName(attributeData->param, strlen(attributeData->param));
57351     if (simpleTypeValidationResult != ParserError::SIMPLE_TYPE_VALIDATION_OK)
57352     {
57353         if( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL,
57354             simpleTypeValidationResult,
57355             HASH_ELEMENT_FOG_DENSITY,
57356             HASH_ATTRIBUTE_param,
57357             attributeValue) )
57358         {
57359             return false;
57360         }
57361     }
57362     } // validation
57363 #endif
57364 
57365     break;
57366     }
57367     default:
57368     {
57369         if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_UNKNOWN_ATTRIBUTE, HASH_ELEMENT_FOG_DENSITY, attribute, attributeValue))
57370             {return false;}
57371     }
57372     }
57373     }
57374 }
57375 
57376 
57377     return true;
57378 }
57379 
57380 //---------------------------------------------------------------------
_preEnd__profile_GLSL__technique__pass__fog_density()57381 bool ColladaParserAutoGen14Private::_preEnd__profile_GLSL__technique__pass__fog_density()
57382 {
57383 #ifdef GENERATEDSAXPARSER_VALIDATION
57384     if ( mValidate )
57385     {
57386 
57387         bool validationResult = _validateEnd__profile_GLSL__technique__pass__fog_density();
57388         if ( !validationResult ) return false;
57389 
57390     } // validation
57391 #endif
57392 
57393     return true;
57394 }
57395 
57396 //---------------------------------------------------------------------
_freeAttributes__profile_GLSL__technique__pass__fog_density(void * attributeData)57397 bool ColladaParserAutoGen14Private::_freeAttributes__profile_GLSL__technique__pass__fog_density( void* attributeData )
57398 {
57399     profile_GLSL__technique__pass__fog_density__AttributeData* typedAttributeData = static_cast<profile_GLSL__technique__pass__fog_density__AttributeData*>(attributeData);
57400 
57401     typedAttributeData->~profile_GLSL__technique__pass__fog_density__AttributeData();
57402 
57403     return true;
57404 }
57405 
57406 //---------------------------------------------------------------------
57407 const profile_GLSL__technique__pass__fog_start__AttributeData profile_GLSL__technique__pass__fog_start__AttributeData::DEFAULT = {0.0E1, 0};
57408 
57409 //---------------------------------------------------------------------
_data__profile_GLSL__technique__pass__fog_start(const ParserChar * text,size_t textLength)57410 bool ColladaParserAutoGen14Private::_data__profile_GLSL__technique__pass__fog_start( const ParserChar* text, size_t textLength )
57411 {
57412     return true;
57413 }
57414 
57415 //---------------------------------------------------------------------
_preBegin__profile_GLSL__technique__pass__fog_start(const ParserAttributes & attributes,void ** attributeDataPtr,void ** validationDataPtr)57416 bool ColladaParserAutoGen14Private::_preBegin__profile_GLSL__technique__pass__fog_start( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
57417 {
57418 #ifdef GENERATEDSAXPARSER_VALIDATION
57419     if ( mValidate )
57420     {
57421 
57422         bool validationResult = _validateBegin__profile_GLSL__technique__pass__fog_start( attributes, attributeDataPtr, validationDataPtr );
57423         if ( !validationResult ) return false;
57424 
57425     } // validation
57426 #endif
57427 
57428 profile_GLSL__technique__pass__fog_start__AttributeData* attributeData = newData<profile_GLSL__technique__pass__fog_start__AttributeData>(attributeDataPtr);
57429 
57430 const ParserChar** attributeArray = attributes.attributes;
57431 if ( attributeArray )
57432 {
57433     while (true)
57434     {
57435         const ParserChar * attribute = *attributeArray;
57436         if ( !attribute )
57437             break;
57438         StringHash hash = GeneratedSaxParser::Utils::calculateStringHash(attribute);
57439         attributeArray++;
57440         if ( !attributeArray )
57441             return false;
57442         const ParserChar* attributeValue = *attributeArray;
57443         attributeArray++;
57444 
57445 
57446     switch ( hash )
57447     {
57448     case HASH_ATTRIBUTE_value:
57449     {
57450 bool failed;
57451 attributeData->value = GeneratedSaxParser::Utils::toFloat(attributeValue, failed);
57452 if ( failed && handleError(ParserError::SEVERITY_ERROR_NONCRITICAL,
57453         ParserError::ERROR_ATTRIBUTE_PARSING_FAILED,
57454         HASH_ELEMENT_FOG_START,
57455         HASH_ATTRIBUTE_value,
57456         attributeValue))
57457 {
57458     return false;
57459 }
57460 
57461     break;
57462     }
57463     case HASH_ATTRIBUTE_param:
57464     {
57465 
57466 attributeData->param = attributeValue;
57467 #ifdef GENERATEDSAXPARSER_VALIDATION
57468     if ( mValidate )
57469     {
57470     ParserError::ErrorType simpleTypeValidationResult = validate__NCName(attributeData->param, strlen(attributeData->param));
57471     if (simpleTypeValidationResult != ParserError::SIMPLE_TYPE_VALIDATION_OK)
57472     {
57473         if( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL,
57474             simpleTypeValidationResult,
57475             HASH_ELEMENT_FOG_START,
57476             HASH_ATTRIBUTE_param,
57477             attributeValue) )
57478         {
57479             return false;
57480         }
57481     }
57482     } // validation
57483 #endif
57484 
57485     break;
57486     }
57487     default:
57488     {
57489         if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_UNKNOWN_ATTRIBUTE, HASH_ELEMENT_FOG_START, attribute, attributeValue))
57490             {return false;}
57491     }
57492     }
57493     }
57494 }
57495 
57496 
57497     return true;
57498 }
57499 
57500 //---------------------------------------------------------------------
_preEnd__profile_GLSL__technique__pass__fog_start()57501 bool ColladaParserAutoGen14Private::_preEnd__profile_GLSL__technique__pass__fog_start()
57502 {
57503 #ifdef GENERATEDSAXPARSER_VALIDATION
57504     if ( mValidate )
57505     {
57506 
57507         bool validationResult = _validateEnd__profile_GLSL__technique__pass__fog_start();
57508         if ( !validationResult ) return false;
57509 
57510     } // validation
57511 #endif
57512 
57513     return true;
57514 }
57515 
57516 //---------------------------------------------------------------------
_freeAttributes__profile_GLSL__technique__pass__fog_start(void * attributeData)57517 bool ColladaParserAutoGen14Private::_freeAttributes__profile_GLSL__technique__pass__fog_start( void* attributeData )
57518 {
57519     profile_GLSL__technique__pass__fog_start__AttributeData* typedAttributeData = static_cast<profile_GLSL__technique__pass__fog_start__AttributeData*>(attributeData);
57520 
57521     typedAttributeData->~profile_GLSL__technique__pass__fog_start__AttributeData();
57522 
57523     return true;
57524 }
57525 
57526 //---------------------------------------------------------------------
57527 const profile_GLSL__technique__pass__fog_end__AttributeData profile_GLSL__technique__pass__fog_end__AttributeData::DEFAULT = {1.0E0, 0};
57528 
57529 //---------------------------------------------------------------------
_data__profile_GLSL__technique__pass__fog_end(const ParserChar * text,size_t textLength)57530 bool ColladaParserAutoGen14Private::_data__profile_GLSL__technique__pass__fog_end( const ParserChar* text, size_t textLength )
57531 {
57532     return true;
57533 }
57534 
57535 //---------------------------------------------------------------------
_preBegin__profile_GLSL__technique__pass__fog_end(const ParserAttributes & attributes,void ** attributeDataPtr,void ** validationDataPtr)57536 bool ColladaParserAutoGen14Private::_preBegin__profile_GLSL__technique__pass__fog_end( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
57537 {
57538 #ifdef GENERATEDSAXPARSER_VALIDATION
57539     if ( mValidate )
57540     {
57541 
57542         bool validationResult = _validateBegin__profile_GLSL__technique__pass__fog_end( attributes, attributeDataPtr, validationDataPtr );
57543         if ( !validationResult ) return false;
57544 
57545     } // validation
57546 #endif
57547 
57548 profile_GLSL__technique__pass__fog_end__AttributeData* attributeData = newData<profile_GLSL__technique__pass__fog_end__AttributeData>(attributeDataPtr);
57549 
57550 const ParserChar** attributeArray = attributes.attributes;
57551 if ( attributeArray )
57552 {
57553     while (true)
57554     {
57555         const ParserChar * attribute = *attributeArray;
57556         if ( !attribute )
57557             break;
57558         StringHash hash = GeneratedSaxParser::Utils::calculateStringHash(attribute);
57559         attributeArray++;
57560         if ( !attributeArray )
57561             return false;
57562         const ParserChar* attributeValue = *attributeArray;
57563         attributeArray++;
57564 
57565 
57566     switch ( hash )
57567     {
57568     case HASH_ATTRIBUTE_value:
57569     {
57570 bool failed;
57571 attributeData->value = GeneratedSaxParser::Utils::toFloat(attributeValue, failed);
57572 if ( failed && handleError(ParserError::SEVERITY_ERROR_NONCRITICAL,
57573         ParserError::ERROR_ATTRIBUTE_PARSING_FAILED,
57574         HASH_ELEMENT_FOG_END,
57575         HASH_ATTRIBUTE_value,
57576         attributeValue))
57577 {
57578     return false;
57579 }
57580 
57581     break;
57582     }
57583     case HASH_ATTRIBUTE_param:
57584     {
57585 
57586 attributeData->param = attributeValue;
57587 #ifdef GENERATEDSAXPARSER_VALIDATION
57588     if ( mValidate )
57589     {
57590     ParserError::ErrorType simpleTypeValidationResult = validate__NCName(attributeData->param, strlen(attributeData->param));
57591     if (simpleTypeValidationResult != ParserError::SIMPLE_TYPE_VALIDATION_OK)
57592     {
57593         if( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL,
57594             simpleTypeValidationResult,
57595             HASH_ELEMENT_FOG_END,
57596             HASH_ATTRIBUTE_param,
57597             attributeValue) )
57598         {
57599             return false;
57600         }
57601     }
57602     } // validation
57603 #endif
57604 
57605     break;
57606     }
57607     default:
57608     {
57609         if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_UNKNOWN_ATTRIBUTE, HASH_ELEMENT_FOG_END, attribute, attributeValue))
57610             {return false;}
57611     }
57612     }
57613     }
57614 }
57615 
57616 
57617     return true;
57618 }
57619 
57620 //---------------------------------------------------------------------
_preEnd__profile_GLSL__technique__pass__fog_end()57621 bool ColladaParserAutoGen14Private::_preEnd__profile_GLSL__technique__pass__fog_end()
57622 {
57623 #ifdef GENERATEDSAXPARSER_VALIDATION
57624     if ( mValidate )
57625     {
57626 
57627         bool validationResult = _validateEnd__profile_GLSL__technique__pass__fog_end();
57628         if ( !validationResult ) return false;
57629 
57630     } // validation
57631 #endif
57632 
57633     return true;
57634 }
57635 
57636 //---------------------------------------------------------------------
_freeAttributes__profile_GLSL__technique__pass__fog_end(void * attributeData)57637 bool ColladaParserAutoGen14Private::_freeAttributes__profile_GLSL__technique__pass__fog_end( void* attributeData )
57638 {
57639     profile_GLSL__technique__pass__fog_end__AttributeData* typedAttributeData = static_cast<profile_GLSL__technique__pass__fog_end__AttributeData*>(attributeData);
57640 
57641     typedAttributeData->~profile_GLSL__technique__pass__fog_end__AttributeData();
57642 
57643     return true;
57644 }
57645 
57646 //---------------------------------------------------------------------
57647 const profile_GLSL__technique__pass__fog_color__AttributeData profile_GLSL__technique__pass__fog_color__AttributeData::DEFAULT = {0, GeneratedSaxParser::XSList<float>(), 0};
57648 
57649 //---------------------------------------------------------------------
_data__profile_GLSL__technique__pass__fog_color(const ParserChar * text,size_t textLength)57650 bool ColladaParserAutoGen14Private::_data__profile_GLSL__technique__pass__fog_color( const ParserChar* text, size_t textLength )
57651 {
57652     return true;
57653 }
57654 
57655 //---------------------------------------------------------------------
_preBegin__profile_GLSL__technique__pass__fog_color(const ParserAttributes & attributes,void ** attributeDataPtr,void ** validationDataPtr)57656 bool ColladaParserAutoGen14Private::_preBegin__profile_GLSL__technique__pass__fog_color( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
57657 {
57658 #ifdef GENERATEDSAXPARSER_VALIDATION
57659     if ( mValidate )
57660     {
57661 
57662         bool validationResult = _validateBegin__profile_GLSL__technique__pass__fog_color( attributes, attributeDataPtr, validationDataPtr );
57663         if ( !validationResult ) return false;
57664 
57665     } // validation
57666 #endif
57667 
57668 profile_GLSL__technique__pass__fog_color__AttributeData* attributeData = newData<profile_GLSL__technique__pass__fog_color__AttributeData>(attributeDataPtr);
57669 
57670 const ParserChar** attributeArray = attributes.attributes;
57671 if ( attributeArray )
57672 {
57673     while (true)
57674     {
57675         const ParserChar * attribute = *attributeArray;
57676         if ( !attribute )
57677             break;
57678         StringHash hash = GeneratedSaxParser::Utils::calculateStringHash(attribute);
57679         attributeArray++;
57680         if ( !attributeArray )
57681             return false;
57682         const ParserChar* attributeValue = *attributeArray;
57683         attributeArray++;
57684 
57685 
57686     switch ( hash )
57687     {
57688     case HASH_ATTRIBUTE_value:
57689     {
57690 bool failed;
57691 #ifdef GENERATEDSAXPARSER_VALIDATION
57692     if ( mValidate )
57693     {
57694 failed = !characterData2FloatList(attributeValue, attributeData->value, 0, HASH_ELEMENT_FOG_COLOR, HASH_ATTRIBUTE_value);
57695     }
57696     else
57697     {
57698 failed = !characterData2FloatList(attributeValue, attributeData->value);
57699     }
57700 #else
57701     {
57702 failed = !characterData2FloatList(attributeValue, attributeData->value);
57703     } // validation
57704 #endif
57705 if ( failed && handleError(ParserError::SEVERITY_ERROR_NONCRITICAL,
57706         ParserError::ERROR_ATTRIBUTE_PARSING_FAILED,
57707         HASH_ELEMENT_FOG_COLOR,
57708         HASH_ATTRIBUTE_value,
57709         attributeValue))
57710 {
57711     return false;
57712 }
57713 #ifdef GENERATEDSAXPARSER_VALIDATION
57714     if ( mValidate )
57715     {
57716     ParserError::ErrorType simpleTypeValidationResult = validate__float4(attributeData->value.data, attributeData->value.size);
57717     if (simpleTypeValidationResult != ParserError::SIMPLE_TYPE_VALIDATION_OK)
57718     {
57719         if( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL,
57720             simpleTypeValidationResult,
57721             HASH_ELEMENT_FOG_COLOR,
57722             HASH_ATTRIBUTE_value,
57723             attributeValue) )
57724         {
57725             return false;
57726         }
57727     }
57728     } // validation
57729 #endif
57730 
57731 if ( !failed )
57732     attributeData->present_attributes |= profile_GLSL__technique__pass__fog_color__AttributeData::ATTRIBUTE_VALUE_PRESENT;
57733 
57734     break;
57735     }
57736     case HASH_ATTRIBUTE_param:
57737     {
57738 
57739 attributeData->param = attributeValue;
57740 #ifdef GENERATEDSAXPARSER_VALIDATION
57741     if ( mValidate )
57742     {
57743     ParserError::ErrorType simpleTypeValidationResult = validate__NCName(attributeData->param, strlen(attributeData->param));
57744     if (simpleTypeValidationResult != ParserError::SIMPLE_TYPE_VALIDATION_OK)
57745     {
57746         if( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL,
57747             simpleTypeValidationResult,
57748             HASH_ELEMENT_FOG_COLOR,
57749             HASH_ATTRIBUTE_param,
57750             attributeValue) )
57751         {
57752             return false;
57753         }
57754     }
57755     } // validation
57756 #endif
57757 
57758     break;
57759     }
57760     default:
57761     {
57762         if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_UNKNOWN_ATTRIBUTE, HASH_ELEMENT_FOG_COLOR, attribute, attributeValue))
57763             {return false;}
57764     }
57765     }
57766     }
57767 }
57768 if ((attributeData->present_attributes & profile_GLSL__technique__pass__fog_color__AttributeData::ATTRIBUTE_VALUE_PRESENT) == 0)
57769 {
57770     bool failed;
57771     failed = !characterData2FloatList("0.0E1 0.0E1 0.0E1 0.0E1", attributeData->value);
57772     if ( !failed )
57773     attributeData->present_attributes |= profile_GLSL__technique__pass__fog_color__AttributeData::ATTRIBUTE_VALUE_PRESENT;
57774 }
57775 
57776 
57777     return true;
57778 }
57779 
57780 //---------------------------------------------------------------------
_preEnd__profile_GLSL__technique__pass__fog_color()57781 bool ColladaParserAutoGen14Private::_preEnd__profile_GLSL__technique__pass__fog_color()
57782 {
57783 #ifdef GENERATEDSAXPARSER_VALIDATION
57784     if ( mValidate )
57785     {
57786 
57787         bool validationResult = _validateEnd__profile_GLSL__technique__pass__fog_color();
57788         if ( !validationResult ) return false;
57789 
57790     } // validation
57791 #endif
57792 
57793     return true;
57794 }
57795 
57796 //---------------------------------------------------------------------
_freeAttributes__profile_GLSL__technique__pass__fog_color(void * attributeData)57797 bool ColladaParserAutoGen14Private::_freeAttributes__profile_GLSL__technique__pass__fog_color( void* attributeData )
57798 {
57799     profile_GLSL__technique__pass__fog_color__AttributeData* typedAttributeData = static_cast<profile_GLSL__technique__pass__fog_color__AttributeData*>(attributeData);
57800     if (typedAttributeData->value.data)
57801     {
57802         mStackMemoryManager.deleteObject();
57803     }
57804 
57805 
57806     typedAttributeData->~profile_GLSL__technique__pass__fog_color__AttributeData();
57807 
57808     return true;
57809 }
57810 
57811 //---------------------------------------------------------------------
57812 const profile_GLSL__technique__pass__light_model_ambient__AttributeData profile_GLSL__technique__pass__light_model_ambient__AttributeData::DEFAULT = {0, GeneratedSaxParser::XSList<float>(), 0};
57813 
57814 //---------------------------------------------------------------------
_data__profile_GLSL__technique__pass__light_model_ambient(const ParserChar * text,size_t textLength)57815 bool ColladaParserAutoGen14Private::_data__profile_GLSL__technique__pass__light_model_ambient( const ParserChar* text, size_t textLength )
57816 {
57817     return true;
57818 }
57819 
57820 //---------------------------------------------------------------------
_preBegin__profile_GLSL__technique__pass__light_model_ambient(const ParserAttributes & attributes,void ** attributeDataPtr,void ** validationDataPtr)57821 bool ColladaParserAutoGen14Private::_preBegin__profile_GLSL__technique__pass__light_model_ambient( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
57822 {
57823 #ifdef GENERATEDSAXPARSER_VALIDATION
57824     if ( mValidate )
57825     {
57826 
57827         bool validationResult = _validateBegin__profile_GLSL__technique__pass__light_model_ambient( attributes, attributeDataPtr, validationDataPtr );
57828         if ( !validationResult ) return false;
57829 
57830     } // validation
57831 #endif
57832 
57833 profile_GLSL__technique__pass__light_model_ambient__AttributeData* attributeData = newData<profile_GLSL__technique__pass__light_model_ambient__AttributeData>(attributeDataPtr);
57834 
57835 const ParserChar** attributeArray = attributes.attributes;
57836 if ( attributeArray )
57837 {
57838     while (true)
57839     {
57840         const ParserChar * attribute = *attributeArray;
57841         if ( !attribute )
57842             break;
57843         StringHash hash = GeneratedSaxParser::Utils::calculateStringHash(attribute);
57844         attributeArray++;
57845         if ( !attributeArray )
57846             return false;
57847         const ParserChar* attributeValue = *attributeArray;
57848         attributeArray++;
57849 
57850 
57851     switch ( hash )
57852     {
57853     case HASH_ATTRIBUTE_value:
57854     {
57855 bool failed;
57856 #ifdef GENERATEDSAXPARSER_VALIDATION
57857     if ( mValidate )
57858     {
57859 failed = !characterData2FloatList(attributeValue, attributeData->value, 0, HASH_ELEMENT_LIGHT_MODEL_AMBIENT, HASH_ATTRIBUTE_value);
57860     }
57861     else
57862     {
57863 failed = !characterData2FloatList(attributeValue, attributeData->value);
57864     }
57865 #else
57866     {
57867 failed = !characterData2FloatList(attributeValue, attributeData->value);
57868     } // validation
57869 #endif
57870 if ( failed && handleError(ParserError::SEVERITY_ERROR_NONCRITICAL,
57871         ParserError::ERROR_ATTRIBUTE_PARSING_FAILED,
57872         HASH_ELEMENT_LIGHT_MODEL_AMBIENT,
57873         HASH_ATTRIBUTE_value,
57874         attributeValue))
57875 {
57876     return false;
57877 }
57878 #ifdef GENERATEDSAXPARSER_VALIDATION
57879     if ( mValidate )
57880     {
57881     ParserError::ErrorType simpleTypeValidationResult = validate__float4(attributeData->value.data, attributeData->value.size);
57882     if (simpleTypeValidationResult != ParserError::SIMPLE_TYPE_VALIDATION_OK)
57883     {
57884         if( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL,
57885             simpleTypeValidationResult,
57886             HASH_ELEMENT_LIGHT_MODEL_AMBIENT,
57887             HASH_ATTRIBUTE_value,
57888             attributeValue) )
57889         {
57890             return false;
57891         }
57892     }
57893     } // validation
57894 #endif
57895 
57896 if ( !failed )
57897     attributeData->present_attributes |= profile_GLSL__technique__pass__light_model_ambient__AttributeData::ATTRIBUTE_VALUE_PRESENT;
57898 
57899     break;
57900     }
57901     case HASH_ATTRIBUTE_param:
57902     {
57903 
57904 attributeData->param = attributeValue;
57905 #ifdef GENERATEDSAXPARSER_VALIDATION
57906     if ( mValidate )
57907     {
57908     ParserError::ErrorType simpleTypeValidationResult = validate__NCName(attributeData->param, strlen(attributeData->param));
57909     if (simpleTypeValidationResult != ParserError::SIMPLE_TYPE_VALIDATION_OK)
57910     {
57911         if( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL,
57912             simpleTypeValidationResult,
57913             HASH_ELEMENT_LIGHT_MODEL_AMBIENT,
57914             HASH_ATTRIBUTE_param,
57915             attributeValue) )
57916         {
57917             return false;
57918         }
57919     }
57920     } // validation
57921 #endif
57922 
57923     break;
57924     }
57925     default:
57926     {
57927         if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_UNKNOWN_ATTRIBUTE, HASH_ELEMENT_LIGHT_MODEL_AMBIENT, attribute, attributeValue))
57928             {return false;}
57929     }
57930     }
57931     }
57932 }
57933 if ((attributeData->present_attributes & profile_GLSL__technique__pass__light_model_ambient__AttributeData::ATTRIBUTE_VALUE_PRESENT) == 0)
57934 {
57935     bool failed;
57936     failed = !characterData2FloatList("2.0E-1 2.0E-1 2.0E-1 1.0E0", attributeData->value);
57937     if ( !failed )
57938     attributeData->present_attributes |= profile_GLSL__technique__pass__light_model_ambient__AttributeData::ATTRIBUTE_VALUE_PRESENT;
57939 }
57940 
57941 
57942     return true;
57943 }
57944 
57945 //---------------------------------------------------------------------
_preEnd__profile_GLSL__technique__pass__light_model_ambient()57946 bool ColladaParserAutoGen14Private::_preEnd__profile_GLSL__technique__pass__light_model_ambient()
57947 {
57948 #ifdef GENERATEDSAXPARSER_VALIDATION
57949     if ( mValidate )
57950     {
57951 
57952         bool validationResult = _validateEnd__profile_GLSL__technique__pass__light_model_ambient();
57953         if ( !validationResult ) return false;
57954 
57955     } // validation
57956 #endif
57957 
57958     return true;
57959 }
57960 
57961 //---------------------------------------------------------------------
_freeAttributes__profile_GLSL__technique__pass__light_model_ambient(void * attributeData)57962 bool ColladaParserAutoGen14Private::_freeAttributes__profile_GLSL__technique__pass__light_model_ambient( void* attributeData )
57963 {
57964     profile_GLSL__technique__pass__light_model_ambient__AttributeData* typedAttributeData = static_cast<profile_GLSL__technique__pass__light_model_ambient__AttributeData*>(attributeData);
57965     if (typedAttributeData->value.data)
57966     {
57967         mStackMemoryManager.deleteObject();
57968     }
57969 
57970 
57971     typedAttributeData->~profile_GLSL__technique__pass__light_model_ambient__AttributeData();
57972 
57973     return true;
57974 }
57975 
57976 //---------------------------------------------------------------------
57977 const profile_GLSL__technique__pass__lighting_enable__AttributeData profile_GLSL__technique__pass__lighting_enable__AttributeData::DEFAULT = {false, 0};
57978 
57979 //---------------------------------------------------------------------
_data__profile_GLSL__technique__pass__lighting_enable(const ParserChar * text,size_t textLength)57980 bool ColladaParserAutoGen14Private::_data__profile_GLSL__technique__pass__lighting_enable( const ParserChar* text, size_t textLength )
57981 {
57982     return true;
57983 }
57984 
57985 //---------------------------------------------------------------------
_preBegin__profile_GLSL__technique__pass__lighting_enable(const ParserAttributes & attributes,void ** attributeDataPtr,void ** validationDataPtr)57986 bool ColladaParserAutoGen14Private::_preBegin__profile_GLSL__technique__pass__lighting_enable( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
57987 {
57988 #ifdef GENERATEDSAXPARSER_VALIDATION
57989     if ( mValidate )
57990     {
57991 
57992         bool validationResult = _validateBegin__profile_GLSL__technique__pass__lighting_enable( attributes, attributeDataPtr, validationDataPtr );
57993         if ( !validationResult ) return false;
57994 
57995     } // validation
57996 #endif
57997 
57998 profile_GLSL__technique__pass__lighting_enable__AttributeData* attributeData = newData<profile_GLSL__technique__pass__lighting_enable__AttributeData>(attributeDataPtr);
57999 
58000 const ParserChar** attributeArray = attributes.attributes;
58001 if ( attributeArray )
58002 {
58003     while (true)
58004     {
58005         const ParserChar * attribute = *attributeArray;
58006         if ( !attribute )
58007             break;
58008         StringHash hash = GeneratedSaxParser::Utils::calculateStringHash(attribute);
58009         attributeArray++;
58010         if ( !attributeArray )
58011             return false;
58012         const ParserChar* attributeValue = *attributeArray;
58013         attributeArray++;
58014 
58015 
58016     switch ( hash )
58017     {
58018     case HASH_ATTRIBUTE_value:
58019     {
58020 bool failed;
58021 attributeData->value = GeneratedSaxParser::Utils::toBool(attributeValue, failed);
58022 if ( failed && handleError(ParserError::SEVERITY_ERROR_NONCRITICAL,
58023         ParserError::ERROR_ATTRIBUTE_PARSING_FAILED,
58024         HASH_ELEMENT_LIGHTING_ENABLE,
58025         HASH_ATTRIBUTE_value,
58026         attributeValue))
58027 {
58028     return false;
58029 }
58030 
58031     break;
58032     }
58033     case HASH_ATTRIBUTE_param:
58034     {
58035 
58036 attributeData->param = attributeValue;
58037 #ifdef GENERATEDSAXPARSER_VALIDATION
58038     if ( mValidate )
58039     {
58040     ParserError::ErrorType simpleTypeValidationResult = validate__NCName(attributeData->param, strlen(attributeData->param));
58041     if (simpleTypeValidationResult != ParserError::SIMPLE_TYPE_VALIDATION_OK)
58042     {
58043         if( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL,
58044             simpleTypeValidationResult,
58045             HASH_ELEMENT_LIGHTING_ENABLE,
58046             HASH_ATTRIBUTE_param,
58047             attributeValue) )
58048         {
58049             return false;
58050         }
58051     }
58052     } // validation
58053 #endif
58054 
58055     break;
58056     }
58057     default:
58058     {
58059         if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_UNKNOWN_ATTRIBUTE, HASH_ELEMENT_LIGHTING_ENABLE, attribute, attributeValue))
58060             {return false;}
58061     }
58062     }
58063     }
58064 }
58065 
58066 
58067     return true;
58068 }
58069 
58070 //---------------------------------------------------------------------
_preEnd__profile_GLSL__technique__pass__lighting_enable()58071 bool ColladaParserAutoGen14Private::_preEnd__profile_GLSL__technique__pass__lighting_enable()
58072 {
58073 #ifdef GENERATEDSAXPARSER_VALIDATION
58074     if ( mValidate )
58075     {
58076 
58077         bool validationResult = _validateEnd__profile_GLSL__technique__pass__lighting_enable();
58078         if ( !validationResult ) return false;
58079 
58080     } // validation
58081 #endif
58082 
58083     return true;
58084 }
58085 
58086 //---------------------------------------------------------------------
_freeAttributes__profile_GLSL__technique__pass__lighting_enable(void * attributeData)58087 bool ColladaParserAutoGen14Private::_freeAttributes__profile_GLSL__technique__pass__lighting_enable( void* attributeData )
58088 {
58089     profile_GLSL__technique__pass__lighting_enable__AttributeData* typedAttributeData = static_cast<profile_GLSL__technique__pass__lighting_enable__AttributeData*>(attributeData);
58090 
58091     typedAttributeData->~profile_GLSL__technique__pass__lighting_enable__AttributeData();
58092 
58093     return true;
58094 }
58095 
58096 //---------------------------------------------------------------------
58097 const line_stipple__AttributeData line_stipple__AttributeData::DEFAULT = {0, GeneratedSaxParser::XSList<sint64>(), 0};
58098 
58099 //---------------------------------------------------------------------
_data__line_stipple(const ParserChar * text,size_t textLength)58100 bool ColladaParserAutoGen14Private::_data__line_stipple( const ParserChar* text, size_t textLength )
58101 {
58102     return true;
58103 }
58104 
58105 //---------------------------------------------------------------------
_preBegin__line_stipple(const ParserAttributes & attributes,void ** attributeDataPtr,void ** validationDataPtr)58106 bool ColladaParserAutoGen14Private::_preBegin__line_stipple( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
58107 {
58108 #ifdef GENERATEDSAXPARSER_VALIDATION
58109     if ( mValidate )
58110     {
58111 
58112         bool validationResult = _validateBegin__line_stipple( attributes, attributeDataPtr, validationDataPtr );
58113         if ( !validationResult ) return false;
58114 
58115     } // validation
58116 #endif
58117 
58118 line_stipple__AttributeData* attributeData = newData<line_stipple__AttributeData>(attributeDataPtr);
58119 
58120 const ParserChar** attributeArray = attributes.attributes;
58121 if ( attributeArray )
58122 {
58123     while (true)
58124     {
58125         const ParserChar * attribute = *attributeArray;
58126         if ( !attribute )
58127             break;
58128         StringHash hash = GeneratedSaxParser::Utils::calculateStringHash(attribute);
58129         attributeArray++;
58130         if ( !attributeArray )
58131             return false;
58132         const ParserChar* attributeValue = *attributeArray;
58133         attributeArray++;
58134 
58135 
58136     switch ( hash )
58137     {
58138     case HASH_ATTRIBUTE_value:
58139     {
58140 bool failed;
58141 #ifdef GENERATEDSAXPARSER_VALIDATION
58142     if ( mValidate )
58143     {
58144 failed = !characterData2Sint64List(attributeValue, attributeData->value, 0, HASH_ELEMENT_LINE_STIPPLE, HASH_ATTRIBUTE_value);
58145     }
58146     else
58147     {
58148 failed = !characterData2Sint64List(attributeValue, attributeData->value);
58149     }
58150 #else
58151     {
58152 failed = !characterData2Sint64List(attributeValue, attributeData->value);
58153     } // validation
58154 #endif
58155 if ( failed && handleError(ParserError::SEVERITY_ERROR_NONCRITICAL,
58156         ParserError::ERROR_ATTRIBUTE_PARSING_FAILED,
58157         HASH_ELEMENT_LINE_STIPPLE,
58158         HASH_ATTRIBUTE_value,
58159         attributeValue))
58160 {
58161     return false;
58162 }
58163 #ifdef GENERATEDSAXPARSER_VALIDATION
58164     if ( mValidate )
58165     {
58166     ParserError::ErrorType simpleTypeValidationResult = validate__int2(attributeData->value.data, attributeData->value.size);
58167     if (simpleTypeValidationResult != ParserError::SIMPLE_TYPE_VALIDATION_OK)
58168     {
58169         if( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL,
58170             simpleTypeValidationResult,
58171             HASH_ELEMENT_LINE_STIPPLE,
58172             HASH_ATTRIBUTE_value,
58173             attributeValue) )
58174         {
58175             return false;
58176         }
58177     }
58178     } // validation
58179 #endif
58180 
58181 if ( !failed )
58182     attributeData->present_attributes |= line_stipple__AttributeData::ATTRIBUTE_VALUE_PRESENT;
58183 
58184     break;
58185     }
58186     case HASH_ATTRIBUTE_param:
58187     {
58188 
58189 attributeData->param = attributeValue;
58190 #ifdef GENERATEDSAXPARSER_VALIDATION
58191     if ( mValidate )
58192     {
58193     ParserError::ErrorType simpleTypeValidationResult = validate__NCName(attributeData->param, strlen(attributeData->param));
58194     if (simpleTypeValidationResult != ParserError::SIMPLE_TYPE_VALIDATION_OK)
58195     {
58196         if( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL,
58197             simpleTypeValidationResult,
58198             HASH_ELEMENT_LINE_STIPPLE,
58199             HASH_ATTRIBUTE_param,
58200             attributeValue) )
58201         {
58202             return false;
58203         }
58204     }
58205     } // validation
58206 #endif
58207 
58208     break;
58209     }
58210     default:
58211     {
58212         if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_UNKNOWN_ATTRIBUTE, HASH_ELEMENT_LINE_STIPPLE, attribute, attributeValue))
58213             {return false;}
58214     }
58215     }
58216     }
58217 }
58218 if ((attributeData->present_attributes & line_stipple__AttributeData::ATTRIBUTE_VALUE_PRESENT) == 0)
58219 {
58220     bool failed;
58221     failed = !characterData2Sint64List("1 65536", attributeData->value);
58222     if ( !failed )
58223     attributeData->present_attributes |= line_stipple__AttributeData::ATTRIBUTE_VALUE_PRESENT;
58224 }
58225 
58226 
58227     return true;
58228 }
58229 
58230 //---------------------------------------------------------------------
_preEnd__line_stipple()58231 bool ColladaParserAutoGen14Private::_preEnd__line_stipple()
58232 {
58233 #ifdef GENERATEDSAXPARSER_VALIDATION
58234     if ( mValidate )
58235     {
58236 
58237         bool validationResult = _validateEnd__line_stipple();
58238         if ( !validationResult ) return false;
58239 
58240     } // validation
58241 #endif
58242 
58243     return true;
58244 }
58245 
58246 //---------------------------------------------------------------------
_freeAttributes__line_stipple(void * attributeData)58247 bool ColladaParserAutoGen14Private::_freeAttributes__line_stipple( void* attributeData )
58248 {
58249     line_stipple__AttributeData* typedAttributeData = static_cast<line_stipple__AttributeData*>(attributeData);
58250     if (typedAttributeData->value.data)
58251     {
58252         mStackMemoryManager.deleteObject();
58253     }
58254 
58255 
58256     typedAttributeData->~line_stipple__AttributeData();
58257 
58258     return true;
58259 }
58260 
58261 //---------------------------------------------------------------------
58262 const profile_GLSL__technique__pass__line_width__AttributeData profile_GLSL__technique__pass__line_width__AttributeData::DEFAULT = {1.0E0, 0};
58263 
58264 //---------------------------------------------------------------------
_data__profile_GLSL__technique__pass__line_width(const ParserChar * text,size_t textLength)58265 bool ColladaParserAutoGen14Private::_data__profile_GLSL__technique__pass__line_width( const ParserChar* text, size_t textLength )
58266 {
58267     return true;
58268 }
58269 
58270 //---------------------------------------------------------------------
_preBegin__profile_GLSL__technique__pass__line_width(const ParserAttributes & attributes,void ** attributeDataPtr,void ** validationDataPtr)58271 bool ColladaParserAutoGen14Private::_preBegin__profile_GLSL__technique__pass__line_width( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
58272 {
58273 #ifdef GENERATEDSAXPARSER_VALIDATION
58274     if ( mValidate )
58275     {
58276 
58277         bool validationResult = _validateBegin__profile_GLSL__technique__pass__line_width( attributes, attributeDataPtr, validationDataPtr );
58278         if ( !validationResult ) return false;
58279 
58280     } // validation
58281 #endif
58282 
58283 profile_GLSL__technique__pass__line_width__AttributeData* attributeData = newData<profile_GLSL__technique__pass__line_width__AttributeData>(attributeDataPtr);
58284 
58285 const ParserChar** attributeArray = attributes.attributes;
58286 if ( attributeArray )
58287 {
58288     while (true)
58289     {
58290         const ParserChar * attribute = *attributeArray;
58291         if ( !attribute )
58292             break;
58293         StringHash hash = GeneratedSaxParser::Utils::calculateStringHash(attribute);
58294         attributeArray++;
58295         if ( !attributeArray )
58296             return false;
58297         const ParserChar* attributeValue = *attributeArray;
58298         attributeArray++;
58299 
58300 
58301     switch ( hash )
58302     {
58303     case HASH_ATTRIBUTE_value:
58304     {
58305 bool failed;
58306 attributeData->value = GeneratedSaxParser::Utils::toFloat(attributeValue, failed);
58307 if ( failed && handleError(ParserError::SEVERITY_ERROR_NONCRITICAL,
58308         ParserError::ERROR_ATTRIBUTE_PARSING_FAILED,
58309         HASH_ELEMENT_LINE_WIDTH,
58310         HASH_ATTRIBUTE_value,
58311         attributeValue))
58312 {
58313     return false;
58314 }
58315 
58316     break;
58317     }
58318     case HASH_ATTRIBUTE_param:
58319     {
58320 
58321 attributeData->param = attributeValue;
58322 #ifdef GENERATEDSAXPARSER_VALIDATION
58323     if ( mValidate )
58324     {
58325     ParserError::ErrorType simpleTypeValidationResult = validate__NCName(attributeData->param, strlen(attributeData->param));
58326     if (simpleTypeValidationResult != ParserError::SIMPLE_TYPE_VALIDATION_OK)
58327     {
58328         if( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL,
58329             simpleTypeValidationResult,
58330             HASH_ELEMENT_LINE_WIDTH,
58331             HASH_ATTRIBUTE_param,
58332             attributeValue) )
58333         {
58334             return false;
58335         }
58336     }
58337     } // validation
58338 #endif
58339 
58340     break;
58341     }
58342     default:
58343     {
58344         if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_UNKNOWN_ATTRIBUTE, HASH_ELEMENT_LINE_WIDTH, attribute, attributeValue))
58345             {return false;}
58346     }
58347     }
58348     }
58349 }
58350 
58351 
58352     return true;
58353 }
58354 
58355 //---------------------------------------------------------------------
_preEnd__profile_GLSL__technique__pass__line_width()58356 bool ColladaParserAutoGen14Private::_preEnd__profile_GLSL__technique__pass__line_width()
58357 {
58358 #ifdef GENERATEDSAXPARSER_VALIDATION
58359     if ( mValidate )
58360     {
58361 
58362         bool validationResult = _validateEnd__profile_GLSL__technique__pass__line_width();
58363         if ( !validationResult ) return false;
58364 
58365     } // validation
58366 #endif
58367 
58368     return true;
58369 }
58370 
58371 //---------------------------------------------------------------------
_freeAttributes__profile_GLSL__technique__pass__line_width(void * attributeData)58372 bool ColladaParserAutoGen14Private::_freeAttributes__profile_GLSL__technique__pass__line_width( void* attributeData )
58373 {
58374     profile_GLSL__technique__pass__line_width__AttributeData* typedAttributeData = static_cast<profile_GLSL__technique__pass__line_width__AttributeData*>(attributeData);
58375 
58376     typedAttributeData->~profile_GLSL__technique__pass__line_width__AttributeData();
58377 
58378     return true;
58379 }
58380 
58381 //---------------------------------------------------------------------
58382 const profile_GLSL__technique__pass__material_ambient__AttributeData profile_GLSL__technique__pass__material_ambient__AttributeData::DEFAULT = {0, GeneratedSaxParser::XSList<float>(), 0};
58383 
58384 //---------------------------------------------------------------------
_data__profile_GLSL__technique__pass__material_ambient(const ParserChar * text,size_t textLength)58385 bool ColladaParserAutoGen14Private::_data__profile_GLSL__technique__pass__material_ambient( const ParserChar* text, size_t textLength )
58386 {
58387     return true;
58388 }
58389 
58390 //---------------------------------------------------------------------
_preBegin__profile_GLSL__technique__pass__material_ambient(const ParserAttributes & attributes,void ** attributeDataPtr,void ** validationDataPtr)58391 bool ColladaParserAutoGen14Private::_preBegin__profile_GLSL__technique__pass__material_ambient( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
58392 {
58393 #ifdef GENERATEDSAXPARSER_VALIDATION
58394     if ( mValidate )
58395     {
58396 
58397         bool validationResult = _validateBegin__profile_GLSL__technique__pass__material_ambient( attributes, attributeDataPtr, validationDataPtr );
58398         if ( !validationResult ) return false;
58399 
58400     } // validation
58401 #endif
58402 
58403 profile_GLSL__technique__pass__material_ambient__AttributeData* attributeData = newData<profile_GLSL__technique__pass__material_ambient__AttributeData>(attributeDataPtr);
58404 
58405 const ParserChar** attributeArray = attributes.attributes;
58406 if ( attributeArray )
58407 {
58408     while (true)
58409     {
58410         const ParserChar * attribute = *attributeArray;
58411         if ( !attribute )
58412             break;
58413         StringHash hash = GeneratedSaxParser::Utils::calculateStringHash(attribute);
58414         attributeArray++;
58415         if ( !attributeArray )
58416             return false;
58417         const ParserChar* attributeValue = *attributeArray;
58418         attributeArray++;
58419 
58420 
58421     switch ( hash )
58422     {
58423     case HASH_ATTRIBUTE_value:
58424     {
58425 bool failed;
58426 #ifdef GENERATEDSAXPARSER_VALIDATION
58427     if ( mValidate )
58428     {
58429 failed = !characterData2FloatList(attributeValue, attributeData->value, 0, HASH_ELEMENT_MATERIAL_AMBIENT, HASH_ATTRIBUTE_value);
58430     }
58431     else
58432     {
58433 failed = !characterData2FloatList(attributeValue, attributeData->value);
58434     }
58435 #else
58436     {
58437 failed = !characterData2FloatList(attributeValue, attributeData->value);
58438     } // validation
58439 #endif
58440 if ( failed && handleError(ParserError::SEVERITY_ERROR_NONCRITICAL,
58441         ParserError::ERROR_ATTRIBUTE_PARSING_FAILED,
58442         HASH_ELEMENT_MATERIAL_AMBIENT,
58443         HASH_ATTRIBUTE_value,
58444         attributeValue))
58445 {
58446     return false;
58447 }
58448 #ifdef GENERATEDSAXPARSER_VALIDATION
58449     if ( mValidate )
58450     {
58451     ParserError::ErrorType simpleTypeValidationResult = validate__float4(attributeData->value.data, attributeData->value.size);
58452     if (simpleTypeValidationResult != ParserError::SIMPLE_TYPE_VALIDATION_OK)
58453     {
58454         if( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL,
58455             simpleTypeValidationResult,
58456             HASH_ELEMENT_MATERIAL_AMBIENT,
58457             HASH_ATTRIBUTE_value,
58458             attributeValue) )
58459         {
58460             return false;
58461         }
58462     }
58463     } // validation
58464 #endif
58465 
58466 if ( !failed )
58467     attributeData->present_attributes |= profile_GLSL__technique__pass__material_ambient__AttributeData::ATTRIBUTE_VALUE_PRESENT;
58468 
58469     break;
58470     }
58471     case HASH_ATTRIBUTE_param:
58472     {
58473 
58474 attributeData->param = attributeValue;
58475 #ifdef GENERATEDSAXPARSER_VALIDATION
58476     if ( mValidate )
58477     {
58478     ParserError::ErrorType simpleTypeValidationResult = validate__NCName(attributeData->param, strlen(attributeData->param));
58479     if (simpleTypeValidationResult != ParserError::SIMPLE_TYPE_VALIDATION_OK)
58480     {
58481         if( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL,
58482             simpleTypeValidationResult,
58483             HASH_ELEMENT_MATERIAL_AMBIENT,
58484             HASH_ATTRIBUTE_param,
58485             attributeValue) )
58486         {
58487             return false;
58488         }
58489     }
58490     } // validation
58491 #endif
58492 
58493     break;
58494     }
58495     default:
58496     {
58497         if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_UNKNOWN_ATTRIBUTE, HASH_ELEMENT_MATERIAL_AMBIENT, attribute, attributeValue))
58498             {return false;}
58499     }
58500     }
58501     }
58502 }
58503 if ((attributeData->present_attributes & profile_GLSL__technique__pass__material_ambient__AttributeData::ATTRIBUTE_VALUE_PRESENT) == 0)
58504 {
58505     bool failed;
58506     failed = !characterData2FloatList("2.0E-1 2.0E-1 2.0E-1 1.0E0", attributeData->value);
58507     if ( !failed )
58508     attributeData->present_attributes |= profile_GLSL__technique__pass__material_ambient__AttributeData::ATTRIBUTE_VALUE_PRESENT;
58509 }
58510 
58511 
58512     return true;
58513 }
58514 
58515 //---------------------------------------------------------------------
_preEnd__profile_GLSL__technique__pass__material_ambient()58516 bool ColladaParserAutoGen14Private::_preEnd__profile_GLSL__technique__pass__material_ambient()
58517 {
58518 #ifdef GENERATEDSAXPARSER_VALIDATION
58519     if ( mValidate )
58520     {
58521 
58522         bool validationResult = _validateEnd__profile_GLSL__technique__pass__material_ambient();
58523         if ( !validationResult ) return false;
58524 
58525     } // validation
58526 #endif
58527 
58528     return true;
58529 }
58530 
58531 //---------------------------------------------------------------------
_freeAttributes__profile_GLSL__technique__pass__material_ambient(void * attributeData)58532 bool ColladaParserAutoGen14Private::_freeAttributes__profile_GLSL__technique__pass__material_ambient( void* attributeData )
58533 {
58534     profile_GLSL__technique__pass__material_ambient__AttributeData* typedAttributeData = static_cast<profile_GLSL__technique__pass__material_ambient__AttributeData*>(attributeData);
58535     if (typedAttributeData->value.data)
58536     {
58537         mStackMemoryManager.deleteObject();
58538     }
58539 
58540 
58541     typedAttributeData->~profile_GLSL__technique__pass__material_ambient__AttributeData();
58542 
58543     return true;
58544 }
58545 
58546 //---------------------------------------------------------------------
58547 const profile_GLSL__technique__pass__material_diffuse__AttributeData profile_GLSL__technique__pass__material_diffuse__AttributeData::DEFAULT = {0, GeneratedSaxParser::XSList<float>(), 0};
58548 
58549 //---------------------------------------------------------------------
_data__profile_GLSL__technique__pass__material_diffuse(const ParserChar * text,size_t textLength)58550 bool ColladaParserAutoGen14Private::_data__profile_GLSL__technique__pass__material_diffuse( const ParserChar* text, size_t textLength )
58551 {
58552     return true;
58553 }
58554 
58555 //---------------------------------------------------------------------
_preBegin__profile_GLSL__technique__pass__material_diffuse(const ParserAttributes & attributes,void ** attributeDataPtr,void ** validationDataPtr)58556 bool ColladaParserAutoGen14Private::_preBegin__profile_GLSL__technique__pass__material_diffuse( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
58557 {
58558 #ifdef GENERATEDSAXPARSER_VALIDATION
58559     if ( mValidate )
58560     {
58561 
58562         bool validationResult = _validateBegin__profile_GLSL__technique__pass__material_diffuse( attributes, attributeDataPtr, validationDataPtr );
58563         if ( !validationResult ) return false;
58564 
58565     } // validation
58566 #endif
58567 
58568 profile_GLSL__technique__pass__material_diffuse__AttributeData* attributeData = newData<profile_GLSL__technique__pass__material_diffuse__AttributeData>(attributeDataPtr);
58569 
58570 const ParserChar** attributeArray = attributes.attributes;
58571 if ( attributeArray )
58572 {
58573     while (true)
58574     {
58575         const ParserChar * attribute = *attributeArray;
58576         if ( !attribute )
58577             break;
58578         StringHash hash = GeneratedSaxParser::Utils::calculateStringHash(attribute);
58579         attributeArray++;
58580         if ( !attributeArray )
58581             return false;
58582         const ParserChar* attributeValue = *attributeArray;
58583         attributeArray++;
58584 
58585 
58586     switch ( hash )
58587     {
58588     case HASH_ATTRIBUTE_value:
58589     {
58590 bool failed;
58591 #ifdef GENERATEDSAXPARSER_VALIDATION
58592     if ( mValidate )
58593     {
58594 failed = !characterData2FloatList(attributeValue, attributeData->value, 0, HASH_ELEMENT_MATERIAL_DIFFUSE, HASH_ATTRIBUTE_value);
58595     }
58596     else
58597     {
58598 failed = !characterData2FloatList(attributeValue, attributeData->value);
58599     }
58600 #else
58601     {
58602 failed = !characterData2FloatList(attributeValue, attributeData->value);
58603     } // validation
58604 #endif
58605 if ( failed && handleError(ParserError::SEVERITY_ERROR_NONCRITICAL,
58606         ParserError::ERROR_ATTRIBUTE_PARSING_FAILED,
58607         HASH_ELEMENT_MATERIAL_DIFFUSE,
58608         HASH_ATTRIBUTE_value,
58609         attributeValue))
58610 {
58611     return false;
58612 }
58613 #ifdef GENERATEDSAXPARSER_VALIDATION
58614     if ( mValidate )
58615     {
58616     ParserError::ErrorType simpleTypeValidationResult = validate__float4(attributeData->value.data, attributeData->value.size);
58617     if (simpleTypeValidationResult != ParserError::SIMPLE_TYPE_VALIDATION_OK)
58618     {
58619         if( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL,
58620             simpleTypeValidationResult,
58621             HASH_ELEMENT_MATERIAL_DIFFUSE,
58622             HASH_ATTRIBUTE_value,
58623             attributeValue) )
58624         {
58625             return false;
58626         }
58627     }
58628     } // validation
58629 #endif
58630 
58631 if ( !failed )
58632     attributeData->present_attributes |= profile_GLSL__technique__pass__material_diffuse__AttributeData::ATTRIBUTE_VALUE_PRESENT;
58633 
58634     break;
58635     }
58636     case HASH_ATTRIBUTE_param:
58637     {
58638 
58639 attributeData->param = attributeValue;
58640 #ifdef GENERATEDSAXPARSER_VALIDATION
58641     if ( mValidate )
58642     {
58643     ParserError::ErrorType simpleTypeValidationResult = validate__NCName(attributeData->param, strlen(attributeData->param));
58644     if (simpleTypeValidationResult != ParserError::SIMPLE_TYPE_VALIDATION_OK)
58645     {
58646         if( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL,
58647             simpleTypeValidationResult,
58648             HASH_ELEMENT_MATERIAL_DIFFUSE,
58649             HASH_ATTRIBUTE_param,
58650             attributeValue) )
58651         {
58652             return false;
58653         }
58654     }
58655     } // validation
58656 #endif
58657 
58658     break;
58659     }
58660     default:
58661     {
58662         if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_UNKNOWN_ATTRIBUTE, HASH_ELEMENT_MATERIAL_DIFFUSE, attribute, attributeValue))
58663             {return false;}
58664     }
58665     }
58666     }
58667 }
58668 if ((attributeData->present_attributes & profile_GLSL__technique__pass__material_diffuse__AttributeData::ATTRIBUTE_VALUE_PRESENT) == 0)
58669 {
58670     bool failed;
58671     failed = !characterData2FloatList("8.0E-1 8.0E-1 8.0E-1 1.0E0", attributeData->value);
58672     if ( !failed )
58673     attributeData->present_attributes |= profile_GLSL__technique__pass__material_diffuse__AttributeData::ATTRIBUTE_VALUE_PRESENT;
58674 }
58675 
58676 
58677     return true;
58678 }
58679 
58680 //---------------------------------------------------------------------
_preEnd__profile_GLSL__technique__pass__material_diffuse()58681 bool ColladaParserAutoGen14Private::_preEnd__profile_GLSL__technique__pass__material_diffuse()
58682 {
58683 #ifdef GENERATEDSAXPARSER_VALIDATION
58684     if ( mValidate )
58685     {
58686 
58687         bool validationResult = _validateEnd__profile_GLSL__technique__pass__material_diffuse();
58688         if ( !validationResult ) return false;
58689 
58690     } // validation
58691 #endif
58692 
58693     return true;
58694 }
58695 
58696 //---------------------------------------------------------------------
_freeAttributes__profile_GLSL__technique__pass__material_diffuse(void * attributeData)58697 bool ColladaParserAutoGen14Private::_freeAttributes__profile_GLSL__technique__pass__material_diffuse( void* attributeData )
58698 {
58699     profile_GLSL__technique__pass__material_diffuse__AttributeData* typedAttributeData = static_cast<profile_GLSL__technique__pass__material_diffuse__AttributeData*>(attributeData);
58700     if (typedAttributeData->value.data)
58701     {
58702         mStackMemoryManager.deleteObject();
58703     }
58704 
58705 
58706     typedAttributeData->~profile_GLSL__technique__pass__material_diffuse__AttributeData();
58707 
58708     return true;
58709 }
58710 
58711 //---------------------------------------------------------------------
58712 const profile_GLSL__technique__pass__material_emission__AttributeData profile_GLSL__technique__pass__material_emission__AttributeData::DEFAULT = {0, GeneratedSaxParser::XSList<float>(), 0};
58713 
58714 //---------------------------------------------------------------------
_data__profile_GLSL__technique__pass__material_emission(const ParserChar * text,size_t textLength)58715 bool ColladaParserAutoGen14Private::_data__profile_GLSL__technique__pass__material_emission( const ParserChar* text, size_t textLength )
58716 {
58717     return true;
58718 }
58719 
58720 //---------------------------------------------------------------------
_preBegin__profile_GLSL__technique__pass__material_emission(const ParserAttributes & attributes,void ** attributeDataPtr,void ** validationDataPtr)58721 bool ColladaParserAutoGen14Private::_preBegin__profile_GLSL__technique__pass__material_emission( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
58722 {
58723 #ifdef GENERATEDSAXPARSER_VALIDATION
58724     if ( mValidate )
58725     {
58726 
58727         bool validationResult = _validateBegin__profile_GLSL__technique__pass__material_emission( attributes, attributeDataPtr, validationDataPtr );
58728         if ( !validationResult ) return false;
58729 
58730     } // validation
58731 #endif
58732 
58733 profile_GLSL__technique__pass__material_emission__AttributeData* attributeData = newData<profile_GLSL__technique__pass__material_emission__AttributeData>(attributeDataPtr);
58734 
58735 const ParserChar** attributeArray = attributes.attributes;
58736 if ( attributeArray )
58737 {
58738     while (true)
58739     {
58740         const ParserChar * attribute = *attributeArray;
58741         if ( !attribute )
58742             break;
58743         StringHash hash = GeneratedSaxParser::Utils::calculateStringHash(attribute);
58744         attributeArray++;
58745         if ( !attributeArray )
58746             return false;
58747         const ParserChar* attributeValue = *attributeArray;
58748         attributeArray++;
58749 
58750 
58751     switch ( hash )
58752     {
58753     case HASH_ATTRIBUTE_value:
58754     {
58755 bool failed;
58756 #ifdef GENERATEDSAXPARSER_VALIDATION
58757     if ( mValidate )
58758     {
58759 failed = !characterData2FloatList(attributeValue, attributeData->value, 0, HASH_ELEMENT_MATERIAL_EMISSION, HASH_ATTRIBUTE_value);
58760     }
58761     else
58762     {
58763 failed = !characterData2FloatList(attributeValue, attributeData->value);
58764     }
58765 #else
58766     {
58767 failed = !characterData2FloatList(attributeValue, attributeData->value);
58768     } // validation
58769 #endif
58770 if ( failed && handleError(ParserError::SEVERITY_ERROR_NONCRITICAL,
58771         ParserError::ERROR_ATTRIBUTE_PARSING_FAILED,
58772         HASH_ELEMENT_MATERIAL_EMISSION,
58773         HASH_ATTRIBUTE_value,
58774         attributeValue))
58775 {
58776     return false;
58777 }
58778 #ifdef GENERATEDSAXPARSER_VALIDATION
58779     if ( mValidate )
58780     {
58781     ParserError::ErrorType simpleTypeValidationResult = validate__float4(attributeData->value.data, attributeData->value.size);
58782     if (simpleTypeValidationResult != ParserError::SIMPLE_TYPE_VALIDATION_OK)
58783     {
58784         if( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL,
58785             simpleTypeValidationResult,
58786             HASH_ELEMENT_MATERIAL_EMISSION,
58787             HASH_ATTRIBUTE_value,
58788             attributeValue) )
58789         {
58790             return false;
58791         }
58792     }
58793     } // validation
58794 #endif
58795 
58796 if ( !failed )
58797     attributeData->present_attributes |= profile_GLSL__technique__pass__material_emission__AttributeData::ATTRIBUTE_VALUE_PRESENT;
58798 
58799     break;
58800     }
58801     case HASH_ATTRIBUTE_param:
58802     {
58803 
58804 attributeData->param = attributeValue;
58805 #ifdef GENERATEDSAXPARSER_VALIDATION
58806     if ( mValidate )
58807     {
58808     ParserError::ErrorType simpleTypeValidationResult = validate__NCName(attributeData->param, strlen(attributeData->param));
58809     if (simpleTypeValidationResult != ParserError::SIMPLE_TYPE_VALIDATION_OK)
58810     {
58811         if( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL,
58812             simpleTypeValidationResult,
58813             HASH_ELEMENT_MATERIAL_EMISSION,
58814             HASH_ATTRIBUTE_param,
58815             attributeValue) )
58816         {
58817             return false;
58818         }
58819     }
58820     } // validation
58821 #endif
58822 
58823     break;
58824     }
58825     default:
58826     {
58827         if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_UNKNOWN_ATTRIBUTE, HASH_ELEMENT_MATERIAL_EMISSION, attribute, attributeValue))
58828             {return false;}
58829     }
58830     }
58831     }
58832 }
58833 if ((attributeData->present_attributes & profile_GLSL__technique__pass__material_emission__AttributeData::ATTRIBUTE_VALUE_PRESENT) == 0)
58834 {
58835     bool failed;
58836     failed = !characterData2FloatList("0.0E1 0.0E1 0.0E1 1.0E0", attributeData->value);
58837     if ( !failed )
58838     attributeData->present_attributes |= profile_GLSL__technique__pass__material_emission__AttributeData::ATTRIBUTE_VALUE_PRESENT;
58839 }
58840 
58841 
58842     return true;
58843 }
58844 
58845 //---------------------------------------------------------------------
_preEnd__profile_GLSL__technique__pass__material_emission()58846 bool ColladaParserAutoGen14Private::_preEnd__profile_GLSL__technique__pass__material_emission()
58847 {
58848 #ifdef GENERATEDSAXPARSER_VALIDATION
58849     if ( mValidate )
58850     {
58851 
58852         bool validationResult = _validateEnd__profile_GLSL__technique__pass__material_emission();
58853         if ( !validationResult ) return false;
58854 
58855     } // validation
58856 #endif
58857 
58858     return true;
58859 }
58860 
58861 //---------------------------------------------------------------------
_freeAttributes__profile_GLSL__technique__pass__material_emission(void * attributeData)58862 bool ColladaParserAutoGen14Private::_freeAttributes__profile_GLSL__technique__pass__material_emission( void* attributeData )
58863 {
58864     profile_GLSL__technique__pass__material_emission__AttributeData* typedAttributeData = static_cast<profile_GLSL__technique__pass__material_emission__AttributeData*>(attributeData);
58865     if (typedAttributeData->value.data)
58866     {
58867         mStackMemoryManager.deleteObject();
58868     }
58869 
58870 
58871     typedAttributeData->~profile_GLSL__technique__pass__material_emission__AttributeData();
58872 
58873     return true;
58874 }
58875 
58876 //---------------------------------------------------------------------
58877 const profile_GLSL__technique__pass__material_shininess__AttributeData profile_GLSL__technique__pass__material_shininess__AttributeData::DEFAULT = {0.0E1, 0};
58878 
58879 //---------------------------------------------------------------------
_data__profile_GLSL__technique__pass__material_shininess(const ParserChar * text,size_t textLength)58880 bool ColladaParserAutoGen14Private::_data__profile_GLSL__technique__pass__material_shininess( const ParserChar* text, size_t textLength )
58881 {
58882     return true;
58883 }
58884 
58885 //---------------------------------------------------------------------
_preBegin__profile_GLSL__technique__pass__material_shininess(const ParserAttributes & attributes,void ** attributeDataPtr,void ** validationDataPtr)58886 bool ColladaParserAutoGen14Private::_preBegin__profile_GLSL__technique__pass__material_shininess( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
58887 {
58888 #ifdef GENERATEDSAXPARSER_VALIDATION
58889     if ( mValidate )
58890     {
58891 
58892         bool validationResult = _validateBegin__profile_GLSL__technique__pass__material_shininess( attributes, attributeDataPtr, validationDataPtr );
58893         if ( !validationResult ) return false;
58894 
58895     } // validation
58896 #endif
58897 
58898 profile_GLSL__technique__pass__material_shininess__AttributeData* attributeData = newData<profile_GLSL__technique__pass__material_shininess__AttributeData>(attributeDataPtr);
58899 
58900 const ParserChar** attributeArray = attributes.attributes;
58901 if ( attributeArray )
58902 {
58903     while (true)
58904     {
58905         const ParserChar * attribute = *attributeArray;
58906         if ( !attribute )
58907             break;
58908         StringHash hash = GeneratedSaxParser::Utils::calculateStringHash(attribute);
58909         attributeArray++;
58910         if ( !attributeArray )
58911             return false;
58912         const ParserChar* attributeValue = *attributeArray;
58913         attributeArray++;
58914 
58915 
58916     switch ( hash )
58917     {
58918     case HASH_ATTRIBUTE_value:
58919     {
58920 bool failed;
58921 attributeData->value = GeneratedSaxParser::Utils::toFloat(attributeValue, failed);
58922 if ( failed && handleError(ParserError::SEVERITY_ERROR_NONCRITICAL,
58923         ParserError::ERROR_ATTRIBUTE_PARSING_FAILED,
58924         HASH_ELEMENT_MATERIAL_SHININESS,
58925         HASH_ATTRIBUTE_value,
58926         attributeValue))
58927 {
58928     return false;
58929 }
58930 
58931     break;
58932     }
58933     case HASH_ATTRIBUTE_param:
58934     {
58935 
58936 attributeData->param = attributeValue;
58937 #ifdef GENERATEDSAXPARSER_VALIDATION
58938     if ( mValidate )
58939     {
58940     ParserError::ErrorType simpleTypeValidationResult = validate__NCName(attributeData->param, strlen(attributeData->param));
58941     if (simpleTypeValidationResult != ParserError::SIMPLE_TYPE_VALIDATION_OK)
58942     {
58943         if( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL,
58944             simpleTypeValidationResult,
58945             HASH_ELEMENT_MATERIAL_SHININESS,
58946             HASH_ATTRIBUTE_param,
58947             attributeValue) )
58948         {
58949             return false;
58950         }
58951     }
58952     } // validation
58953 #endif
58954 
58955     break;
58956     }
58957     default:
58958     {
58959         if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_UNKNOWN_ATTRIBUTE, HASH_ELEMENT_MATERIAL_SHININESS, attribute, attributeValue))
58960             {return false;}
58961     }
58962     }
58963     }
58964 }
58965 
58966 
58967     return true;
58968 }
58969 
58970 //---------------------------------------------------------------------
_preEnd__profile_GLSL__technique__pass__material_shininess()58971 bool ColladaParserAutoGen14Private::_preEnd__profile_GLSL__technique__pass__material_shininess()
58972 {
58973 #ifdef GENERATEDSAXPARSER_VALIDATION
58974     if ( mValidate )
58975     {
58976 
58977         bool validationResult = _validateEnd__profile_GLSL__technique__pass__material_shininess();
58978         if ( !validationResult ) return false;
58979 
58980     } // validation
58981 #endif
58982 
58983     return true;
58984 }
58985 
58986 //---------------------------------------------------------------------
_freeAttributes__profile_GLSL__technique__pass__material_shininess(void * attributeData)58987 bool ColladaParserAutoGen14Private::_freeAttributes__profile_GLSL__technique__pass__material_shininess( void* attributeData )
58988 {
58989     profile_GLSL__technique__pass__material_shininess__AttributeData* typedAttributeData = static_cast<profile_GLSL__technique__pass__material_shininess__AttributeData*>(attributeData);
58990 
58991     typedAttributeData->~profile_GLSL__technique__pass__material_shininess__AttributeData();
58992 
58993     return true;
58994 }
58995 
58996 //---------------------------------------------------------------------
58997 const profile_GLSL__technique__pass__material_specular__AttributeData profile_GLSL__technique__pass__material_specular__AttributeData::DEFAULT = {0, GeneratedSaxParser::XSList<float>(), 0};
58998 
58999 //---------------------------------------------------------------------
_data__profile_GLSL__technique__pass__material_specular(const ParserChar * text,size_t textLength)59000 bool ColladaParserAutoGen14Private::_data__profile_GLSL__technique__pass__material_specular( const ParserChar* text, size_t textLength )
59001 {
59002     return true;
59003 }
59004 
59005 //---------------------------------------------------------------------
_preBegin__profile_GLSL__technique__pass__material_specular(const ParserAttributes & attributes,void ** attributeDataPtr,void ** validationDataPtr)59006 bool ColladaParserAutoGen14Private::_preBegin__profile_GLSL__technique__pass__material_specular( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
59007 {
59008 #ifdef GENERATEDSAXPARSER_VALIDATION
59009     if ( mValidate )
59010     {
59011 
59012         bool validationResult = _validateBegin__profile_GLSL__technique__pass__material_specular( attributes, attributeDataPtr, validationDataPtr );
59013         if ( !validationResult ) return false;
59014 
59015     } // validation
59016 #endif
59017 
59018 profile_GLSL__technique__pass__material_specular__AttributeData* attributeData = newData<profile_GLSL__technique__pass__material_specular__AttributeData>(attributeDataPtr);
59019 
59020 const ParserChar** attributeArray = attributes.attributes;
59021 if ( attributeArray )
59022 {
59023     while (true)
59024     {
59025         const ParserChar * attribute = *attributeArray;
59026         if ( !attribute )
59027             break;
59028         StringHash hash = GeneratedSaxParser::Utils::calculateStringHash(attribute);
59029         attributeArray++;
59030         if ( !attributeArray )
59031             return false;
59032         const ParserChar* attributeValue = *attributeArray;
59033         attributeArray++;
59034 
59035 
59036     switch ( hash )
59037     {
59038     case HASH_ATTRIBUTE_value:
59039     {
59040 bool failed;
59041 #ifdef GENERATEDSAXPARSER_VALIDATION
59042     if ( mValidate )
59043     {
59044 failed = !characterData2FloatList(attributeValue, attributeData->value, 0, HASH_ELEMENT_MATERIAL_SPECULAR, HASH_ATTRIBUTE_value);
59045     }
59046     else
59047     {
59048 failed = !characterData2FloatList(attributeValue, attributeData->value);
59049     }
59050 #else
59051     {
59052 failed = !characterData2FloatList(attributeValue, attributeData->value);
59053     } // validation
59054 #endif
59055 if ( failed && handleError(ParserError::SEVERITY_ERROR_NONCRITICAL,
59056         ParserError::ERROR_ATTRIBUTE_PARSING_FAILED,
59057         HASH_ELEMENT_MATERIAL_SPECULAR,
59058         HASH_ATTRIBUTE_value,
59059         attributeValue))
59060 {
59061     return false;
59062 }
59063 #ifdef GENERATEDSAXPARSER_VALIDATION
59064     if ( mValidate )
59065     {
59066     ParserError::ErrorType simpleTypeValidationResult = validate__float4(attributeData->value.data, attributeData->value.size);
59067     if (simpleTypeValidationResult != ParserError::SIMPLE_TYPE_VALIDATION_OK)
59068     {
59069         if( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL,
59070             simpleTypeValidationResult,
59071             HASH_ELEMENT_MATERIAL_SPECULAR,
59072             HASH_ATTRIBUTE_value,
59073             attributeValue) )
59074         {
59075             return false;
59076         }
59077     }
59078     } // validation
59079 #endif
59080 
59081 if ( !failed )
59082     attributeData->present_attributes |= profile_GLSL__technique__pass__material_specular__AttributeData::ATTRIBUTE_VALUE_PRESENT;
59083 
59084     break;
59085     }
59086     case HASH_ATTRIBUTE_param:
59087     {
59088 
59089 attributeData->param = attributeValue;
59090 #ifdef GENERATEDSAXPARSER_VALIDATION
59091     if ( mValidate )
59092     {
59093     ParserError::ErrorType simpleTypeValidationResult = validate__NCName(attributeData->param, strlen(attributeData->param));
59094     if (simpleTypeValidationResult != ParserError::SIMPLE_TYPE_VALIDATION_OK)
59095     {
59096         if( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL,
59097             simpleTypeValidationResult,
59098             HASH_ELEMENT_MATERIAL_SPECULAR,
59099             HASH_ATTRIBUTE_param,
59100             attributeValue) )
59101         {
59102             return false;
59103         }
59104     }
59105     } // validation
59106 #endif
59107 
59108     break;
59109     }
59110     default:
59111     {
59112         if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_UNKNOWN_ATTRIBUTE, HASH_ELEMENT_MATERIAL_SPECULAR, attribute, attributeValue))
59113             {return false;}
59114     }
59115     }
59116     }
59117 }
59118 if ((attributeData->present_attributes & profile_GLSL__technique__pass__material_specular__AttributeData::ATTRIBUTE_VALUE_PRESENT) == 0)
59119 {
59120     bool failed;
59121     failed = !characterData2FloatList("0.0E1 0.0E1 0.0E1 1.0E0", attributeData->value);
59122     if ( !failed )
59123     attributeData->present_attributes |= profile_GLSL__technique__pass__material_specular__AttributeData::ATTRIBUTE_VALUE_PRESENT;
59124 }
59125 
59126 
59127     return true;
59128 }
59129 
59130 //---------------------------------------------------------------------
_preEnd__profile_GLSL__technique__pass__material_specular()59131 bool ColladaParserAutoGen14Private::_preEnd__profile_GLSL__technique__pass__material_specular()
59132 {
59133 #ifdef GENERATEDSAXPARSER_VALIDATION
59134     if ( mValidate )
59135     {
59136 
59137         bool validationResult = _validateEnd__profile_GLSL__technique__pass__material_specular();
59138         if ( !validationResult ) return false;
59139 
59140     } // validation
59141 #endif
59142 
59143     return true;
59144 }
59145 
59146 //---------------------------------------------------------------------
_freeAttributes__profile_GLSL__technique__pass__material_specular(void * attributeData)59147 bool ColladaParserAutoGen14Private::_freeAttributes__profile_GLSL__technique__pass__material_specular( void* attributeData )
59148 {
59149     profile_GLSL__technique__pass__material_specular__AttributeData* typedAttributeData = static_cast<profile_GLSL__technique__pass__material_specular__AttributeData*>(attributeData);
59150     if (typedAttributeData->value.data)
59151     {
59152         mStackMemoryManager.deleteObject();
59153     }
59154 
59155 
59156     typedAttributeData->~profile_GLSL__technique__pass__material_specular__AttributeData();
59157 
59158     return true;
59159 }
59160 
59161 //---------------------------------------------------------------------
59162 const profile_GLSL__technique__pass__model_view_matrix__AttributeData profile_GLSL__technique__pass__model_view_matrix__AttributeData::DEFAULT = {0, GeneratedSaxParser::XSList<float>(), 0};
59163 
59164 //---------------------------------------------------------------------
_data__profile_GLSL__technique__pass__model_view_matrix(const ParserChar * text,size_t textLength)59165 bool ColladaParserAutoGen14Private::_data__profile_GLSL__technique__pass__model_view_matrix( const ParserChar* text, size_t textLength )
59166 {
59167     return true;
59168 }
59169 
59170 //---------------------------------------------------------------------
_preBegin__profile_GLSL__technique__pass__model_view_matrix(const ParserAttributes & attributes,void ** attributeDataPtr,void ** validationDataPtr)59171 bool ColladaParserAutoGen14Private::_preBegin__profile_GLSL__technique__pass__model_view_matrix( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
59172 {
59173 #ifdef GENERATEDSAXPARSER_VALIDATION
59174     if ( mValidate )
59175     {
59176 
59177         bool validationResult = _validateBegin__profile_GLSL__technique__pass__model_view_matrix( attributes, attributeDataPtr, validationDataPtr );
59178         if ( !validationResult ) return false;
59179 
59180     } // validation
59181 #endif
59182 
59183 profile_GLSL__technique__pass__model_view_matrix__AttributeData* attributeData = newData<profile_GLSL__technique__pass__model_view_matrix__AttributeData>(attributeDataPtr);
59184 
59185 const ParserChar** attributeArray = attributes.attributes;
59186 if ( attributeArray )
59187 {
59188     while (true)
59189     {
59190         const ParserChar * attribute = *attributeArray;
59191         if ( !attribute )
59192             break;
59193         StringHash hash = GeneratedSaxParser::Utils::calculateStringHash(attribute);
59194         attributeArray++;
59195         if ( !attributeArray )
59196             return false;
59197         const ParserChar* attributeValue = *attributeArray;
59198         attributeArray++;
59199 
59200 
59201     switch ( hash )
59202     {
59203     case HASH_ATTRIBUTE_value:
59204     {
59205 bool failed;
59206 #ifdef GENERATEDSAXPARSER_VALIDATION
59207     if ( mValidate )
59208     {
59209 failed = !characterData2FloatList(attributeValue, attributeData->value, 0, HASH_ELEMENT_MODEL_VIEW_MATRIX, HASH_ATTRIBUTE_value);
59210     }
59211     else
59212     {
59213 failed = !characterData2FloatList(attributeValue, attributeData->value);
59214     }
59215 #else
59216     {
59217 failed = !characterData2FloatList(attributeValue, attributeData->value);
59218     } // validation
59219 #endif
59220 if ( failed && handleError(ParserError::SEVERITY_ERROR_NONCRITICAL,
59221         ParserError::ERROR_ATTRIBUTE_PARSING_FAILED,
59222         HASH_ELEMENT_MODEL_VIEW_MATRIX,
59223         HASH_ATTRIBUTE_value,
59224         attributeValue))
59225 {
59226     return false;
59227 }
59228 #ifdef GENERATEDSAXPARSER_VALIDATION
59229     if ( mValidate )
59230     {
59231     ParserError::ErrorType simpleTypeValidationResult = validate__float4x4(attributeData->value.data, attributeData->value.size);
59232     if (simpleTypeValidationResult != ParserError::SIMPLE_TYPE_VALIDATION_OK)
59233     {
59234         if( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL,
59235             simpleTypeValidationResult,
59236             HASH_ELEMENT_MODEL_VIEW_MATRIX,
59237             HASH_ATTRIBUTE_value,
59238             attributeValue) )
59239         {
59240             return false;
59241         }
59242     }
59243     } // validation
59244 #endif
59245 
59246 if ( !failed )
59247     attributeData->present_attributes |= profile_GLSL__technique__pass__model_view_matrix__AttributeData::ATTRIBUTE_VALUE_PRESENT;
59248 
59249     break;
59250     }
59251     case HASH_ATTRIBUTE_param:
59252     {
59253 
59254 attributeData->param = attributeValue;
59255 #ifdef GENERATEDSAXPARSER_VALIDATION
59256     if ( mValidate )
59257     {
59258     ParserError::ErrorType simpleTypeValidationResult = validate__NCName(attributeData->param, strlen(attributeData->param));
59259     if (simpleTypeValidationResult != ParserError::SIMPLE_TYPE_VALIDATION_OK)
59260     {
59261         if( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL,
59262             simpleTypeValidationResult,
59263             HASH_ELEMENT_MODEL_VIEW_MATRIX,
59264             HASH_ATTRIBUTE_param,
59265             attributeValue) )
59266         {
59267             return false;
59268         }
59269     }
59270     } // validation
59271 #endif
59272 
59273     break;
59274     }
59275     default:
59276     {
59277         if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_UNKNOWN_ATTRIBUTE, HASH_ELEMENT_MODEL_VIEW_MATRIX, attribute, attributeValue))
59278             {return false;}
59279     }
59280     }
59281     }
59282 }
59283 if ((attributeData->present_attributes & profile_GLSL__technique__pass__model_view_matrix__AttributeData::ATTRIBUTE_VALUE_PRESENT) == 0)
59284 {
59285     bool failed;
59286     failed = !characterData2FloatList("1.0E0 0.0E1 0.0E1 0.0E1 0.0E1 1.0E0 0.0E1 0.0E1 0.0E1 0.0E1 1.0E0 0.0E1 0.0E1 0.0E1 0.0E1 1.0E0", attributeData->value);
59287     if ( !failed )
59288     attributeData->present_attributes |= profile_GLSL__technique__pass__model_view_matrix__AttributeData::ATTRIBUTE_VALUE_PRESENT;
59289 }
59290 
59291 
59292     return true;
59293 }
59294 
59295 //---------------------------------------------------------------------
_preEnd__profile_GLSL__technique__pass__model_view_matrix()59296 bool ColladaParserAutoGen14Private::_preEnd__profile_GLSL__technique__pass__model_view_matrix()
59297 {
59298 #ifdef GENERATEDSAXPARSER_VALIDATION
59299     if ( mValidate )
59300     {
59301 
59302         bool validationResult = _validateEnd__profile_GLSL__technique__pass__model_view_matrix();
59303         if ( !validationResult ) return false;
59304 
59305     } // validation
59306 #endif
59307 
59308     return true;
59309 }
59310 
59311 //---------------------------------------------------------------------
_freeAttributes__profile_GLSL__technique__pass__model_view_matrix(void * attributeData)59312 bool ColladaParserAutoGen14Private::_freeAttributes__profile_GLSL__technique__pass__model_view_matrix( void* attributeData )
59313 {
59314     profile_GLSL__technique__pass__model_view_matrix__AttributeData* typedAttributeData = static_cast<profile_GLSL__technique__pass__model_view_matrix__AttributeData*>(attributeData);
59315     if (typedAttributeData->value.data)
59316     {
59317         mStackMemoryManager.deleteObject();
59318     }
59319 
59320 
59321     typedAttributeData->~profile_GLSL__technique__pass__model_view_matrix__AttributeData();
59322 
59323     return true;
59324 }
59325 
59326 //---------------------------------------------------------------------
59327 const profile_GLSL__technique__pass__point_distance_attenuation__AttributeData profile_GLSL__technique__pass__point_distance_attenuation__AttributeData::DEFAULT = {0, GeneratedSaxParser::XSList<float>(), 0};
59328 
59329 //---------------------------------------------------------------------
_data__profile_GLSL__technique__pass__point_distance_attenuation(const ParserChar * text,size_t textLength)59330 bool ColladaParserAutoGen14Private::_data__profile_GLSL__technique__pass__point_distance_attenuation( const ParserChar* text, size_t textLength )
59331 {
59332     return true;
59333 }
59334 
59335 //---------------------------------------------------------------------
_preBegin__profile_GLSL__technique__pass__point_distance_attenuation(const ParserAttributes & attributes,void ** attributeDataPtr,void ** validationDataPtr)59336 bool ColladaParserAutoGen14Private::_preBegin__profile_GLSL__technique__pass__point_distance_attenuation( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
59337 {
59338 #ifdef GENERATEDSAXPARSER_VALIDATION
59339     if ( mValidate )
59340     {
59341 
59342         bool validationResult = _validateBegin__profile_GLSL__technique__pass__point_distance_attenuation( attributes, attributeDataPtr, validationDataPtr );
59343         if ( !validationResult ) return false;
59344 
59345     } // validation
59346 #endif
59347 
59348 profile_GLSL__technique__pass__point_distance_attenuation__AttributeData* attributeData = newData<profile_GLSL__technique__pass__point_distance_attenuation__AttributeData>(attributeDataPtr);
59349 
59350 const ParserChar** attributeArray = attributes.attributes;
59351 if ( attributeArray )
59352 {
59353     while (true)
59354     {
59355         const ParserChar * attribute = *attributeArray;
59356         if ( !attribute )
59357             break;
59358         StringHash hash = GeneratedSaxParser::Utils::calculateStringHash(attribute);
59359         attributeArray++;
59360         if ( !attributeArray )
59361             return false;
59362         const ParserChar* attributeValue = *attributeArray;
59363         attributeArray++;
59364 
59365 
59366     switch ( hash )
59367     {
59368     case HASH_ATTRIBUTE_value:
59369     {
59370 bool failed;
59371 #ifdef GENERATEDSAXPARSER_VALIDATION
59372     if ( mValidate )
59373     {
59374 failed = !characterData2FloatList(attributeValue, attributeData->value, 0, HASH_ELEMENT_POINT_DISTANCE_ATTENUATION, HASH_ATTRIBUTE_value);
59375     }
59376     else
59377     {
59378 failed = !characterData2FloatList(attributeValue, attributeData->value);
59379     }
59380 #else
59381     {
59382 failed = !characterData2FloatList(attributeValue, attributeData->value);
59383     } // validation
59384 #endif
59385 if ( failed && handleError(ParserError::SEVERITY_ERROR_NONCRITICAL,
59386         ParserError::ERROR_ATTRIBUTE_PARSING_FAILED,
59387         HASH_ELEMENT_POINT_DISTANCE_ATTENUATION,
59388         HASH_ATTRIBUTE_value,
59389         attributeValue))
59390 {
59391     return false;
59392 }
59393 #ifdef GENERATEDSAXPARSER_VALIDATION
59394     if ( mValidate )
59395     {
59396     ParserError::ErrorType simpleTypeValidationResult = validate__float3(attributeData->value.data, attributeData->value.size);
59397     if (simpleTypeValidationResult != ParserError::SIMPLE_TYPE_VALIDATION_OK)
59398     {
59399         if( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL,
59400             simpleTypeValidationResult,
59401             HASH_ELEMENT_POINT_DISTANCE_ATTENUATION,
59402             HASH_ATTRIBUTE_value,
59403             attributeValue) )
59404         {
59405             return false;
59406         }
59407     }
59408     } // validation
59409 #endif
59410 
59411 if ( !failed )
59412     attributeData->present_attributes |= profile_GLSL__technique__pass__point_distance_attenuation__AttributeData::ATTRIBUTE_VALUE_PRESENT;
59413 
59414     break;
59415     }
59416     case HASH_ATTRIBUTE_param:
59417     {
59418 
59419 attributeData->param = attributeValue;
59420 #ifdef GENERATEDSAXPARSER_VALIDATION
59421     if ( mValidate )
59422     {
59423     ParserError::ErrorType simpleTypeValidationResult = validate__NCName(attributeData->param, strlen(attributeData->param));
59424     if (simpleTypeValidationResult != ParserError::SIMPLE_TYPE_VALIDATION_OK)
59425     {
59426         if( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL,
59427             simpleTypeValidationResult,
59428             HASH_ELEMENT_POINT_DISTANCE_ATTENUATION,
59429             HASH_ATTRIBUTE_param,
59430             attributeValue) )
59431         {
59432             return false;
59433         }
59434     }
59435     } // validation
59436 #endif
59437 
59438     break;
59439     }
59440     default:
59441     {
59442         if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_UNKNOWN_ATTRIBUTE, HASH_ELEMENT_POINT_DISTANCE_ATTENUATION, attribute, attributeValue))
59443             {return false;}
59444     }
59445     }
59446     }
59447 }
59448 if ((attributeData->present_attributes & profile_GLSL__technique__pass__point_distance_attenuation__AttributeData::ATTRIBUTE_VALUE_PRESENT) == 0)
59449 {
59450     bool failed;
59451     failed = !characterData2FloatList("1.0E0 0.0E1 0.0E1", attributeData->value);
59452     if ( !failed )
59453     attributeData->present_attributes |= profile_GLSL__technique__pass__point_distance_attenuation__AttributeData::ATTRIBUTE_VALUE_PRESENT;
59454 }
59455 
59456 
59457     return true;
59458 }
59459 
59460 //---------------------------------------------------------------------
_preEnd__profile_GLSL__technique__pass__point_distance_attenuation()59461 bool ColladaParserAutoGen14Private::_preEnd__profile_GLSL__technique__pass__point_distance_attenuation()
59462 {
59463 #ifdef GENERATEDSAXPARSER_VALIDATION
59464     if ( mValidate )
59465     {
59466 
59467         bool validationResult = _validateEnd__profile_GLSL__technique__pass__point_distance_attenuation();
59468         if ( !validationResult ) return false;
59469 
59470     } // validation
59471 #endif
59472 
59473     return true;
59474 }
59475 
59476 //---------------------------------------------------------------------
_freeAttributes__profile_GLSL__technique__pass__point_distance_attenuation(void * attributeData)59477 bool ColladaParserAutoGen14Private::_freeAttributes__profile_GLSL__technique__pass__point_distance_attenuation( void* attributeData )
59478 {
59479     profile_GLSL__technique__pass__point_distance_attenuation__AttributeData* typedAttributeData = static_cast<profile_GLSL__technique__pass__point_distance_attenuation__AttributeData*>(attributeData);
59480     if (typedAttributeData->value.data)
59481     {
59482         mStackMemoryManager.deleteObject();
59483     }
59484 
59485 
59486     typedAttributeData->~profile_GLSL__technique__pass__point_distance_attenuation__AttributeData();
59487 
59488     return true;
59489 }
59490 
59491 //---------------------------------------------------------------------
59492 const profile_GLSL__technique__pass__point_fade_threshold_size__AttributeData profile_GLSL__technique__pass__point_fade_threshold_size__AttributeData::DEFAULT = {1.0E0, 0};
59493 
59494 //---------------------------------------------------------------------
_data__profile_GLSL__technique__pass__point_fade_threshold_size(const ParserChar * text,size_t textLength)59495 bool ColladaParserAutoGen14Private::_data__profile_GLSL__technique__pass__point_fade_threshold_size( const ParserChar* text, size_t textLength )
59496 {
59497     return true;
59498 }
59499 
59500 //---------------------------------------------------------------------
_preBegin__profile_GLSL__technique__pass__point_fade_threshold_size(const ParserAttributes & attributes,void ** attributeDataPtr,void ** validationDataPtr)59501 bool ColladaParserAutoGen14Private::_preBegin__profile_GLSL__technique__pass__point_fade_threshold_size( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
59502 {
59503 #ifdef GENERATEDSAXPARSER_VALIDATION
59504     if ( mValidate )
59505     {
59506 
59507         bool validationResult = _validateBegin__profile_GLSL__technique__pass__point_fade_threshold_size( attributes, attributeDataPtr, validationDataPtr );
59508         if ( !validationResult ) return false;
59509 
59510     } // validation
59511 #endif
59512 
59513 profile_GLSL__technique__pass__point_fade_threshold_size__AttributeData* attributeData = newData<profile_GLSL__technique__pass__point_fade_threshold_size__AttributeData>(attributeDataPtr);
59514 
59515 const ParserChar** attributeArray = attributes.attributes;
59516 if ( attributeArray )
59517 {
59518     while (true)
59519     {
59520         const ParserChar * attribute = *attributeArray;
59521         if ( !attribute )
59522             break;
59523         StringHash hash = GeneratedSaxParser::Utils::calculateStringHash(attribute);
59524         attributeArray++;
59525         if ( !attributeArray )
59526             return false;
59527         const ParserChar* attributeValue = *attributeArray;
59528         attributeArray++;
59529 
59530 
59531     switch ( hash )
59532     {
59533     case HASH_ATTRIBUTE_value:
59534     {
59535 bool failed;
59536 attributeData->value = GeneratedSaxParser::Utils::toFloat(attributeValue, failed);
59537 if ( failed && handleError(ParserError::SEVERITY_ERROR_NONCRITICAL,
59538         ParserError::ERROR_ATTRIBUTE_PARSING_FAILED,
59539         HASH_ELEMENT_POINT_FADE_THRESHOLD_SIZE,
59540         HASH_ATTRIBUTE_value,
59541         attributeValue))
59542 {
59543     return false;
59544 }
59545 
59546     break;
59547     }
59548     case HASH_ATTRIBUTE_param:
59549     {
59550 
59551 attributeData->param = attributeValue;
59552 #ifdef GENERATEDSAXPARSER_VALIDATION
59553     if ( mValidate )
59554     {
59555     ParserError::ErrorType simpleTypeValidationResult = validate__NCName(attributeData->param, strlen(attributeData->param));
59556     if (simpleTypeValidationResult != ParserError::SIMPLE_TYPE_VALIDATION_OK)
59557     {
59558         if( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL,
59559             simpleTypeValidationResult,
59560             HASH_ELEMENT_POINT_FADE_THRESHOLD_SIZE,
59561             HASH_ATTRIBUTE_param,
59562             attributeValue) )
59563         {
59564             return false;
59565         }
59566     }
59567     } // validation
59568 #endif
59569 
59570     break;
59571     }
59572     default:
59573     {
59574         if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_UNKNOWN_ATTRIBUTE, HASH_ELEMENT_POINT_FADE_THRESHOLD_SIZE, attribute, attributeValue))
59575             {return false;}
59576     }
59577     }
59578     }
59579 }
59580 
59581 
59582     return true;
59583 }
59584 
59585 //---------------------------------------------------------------------
_preEnd__profile_GLSL__technique__pass__point_fade_threshold_size()59586 bool ColladaParserAutoGen14Private::_preEnd__profile_GLSL__technique__pass__point_fade_threshold_size()
59587 {
59588 #ifdef GENERATEDSAXPARSER_VALIDATION
59589     if ( mValidate )
59590     {
59591 
59592         bool validationResult = _validateEnd__profile_GLSL__technique__pass__point_fade_threshold_size();
59593         if ( !validationResult ) return false;
59594 
59595     } // validation
59596 #endif
59597 
59598     return true;
59599 }
59600 
59601 //---------------------------------------------------------------------
_freeAttributes__profile_GLSL__technique__pass__point_fade_threshold_size(void * attributeData)59602 bool ColladaParserAutoGen14Private::_freeAttributes__profile_GLSL__technique__pass__point_fade_threshold_size( void* attributeData )
59603 {
59604     profile_GLSL__technique__pass__point_fade_threshold_size__AttributeData* typedAttributeData = static_cast<profile_GLSL__technique__pass__point_fade_threshold_size__AttributeData*>(attributeData);
59605 
59606     typedAttributeData->~profile_GLSL__technique__pass__point_fade_threshold_size__AttributeData();
59607 
59608     return true;
59609 }
59610 
59611 //---------------------------------------------------------------------
59612 const profile_GLSL__technique__pass__point_size__AttributeData profile_GLSL__technique__pass__point_size__AttributeData::DEFAULT = {1.0E0, 0};
59613 
59614 //---------------------------------------------------------------------
_data__profile_GLSL__technique__pass__point_size(const ParserChar * text,size_t textLength)59615 bool ColladaParserAutoGen14Private::_data__profile_GLSL__technique__pass__point_size( const ParserChar* text, size_t textLength )
59616 {
59617     return true;
59618 }
59619 
59620 //---------------------------------------------------------------------
_preBegin__profile_GLSL__technique__pass__point_size(const ParserAttributes & attributes,void ** attributeDataPtr,void ** validationDataPtr)59621 bool ColladaParserAutoGen14Private::_preBegin__profile_GLSL__technique__pass__point_size( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
59622 {
59623 #ifdef GENERATEDSAXPARSER_VALIDATION
59624     if ( mValidate )
59625     {
59626 
59627         bool validationResult = _validateBegin__profile_GLSL__technique__pass__point_size( attributes, attributeDataPtr, validationDataPtr );
59628         if ( !validationResult ) return false;
59629 
59630     } // validation
59631 #endif
59632 
59633 profile_GLSL__technique__pass__point_size__AttributeData* attributeData = newData<profile_GLSL__technique__pass__point_size__AttributeData>(attributeDataPtr);
59634 
59635 const ParserChar** attributeArray = attributes.attributes;
59636 if ( attributeArray )
59637 {
59638     while (true)
59639     {
59640         const ParserChar * attribute = *attributeArray;
59641         if ( !attribute )
59642             break;
59643         StringHash hash = GeneratedSaxParser::Utils::calculateStringHash(attribute);
59644         attributeArray++;
59645         if ( !attributeArray )
59646             return false;
59647         const ParserChar* attributeValue = *attributeArray;
59648         attributeArray++;
59649 
59650 
59651     switch ( hash )
59652     {
59653     case HASH_ATTRIBUTE_value:
59654     {
59655 bool failed;
59656 attributeData->value = GeneratedSaxParser::Utils::toFloat(attributeValue, failed);
59657 if ( failed && handleError(ParserError::SEVERITY_ERROR_NONCRITICAL,
59658         ParserError::ERROR_ATTRIBUTE_PARSING_FAILED,
59659         HASH_ELEMENT_POINT_SIZE,
59660         HASH_ATTRIBUTE_value,
59661         attributeValue))
59662 {
59663     return false;
59664 }
59665 
59666     break;
59667     }
59668     case HASH_ATTRIBUTE_param:
59669     {
59670 
59671 attributeData->param = attributeValue;
59672 #ifdef GENERATEDSAXPARSER_VALIDATION
59673     if ( mValidate )
59674     {
59675     ParserError::ErrorType simpleTypeValidationResult = validate__NCName(attributeData->param, strlen(attributeData->param));
59676     if (simpleTypeValidationResult != ParserError::SIMPLE_TYPE_VALIDATION_OK)
59677     {
59678         if( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL,
59679             simpleTypeValidationResult,
59680             HASH_ELEMENT_POINT_SIZE,
59681             HASH_ATTRIBUTE_param,
59682             attributeValue) )
59683         {
59684             return false;
59685         }
59686     }
59687     } // validation
59688 #endif
59689 
59690     break;
59691     }
59692     default:
59693     {
59694         if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_UNKNOWN_ATTRIBUTE, HASH_ELEMENT_POINT_SIZE, attribute, attributeValue))
59695             {return false;}
59696     }
59697     }
59698     }
59699 }
59700 
59701 
59702     return true;
59703 }
59704 
59705 //---------------------------------------------------------------------
_preEnd__profile_GLSL__technique__pass__point_size()59706 bool ColladaParserAutoGen14Private::_preEnd__profile_GLSL__technique__pass__point_size()
59707 {
59708 #ifdef GENERATEDSAXPARSER_VALIDATION
59709     if ( mValidate )
59710     {
59711 
59712         bool validationResult = _validateEnd__profile_GLSL__technique__pass__point_size();
59713         if ( !validationResult ) return false;
59714 
59715     } // validation
59716 #endif
59717 
59718     return true;
59719 }
59720 
59721 //---------------------------------------------------------------------
_freeAttributes__profile_GLSL__technique__pass__point_size(void * attributeData)59722 bool ColladaParserAutoGen14Private::_freeAttributes__profile_GLSL__technique__pass__point_size( void* attributeData )
59723 {
59724     profile_GLSL__technique__pass__point_size__AttributeData* typedAttributeData = static_cast<profile_GLSL__technique__pass__point_size__AttributeData*>(attributeData);
59725 
59726     typedAttributeData->~profile_GLSL__technique__pass__point_size__AttributeData();
59727 
59728     return true;
59729 }
59730 
59731 //---------------------------------------------------------------------
59732 const profile_GLSL__technique__pass__point_size_min__AttributeData profile_GLSL__technique__pass__point_size_min__AttributeData::DEFAULT = {0.0E1, 0};
59733 
59734 //---------------------------------------------------------------------
_data__profile_GLSL__technique__pass__point_size_min(const ParserChar * text,size_t textLength)59735 bool ColladaParserAutoGen14Private::_data__profile_GLSL__technique__pass__point_size_min( const ParserChar* text, size_t textLength )
59736 {
59737     return true;
59738 }
59739 
59740 //---------------------------------------------------------------------
_preBegin__profile_GLSL__technique__pass__point_size_min(const ParserAttributes & attributes,void ** attributeDataPtr,void ** validationDataPtr)59741 bool ColladaParserAutoGen14Private::_preBegin__profile_GLSL__technique__pass__point_size_min( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
59742 {
59743 #ifdef GENERATEDSAXPARSER_VALIDATION
59744     if ( mValidate )
59745     {
59746 
59747         bool validationResult = _validateBegin__profile_GLSL__technique__pass__point_size_min( attributes, attributeDataPtr, validationDataPtr );
59748         if ( !validationResult ) return false;
59749 
59750     } // validation
59751 #endif
59752 
59753 profile_GLSL__technique__pass__point_size_min__AttributeData* attributeData = newData<profile_GLSL__technique__pass__point_size_min__AttributeData>(attributeDataPtr);
59754 
59755 const ParserChar** attributeArray = attributes.attributes;
59756 if ( attributeArray )
59757 {
59758     while (true)
59759     {
59760         const ParserChar * attribute = *attributeArray;
59761         if ( !attribute )
59762             break;
59763         StringHash hash = GeneratedSaxParser::Utils::calculateStringHash(attribute);
59764         attributeArray++;
59765         if ( !attributeArray )
59766             return false;
59767         const ParserChar* attributeValue = *attributeArray;
59768         attributeArray++;
59769 
59770 
59771     switch ( hash )
59772     {
59773     case HASH_ATTRIBUTE_value:
59774     {
59775 bool failed;
59776 attributeData->value = GeneratedSaxParser::Utils::toFloat(attributeValue, failed);
59777 if ( failed && handleError(ParserError::SEVERITY_ERROR_NONCRITICAL,
59778         ParserError::ERROR_ATTRIBUTE_PARSING_FAILED,
59779         HASH_ELEMENT_POINT_SIZE_MIN,
59780         HASH_ATTRIBUTE_value,
59781         attributeValue))
59782 {
59783     return false;
59784 }
59785 
59786     break;
59787     }
59788     case HASH_ATTRIBUTE_param:
59789     {
59790 
59791 attributeData->param = attributeValue;
59792 #ifdef GENERATEDSAXPARSER_VALIDATION
59793     if ( mValidate )
59794     {
59795     ParserError::ErrorType simpleTypeValidationResult = validate__NCName(attributeData->param, strlen(attributeData->param));
59796     if (simpleTypeValidationResult != ParserError::SIMPLE_TYPE_VALIDATION_OK)
59797     {
59798         if( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL,
59799             simpleTypeValidationResult,
59800             HASH_ELEMENT_POINT_SIZE_MIN,
59801             HASH_ATTRIBUTE_param,
59802             attributeValue) )
59803         {
59804             return false;
59805         }
59806     }
59807     } // validation
59808 #endif
59809 
59810     break;
59811     }
59812     default:
59813     {
59814         if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_UNKNOWN_ATTRIBUTE, HASH_ELEMENT_POINT_SIZE_MIN, attribute, attributeValue))
59815             {return false;}
59816     }
59817     }
59818     }
59819 }
59820 
59821 
59822     return true;
59823 }
59824 
59825 //---------------------------------------------------------------------
_preEnd__profile_GLSL__technique__pass__point_size_min()59826 bool ColladaParserAutoGen14Private::_preEnd__profile_GLSL__technique__pass__point_size_min()
59827 {
59828 #ifdef GENERATEDSAXPARSER_VALIDATION
59829     if ( mValidate )
59830     {
59831 
59832         bool validationResult = _validateEnd__profile_GLSL__technique__pass__point_size_min();
59833         if ( !validationResult ) return false;
59834 
59835     } // validation
59836 #endif
59837 
59838     return true;
59839 }
59840 
59841 //---------------------------------------------------------------------
_freeAttributes__profile_GLSL__technique__pass__point_size_min(void * attributeData)59842 bool ColladaParserAutoGen14Private::_freeAttributes__profile_GLSL__technique__pass__point_size_min( void* attributeData )
59843 {
59844     profile_GLSL__technique__pass__point_size_min__AttributeData* typedAttributeData = static_cast<profile_GLSL__technique__pass__point_size_min__AttributeData*>(attributeData);
59845 
59846     typedAttributeData->~profile_GLSL__technique__pass__point_size_min__AttributeData();
59847 
59848     return true;
59849 }
59850 
59851 //---------------------------------------------------------------------
59852 const profile_GLSL__technique__pass__point_size_max__AttributeData profile_GLSL__technique__pass__point_size_max__AttributeData::DEFAULT = {1.0E0, 0};
59853 
59854 //---------------------------------------------------------------------
_data__profile_GLSL__technique__pass__point_size_max(const ParserChar * text,size_t textLength)59855 bool ColladaParserAutoGen14Private::_data__profile_GLSL__technique__pass__point_size_max( const ParserChar* text, size_t textLength )
59856 {
59857     return true;
59858 }
59859 
59860 //---------------------------------------------------------------------
_preBegin__profile_GLSL__technique__pass__point_size_max(const ParserAttributes & attributes,void ** attributeDataPtr,void ** validationDataPtr)59861 bool ColladaParserAutoGen14Private::_preBegin__profile_GLSL__technique__pass__point_size_max( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
59862 {
59863 #ifdef GENERATEDSAXPARSER_VALIDATION
59864     if ( mValidate )
59865     {
59866 
59867         bool validationResult = _validateBegin__profile_GLSL__technique__pass__point_size_max( attributes, attributeDataPtr, validationDataPtr );
59868         if ( !validationResult ) return false;
59869 
59870     } // validation
59871 #endif
59872 
59873 profile_GLSL__technique__pass__point_size_max__AttributeData* attributeData = newData<profile_GLSL__technique__pass__point_size_max__AttributeData>(attributeDataPtr);
59874 
59875 const ParserChar** attributeArray = attributes.attributes;
59876 if ( attributeArray )
59877 {
59878     while (true)
59879     {
59880         const ParserChar * attribute = *attributeArray;
59881         if ( !attribute )
59882             break;
59883         StringHash hash = GeneratedSaxParser::Utils::calculateStringHash(attribute);
59884         attributeArray++;
59885         if ( !attributeArray )
59886             return false;
59887         const ParserChar* attributeValue = *attributeArray;
59888         attributeArray++;
59889 
59890 
59891     switch ( hash )
59892     {
59893     case HASH_ATTRIBUTE_value:
59894     {
59895 bool failed;
59896 attributeData->value = GeneratedSaxParser::Utils::toFloat(attributeValue, failed);
59897 if ( failed && handleError(ParserError::SEVERITY_ERROR_NONCRITICAL,
59898         ParserError::ERROR_ATTRIBUTE_PARSING_FAILED,
59899         HASH_ELEMENT_POINT_SIZE_MAX,
59900         HASH_ATTRIBUTE_value,
59901         attributeValue))
59902 {
59903     return false;
59904 }
59905 
59906     break;
59907     }
59908     case HASH_ATTRIBUTE_param:
59909     {
59910 
59911 attributeData->param = attributeValue;
59912 #ifdef GENERATEDSAXPARSER_VALIDATION
59913     if ( mValidate )
59914     {
59915     ParserError::ErrorType simpleTypeValidationResult = validate__NCName(attributeData->param, strlen(attributeData->param));
59916     if (simpleTypeValidationResult != ParserError::SIMPLE_TYPE_VALIDATION_OK)
59917     {
59918         if( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL,
59919             simpleTypeValidationResult,
59920             HASH_ELEMENT_POINT_SIZE_MAX,
59921             HASH_ATTRIBUTE_param,
59922             attributeValue) )
59923         {
59924             return false;
59925         }
59926     }
59927     } // validation
59928 #endif
59929 
59930     break;
59931     }
59932     default:
59933     {
59934         if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_UNKNOWN_ATTRIBUTE, HASH_ELEMENT_POINT_SIZE_MAX, attribute, attributeValue))
59935             {return false;}
59936     }
59937     }
59938     }
59939 }
59940 
59941 
59942     return true;
59943 }
59944 
59945 //---------------------------------------------------------------------
_preEnd__profile_GLSL__technique__pass__point_size_max()59946 bool ColladaParserAutoGen14Private::_preEnd__profile_GLSL__technique__pass__point_size_max()
59947 {
59948 #ifdef GENERATEDSAXPARSER_VALIDATION
59949     if ( mValidate )
59950     {
59951 
59952         bool validationResult = _validateEnd__profile_GLSL__technique__pass__point_size_max();
59953         if ( !validationResult ) return false;
59954 
59955     } // validation
59956 #endif
59957 
59958     return true;
59959 }
59960 
59961 //---------------------------------------------------------------------
_freeAttributes__profile_GLSL__technique__pass__point_size_max(void * attributeData)59962 bool ColladaParserAutoGen14Private::_freeAttributes__profile_GLSL__technique__pass__point_size_max( void* attributeData )
59963 {
59964     profile_GLSL__technique__pass__point_size_max__AttributeData* typedAttributeData = static_cast<profile_GLSL__technique__pass__point_size_max__AttributeData*>(attributeData);
59965 
59966     typedAttributeData->~profile_GLSL__technique__pass__point_size_max__AttributeData();
59967 
59968     return true;
59969 }
59970 
59971 //---------------------------------------------------------------------
59972 const profile_GLSL__technique__pass__polygon_offset__AttributeData profile_GLSL__technique__pass__polygon_offset__AttributeData::DEFAULT = {0, GeneratedSaxParser::XSList<float>(), 0};
59973 
59974 //---------------------------------------------------------------------
_data__profile_GLSL__technique__pass__polygon_offset(const ParserChar * text,size_t textLength)59975 bool ColladaParserAutoGen14Private::_data__profile_GLSL__technique__pass__polygon_offset( const ParserChar* text, size_t textLength )
59976 {
59977     return true;
59978 }
59979 
59980 //---------------------------------------------------------------------
_preBegin__profile_GLSL__technique__pass__polygon_offset(const ParserAttributes & attributes,void ** attributeDataPtr,void ** validationDataPtr)59981 bool ColladaParserAutoGen14Private::_preBegin__profile_GLSL__technique__pass__polygon_offset( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
59982 {
59983 #ifdef GENERATEDSAXPARSER_VALIDATION
59984     if ( mValidate )
59985     {
59986 
59987         bool validationResult = _validateBegin__profile_GLSL__technique__pass__polygon_offset( attributes, attributeDataPtr, validationDataPtr );
59988         if ( !validationResult ) return false;
59989 
59990     } // validation
59991 #endif
59992 
59993 profile_GLSL__technique__pass__polygon_offset__AttributeData* attributeData = newData<profile_GLSL__technique__pass__polygon_offset__AttributeData>(attributeDataPtr);
59994 
59995 const ParserChar** attributeArray = attributes.attributes;
59996 if ( attributeArray )
59997 {
59998     while (true)
59999     {
60000         const ParserChar * attribute = *attributeArray;
60001         if ( !attribute )
60002             break;
60003         StringHash hash = GeneratedSaxParser::Utils::calculateStringHash(attribute);
60004         attributeArray++;
60005         if ( !attributeArray )
60006             return false;
60007         const ParserChar* attributeValue = *attributeArray;
60008         attributeArray++;
60009 
60010 
60011     switch ( hash )
60012     {
60013     case HASH_ATTRIBUTE_value:
60014     {
60015 bool failed;
60016 #ifdef GENERATEDSAXPARSER_VALIDATION
60017     if ( mValidate )
60018     {
60019 failed = !characterData2FloatList(attributeValue, attributeData->value, 0, HASH_ELEMENT_POLYGON_OFFSET, HASH_ATTRIBUTE_value);
60020     }
60021     else
60022     {
60023 failed = !characterData2FloatList(attributeValue, attributeData->value);
60024     }
60025 #else
60026     {
60027 failed = !characterData2FloatList(attributeValue, attributeData->value);
60028     } // validation
60029 #endif
60030 if ( failed && handleError(ParserError::SEVERITY_ERROR_NONCRITICAL,
60031         ParserError::ERROR_ATTRIBUTE_PARSING_FAILED,
60032         HASH_ELEMENT_POLYGON_OFFSET,
60033         HASH_ATTRIBUTE_value,
60034         attributeValue))
60035 {
60036     return false;
60037 }
60038 #ifdef GENERATEDSAXPARSER_VALIDATION
60039     if ( mValidate )
60040     {
60041     ParserError::ErrorType simpleTypeValidationResult = validate__float2(attributeData->value.data, attributeData->value.size);
60042     if (simpleTypeValidationResult != ParserError::SIMPLE_TYPE_VALIDATION_OK)
60043     {
60044         if( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL,
60045             simpleTypeValidationResult,
60046             HASH_ELEMENT_POLYGON_OFFSET,
60047             HASH_ATTRIBUTE_value,
60048             attributeValue) )
60049         {
60050             return false;
60051         }
60052     }
60053     } // validation
60054 #endif
60055 
60056 if ( !failed )
60057     attributeData->present_attributes |= profile_GLSL__technique__pass__polygon_offset__AttributeData::ATTRIBUTE_VALUE_PRESENT;
60058 
60059     break;
60060     }
60061     case HASH_ATTRIBUTE_param:
60062     {
60063 
60064 attributeData->param = attributeValue;
60065 #ifdef GENERATEDSAXPARSER_VALIDATION
60066     if ( mValidate )
60067     {
60068     ParserError::ErrorType simpleTypeValidationResult = validate__NCName(attributeData->param, strlen(attributeData->param));
60069     if (simpleTypeValidationResult != ParserError::SIMPLE_TYPE_VALIDATION_OK)
60070     {
60071         if( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL,
60072             simpleTypeValidationResult,
60073             HASH_ELEMENT_POLYGON_OFFSET,
60074             HASH_ATTRIBUTE_param,
60075             attributeValue) )
60076         {
60077             return false;
60078         }
60079     }
60080     } // validation
60081 #endif
60082 
60083     break;
60084     }
60085     default:
60086     {
60087         if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_UNKNOWN_ATTRIBUTE, HASH_ELEMENT_POLYGON_OFFSET, attribute, attributeValue))
60088             {return false;}
60089     }
60090     }
60091     }
60092 }
60093 if ((attributeData->present_attributes & profile_GLSL__technique__pass__polygon_offset__AttributeData::ATTRIBUTE_VALUE_PRESENT) == 0)
60094 {
60095     bool failed;
60096     failed = !characterData2FloatList("0.0E1 0.0E1", attributeData->value);
60097     if ( !failed )
60098     attributeData->present_attributes |= profile_GLSL__technique__pass__polygon_offset__AttributeData::ATTRIBUTE_VALUE_PRESENT;
60099 }
60100 
60101 
60102     return true;
60103 }
60104 
60105 //---------------------------------------------------------------------
_preEnd__profile_GLSL__technique__pass__polygon_offset()60106 bool ColladaParserAutoGen14Private::_preEnd__profile_GLSL__technique__pass__polygon_offset()
60107 {
60108 #ifdef GENERATEDSAXPARSER_VALIDATION
60109     if ( mValidate )
60110     {
60111 
60112         bool validationResult = _validateEnd__profile_GLSL__technique__pass__polygon_offset();
60113         if ( !validationResult ) return false;
60114 
60115     } // validation
60116 #endif
60117 
60118     return true;
60119 }
60120 
60121 //---------------------------------------------------------------------
_freeAttributes__profile_GLSL__technique__pass__polygon_offset(void * attributeData)60122 bool ColladaParserAutoGen14Private::_freeAttributes__profile_GLSL__technique__pass__polygon_offset( void* attributeData )
60123 {
60124     profile_GLSL__technique__pass__polygon_offset__AttributeData* typedAttributeData = static_cast<profile_GLSL__technique__pass__polygon_offset__AttributeData*>(attributeData);
60125     if (typedAttributeData->value.data)
60126     {
60127         mStackMemoryManager.deleteObject();
60128     }
60129 
60130 
60131     typedAttributeData->~profile_GLSL__technique__pass__polygon_offset__AttributeData();
60132 
60133     return true;
60134 }
60135 
60136 //---------------------------------------------------------------------
60137 const profile_GLSL__technique__pass__projection_matrix__AttributeData profile_GLSL__technique__pass__projection_matrix__AttributeData::DEFAULT = {0, GeneratedSaxParser::XSList<float>(), 0};
60138 
60139 //---------------------------------------------------------------------
_data__profile_GLSL__technique__pass__projection_matrix(const ParserChar * text,size_t textLength)60140 bool ColladaParserAutoGen14Private::_data__profile_GLSL__technique__pass__projection_matrix( const ParserChar* text, size_t textLength )
60141 {
60142     return true;
60143 }
60144 
60145 //---------------------------------------------------------------------
_preBegin__profile_GLSL__technique__pass__projection_matrix(const ParserAttributes & attributes,void ** attributeDataPtr,void ** validationDataPtr)60146 bool ColladaParserAutoGen14Private::_preBegin__profile_GLSL__technique__pass__projection_matrix( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
60147 {
60148 #ifdef GENERATEDSAXPARSER_VALIDATION
60149     if ( mValidate )
60150     {
60151 
60152         bool validationResult = _validateBegin__profile_GLSL__technique__pass__projection_matrix( attributes, attributeDataPtr, validationDataPtr );
60153         if ( !validationResult ) return false;
60154 
60155     } // validation
60156 #endif
60157 
60158 profile_GLSL__technique__pass__projection_matrix__AttributeData* attributeData = newData<profile_GLSL__technique__pass__projection_matrix__AttributeData>(attributeDataPtr);
60159 
60160 const ParserChar** attributeArray = attributes.attributes;
60161 if ( attributeArray )
60162 {
60163     while (true)
60164     {
60165         const ParserChar * attribute = *attributeArray;
60166         if ( !attribute )
60167             break;
60168         StringHash hash = GeneratedSaxParser::Utils::calculateStringHash(attribute);
60169         attributeArray++;
60170         if ( !attributeArray )
60171             return false;
60172         const ParserChar* attributeValue = *attributeArray;
60173         attributeArray++;
60174 
60175 
60176     switch ( hash )
60177     {
60178     case HASH_ATTRIBUTE_value:
60179     {
60180 bool failed;
60181 #ifdef GENERATEDSAXPARSER_VALIDATION
60182     if ( mValidate )
60183     {
60184 failed = !characterData2FloatList(attributeValue, attributeData->value, 0, HASH_ELEMENT_PROJECTION_MATRIX, HASH_ATTRIBUTE_value);
60185     }
60186     else
60187     {
60188 failed = !characterData2FloatList(attributeValue, attributeData->value);
60189     }
60190 #else
60191     {
60192 failed = !characterData2FloatList(attributeValue, attributeData->value);
60193     } // validation
60194 #endif
60195 if ( failed && handleError(ParserError::SEVERITY_ERROR_NONCRITICAL,
60196         ParserError::ERROR_ATTRIBUTE_PARSING_FAILED,
60197         HASH_ELEMENT_PROJECTION_MATRIX,
60198         HASH_ATTRIBUTE_value,
60199         attributeValue))
60200 {
60201     return false;
60202 }
60203 #ifdef GENERATEDSAXPARSER_VALIDATION
60204     if ( mValidate )
60205     {
60206     ParserError::ErrorType simpleTypeValidationResult = validate__float4x4(attributeData->value.data, attributeData->value.size);
60207     if (simpleTypeValidationResult != ParserError::SIMPLE_TYPE_VALIDATION_OK)
60208     {
60209         if( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL,
60210             simpleTypeValidationResult,
60211             HASH_ELEMENT_PROJECTION_MATRIX,
60212             HASH_ATTRIBUTE_value,
60213             attributeValue) )
60214         {
60215             return false;
60216         }
60217     }
60218     } // validation
60219 #endif
60220 
60221 if ( !failed )
60222     attributeData->present_attributes |= profile_GLSL__technique__pass__projection_matrix__AttributeData::ATTRIBUTE_VALUE_PRESENT;
60223 
60224     break;
60225     }
60226     case HASH_ATTRIBUTE_param:
60227     {
60228 
60229 attributeData->param = attributeValue;
60230 #ifdef GENERATEDSAXPARSER_VALIDATION
60231     if ( mValidate )
60232     {
60233     ParserError::ErrorType simpleTypeValidationResult = validate__NCName(attributeData->param, strlen(attributeData->param));
60234     if (simpleTypeValidationResult != ParserError::SIMPLE_TYPE_VALIDATION_OK)
60235     {
60236         if( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL,
60237             simpleTypeValidationResult,
60238             HASH_ELEMENT_PROJECTION_MATRIX,
60239             HASH_ATTRIBUTE_param,
60240             attributeValue) )
60241         {
60242             return false;
60243         }
60244     }
60245     } // validation
60246 #endif
60247 
60248     break;
60249     }
60250     default:
60251     {
60252         if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_UNKNOWN_ATTRIBUTE, HASH_ELEMENT_PROJECTION_MATRIX, attribute, attributeValue))
60253             {return false;}
60254     }
60255     }
60256     }
60257 }
60258 if ((attributeData->present_attributes & profile_GLSL__technique__pass__projection_matrix__AttributeData::ATTRIBUTE_VALUE_PRESENT) == 0)
60259 {
60260     bool failed;
60261     failed = !characterData2FloatList("1.0E0 0.0E1 0.0E1 0.0E1 0.0E1 1.0E0 0.0E1 0.0E1 0.0E1 0.0E1 1.0E0 0.0E1 0.0E1 0.0E1 0.0E1 1.0E0", attributeData->value);
60262     if ( !failed )
60263     attributeData->present_attributes |= profile_GLSL__technique__pass__projection_matrix__AttributeData::ATTRIBUTE_VALUE_PRESENT;
60264 }
60265 
60266 
60267     return true;
60268 }
60269 
60270 //---------------------------------------------------------------------
_preEnd__profile_GLSL__technique__pass__projection_matrix()60271 bool ColladaParserAutoGen14Private::_preEnd__profile_GLSL__technique__pass__projection_matrix()
60272 {
60273 #ifdef GENERATEDSAXPARSER_VALIDATION
60274     if ( mValidate )
60275     {
60276 
60277         bool validationResult = _validateEnd__profile_GLSL__technique__pass__projection_matrix();
60278         if ( !validationResult ) return false;
60279 
60280     } // validation
60281 #endif
60282 
60283     return true;
60284 }
60285 
60286 //---------------------------------------------------------------------
_freeAttributes__profile_GLSL__technique__pass__projection_matrix(void * attributeData)60287 bool ColladaParserAutoGen14Private::_freeAttributes__profile_GLSL__technique__pass__projection_matrix( void* attributeData )
60288 {
60289     profile_GLSL__technique__pass__projection_matrix__AttributeData* typedAttributeData = static_cast<profile_GLSL__technique__pass__projection_matrix__AttributeData*>(attributeData);
60290     if (typedAttributeData->value.data)
60291     {
60292         mStackMemoryManager.deleteObject();
60293     }
60294 
60295 
60296     typedAttributeData->~profile_GLSL__technique__pass__projection_matrix__AttributeData();
60297 
60298     return true;
60299 }
60300 
60301 //---------------------------------------------------------------------
60302 const profile_GLSL__technique__pass__scissor__AttributeData profile_GLSL__technique__pass__scissor__AttributeData::DEFAULT = {0, GeneratedSaxParser::XSList<sint64>(), 0};
60303 
60304 //---------------------------------------------------------------------
_data__profile_GLSL__technique__pass__scissor(const ParserChar * text,size_t textLength)60305 bool ColladaParserAutoGen14Private::_data__profile_GLSL__technique__pass__scissor( const ParserChar* text, size_t textLength )
60306 {
60307     return true;
60308 }
60309 
60310 //---------------------------------------------------------------------
_preBegin__profile_GLSL__technique__pass__scissor(const ParserAttributes & attributes,void ** attributeDataPtr,void ** validationDataPtr)60311 bool ColladaParserAutoGen14Private::_preBegin__profile_GLSL__technique__pass__scissor( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
60312 {
60313 #ifdef GENERATEDSAXPARSER_VALIDATION
60314     if ( mValidate )
60315     {
60316 
60317         bool validationResult = _validateBegin__profile_GLSL__technique__pass__scissor( attributes, attributeDataPtr, validationDataPtr );
60318         if ( !validationResult ) return false;
60319 
60320     } // validation
60321 #endif
60322 
60323 profile_GLSL__technique__pass__scissor__AttributeData* attributeData = newData<profile_GLSL__technique__pass__scissor__AttributeData>(attributeDataPtr);
60324 
60325 const ParserChar** attributeArray = attributes.attributes;
60326 if ( attributeArray )
60327 {
60328     while (true)
60329     {
60330         const ParserChar * attribute = *attributeArray;
60331         if ( !attribute )
60332             break;
60333         StringHash hash = GeneratedSaxParser::Utils::calculateStringHash(attribute);
60334         attributeArray++;
60335         if ( !attributeArray )
60336             return false;
60337         const ParserChar* attributeValue = *attributeArray;
60338         attributeArray++;
60339 
60340 
60341     switch ( hash )
60342     {
60343     case HASH_ATTRIBUTE_value:
60344     {
60345 bool failed;
60346 #ifdef GENERATEDSAXPARSER_VALIDATION
60347     if ( mValidate )
60348     {
60349 failed = !characterData2Sint64List(attributeValue, attributeData->value, 0, HASH_ELEMENT_SCISSOR, HASH_ATTRIBUTE_value);
60350     }
60351     else
60352     {
60353 failed = !characterData2Sint64List(attributeValue, attributeData->value);
60354     }
60355 #else
60356     {
60357 failed = !characterData2Sint64List(attributeValue, attributeData->value);
60358     } // validation
60359 #endif
60360 if ( failed && handleError(ParserError::SEVERITY_ERROR_NONCRITICAL,
60361         ParserError::ERROR_ATTRIBUTE_PARSING_FAILED,
60362         HASH_ELEMENT_SCISSOR,
60363         HASH_ATTRIBUTE_value,
60364         attributeValue))
60365 {
60366     return false;
60367 }
60368 #ifdef GENERATEDSAXPARSER_VALIDATION
60369     if ( mValidate )
60370     {
60371     ParserError::ErrorType simpleTypeValidationResult = validate__int4(attributeData->value.data, attributeData->value.size);
60372     if (simpleTypeValidationResult != ParserError::SIMPLE_TYPE_VALIDATION_OK)
60373     {
60374         if( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL,
60375             simpleTypeValidationResult,
60376             HASH_ELEMENT_SCISSOR,
60377             HASH_ATTRIBUTE_value,
60378             attributeValue) )
60379         {
60380             return false;
60381         }
60382     }
60383     } // validation
60384 #endif
60385 
60386 if ( !failed )
60387     attributeData->present_attributes |= profile_GLSL__technique__pass__scissor__AttributeData::ATTRIBUTE_VALUE_PRESENT;
60388 
60389     break;
60390     }
60391     case HASH_ATTRIBUTE_param:
60392     {
60393 
60394 attributeData->param = attributeValue;
60395 #ifdef GENERATEDSAXPARSER_VALIDATION
60396     if ( mValidate )
60397     {
60398     ParserError::ErrorType simpleTypeValidationResult = validate__NCName(attributeData->param, strlen(attributeData->param));
60399     if (simpleTypeValidationResult != ParserError::SIMPLE_TYPE_VALIDATION_OK)
60400     {
60401         if( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL,
60402             simpleTypeValidationResult,
60403             HASH_ELEMENT_SCISSOR,
60404             HASH_ATTRIBUTE_param,
60405             attributeValue) )
60406         {
60407             return false;
60408         }
60409     }
60410     } // validation
60411 #endif
60412 
60413     break;
60414     }
60415     default:
60416     {
60417         if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_UNKNOWN_ATTRIBUTE, HASH_ELEMENT_SCISSOR, attribute, attributeValue))
60418             {return false;}
60419     }
60420     }
60421     }
60422 }
60423 if ((attributeData->present_attributes & profile_GLSL__technique__pass__scissor__AttributeData::ATTRIBUTE_VALUE_PRESENT) == 0)
60424 {
60425     attributeData->value = GeneratedSaxParser::XSList<sint64>();
60426 }
60427 
60428 
60429     return true;
60430 }
60431 
60432 //---------------------------------------------------------------------
_preEnd__profile_GLSL__technique__pass__scissor()60433 bool ColladaParserAutoGen14Private::_preEnd__profile_GLSL__technique__pass__scissor()
60434 {
60435 #ifdef GENERATEDSAXPARSER_VALIDATION
60436     if ( mValidate )
60437     {
60438 
60439         bool validationResult = _validateEnd__profile_GLSL__technique__pass__scissor();
60440         if ( !validationResult ) return false;
60441 
60442     } // validation
60443 #endif
60444 
60445     return true;
60446 }
60447 
60448 //---------------------------------------------------------------------
_freeAttributes__profile_GLSL__technique__pass__scissor(void * attributeData)60449 bool ColladaParserAutoGen14Private::_freeAttributes__profile_GLSL__technique__pass__scissor( void* attributeData )
60450 {
60451     profile_GLSL__technique__pass__scissor__AttributeData* typedAttributeData = static_cast<profile_GLSL__technique__pass__scissor__AttributeData*>(attributeData);
60452     if (typedAttributeData->value.data)
60453     {
60454         mStackMemoryManager.deleteObject();
60455     }
60456 
60457 
60458     typedAttributeData->~profile_GLSL__technique__pass__scissor__AttributeData();
60459 
60460     return true;
60461 }
60462 
60463 //---------------------------------------------------------------------
60464 const profile_GLSL__technique__pass__stencil_mask__AttributeData profile_GLSL__technique__pass__stencil_mask__AttributeData::DEFAULT = {4294967295ULL, 0};
60465 
60466 //---------------------------------------------------------------------
_data__profile_GLSL__technique__pass__stencil_mask(const ParserChar * text,size_t textLength)60467 bool ColladaParserAutoGen14Private::_data__profile_GLSL__technique__pass__stencil_mask( const ParserChar* text, size_t textLength )
60468 {
60469     return true;
60470 }
60471 
60472 //---------------------------------------------------------------------
_preBegin__profile_GLSL__technique__pass__stencil_mask(const ParserAttributes & attributes,void ** attributeDataPtr,void ** validationDataPtr)60473 bool ColladaParserAutoGen14Private::_preBegin__profile_GLSL__technique__pass__stencil_mask( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
60474 {
60475 #ifdef GENERATEDSAXPARSER_VALIDATION
60476     if ( mValidate )
60477     {
60478 
60479         bool validationResult = _validateBegin__profile_GLSL__technique__pass__stencil_mask( attributes, attributeDataPtr, validationDataPtr );
60480         if ( !validationResult ) return false;
60481 
60482     } // validation
60483 #endif
60484 
60485 profile_GLSL__technique__pass__stencil_mask__AttributeData* attributeData = newData<profile_GLSL__technique__pass__stencil_mask__AttributeData>(attributeDataPtr);
60486 
60487 const ParserChar** attributeArray = attributes.attributes;
60488 if ( attributeArray )
60489 {
60490     while (true)
60491     {
60492         const ParserChar * attribute = *attributeArray;
60493         if ( !attribute )
60494             break;
60495         StringHash hash = GeneratedSaxParser::Utils::calculateStringHash(attribute);
60496         attributeArray++;
60497         if ( !attributeArray )
60498             return false;
60499         const ParserChar* attributeValue = *attributeArray;
60500         attributeArray++;
60501 
60502 
60503     switch ( hash )
60504     {
60505     case HASH_ATTRIBUTE_value:
60506     {
60507 bool failed;
60508 attributeData->value = GeneratedSaxParser::Utils::toSint64(attributeValue, failed);
60509 if ( failed && handleError(ParserError::SEVERITY_ERROR_NONCRITICAL,
60510         ParserError::ERROR_ATTRIBUTE_PARSING_FAILED,
60511         HASH_ELEMENT_STENCIL_MASK,
60512         HASH_ATTRIBUTE_value,
60513         attributeValue))
60514 {
60515     return false;
60516 }
60517 
60518     break;
60519     }
60520     case HASH_ATTRIBUTE_param:
60521     {
60522 
60523 attributeData->param = attributeValue;
60524 #ifdef GENERATEDSAXPARSER_VALIDATION
60525     if ( mValidate )
60526     {
60527     ParserError::ErrorType simpleTypeValidationResult = validate__NCName(attributeData->param, strlen(attributeData->param));
60528     if (simpleTypeValidationResult != ParserError::SIMPLE_TYPE_VALIDATION_OK)
60529     {
60530         if( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL,
60531             simpleTypeValidationResult,
60532             HASH_ELEMENT_STENCIL_MASK,
60533             HASH_ATTRIBUTE_param,
60534             attributeValue) )
60535         {
60536             return false;
60537         }
60538     }
60539     } // validation
60540 #endif
60541 
60542     break;
60543     }
60544     default:
60545     {
60546         if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_UNKNOWN_ATTRIBUTE, HASH_ELEMENT_STENCIL_MASK, attribute, attributeValue))
60547             {return false;}
60548     }
60549     }
60550     }
60551 }
60552 
60553 
60554     return true;
60555 }
60556 
60557 //---------------------------------------------------------------------
_preEnd__profile_GLSL__technique__pass__stencil_mask()60558 bool ColladaParserAutoGen14Private::_preEnd__profile_GLSL__technique__pass__stencil_mask()
60559 {
60560 #ifdef GENERATEDSAXPARSER_VALIDATION
60561     if ( mValidate )
60562     {
60563 
60564         bool validationResult = _validateEnd__profile_GLSL__technique__pass__stencil_mask();
60565         if ( !validationResult ) return false;
60566 
60567     } // validation
60568 #endif
60569 
60570     return true;
60571 }
60572 
60573 //---------------------------------------------------------------------
_freeAttributes__profile_GLSL__technique__pass__stencil_mask(void * attributeData)60574 bool ColladaParserAutoGen14Private::_freeAttributes__profile_GLSL__technique__pass__stencil_mask( void* attributeData )
60575 {
60576     profile_GLSL__technique__pass__stencil_mask__AttributeData* typedAttributeData = static_cast<profile_GLSL__technique__pass__stencil_mask__AttributeData*>(attributeData);
60577 
60578     typedAttributeData->~profile_GLSL__technique__pass__stencil_mask__AttributeData();
60579 
60580     return true;
60581 }
60582 
60583 //---------------------------------------------------------------------
60584 const profile_GLSL__technique__pass__alpha_test_enable__AttributeData profile_GLSL__technique__pass__alpha_test_enable__AttributeData::DEFAULT = {false, 0};
60585 
60586 //---------------------------------------------------------------------
_data__profile_GLSL__technique__pass__alpha_test_enable(const ParserChar * text,size_t textLength)60587 bool ColladaParserAutoGen14Private::_data__profile_GLSL__technique__pass__alpha_test_enable( const ParserChar* text, size_t textLength )
60588 {
60589     return true;
60590 }
60591 
60592 //---------------------------------------------------------------------
_preBegin__profile_GLSL__technique__pass__alpha_test_enable(const ParserAttributes & attributes,void ** attributeDataPtr,void ** validationDataPtr)60593 bool ColladaParserAutoGen14Private::_preBegin__profile_GLSL__technique__pass__alpha_test_enable( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
60594 {
60595 #ifdef GENERATEDSAXPARSER_VALIDATION
60596     if ( mValidate )
60597     {
60598 
60599         bool validationResult = _validateBegin__profile_GLSL__technique__pass__alpha_test_enable( attributes, attributeDataPtr, validationDataPtr );
60600         if ( !validationResult ) return false;
60601 
60602     } // validation
60603 #endif
60604 
60605 profile_GLSL__technique__pass__alpha_test_enable__AttributeData* attributeData = newData<profile_GLSL__technique__pass__alpha_test_enable__AttributeData>(attributeDataPtr);
60606 
60607 const ParserChar** attributeArray = attributes.attributes;
60608 if ( attributeArray )
60609 {
60610     while (true)
60611     {
60612         const ParserChar * attribute = *attributeArray;
60613         if ( !attribute )
60614             break;
60615         StringHash hash = GeneratedSaxParser::Utils::calculateStringHash(attribute);
60616         attributeArray++;
60617         if ( !attributeArray )
60618             return false;
60619         const ParserChar* attributeValue = *attributeArray;
60620         attributeArray++;
60621 
60622 
60623     switch ( hash )
60624     {
60625     case HASH_ATTRIBUTE_value:
60626     {
60627 bool failed;
60628 attributeData->value = GeneratedSaxParser::Utils::toBool(attributeValue, failed);
60629 if ( failed && handleError(ParserError::SEVERITY_ERROR_NONCRITICAL,
60630         ParserError::ERROR_ATTRIBUTE_PARSING_FAILED,
60631         HASH_ELEMENT_ALPHA_TEST_ENABLE,
60632         HASH_ATTRIBUTE_value,
60633         attributeValue))
60634 {
60635     return false;
60636 }
60637 
60638     break;
60639     }
60640     case HASH_ATTRIBUTE_param:
60641     {
60642 
60643 attributeData->param = attributeValue;
60644 #ifdef GENERATEDSAXPARSER_VALIDATION
60645     if ( mValidate )
60646     {
60647     ParserError::ErrorType simpleTypeValidationResult = validate__NCName(attributeData->param, strlen(attributeData->param));
60648     if (simpleTypeValidationResult != ParserError::SIMPLE_TYPE_VALIDATION_OK)
60649     {
60650         if( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL,
60651             simpleTypeValidationResult,
60652             HASH_ELEMENT_ALPHA_TEST_ENABLE,
60653             HASH_ATTRIBUTE_param,
60654             attributeValue) )
60655         {
60656             return false;
60657         }
60658     }
60659     } // validation
60660 #endif
60661 
60662     break;
60663     }
60664     default:
60665     {
60666         if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_UNKNOWN_ATTRIBUTE, HASH_ELEMENT_ALPHA_TEST_ENABLE, attribute, attributeValue))
60667             {return false;}
60668     }
60669     }
60670     }
60671 }
60672 
60673 
60674     return true;
60675 }
60676 
60677 //---------------------------------------------------------------------
_preEnd__profile_GLSL__technique__pass__alpha_test_enable()60678 bool ColladaParserAutoGen14Private::_preEnd__profile_GLSL__technique__pass__alpha_test_enable()
60679 {
60680 #ifdef GENERATEDSAXPARSER_VALIDATION
60681     if ( mValidate )
60682     {
60683 
60684         bool validationResult = _validateEnd__profile_GLSL__technique__pass__alpha_test_enable();
60685         if ( !validationResult ) return false;
60686 
60687     } // validation
60688 #endif
60689 
60690     return true;
60691 }
60692 
60693 //---------------------------------------------------------------------
_freeAttributes__profile_GLSL__technique__pass__alpha_test_enable(void * attributeData)60694 bool ColladaParserAutoGen14Private::_freeAttributes__profile_GLSL__technique__pass__alpha_test_enable( void* attributeData )
60695 {
60696     profile_GLSL__technique__pass__alpha_test_enable__AttributeData* typedAttributeData = static_cast<profile_GLSL__technique__pass__alpha_test_enable__AttributeData*>(attributeData);
60697 
60698     typedAttributeData->~profile_GLSL__technique__pass__alpha_test_enable__AttributeData();
60699 
60700     return true;
60701 }
60702 
60703 //---------------------------------------------------------------------
60704 const auto_normal_enable__AttributeData auto_normal_enable__AttributeData::DEFAULT = {false, 0};
60705 
60706 //---------------------------------------------------------------------
_data__auto_normal_enable(const ParserChar * text,size_t textLength)60707 bool ColladaParserAutoGen14Private::_data__auto_normal_enable( const ParserChar* text, size_t textLength )
60708 {
60709     return true;
60710 }
60711 
60712 //---------------------------------------------------------------------
_preBegin__auto_normal_enable(const ParserAttributes & attributes,void ** attributeDataPtr,void ** validationDataPtr)60713 bool ColladaParserAutoGen14Private::_preBegin__auto_normal_enable( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
60714 {
60715 #ifdef GENERATEDSAXPARSER_VALIDATION
60716     if ( mValidate )
60717     {
60718 
60719         bool validationResult = _validateBegin__auto_normal_enable( attributes, attributeDataPtr, validationDataPtr );
60720         if ( !validationResult ) return false;
60721 
60722     } // validation
60723 #endif
60724 
60725 auto_normal_enable__AttributeData* attributeData = newData<auto_normal_enable__AttributeData>(attributeDataPtr);
60726 
60727 const ParserChar** attributeArray = attributes.attributes;
60728 if ( attributeArray )
60729 {
60730     while (true)
60731     {
60732         const ParserChar * attribute = *attributeArray;
60733         if ( !attribute )
60734             break;
60735         StringHash hash = GeneratedSaxParser::Utils::calculateStringHash(attribute);
60736         attributeArray++;
60737         if ( !attributeArray )
60738             return false;
60739         const ParserChar* attributeValue = *attributeArray;
60740         attributeArray++;
60741 
60742 
60743     switch ( hash )
60744     {
60745     case HASH_ATTRIBUTE_value:
60746     {
60747 bool failed;
60748 attributeData->value = GeneratedSaxParser::Utils::toBool(attributeValue, failed);
60749 if ( failed && handleError(ParserError::SEVERITY_ERROR_NONCRITICAL,
60750         ParserError::ERROR_ATTRIBUTE_PARSING_FAILED,
60751         HASH_ELEMENT_AUTO_NORMAL_ENABLE,
60752         HASH_ATTRIBUTE_value,
60753         attributeValue))
60754 {
60755     return false;
60756 }
60757 
60758     break;
60759     }
60760     case HASH_ATTRIBUTE_param:
60761     {
60762 
60763 attributeData->param = attributeValue;
60764 #ifdef GENERATEDSAXPARSER_VALIDATION
60765     if ( mValidate )
60766     {
60767     ParserError::ErrorType simpleTypeValidationResult = validate__NCName(attributeData->param, strlen(attributeData->param));
60768     if (simpleTypeValidationResult != ParserError::SIMPLE_TYPE_VALIDATION_OK)
60769     {
60770         if( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL,
60771             simpleTypeValidationResult,
60772             HASH_ELEMENT_AUTO_NORMAL_ENABLE,
60773             HASH_ATTRIBUTE_param,
60774             attributeValue) )
60775         {
60776             return false;
60777         }
60778     }
60779     } // validation
60780 #endif
60781 
60782     break;
60783     }
60784     default:
60785     {
60786         if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_UNKNOWN_ATTRIBUTE, HASH_ELEMENT_AUTO_NORMAL_ENABLE, attribute, attributeValue))
60787             {return false;}
60788     }
60789     }
60790     }
60791 }
60792 
60793 
60794     return true;
60795 }
60796 
60797 //---------------------------------------------------------------------
_preEnd__auto_normal_enable()60798 bool ColladaParserAutoGen14Private::_preEnd__auto_normal_enable()
60799 {
60800 #ifdef GENERATEDSAXPARSER_VALIDATION
60801     if ( mValidate )
60802     {
60803 
60804         bool validationResult = _validateEnd__auto_normal_enable();
60805         if ( !validationResult ) return false;
60806 
60807     } // validation
60808 #endif
60809 
60810     return true;
60811 }
60812 
60813 //---------------------------------------------------------------------
_freeAttributes__auto_normal_enable(void * attributeData)60814 bool ColladaParserAutoGen14Private::_freeAttributes__auto_normal_enable( void* attributeData )
60815 {
60816     auto_normal_enable__AttributeData* typedAttributeData = static_cast<auto_normal_enable__AttributeData*>(attributeData);
60817 
60818     typedAttributeData->~auto_normal_enable__AttributeData();
60819 
60820     return true;
60821 }
60822 
60823 //---------------------------------------------------------------------
60824 const profile_GLSL__technique__pass__blend_enable__AttributeData profile_GLSL__technique__pass__blend_enable__AttributeData::DEFAULT = {false, 0};
60825 
60826 //---------------------------------------------------------------------
_data__profile_GLSL__technique__pass__blend_enable(const ParserChar * text,size_t textLength)60827 bool ColladaParserAutoGen14Private::_data__profile_GLSL__technique__pass__blend_enable( const ParserChar* text, size_t textLength )
60828 {
60829     return true;
60830 }
60831 
60832 //---------------------------------------------------------------------
_preBegin__profile_GLSL__technique__pass__blend_enable(const ParserAttributes & attributes,void ** attributeDataPtr,void ** validationDataPtr)60833 bool ColladaParserAutoGen14Private::_preBegin__profile_GLSL__technique__pass__blend_enable( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
60834 {
60835 #ifdef GENERATEDSAXPARSER_VALIDATION
60836     if ( mValidate )
60837     {
60838 
60839         bool validationResult = _validateBegin__profile_GLSL__technique__pass__blend_enable( attributes, attributeDataPtr, validationDataPtr );
60840         if ( !validationResult ) return false;
60841 
60842     } // validation
60843 #endif
60844 
60845 profile_GLSL__technique__pass__blend_enable__AttributeData* attributeData = newData<profile_GLSL__technique__pass__blend_enable__AttributeData>(attributeDataPtr);
60846 
60847 const ParserChar** attributeArray = attributes.attributes;
60848 if ( attributeArray )
60849 {
60850     while (true)
60851     {
60852         const ParserChar * attribute = *attributeArray;
60853         if ( !attribute )
60854             break;
60855         StringHash hash = GeneratedSaxParser::Utils::calculateStringHash(attribute);
60856         attributeArray++;
60857         if ( !attributeArray )
60858             return false;
60859         const ParserChar* attributeValue = *attributeArray;
60860         attributeArray++;
60861 
60862 
60863     switch ( hash )
60864     {
60865     case HASH_ATTRIBUTE_value:
60866     {
60867 bool failed;
60868 attributeData->value = GeneratedSaxParser::Utils::toBool(attributeValue, failed);
60869 if ( failed && handleError(ParserError::SEVERITY_ERROR_NONCRITICAL,
60870         ParserError::ERROR_ATTRIBUTE_PARSING_FAILED,
60871         HASH_ELEMENT_BLEND_ENABLE,
60872         HASH_ATTRIBUTE_value,
60873         attributeValue))
60874 {
60875     return false;
60876 }
60877 
60878     break;
60879     }
60880     case HASH_ATTRIBUTE_param:
60881     {
60882 
60883 attributeData->param = attributeValue;
60884 #ifdef GENERATEDSAXPARSER_VALIDATION
60885     if ( mValidate )
60886     {
60887     ParserError::ErrorType simpleTypeValidationResult = validate__NCName(attributeData->param, strlen(attributeData->param));
60888     if (simpleTypeValidationResult != ParserError::SIMPLE_TYPE_VALIDATION_OK)
60889     {
60890         if( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL,
60891             simpleTypeValidationResult,
60892             HASH_ELEMENT_BLEND_ENABLE,
60893             HASH_ATTRIBUTE_param,
60894             attributeValue) )
60895         {
60896             return false;
60897         }
60898     }
60899     } // validation
60900 #endif
60901 
60902     break;
60903     }
60904     default:
60905     {
60906         if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_UNKNOWN_ATTRIBUTE, HASH_ELEMENT_BLEND_ENABLE, attribute, attributeValue))
60907             {return false;}
60908     }
60909     }
60910     }
60911 }
60912 
60913 
60914     return true;
60915 }
60916 
60917 //---------------------------------------------------------------------
_preEnd__profile_GLSL__technique__pass__blend_enable()60918 bool ColladaParserAutoGen14Private::_preEnd__profile_GLSL__technique__pass__blend_enable()
60919 {
60920 #ifdef GENERATEDSAXPARSER_VALIDATION
60921     if ( mValidate )
60922     {
60923 
60924         bool validationResult = _validateEnd__profile_GLSL__technique__pass__blend_enable();
60925         if ( !validationResult ) return false;
60926 
60927     } // validation
60928 #endif
60929 
60930     return true;
60931 }
60932 
60933 //---------------------------------------------------------------------
_freeAttributes__profile_GLSL__technique__pass__blend_enable(void * attributeData)60934 bool ColladaParserAutoGen14Private::_freeAttributes__profile_GLSL__technique__pass__blend_enable( void* attributeData )
60935 {
60936     profile_GLSL__technique__pass__blend_enable__AttributeData* typedAttributeData = static_cast<profile_GLSL__technique__pass__blend_enable__AttributeData*>(attributeData);
60937 
60938     typedAttributeData->~profile_GLSL__technique__pass__blend_enable__AttributeData();
60939 
60940     return true;
60941 }
60942 
60943 //---------------------------------------------------------------------
60944 const profile_GLSL__technique__pass__color_logic_op_enable__AttributeData profile_GLSL__technique__pass__color_logic_op_enable__AttributeData::DEFAULT = {false, 0};
60945 
60946 //---------------------------------------------------------------------
_data__profile_GLSL__technique__pass__color_logic_op_enable(const ParserChar * text,size_t textLength)60947 bool ColladaParserAutoGen14Private::_data__profile_GLSL__technique__pass__color_logic_op_enable( const ParserChar* text, size_t textLength )
60948 {
60949     return true;
60950 }
60951 
60952 //---------------------------------------------------------------------
_preBegin__profile_GLSL__technique__pass__color_logic_op_enable(const ParserAttributes & attributes,void ** attributeDataPtr,void ** validationDataPtr)60953 bool ColladaParserAutoGen14Private::_preBegin__profile_GLSL__technique__pass__color_logic_op_enable( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
60954 {
60955 #ifdef GENERATEDSAXPARSER_VALIDATION
60956     if ( mValidate )
60957     {
60958 
60959         bool validationResult = _validateBegin__profile_GLSL__technique__pass__color_logic_op_enable( attributes, attributeDataPtr, validationDataPtr );
60960         if ( !validationResult ) return false;
60961 
60962     } // validation
60963 #endif
60964 
60965 profile_GLSL__technique__pass__color_logic_op_enable__AttributeData* attributeData = newData<profile_GLSL__technique__pass__color_logic_op_enable__AttributeData>(attributeDataPtr);
60966 
60967 const ParserChar** attributeArray = attributes.attributes;
60968 if ( attributeArray )
60969 {
60970     while (true)
60971     {
60972         const ParserChar * attribute = *attributeArray;
60973         if ( !attribute )
60974             break;
60975         StringHash hash = GeneratedSaxParser::Utils::calculateStringHash(attribute);
60976         attributeArray++;
60977         if ( !attributeArray )
60978             return false;
60979         const ParserChar* attributeValue = *attributeArray;
60980         attributeArray++;
60981 
60982 
60983     switch ( hash )
60984     {
60985     case HASH_ATTRIBUTE_value:
60986     {
60987 bool failed;
60988 attributeData->value = GeneratedSaxParser::Utils::toBool(attributeValue, failed);
60989 if ( failed && handleError(ParserError::SEVERITY_ERROR_NONCRITICAL,
60990         ParserError::ERROR_ATTRIBUTE_PARSING_FAILED,
60991         HASH_ELEMENT_COLOR_LOGIC_OP_ENABLE,
60992         HASH_ATTRIBUTE_value,
60993         attributeValue))
60994 {
60995     return false;
60996 }
60997 
60998     break;
60999     }
61000     case HASH_ATTRIBUTE_param:
61001     {
61002 
61003 attributeData->param = attributeValue;
61004 #ifdef GENERATEDSAXPARSER_VALIDATION
61005     if ( mValidate )
61006     {
61007     ParserError::ErrorType simpleTypeValidationResult = validate__NCName(attributeData->param, strlen(attributeData->param));
61008     if (simpleTypeValidationResult != ParserError::SIMPLE_TYPE_VALIDATION_OK)
61009     {
61010         if( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL,
61011             simpleTypeValidationResult,
61012             HASH_ELEMENT_COLOR_LOGIC_OP_ENABLE,
61013             HASH_ATTRIBUTE_param,
61014             attributeValue) )
61015         {
61016             return false;
61017         }
61018     }
61019     } // validation
61020 #endif
61021 
61022     break;
61023     }
61024     default:
61025     {
61026         if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_UNKNOWN_ATTRIBUTE, HASH_ELEMENT_COLOR_LOGIC_OP_ENABLE, attribute, attributeValue))
61027             {return false;}
61028     }
61029     }
61030     }
61031 }
61032 
61033 
61034     return true;
61035 }
61036 
61037 //---------------------------------------------------------------------
_preEnd__profile_GLSL__technique__pass__color_logic_op_enable()61038 bool ColladaParserAutoGen14Private::_preEnd__profile_GLSL__technique__pass__color_logic_op_enable()
61039 {
61040 #ifdef GENERATEDSAXPARSER_VALIDATION
61041     if ( mValidate )
61042     {
61043 
61044         bool validationResult = _validateEnd__profile_GLSL__technique__pass__color_logic_op_enable();
61045         if ( !validationResult ) return false;
61046 
61047     } // validation
61048 #endif
61049 
61050     return true;
61051 }
61052 
61053 //---------------------------------------------------------------------
_freeAttributes__profile_GLSL__technique__pass__color_logic_op_enable(void * attributeData)61054 bool ColladaParserAutoGen14Private::_freeAttributes__profile_GLSL__technique__pass__color_logic_op_enable( void* attributeData )
61055 {
61056     profile_GLSL__technique__pass__color_logic_op_enable__AttributeData* typedAttributeData = static_cast<profile_GLSL__technique__pass__color_logic_op_enable__AttributeData*>(attributeData);
61057 
61058     typedAttributeData->~profile_GLSL__technique__pass__color_logic_op_enable__AttributeData();
61059 
61060     return true;
61061 }
61062 
61063 //---------------------------------------------------------------------
61064 const profile_GLSL__technique__pass__color_material_enable__AttributeData profile_GLSL__technique__pass__color_material_enable__AttributeData::DEFAULT = {true, 0};
61065 
61066 //---------------------------------------------------------------------
_data__profile_GLSL__technique__pass__color_material_enable(const ParserChar * text,size_t textLength)61067 bool ColladaParserAutoGen14Private::_data__profile_GLSL__technique__pass__color_material_enable( const ParserChar* text, size_t textLength )
61068 {
61069     return true;
61070 }
61071 
61072 //---------------------------------------------------------------------
_preBegin__profile_GLSL__technique__pass__color_material_enable(const ParserAttributes & attributes,void ** attributeDataPtr,void ** validationDataPtr)61073 bool ColladaParserAutoGen14Private::_preBegin__profile_GLSL__technique__pass__color_material_enable( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
61074 {
61075 #ifdef GENERATEDSAXPARSER_VALIDATION
61076     if ( mValidate )
61077     {
61078 
61079         bool validationResult = _validateBegin__profile_GLSL__technique__pass__color_material_enable( attributes, attributeDataPtr, validationDataPtr );
61080         if ( !validationResult ) return false;
61081 
61082     } // validation
61083 #endif
61084 
61085 profile_GLSL__technique__pass__color_material_enable__AttributeData* attributeData = newData<profile_GLSL__technique__pass__color_material_enable__AttributeData>(attributeDataPtr);
61086 
61087 const ParserChar** attributeArray = attributes.attributes;
61088 if ( attributeArray )
61089 {
61090     while (true)
61091     {
61092         const ParserChar * attribute = *attributeArray;
61093         if ( !attribute )
61094             break;
61095         StringHash hash = GeneratedSaxParser::Utils::calculateStringHash(attribute);
61096         attributeArray++;
61097         if ( !attributeArray )
61098             return false;
61099         const ParserChar* attributeValue = *attributeArray;
61100         attributeArray++;
61101 
61102 
61103     switch ( hash )
61104     {
61105     case HASH_ATTRIBUTE_value:
61106     {
61107 bool failed;
61108 attributeData->value = GeneratedSaxParser::Utils::toBool(attributeValue, failed);
61109 if ( failed && handleError(ParserError::SEVERITY_ERROR_NONCRITICAL,
61110         ParserError::ERROR_ATTRIBUTE_PARSING_FAILED,
61111         HASH_ELEMENT_COLOR_MATERIAL_ENABLE,
61112         HASH_ATTRIBUTE_value,
61113         attributeValue))
61114 {
61115     return false;
61116 }
61117 
61118     break;
61119     }
61120     case HASH_ATTRIBUTE_param:
61121     {
61122 
61123 attributeData->param = attributeValue;
61124 #ifdef GENERATEDSAXPARSER_VALIDATION
61125     if ( mValidate )
61126     {
61127     ParserError::ErrorType simpleTypeValidationResult = validate__NCName(attributeData->param, strlen(attributeData->param));
61128     if (simpleTypeValidationResult != ParserError::SIMPLE_TYPE_VALIDATION_OK)
61129     {
61130         if( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL,
61131             simpleTypeValidationResult,
61132             HASH_ELEMENT_COLOR_MATERIAL_ENABLE,
61133             HASH_ATTRIBUTE_param,
61134             attributeValue) )
61135         {
61136             return false;
61137         }
61138     }
61139     } // validation
61140 #endif
61141 
61142     break;
61143     }
61144     default:
61145     {
61146         if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_UNKNOWN_ATTRIBUTE, HASH_ELEMENT_COLOR_MATERIAL_ENABLE, attribute, attributeValue))
61147             {return false;}
61148     }
61149     }
61150     }
61151 }
61152 
61153 
61154     return true;
61155 }
61156 
61157 //---------------------------------------------------------------------
_preEnd__profile_GLSL__technique__pass__color_material_enable()61158 bool ColladaParserAutoGen14Private::_preEnd__profile_GLSL__technique__pass__color_material_enable()
61159 {
61160 #ifdef GENERATEDSAXPARSER_VALIDATION
61161     if ( mValidate )
61162     {
61163 
61164         bool validationResult = _validateEnd__profile_GLSL__technique__pass__color_material_enable();
61165         if ( !validationResult ) return false;
61166 
61167     } // validation
61168 #endif
61169 
61170     return true;
61171 }
61172 
61173 //---------------------------------------------------------------------
_freeAttributes__profile_GLSL__technique__pass__color_material_enable(void * attributeData)61174 bool ColladaParserAutoGen14Private::_freeAttributes__profile_GLSL__technique__pass__color_material_enable( void* attributeData )
61175 {
61176     profile_GLSL__technique__pass__color_material_enable__AttributeData* typedAttributeData = static_cast<profile_GLSL__technique__pass__color_material_enable__AttributeData*>(attributeData);
61177 
61178     typedAttributeData->~profile_GLSL__technique__pass__color_material_enable__AttributeData();
61179 
61180     return true;
61181 }
61182 
61183 //---------------------------------------------------------------------
61184 const profile_GLSL__technique__pass__cull_face_enable__AttributeData profile_GLSL__technique__pass__cull_face_enable__AttributeData::DEFAULT = {false, 0};
61185 
61186 //---------------------------------------------------------------------
_data__profile_GLSL__technique__pass__cull_face_enable(const ParserChar * text,size_t textLength)61187 bool ColladaParserAutoGen14Private::_data__profile_GLSL__technique__pass__cull_face_enable( const ParserChar* text, size_t textLength )
61188 {
61189     return true;
61190 }
61191 
61192 //---------------------------------------------------------------------
_preBegin__profile_GLSL__technique__pass__cull_face_enable(const ParserAttributes & attributes,void ** attributeDataPtr,void ** validationDataPtr)61193 bool ColladaParserAutoGen14Private::_preBegin__profile_GLSL__technique__pass__cull_face_enable( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
61194 {
61195 #ifdef GENERATEDSAXPARSER_VALIDATION
61196     if ( mValidate )
61197     {
61198 
61199         bool validationResult = _validateBegin__profile_GLSL__technique__pass__cull_face_enable( attributes, attributeDataPtr, validationDataPtr );
61200         if ( !validationResult ) return false;
61201 
61202     } // validation
61203 #endif
61204 
61205 profile_GLSL__technique__pass__cull_face_enable__AttributeData* attributeData = newData<profile_GLSL__technique__pass__cull_face_enable__AttributeData>(attributeDataPtr);
61206 
61207 const ParserChar** attributeArray = attributes.attributes;
61208 if ( attributeArray )
61209 {
61210     while (true)
61211     {
61212         const ParserChar * attribute = *attributeArray;
61213         if ( !attribute )
61214             break;
61215         StringHash hash = GeneratedSaxParser::Utils::calculateStringHash(attribute);
61216         attributeArray++;
61217         if ( !attributeArray )
61218             return false;
61219         const ParserChar* attributeValue = *attributeArray;
61220         attributeArray++;
61221 
61222 
61223     switch ( hash )
61224     {
61225     case HASH_ATTRIBUTE_value:
61226     {
61227 bool failed;
61228 attributeData->value = GeneratedSaxParser::Utils::toBool(attributeValue, failed);
61229 if ( failed && handleError(ParserError::SEVERITY_ERROR_NONCRITICAL,
61230         ParserError::ERROR_ATTRIBUTE_PARSING_FAILED,
61231         HASH_ELEMENT_CULL_FACE_ENABLE,
61232         HASH_ATTRIBUTE_value,
61233         attributeValue))
61234 {
61235     return false;
61236 }
61237 
61238     break;
61239     }
61240     case HASH_ATTRIBUTE_param:
61241     {
61242 
61243 attributeData->param = attributeValue;
61244 #ifdef GENERATEDSAXPARSER_VALIDATION
61245     if ( mValidate )
61246     {
61247     ParserError::ErrorType simpleTypeValidationResult = validate__NCName(attributeData->param, strlen(attributeData->param));
61248     if (simpleTypeValidationResult != ParserError::SIMPLE_TYPE_VALIDATION_OK)
61249     {
61250         if( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL,
61251             simpleTypeValidationResult,
61252             HASH_ELEMENT_CULL_FACE_ENABLE,
61253             HASH_ATTRIBUTE_param,
61254             attributeValue) )
61255         {
61256             return false;
61257         }
61258     }
61259     } // validation
61260 #endif
61261 
61262     break;
61263     }
61264     default:
61265     {
61266         if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_UNKNOWN_ATTRIBUTE, HASH_ELEMENT_CULL_FACE_ENABLE, attribute, attributeValue))
61267             {return false;}
61268     }
61269     }
61270     }
61271 }
61272 
61273 
61274     return true;
61275 }
61276 
61277 //---------------------------------------------------------------------
_preEnd__profile_GLSL__technique__pass__cull_face_enable()61278 bool ColladaParserAutoGen14Private::_preEnd__profile_GLSL__technique__pass__cull_face_enable()
61279 {
61280 #ifdef GENERATEDSAXPARSER_VALIDATION
61281     if ( mValidate )
61282     {
61283 
61284         bool validationResult = _validateEnd__profile_GLSL__technique__pass__cull_face_enable();
61285         if ( !validationResult ) return false;
61286 
61287     } // validation
61288 #endif
61289 
61290     return true;
61291 }
61292 
61293 //---------------------------------------------------------------------
_freeAttributes__profile_GLSL__technique__pass__cull_face_enable(void * attributeData)61294 bool ColladaParserAutoGen14Private::_freeAttributes__profile_GLSL__technique__pass__cull_face_enable( void* attributeData )
61295 {
61296     profile_GLSL__technique__pass__cull_face_enable__AttributeData* typedAttributeData = static_cast<profile_GLSL__technique__pass__cull_face_enable__AttributeData*>(attributeData);
61297 
61298     typedAttributeData->~profile_GLSL__technique__pass__cull_face_enable__AttributeData();
61299 
61300     return true;
61301 }
61302 
61303 //---------------------------------------------------------------------
61304 const depth_bounds_enable__AttributeData depth_bounds_enable__AttributeData::DEFAULT = {false, 0};
61305 
61306 //---------------------------------------------------------------------
_data__depth_bounds_enable(const ParserChar * text,size_t textLength)61307 bool ColladaParserAutoGen14Private::_data__depth_bounds_enable( const ParserChar* text, size_t textLength )
61308 {
61309     return true;
61310 }
61311 
61312 //---------------------------------------------------------------------
_preBegin__depth_bounds_enable(const ParserAttributes & attributes,void ** attributeDataPtr,void ** validationDataPtr)61313 bool ColladaParserAutoGen14Private::_preBegin__depth_bounds_enable( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
61314 {
61315 #ifdef GENERATEDSAXPARSER_VALIDATION
61316     if ( mValidate )
61317     {
61318 
61319         bool validationResult = _validateBegin__depth_bounds_enable( attributes, attributeDataPtr, validationDataPtr );
61320         if ( !validationResult ) return false;
61321 
61322     } // validation
61323 #endif
61324 
61325 depth_bounds_enable__AttributeData* attributeData = newData<depth_bounds_enable__AttributeData>(attributeDataPtr);
61326 
61327 const ParserChar** attributeArray = attributes.attributes;
61328 if ( attributeArray )
61329 {
61330     while (true)
61331     {
61332         const ParserChar * attribute = *attributeArray;
61333         if ( !attribute )
61334             break;
61335         StringHash hash = GeneratedSaxParser::Utils::calculateStringHash(attribute);
61336         attributeArray++;
61337         if ( !attributeArray )
61338             return false;
61339         const ParserChar* attributeValue = *attributeArray;
61340         attributeArray++;
61341 
61342 
61343     switch ( hash )
61344     {
61345     case HASH_ATTRIBUTE_value:
61346     {
61347 bool failed;
61348 attributeData->value = GeneratedSaxParser::Utils::toBool(attributeValue, failed);
61349 if ( failed && handleError(ParserError::SEVERITY_ERROR_NONCRITICAL,
61350         ParserError::ERROR_ATTRIBUTE_PARSING_FAILED,
61351         HASH_ELEMENT_DEPTH_BOUNDS_ENABLE,
61352         HASH_ATTRIBUTE_value,
61353         attributeValue))
61354 {
61355     return false;
61356 }
61357 
61358     break;
61359     }
61360     case HASH_ATTRIBUTE_param:
61361     {
61362 
61363 attributeData->param = attributeValue;
61364 #ifdef GENERATEDSAXPARSER_VALIDATION
61365     if ( mValidate )
61366     {
61367     ParserError::ErrorType simpleTypeValidationResult = validate__NCName(attributeData->param, strlen(attributeData->param));
61368     if (simpleTypeValidationResult != ParserError::SIMPLE_TYPE_VALIDATION_OK)
61369     {
61370         if( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL,
61371             simpleTypeValidationResult,
61372             HASH_ELEMENT_DEPTH_BOUNDS_ENABLE,
61373             HASH_ATTRIBUTE_param,
61374             attributeValue) )
61375         {
61376             return false;
61377         }
61378     }
61379     } // validation
61380 #endif
61381 
61382     break;
61383     }
61384     default:
61385     {
61386         if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_UNKNOWN_ATTRIBUTE, HASH_ELEMENT_DEPTH_BOUNDS_ENABLE, attribute, attributeValue))
61387             {return false;}
61388     }
61389     }
61390     }
61391 }
61392 
61393 
61394     return true;
61395 }
61396 
61397 //---------------------------------------------------------------------
_preEnd__depth_bounds_enable()61398 bool ColladaParserAutoGen14Private::_preEnd__depth_bounds_enable()
61399 {
61400 #ifdef GENERATEDSAXPARSER_VALIDATION
61401     if ( mValidate )
61402     {
61403 
61404         bool validationResult = _validateEnd__depth_bounds_enable();
61405         if ( !validationResult ) return false;
61406 
61407     } // validation
61408 #endif
61409 
61410     return true;
61411 }
61412 
61413 //---------------------------------------------------------------------
_freeAttributes__depth_bounds_enable(void * attributeData)61414 bool ColladaParserAutoGen14Private::_freeAttributes__depth_bounds_enable( void* attributeData )
61415 {
61416     depth_bounds_enable__AttributeData* typedAttributeData = static_cast<depth_bounds_enable__AttributeData*>(attributeData);
61417 
61418     typedAttributeData->~depth_bounds_enable__AttributeData();
61419 
61420     return true;
61421 }
61422 
61423 //---------------------------------------------------------------------
61424 const depth_clamp_enable__AttributeData depth_clamp_enable__AttributeData::DEFAULT = {false, 0};
61425 
61426 //---------------------------------------------------------------------
_data__depth_clamp_enable(const ParserChar * text,size_t textLength)61427 bool ColladaParserAutoGen14Private::_data__depth_clamp_enable( const ParserChar* text, size_t textLength )
61428 {
61429     return true;
61430 }
61431 
61432 //---------------------------------------------------------------------
_preBegin__depth_clamp_enable(const ParserAttributes & attributes,void ** attributeDataPtr,void ** validationDataPtr)61433 bool ColladaParserAutoGen14Private::_preBegin__depth_clamp_enable( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
61434 {
61435 #ifdef GENERATEDSAXPARSER_VALIDATION
61436     if ( mValidate )
61437     {
61438 
61439         bool validationResult = _validateBegin__depth_clamp_enable( attributes, attributeDataPtr, validationDataPtr );
61440         if ( !validationResult ) return false;
61441 
61442     } // validation
61443 #endif
61444 
61445 depth_clamp_enable__AttributeData* attributeData = newData<depth_clamp_enable__AttributeData>(attributeDataPtr);
61446 
61447 const ParserChar** attributeArray = attributes.attributes;
61448 if ( attributeArray )
61449 {
61450     while (true)
61451     {
61452         const ParserChar * attribute = *attributeArray;
61453         if ( !attribute )
61454             break;
61455         StringHash hash = GeneratedSaxParser::Utils::calculateStringHash(attribute);
61456         attributeArray++;
61457         if ( !attributeArray )
61458             return false;
61459         const ParserChar* attributeValue = *attributeArray;
61460         attributeArray++;
61461 
61462 
61463     switch ( hash )
61464     {
61465     case HASH_ATTRIBUTE_value:
61466     {
61467 bool failed;
61468 attributeData->value = GeneratedSaxParser::Utils::toBool(attributeValue, failed);
61469 if ( failed && handleError(ParserError::SEVERITY_ERROR_NONCRITICAL,
61470         ParserError::ERROR_ATTRIBUTE_PARSING_FAILED,
61471         HASH_ELEMENT_DEPTH_CLAMP_ENABLE,
61472         HASH_ATTRIBUTE_value,
61473         attributeValue))
61474 {
61475     return false;
61476 }
61477 
61478     break;
61479     }
61480     case HASH_ATTRIBUTE_param:
61481     {
61482 
61483 attributeData->param = attributeValue;
61484 #ifdef GENERATEDSAXPARSER_VALIDATION
61485     if ( mValidate )
61486     {
61487     ParserError::ErrorType simpleTypeValidationResult = validate__NCName(attributeData->param, strlen(attributeData->param));
61488     if (simpleTypeValidationResult != ParserError::SIMPLE_TYPE_VALIDATION_OK)
61489     {
61490         if( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL,
61491             simpleTypeValidationResult,
61492             HASH_ELEMENT_DEPTH_CLAMP_ENABLE,
61493             HASH_ATTRIBUTE_param,
61494             attributeValue) )
61495         {
61496             return false;
61497         }
61498     }
61499     } // validation
61500 #endif
61501 
61502     break;
61503     }
61504     default:
61505     {
61506         if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_UNKNOWN_ATTRIBUTE, HASH_ELEMENT_DEPTH_CLAMP_ENABLE, attribute, attributeValue))
61507             {return false;}
61508     }
61509     }
61510     }
61511 }
61512 
61513 
61514     return true;
61515 }
61516 
61517 //---------------------------------------------------------------------
_preEnd__depth_clamp_enable()61518 bool ColladaParserAutoGen14Private::_preEnd__depth_clamp_enable()
61519 {
61520 #ifdef GENERATEDSAXPARSER_VALIDATION
61521     if ( mValidate )
61522     {
61523 
61524         bool validationResult = _validateEnd__depth_clamp_enable();
61525         if ( !validationResult ) return false;
61526 
61527     } // validation
61528 #endif
61529 
61530     return true;
61531 }
61532 
61533 //---------------------------------------------------------------------
_freeAttributes__depth_clamp_enable(void * attributeData)61534 bool ColladaParserAutoGen14Private::_freeAttributes__depth_clamp_enable( void* attributeData )
61535 {
61536     depth_clamp_enable__AttributeData* typedAttributeData = static_cast<depth_clamp_enable__AttributeData*>(attributeData);
61537 
61538     typedAttributeData->~depth_clamp_enable__AttributeData();
61539 
61540     return true;
61541 }
61542 
61543 //---------------------------------------------------------------------
61544 const profile_GLSL__technique__pass__depth_test_enable__AttributeData profile_GLSL__technique__pass__depth_test_enable__AttributeData::DEFAULT = {false, 0};
61545 
61546 //---------------------------------------------------------------------
_data__profile_GLSL__technique__pass__depth_test_enable(const ParserChar * text,size_t textLength)61547 bool ColladaParserAutoGen14Private::_data__profile_GLSL__technique__pass__depth_test_enable( const ParserChar* text, size_t textLength )
61548 {
61549     return true;
61550 }
61551 
61552 //---------------------------------------------------------------------
_preBegin__profile_GLSL__technique__pass__depth_test_enable(const ParserAttributes & attributes,void ** attributeDataPtr,void ** validationDataPtr)61553 bool ColladaParserAutoGen14Private::_preBegin__profile_GLSL__technique__pass__depth_test_enable( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
61554 {
61555 #ifdef GENERATEDSAXPARSER_VALIDATION
61556     if ( mValidate )
61557     {
61558 
61559         bool validationResult = _validateBegin__profile_GLSL__technique__pass__depth_test_enable( attributes, attributeDataPtr, validationDataPtr );
61560         if ( !validationResult ) return false;
61561 
61562     } // validation
61563 #endif
61564 
61565 profile_GLSL__technique__pass__depth_test_enable__AttributeData* attributeData = newData<profile_GLSL__technique__pass__depth_test_enable__AttributeData>(attributeDataPtr);
61566 
61567 const ParserChar** attributeArray = attributes.attributes;
61568 if ( attributeArray )
61569 {
61570     while (true)
61571     {
61572         const ParserChar * attribute = *attributeArray;
61573         if ( !attribute )
61574             break;
61575         StringHash hash = GeneratedSaxParser::Utils::calculateStringHash(attribute);
61576         attributeArray++;
61577         if ( !attributeArray )
61578             return false;
61579         const ParserChar* attributeValue = *attributeArray;
61580         attributeArray++;
61581 
61582 
61583     switch ( hash )
61584     {
61585     case HASH_ATTRIBUTE_value:
61586     {
61587 bool failed;
61588 attributeData->value = GeneratedSaxParser::Utils::toBool(attributeValue, failed);
61589 if ( failed && handleError(ParserError::SEVERITY_ERROR_NONCRITICAL,
61590         ParserError::ERROR_ATTRIBUTE_PARSING_FAILED,
61591         HASH_ELEMENT_DEPTH_TEST_ENABLE,
61592         HASH_ATTRIBUTE_value,
61593         attributeValue))
61594 {
61595     return false;
61596 }
61597 
61598     break;
61599     }
61600     case HASH_ATTRIBUTE_param:
61601     {
61602 
61603 attributeData->param = attributeValue;
61604 #ifdef GENERATEDSAXPARSER_VALIDATION
61605     if ( mValidate )
61606     {
61607     ParserError::ErrorType simpleTypeValidationResult = validate__NCName(attributeData->param, strlen(attributeData->param));
61608     if (simpleTypeValidationResult != ParserError::SIMPLE_TYPE_VALIDATION_OK)
61609     {
61610         if( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL,
61611             simpleTypeValidationResult,
61612             HASH_ELEMENT_DEPTH_TEST_ENABLE,
61613             HASH_ATTRIBUTE_param,
61614             attributeValue) )
61615         {
61616             return false;
61617         }
61618     }
61619     } // validation
61620 #endif
61621 
61622     break;
61623     }
61624     default:
61625     {
61626         if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_UNKNOWN_ATTRIBUTE, HASH_ELEMENT_DEPTH_TEST_ENABLE, attribute, attributeValue))
61627             {return false;}
61628     }
61629     }
61630     }
61631 }
61632 
61633 
61634     return true;
61635 }
61636 
61637 //---------------------------------------------------------------------
_preEnd__profile_GLSL__technique__pass__depth_test_enable()61638 bool ColladaParserAutoGen14Private::_preEnd__profile_GLSL__technique__pass__depth_test_enable()
61639 {
61640 #ifdef GENERATEDSAXPARSER_VALIDATION
61641     if ( mValidate )
61642     {
61643 
61644         bool validationResult = _validateEnd__profile_GLSL__technique__pass__depth_test_enable();
61645         if ( !validationResult ) return false;
61646 
61647     } // validation
61648 #endif
61649 
61650     return true;
61651 }
61652 
61653 //---------------------------------------------------------------------
_freeAttributes__profile_GLSL__technique__pass__depth_test_enable(void * attributeData)61654 bool ColladaParserAutoGen14Private::_freeAttributes__profile_GLSL__technique__pass__depth_test_enable( void* attributeData )
61655 {
61656     profile_GLSL__technique__pass__depth_test_enable__AttributeData* typedAttributeData = static_cast<profile_GLSL__technique__pass__depth_test_enable__AttributeData*>(attributeData);
61657 
61658     typedAttributeData->~profile_GLSL__technique__pass__depth_test_enable__AttributeData();
61659 
61660     return true;
61661 }
61662 
61663 //---------------------------------------------------------------------
61664 const profile_GLSL__technique__pass__dither_enable__AttributeData profile_GLSL__technique__pass__dither_enable__AttributeData::DEFAULT = {true, 0};
61665 
61666 //---------------------------------------------------------------------
_data__profile_GLSL__technique__pass__dither_enable(const ParserChar * text,size_t textLength)61667 bool ColladaParserAutoGen14Private::_data__profile_GLSL__technique__pass__dither_enable( const ParserChar* text, size_t textLength )
61668 {
61669     return true;
61670 }
61671 
61672 //---------------------------------------------------------------------
_preBegin__profile_GLSL__technique__pass__dither_enable(const ParserAttributes & attributes,void ** attributeDataPtr,void ** validationDataPtr)61673 bool ColladaParserAutoGen14Private::_preBegin__profile_GLSL__technique__pass__dither_enable( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
61674 {
61675 #ifdef GENERATEDSAXPARSER_VALIDATION
61676     if ( mValidate )
61677     {
61678 
61679         bool validationResult = _validateBegin__profile_GLSL__technique__pass__dither_enable( attributes, attributeDataPtr, validationDataPtr );
61680         if ( !validationResult ) return false;
61681 
61682     } // validation
61683 #endif
61684 
61685 profile_GLSL__technique__pass__dither_enable__AttributeData* attributeData = newData<profile_GLSL__technique__pass__dither_enable__AttributeData>(attributeDataPtr);
61686 
61687 const ParserChar** attributeArray = attributes.attributes;
61688 if ( attributeArray )
61689 {
61690     while (true)
61691     {
61692         const ParserChar * attribute = *attributeArray;
61693         if ( !attribute )
61694             break;
61695         StringHash hash = GeneratedSaxParser::Utils::calculateStringHash(attribute);
61696         attributeArray++;
61697         if ( !attributeArray )
61698             return false;
61699         const ParserChar* attributeValue = *attributeArray;
61700         attributeArray++;
61701 
61702 
61703     switch ( hash )
61704     {
61705     case HASH_ATTRIBUTE_value:
61706     {
61707 bool failed;
61708 attributeData->value = GeneratedSaxParser::Utils::toBool(attributeValue, failed);
61709 if ( failed && handleError(ParserError::SEVERITY_ERROR_NONCRITICAL,
61710         ParserError::ERROR_ATTRIBUTE_PARSING_FAILED,
61711         HASH_ELEMENT_DITHER_ENABLE,
61712         HASH_ATTRIBUTE_value,
61713         attributeValue))
61714 {
61715     return false;
61716 }
61717 
61718     break;
61719     }
61720     case HASH_ATTRIBUTE_param:
61721     {
61722 
61723 attributeData->param = attributeValue;
61724 #ifdef GENERATEDSAXPARSER_VALIDATION
61725     if ( mValidate )
61726     {
61727     ParserError::ErrorType simpleTypeValidationResult = validate__NCName(attributeData->param, strlen(attributeData->param));
61728     if (simpleTypeValidationResult != ParserError::SIMPLE_TYPE_VALIDATION_OK)
61729     {
61730         if( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL,
61731             simpleTypeValidationResult,
61732             HASH_ELEMENT_DITHER_ENABLE,
61733             HASH_ATTRIBUTE_param,
61734             attributeValue) )
61735         {
61736             return false;
61737         }
61738     }
61739     } // validation
61740 #endif
61741 
61742     break;
61743     }
61744     default:
61745     {
61746         if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_UNKNOWN_ATTRIBUTE, HASH_ELEMENT_DITHER_ENABLE, attribute, attributeValue))
61747             {return false;}
61748     }
61749     }
61750     }
61751 }
61752 
61753 
61754     return true;
61755 }
61756 
61757 //---------------------------------------------------------------------
_preEnd__profile_GLSL__technique__pass__dither_enable()61758 bool ColladaParserAutoGen14Private::_preEnd__profile_GLSL__technique__pass__dither_enable()
61759 {
61760 #ifdef GENERATEDSAXPARSER_VALIDATION
61761     if ( mValidate )
61762     {
61763 
61764         bool validationResult = _validateEnd__profile_GLSL__technique__pass__dither_enable();
61765         if ( !validationResult ) return false;
61766 
61767     } // validation
61768 #endif
61769 
61770     return true;
61771 }
61772 
61773 //---------------------------------------------------------------------
_freeAttributes__profile_GLSL__technique__pass__dither_enable(void * attributeData)61774 bool ColladaParserAutoGen14Private::_freeAttributes__profile_GLSL__technique__pass__dither_enable( void* attributeData )
61775 {
61776     profile_GLSL__technique__pass__dither_enable__AttributeData* typedAttributeData = static_cast<profile_GLSL__technique__pass__dither_enable__AttributeData*>(attributeData);
61777 
61778     typedAttributeData->~profile_GLSL__technique__pass__dither_enable__AttributeData();
61779 
61780     return true;
61781 }
61782 
61783 //---------------------------------------------------------------------
61784 const profile_GLSL__technique__pass__fog_enable__AttributeData profile_GLSL__technique__pass__fog_enable__AttributeData::DEFAULT = {false, 0};
61785 
61786 //---------------------------------------------------------------------
_data__profile_GLSL__technique__pass__fog_enable(const ParserChar * text,size_t textLength)61787 bool ColladaParserAutoGen14Private::_data__profile_GLSL__technique__pass__fog_enable( const ParserChar* text, size_t textLength )
61788 {
61789     return true;
61790 }
61791 
61792 //---------------------------------------------------------------------
_preBegin__profile_GLSL__technique__pass__fog_enable(const ParserAttributes & attributes,void ** attributeDataPtr,void ** validationDataPtr)61793 bool ColladaParserAutoGen14Private::_preBegin__profile_GLSL__technique__pass__fog_enable( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
61794 {
61795 #ifdef GENERATEDSAXPARSER_VALIDATION
61796     if ( mValidate )
61797     {
61798 
61799         bool validationResult = _validateBegin__profile_GLSL__technique__pass__fog_enable( attributes, attributeDataPtr, validationDataPtr );
61800         if ( !validationResult ) return false;
61801 
61802     } // validation
61803 #endif
61804 
61805 profile_GLSL__technique__pass__fog_enable__AttributeData* attributeData = newData<profile_GLSL__technique__pass__fog_enable__AttributeData>(attributeDataPtr);
61806 
61807 const ParserChar** attributeArray = attributes.attributes;
61808 if ( attributeArray )
61809 {
61810     while (true)
61811     {
61812         const ParserChar * attribute = *attributeArray;
61813         if ( !attribute )
61814             break;
61815         StringHash hash = GeneratedSaxParser::Utils::calculateStringHash(attribute);
61816         attributeArray++;
61817         if ( !attributeArray )
61818             return false;
61819         const ParserChar* attributeValue = *attributeArray;
61820         attributeArray++;
61821 
61822 
61823     switch ( hash )
61824     {
61825     case HASH_ATTRIBUTE_value:
61826     {
61827 bool failed;
61828 attributeData->value = GeneratedSaxParser::Utils::toBool(attributeValue, failed);
61829 if ( failed && handleError(ParserError::SEVERITY_ERROR_NONCRITICAL,
61830         ParserError::ERROR_ATTRIBUTE_PARSING_FAILED,
61831         HASH_ELEMENT_FOG_ENABLE,
61832         HASH_ATTRIBUTE_value,
61833         attributeValue))
61834 {
61835     return false;
61836 }
61837 
61838     break;
61839     }
61840     case HASH_ATTRIBUTE_param:
61841     {
61842 
61843 attributeData->param = attributeValue;
61844 #ifdef GENERATEDSAXPARSER_VALIDATION
61845     if ( mValidate )
61846     {
61847     ParserError::ErrorType simpleTypeValidationResult = validate__NCName(attributeData->param, strlen(attributeData->param));
61848     if (simpleTypeValidationResult != ParserError::SIMPLE_TYPE_VALIDATION_OK)
61849     {
61850         if( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL,
61851             simpleTypeValidationResult,
61852             HASH_ELEMENT_FOG_ENABLE,
61853             HASH_ATTRIBUTE_param,
61854             attributeValue) )
61855         {
61856             return false;
61857         }
61858     }
61859     } // validation
61860 #endif
61861 
61862     break;
61863     }
61864     default:
61865     {
61866         if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_UNKNOWN_ATTRIBUTE, HASH_ELEMENT_FOG_ENABLE, attribute, attributeValue))
61867             {return false;}
61868     }
61869     }
61870     }
61871 }
61872 
61873 
61874     return true;
61875 }
61876 
61877 //---------------------------------------------------------------------
_preEnd__profile_GLSL__technique__pass__fog_enable()61878 bool ColladaParserAutoGen14Private::_preEnd__profile_GLSL__technique__pass__fog_enable()
61879 {
61880 #ifdef GENERATEDSAXPARSER_VALIDATION
61881     if ( mValidate )
61882     {
61883 
61884         bool validationResult = _validateEnd__profile_GLSL__technique__pass__fog_enable();
61885         if ( !validationResult ) return false;
61886 
61887     } // validation
61888 #endif
61889 
61890     return true;
61891 }
61892 
61893 //---------------------------------------------------------------------
_freeAttributes__profile_GLSL__technique__pass__fog_enable(void * attributeData)61894 bool ColladaParserAutoGen14Private::_freeAttributes__profile_GLSL__technique__pass__fog_enable( void* attributeData )
61895 {
61896     profile_GLSL__technique__pass__fog_enable__AttributeData* typedAttributeData = static_cast<profile_GLSL__technique__pass__fog_enable__AttributeData*>(attributeData);
61897 
61898     typedAttributeData->~profile_GLSL__technique__pass__fog_enable__AttributeData();
61899 
61900     return true;
61901 }
61902 
61903 //---------------------------------------------------------------------
61904 const light_model_local_viewer_enable__AttributeData light_model_local_viewer_enable__AttributeData::DEFAULT = {false, 0};
61905 
61906 //---------------------------------------------------------------------
_data__light_model_local_viewer_enable(const ParserChar * text,size_t textLength)61907 bool ColladaParserAutoGen14Private::_data__light_model_local_viewer_enable( const ParserChar* text, size_t textLength )
61908 {
61909     return true;
61910 }
61911 
61912 //---------------------------------------------------------------------
_preBegin__light_model_local_viewer_enable(const ParserAttributes & attributes,void ** attributeDataPtr,void ** validationDataPtr)61913 bool ColladaParserAutoGen14Private::_preBegin__light_model_local_viewer_enable( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
61914 {
61915 #ifdef GENERATEDSAXPARSER_VALIDATION
61916     if ( mValidate )
61917     {
61918 
61919         bool validationResult = _validateBegin__light_model_local_viewer_enable( attributes, attributeDataPtr, validationDataPtr );
61920         if ( !validationResult ) return false;
61921 
61922     } // validation
61923 #endif
61924 
61925 light_model_local_viewer_enable__AttributeData* attributeData = newData<light_model_local_viewer_enable__AttributeData>(attributeDataPtr);
61926 
61927 const ParserChar** attributeArray = attributes.attributes;
61928 if ( attributeArray )
61929 {
61930     while (true)
61931     {
61932         const ParserChar * attribute = *attributeArray;
61933         if ( !attribute )
61934             break;
61935         StringHash hash = GeneratedSaxParser::Utils::calculateStringHash(attribute);
61936         attributeArray++;
61937         if ( !attributeArray )
61938             return false;
61939         const ParserChar* attributeValue = *attributeArray;
61940         attributeArray++;
61941 
61942 
61943     switch ( hash )
61944     {
61945     case HASH_ATTRIBUTE_value:
61946     {
61947 bool failed;
61948 attributeData->value = GeneratedSaxParser::Utils::toBool(attributeValue, failed);
61949 if ( failed && handleError(ParserError::SEVERITY_ERROR_NONCRITICAL,
61950         ParserError::ERROR_ATTRIBUTE_PARSING_FAILED,
61951         HASH_ELEMENT_LIGHT_MODEL_LOCAL_VIEWER_ENABLE,
61952         HASH_ATTRIBUTE_value,
61953         attributeValue))
61954 {
61955     return false;
61956 }
61957 
61958     break;
61959     }
61960     case HASH_ATTRIBUTE_param:
61961     {
61962 
61963 attributeData->param = attributeValue;
61964 #ifdef GENERATEDSAXPARSER_VALIDATION
61965     if ( mValidate )
61966     {
61967     ParserError::ErrorType simpleTypeValidationResult = validate__NCName(attributeData->param, strlen(attributeData->param));
61968     if (simpleTypeValidationResult != ParserError::SIMPLE_TYPE_VALIDATION_OK)
61969     {
61970         if( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL,
61971             simpleTypeValidationResult,
61972             HASH_ELEMENT_LIGHT_MODEL_LOCAL_VIEWER_ENABLE,
61973             HASH_ATTRIBUTE_param,
61974             attributeValue) )
61975         {
61976             return false;
61977         }
61978     }
61979     } // validation
61980 #endif
61981 
61982     break;
61983     }
61984     default:
61985     {
61986         if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_UNKNOWN_ATTRIBUTE, HASH_ELEMENT_LIGHT_MODEL_LOCAL_VIEWER_ENABLE, attribute, attributeValue))
61987             {return false;}
61988     }
61989     }
61990     }
61991 }
61992 
61993 
61994     return true;
61995 }
61996 
61997 //---------------------------------------------------------------------
_preEnd__light_model_local_viewer_enable()61998 bool ColladaParserAutoGen14Private::_preEnd__light_model_local_viewer_enable()
61999 {
62000 #ifdef GENERATEDSAXPARSER_VALIDATION
62001     if ( mValidate )
62002     {
62003 
62004         bool validationResult = _validateEnd__light_model_local_viewer_enable();
62005         if ( !validationResult ) return false;
62006 
62007     } // validation
62008 #endif
62009 
62010     return true;
62011 }
62012 
62013 //---------------------------------------------------------------------
_freeAttributes__light_model_local_viewer_enable(void * attributeData)62014 bool ColladaParserAutoGen14Private::_freeAttributes__light_model_local_viewer_enable( void* attributeData )
62015 {
62016     light_model_local_viewer_enable__AttributeData* typedAttributeData = static_cast<light_model_local_viewer_enable__AttributeData*>(attributeData);
62017 
62018     typedAttributeData->~light_model_local_viewer_enable__AttributeData();
62019 
62020     return true;
62021 }
62022 
62023 //---------------------------------------------------------------------
62024 const profile_GLSL__technique__pass__light_model_two_side_enable__AttributeData profile_GLSL__technique__pass__light_model_two_side_enable__AttributeData::DEFAULT = {false, 0};
62025 
62026 //---------------------------------------------------------------------
_data__profile_GLSL__technique__pass__light_model_two_side_enable(const ParserChar * text,size_t textLength)62027 bool ColladaParserAutoGen14Private::_data__profile_GLSL__technique__pass__light_model_two_side_enable( const ParserChar* text, size_t textLength )
62028 {
62029     return true;
62030 }
62031 
62032 //---------------------------------------------------------------------
_preBegin__profile_GLSL__technique__pass__light_model_two_side_enable(const ParserAttributes & attributes,void ** attributeDataPtr,void ** validationDataPtr)62033 bool ColladaParserAutoGen14Private::_preBegin__profile_GLSL__technique__pass__light_model_two_side_enable( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
62034 {
62035 #ifdef GENERATEDSAXPARSER_VALIDATION
62036     if ( mValidate )
62037     {
62038 
62039         bool validationResult = _validateBegin__profile_GLSL__technique__pass__light_model_two_side_enable( attributes, attributeDataPtr, validationDataPtr );
62040         if ( !validationResult ) return false;
62041 
62042     } // validation
62043 #endif
62044 
62045 profile_GLSL__technique__pass__light_model_two_side_enable__AttributeData* attributeData = newData<profile_GLSL__technique__pass__light_model_two_side_enable__AttributeData>(attributeDataPtr);
62046 
62047 const ParserChar** attributeArray = attributes.attributes;
62048 if ( attributeArray )
62049 {
62050     while (true)
62051     {
62052         const ParserChar * attribute = *attributeArray;
62053         if ( !attribute )
62054             break;
62055         StringHash hash = GeneratedSaxParser::Utils::calculateStringHash(attribute);
62056         attributeArray++;
62057         if ( !attributeArray )
62058             return false;
62059         const ParserChar* attributeValue = *attributeArray;
62060         attributeArray++;
62061 
62062 
62063     switch ( hash )
62064     {
62065     case HASH_ATTRIBUTE_value:
62066     {
62067 bool failed;
62068 attributeData->value = GeneratedSaxParser::Utils::toBool(attributeValue, failed);
62069 if ( failed && handleError(ParserError::SEVERITY_ERROR_NONCRITICAL,
62070         ParserError::ERROR_ATTRIBUTE_PARSING_FAILED,
62071         HASH_ELEMENT_LIGHT_MODEL_TWO_SIDE_ENABLE,
62072         HASH_ATTRIBUTE_value,
62073         attributeValue))
62074 {
62075     return false;
62076 }
62077 
62078     break;
62079     }
62080     case HASH_ATTRIBUTE_param:
62081     {
62082 
62083 attributeData->param = attributeValue;
62084 #ifdef GENERATEDSAXPARSER_VALIDATION
62085     if ( mValidate )
62086     {
62087     ParserError::ErrorType simpleTypeValidationResult = validate__NCName(attributeData->param, strlen(attributeData->param));
62088     if (simpleTypeValidationResult != ParserError::SIMPLE_TYPE_VALIDATION_OK)
62089     {
62090         if( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL,
62091             simpleTypeValidationResult,
62092             HASH_ELEMENT_LIGHT_MODEL_TWO_SIDE_ENABLE,
62093             HASH_ATTRIBUTE_param,
62094             attributeValue) )
62095         {
62096             return false;
62097         }
62098     }
62099     } // validation
62100 #endif
62101 
62102     break;
62103     }
62104     default:
62105     {
62106         if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_UNKNOWN_ATTRIBUTE, HASH_ELEMENT_LIGHT_MODEL_TWO_SIDE_ENABLE, attribute, attributeValue))
62107             {return false;}
62108     }
62109     }
62110     }
62111 }
62112 
62113 
62114     return true;
62115 }
62116 
62117 //---------------------------------------------------------------------
_preEnd__profile_GLSL__technique__pass__light_model_two_side_enable()62118 bool ColladaParserAutoGen14Private::_preEnd__profile_GLSL__technique__pass__light_model_two_side_enable()
62119 {
62120 #ifdef GENERATEDSAXPARSER_VALIDATION
62121     if ( mValidate )
62122     {
62123 
62124         bool validationResult = _validateEnd__profile_GLSL__technique__pass__light_model_two_side_enable();
62125         if ( !validationResult ) return false;
62126 
62127     } // validation
62128 #endif
62129 
62130     return true;
62131 }
62132 
62133 //---------------------------------------------------------------------
_freeAttributes__profile_GLSL__technique__pass__light_model_two_side_enable(void * attributeData)62134 bool ColladaParserAutoGen14Private::_freeAttributes__profile_GLSL__technique__pass__light_model_two_side_enable( void* attributeData )
62135 {
62136     profile_GLSL__technique__pass__light_model_two_side_enable__AttributeData* typedAttributeData = static_cast<profile_GLSL__technique__pass__light_model_two_side_enable__AttributeData*>(attributeData);
62137 
62138     typedAttributeData->~profile_GLSL__technique__pass__light_model_two_side_enable__AttributeData();
62139 
62140     return true;
62141 }
62142 
62143 //---------------------------------------------------------------------
62144 const profile_GLSL__technique__pass__line_smooth_enable__AttributeData profile_GLSL__technique__pass__line_smooth_enable__AttributeData::DEFAULT = {false, 0};
62145 
62146 //---------------------------------------------------------------------
_data__profile_GLSL__technique__pass__line_smooth_enable(const ParserChar * text,size_t textLength)62147 bool ColladaParserAutoGen14Private::_data__profile_GLSL__technique__pass__line_smooth_enable( const ParserChar* text, size_t textLength )
62148 {
62149     return true;
62150 }
62151 
62152 //---------------------------------------------------------------------
_preBegin__profile_GLSL__technique__pass__line_smooth_enable(const ParserAttributes & attributes,void ** attributeDataPtr,void ** validationDataPtr)62153 bool ColladaParserAutoGen14Private::_preBegin__profile_GLSL__technique__pass__line_smooth_enable( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
62154 {
62155 #ifdef GENERATEDSAXPARSER_VALIDATION
62156     if ( mValidate )
62157     {
62158 
62159         bool validationResult = _validateBegin__profile_GLSL__technique__pass__line_smooth_enable( attributes, attributeDataPtr, validationDataPtr );
62160         if ( !validationResult ) return false;
62161 
62162     } // validation
62163 #endif
62164 
62165 profile_GLSL__technique__pass__line_smooth_enable__AttributeData* attributeData = newData<profile_GLSL__technique__pass__line_smooth_enable__AttributeData>(attributeDataPtr);
62166 
62167 const ParserChar** attributeArray = attributes.attributes;
62168 if ( attributeArray )
62169 {
62170     while (true)
62171     {
62172         const ParserChar * attribute = *attributeArray;
62173         if ( !attribute )
62174             break;
62175         StringHash hash = GeneratedSaxParser::Utils::calculateStringHash(attribute);
62176         attributeArray++;
62177         if ( !attributeArray )
62178             return false;
62179         const ParserChar* attributeValue = *attributeArray;
62180         attributeArray++;
62181 
62182 
62183     switch ( hash )
62184     {
62185     case HASH_ATTRIBUTE_value:
62186     {
62187 bool failed;
62188 attributeData->value = GeneratedSaxParser::Utils::toBool(attributeValue, failed);
62189 if ( failed && handleError(ParserError::SEVERITY_ERROR_NONCRITICAL,
62190         ParserError::ERROR_ATTRIBUTE_PARSING_FAILED,
62191         HASH_ELEMENT_LINE_SMOOTH_ENABLE,
62192         HASH_ATTRIBUTE_value,
62193         attributeValue))
62194 {
62195     return false;
62196 }
62197 
62198     break;
62199     }
62200     case HASH_ATTRIBUTE_param:
62201     {
62202 
62203 attributeData->param = attributeValue;
62204 #ifdef GENERATEDSAXPARSER_VALIDATION
62205     if ( mValidate )
62206     {
62207     ParserError::ErrorType simpleTypeValidationResult = validate__NCName(attributeData->param, strlen(attributeData->param));
62208     if (simpleTypeValidationResult != ParserError::SIMPLE_TYPE_VALIDATION_OK)
62209     {
62210         if( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL,
62211             simpleTypeValidationResult,
62212             HASH_ELEMENT_LINE_SMOOTH_ENABLE,
62213             HASH_ATTRIBUTE_param,
62214             attributeValue) )
62215         {
62216             return false;
62217         }
62218     }
62219     } // validation
62220 #endif
62221 
62222     break;
62223     }
62224     default:
62225     {
62226         if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_UNKNOWN_ATTRIBUTE, HASH_ELEMENT_LINE_SMOOTH_ENABLE, attribute, attributeValue))
62227             {return false;}
62228     }
62229     }
62230     }
62231 }
62232 
62233 
62234     return true;
62235 }
62236 
62237 //---------------------------------------------------------------------
_preEnd__profile_GLSL__technique__pass__line_smooth_enable()62238 bool ColladaParserAutoGen14Private::_preEnd__profile_GLSL__technique__pass__line_smooth_enable()
62239 {
62240 #ifdef GENERATEDSAXPARSER_VALIDATION
62241     if ( mValidate )
62242     {
62243 
62244         bool validationResult = _validateEnd__profile_GLSL__technique__pass__line_smooth_enable();
62245         if ( !validationResult ) return false;
62246 
62247     } // validation
62248 #endif
62249 
62250     return true;
62251 }
62252 
62253 //---------------------------------------------------------------------
_freeAttributes__profile_GLSL__technique__pass__line_smooth_enable(void * attributeData)62254 bool ColladaParserAutoGen14Private::_freeAttributes__profile_GLSL__technique__pass__line_smooth_enable( void* attributeData )
62255 {
62256     profile_GLSL__technique__pass__line_smooth_enable__AttributeData* typedAttributeData = static_cast<profile_GLSL__technique__pass__line_smooth_enable__AttributeData*>(attributeData);
62257 
62258     typedAttributeData->~profile_GLSL__technique__pass__line_smooth_enable__AttributeData();
62259 
62260     return true;
62261 }
62262 
62263 //---------------------------------------------------------------------
62264 const line_stipple_enable__AttributeData line_stipple_enable__AttributeData::DEFAULT = {false, 0};
62265 
62266 //---------------------------------------------------------------------
_data__line_stipple_enable(const ParserChar * text,size_t textLength)62267 bool ColladaParserAutoGen14Private::_data__line_stipple_enable( const ParserChar* text, size_t textLength )
62268 {
62269     return true;
62270 }
62271 
62272 //---------------------------------------------------------------------
_preBegin__line_stipple_enable(const ParserAttributes & attributes,void ** attributeDataPtr,void ** validationDataPtr)62273 bool ColladaParserAutoGen14Private::_preBegin__line_stipple_enable( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
62274 {
62275 #ifdef GENERATEDSAXPARSER_VALIDATION
62276     if ( mValidate )
62277     {
62278 
62279         bool validationResult = _validateBegin__line_stipple_enable( attributes, attributeDataPtr, validationDataPtr );
62280         if ( !validationResult ) return false;
62281 
62282     } // validation
62283 #endif
62284 
62285 line_stipple_enable__AttributeData* attributeData = newData<line_stipple_enable__AttributeData>(attributeDataPtr);
62286 
62287 const ParserChar** attributeArray = attributes.attributes;
62288 if ( attributeArray )
62289 {
62290     while (true)
62291     {
62292         const ParserChar * attribute = *attributeArray;
62293         if ( !attribute )
62294             break;
62295         StringHash hash = GeneratedSaxParser::Utils::calculateStringHash(attribute);
62296         attributeArray++;
62297         if ( !attributeArray )
62298             return false;
62299         const ParserChar* attributeValue = *attributeArray;
62300         attributeArray++;
62301 
62302 
62303     switch ( hash )
62304     {
62305     case HASH_ATTRIBUTE_value:
62306     {
62307 bool failed;
62308 attributeData->value = GeneratedSaxParser::Utils::toBool(attributeValue, failed);
62309 if ( failed && handleError(ParserError::SEVERITY_ERROR_NONCRITICAL,
62310         ParserError::ERROR_ATTRIBUTE_PARSING_FAILED,
62311         HASH_ELEMENT_LINE_STIPPLE_ENABLE,
62312         HASH_ATTRIBUTE_value,
62313         attributeValue))
62314 {
62315     return false;
62316 }
62317 
62318     break;
62319     }
62320     case HASH_ATTRIBUTE_param:
62321     {
62322 
62323 attributeData->param = attributeValue;
62324 #ifdef GENERATEDSAXPARSER_VALIDATION
62325     if ( mValidate )
62326     {
62327     ParserError::ErrorType simpleTypeValidationResult = validate__NCName(attributeData->param, strlen(attributeData->param));
62328     if (simpleTypeValidationResult != ParserError::SIMPLE_TYPE_VALIDATION_OK)
62329     {
62330         if( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL,
62331             simpleTypeValidationResult,
62332             HASH_ELEMENT_LINE_STIPPLE_ENABLE,
62333             HASH_ATTRIBUTE_param,
62334             attributeValue) )
62335         {
62336             return false;
62337         }
62338     }
62339     } // validation
62340 #endif
62341 
62342     break;
62343     }
62344     default:
62345     {
62346         if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_UNKNOWN_ATTRIBUTE, HASH_ELEMENT_LINE_STIPPLE_ENABLE, attribute, attributeValue))
62347             {return false;}
62348     }
62349     }
62350     }
62351 }
62352 
62353 
62354     return true;
62355 }
62356 
62357 //---------------------------------------------------------------------
_preEnd__line_stipple_enable()62358 bool ColladaParserAutoGen14Private::_preEnd__line_stipple_enable()
62359 {
62360 #ifdef GENERATEDSAXPARSER_VALIDATION
62361     if ( mValidate )
62362     {
62363 
62364         bool validationResult = _validateEnd__line_stipple_enable();
62365         if ( !validationResult ) return false;
62366 
62367     } // validation
62368 #endif
62369 
62370     return true;
62371 }
62372 
62373 //---------------------------------------------------------------------
_freeAttributes__line_stipple_enable(void * attributeData)62374 bool ColladaParserAutoGen14Private::_freeAttributes__line_stipple_enable( void* attributeData )
62375 {
62376     line_stipple_enable__AttributeData* typedAttributeData = static_cast<line_stipple_enable__AttributeData*>(attributeData);
62377 
62378     typedAttributeData->~line_stipple_enable__AttributeData();
62379 
62380     return true;
62381 }
62382 
62383 //---------------------------------------------------------------------
62384 const logic_op_enable__AttributeData logic_op_enable__AttributeData::DEFAULT = {false, 0};
62385 
62386 //---------------------------------------------------------------------
_data__logic_op_enable(const ParserChar * text,size_t textLength)62387 bool ColladaParserAutoGen14Private::_data__logic_op_enable( const ParserChar* text, size_t textLength )
62388 {
62389     return true;
62390 }
62391 
62392 //---------------------------------------------------------------------
_preBegin__logic_op_enable(const ParserAttributes & attributes,void ** attributeDataPtr,void ** validationDataPtr)62393 bool ColladaParserAutoGen14Private::_preBegin__logic_op_enable( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
62394 {
62395 #ifdef GENERATEDSAXPARSER_VALIDATION
62396     if ( mValidate )
62397     {
62398 
62399         bool validationResult = _validateBegin__logic_op_enable( attributes, attributeDataPtr, validationDataPtr );
62400         if ( !validationResult ) return false;
62401 
62402     } // validation
62403 #endif
62404 
62405 logic_op_enable__AttributeData* attributeData = newData<logic_op_enable__AttributeData>(attributeDataPtr);
62406 
62407 const ParserChar** attributeArray = attributes.attributes;
62408 if ( attributeArray )
62409 {
62410     while (true)
62411     {
62412         const ParserChar * attribute = *attributeArray;
62413         if ( !attribute )
62414             break;
62415         StringHash hash = GeneratedSaxParser::Utils::calculateStringHash(attribute);
62416         attributeArray++;
62417         if ( !attributeArray )
62418             return false;
62419         const ParserChar* attributeValue = *attributeArray;
62420         attributeArray++;
62421 
62422 
62423     switch ( hash )
62424     {
62425     case HASH_ATTRIBUTE_value:
62426     {
62427 bool failed;
62428 attributeData->value = GeneratedSaxParser::Utils::toBool(attributeValue, failed);
62429 if ( failed && handleError(ParserError::SEVERITY_ERROR_NONCRITICAL,
62430         ParserError::ERROR_ATTRIBUTE_PARSING_FAILED,
62431         HASH_ELEMENT_LOGIC_OP_ENABLE,
62432         HASH_ATTRIBUTE_value,
62433         attributeValue))
62434 {
62435     return false;
62436 }
62437 
62438     break;
62439     }
62440     case HASH_ATTRIBUTE_param:
62441     {
62442 
62443 attributeData->param = attributeValue;
62444 #ifdef GENERATEDSAXPARSER_VALIDATION
62445     if ( mValidate )
62446     {
62447     ParserError::ErrorType simpleTypeValidationResult = validate__NCName(attributeData->param, strlen(attributeData->param));
62448     if (simpleTypeValidationResult != ParserError::SIMPLE_TYPE_VALIDATION_OK)
62449     {
62450         if( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL,
62451             simpleTypeValidationResult,
62452             HASH_ELEMENT_LOGIC_OP_ENABLE,
62453             HASH_ATTRIBUTE_param,
62454             attributeValue) )
62455         {
62456             return false;
62457         }
62458     }
62459     } // validation
62460 #endif
62461 
62462     break;
62463     }
62464     default:
62465     {
62466         if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_UNKNOWN_ATTRIBUTE, HASH_ELEMENT_LOGIC_OP_ENABLE, attribute, attributeValue))
62467             {return false;}
62468     }
62469     }
62470     }
62471 }
62472 
62473 
62474     return true;
62475 }
62476 
62477 //---------------------------------------------------------------------
_preEnd__logic_op_enable()62478 bool ColladaParserAutoGen14Private::_preEnd__logic_op_enable()
62479 {
62480 #ifdef GENERATEDSAXPARSER_VALIDATION
62481     if ( mValidate )
62482     {
62483 
62484         bool validationResult = _validateEnd__logic_op_enable();
62485         if ( !validationResult ) return false;
62486 
62487     } // validation
62488 #endif
62489 
62490     return true;
62491 }
62492 
62493 //---------------------------------------------------------------------
_freeAttributes__logic_op_enable(void * attributeData)62494 bool ColladaParserAutoGen14Private::_freeAttributes__logic_op_enable( void* attributeData )
62495 {
62496     logic_op_enable__AttributeData* typedAttributeData = static_cast<logic_op_enable__AttributeData*>(attributeData);
62497 
62498     typedAttributeData->~logic_op_enable__AttributeData();
62499 
62500     return true;
62501 }
62502 
62503 //---------------------------------------------------------------------
62504 const profile_GLSL__technique__pass__multisample_enable__AttributeData profile_GLSL__technique__pass__multisample_enable__AttributeData::DEFAULT = {false, 0};
62505 
62506 //---------------------------------------------------------------------
_data__profile_GLSL__technique__pass__multisample_enable(const ParserChar * text,size_t textLength)62507 bool ColladaParserAutoGen14Private::_data__profile_GLSL__technique__pass__multisample_enable( const ParserChar* text, size_t textLength )
62508 {
62509     return true;
62510 }
62511 
62512 //---------------------------------------------------------------------
_preBegin__profile_GLSL__technique__pass__multisample_enable(const ParserAttributes & attributes,void ** attributeDataPtr,void ** validationDataPtr)62513 bool ColladaParserAutoGen14Private::_preBegin__profile_GLSL__technique__pass__multisample_enable( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
62514 {
62515 #ifdef GENERATEDSAXPARSER_VALIDATION
62516     if ( mValidate )
62517     {
62518 
62519         bool validationResult = _validateBegin__profile_GLSL__technique__pass__multisample_enable( attributes, attributeDataPtr, validationDataPtr );
62520         if ( !validationResult ) return false;
62521 
62522     } // validation
62523 #endif
62524 
62525 profile_GLSL__technique__pass__multisample_enable__AttributeData* attributeData = newData<profile_GLSL__technique__pass__multisample_enable__AttributeData>(attributeDataPtr);
62526 
62527 const ParserChar** attributeArray = attributes.attributes;
62528 if ( attributeArray )
62529 {
62530     while (true)
62531     {
62532         const ParserChar * attribute = *attributeArray;
62533         if ( !attribute )
62534             break;
62535         StringHash hash = GeneratedSaxParser::Utils::calculateStringHash(attribute);
62536         attributeArray++;
62537         if ( !attributeArray )
62538             return false;
62539         const ParserChar* attributeValue = *attributeArray;
62540         attributeArray++;
62541 
62542 
62543     switch ( hash )
62544     {
62545     case HASH_ATTRIBUTE_value:
62546     {
62547 bool failed;
62548 attributeData->value = GeneratedSaxParser::Utils::toBool(attributeValue, failed);
62549 if ( failed && handleError(ParserError::SEVERITY_ERROR_NONCRITICAL,
62550         ParserError::ERROR_ATTRIBUTE_PARSING_FAILED,
62551         HASH_ELEMENT_MULTISAMPLE_ENABLE,
62552         HASH_ATTRIBUTE_value,
62553         attributeValue))
62554 {
62555     return false;
62556 }
62557 
62558     break;
62559     }
62560     case HASH_ATTRIBUTE_param:
62561     {
62562 
62563 attributeData->param = attributeValue;
62564 #ifdef GENERATEDSAXPARSER_VALIDATION
62565     if ( mValidate )
62566     {
62567     ParserError::ErrorType simpleTypeValidationResult = validate__NCName(attributeData->param, strlen(attributeData->param));
62568     if (simpleTypeValidationResult != ParserError::SIMPLE_TYPE_VALIDATION_OK)
62569     {
62570         if( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL,
62571             simpleTypeValidationResult,
62572             HASH_ELEMENT_MULTISAMPLE_ENABLE,
62573             HASH_ATTRIBUTE_param,
62574             attributeValue) )
62575         {
62576             return false;
62577         }
62578     }
62579     } // validation
62580 #endif
62581 
62582     break;
62583     }
62584     default:
62585     {
62586         if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_UNKNOWN_ATTRIBUTE, HASH_ELEMENT_MULTISAMPLE_ENABLE, attribute, attributeValue))
62587             {return false;}
62588     }
62589     }
62590     }
62591 }
62592 
62593 
62594     return true;
62595 }
62596 
62597 //---------------------------------------------------------------------
_preEnd__profile_GLSL__technique__pass__multisample_enable()62598 bool ColladaParserAutoGen14Private::_preEnd__profile_GLSL__technique__pass__multisample_enable()
62599 {
62600 #ifdef GENERATEDSAXPARSER_VALIDATION
62601     if ( mValidate )
62602     {
62603 
62604         bool validationResult = _validateEnd__profile_GLSL__technique__pass__multisample_enable();
62605         if ( !validationResult ) return false;
62606 
62607     } // validation
62608 #endif
62609 
62610     return true;
62611 }
62612 
62613 //---------------------------------------------------------------------
_freeAttributes__profile_GLSL__technique__pass__multisample_enable(void * attributeData)62614 bool ColladaParserAutoGen14Private::_freeAttributes__profile_GLSL__technique__pass__multisample_enable( void* attributeData )
62615 {
62616     profile_GLSL__technique__pass__multisample_enable__AttributeData* typedAttributeData = static_cast<profile_GLSL__technique__pass__multisample_enable__AttributeData*>(attributeData);
62617 
62618     typedAttributeData->~profile_GLSL__technique__pass__multisample_enable__AttributeData();
62619 
62620     return true;
62621 }
62622 
62623 //---------------------------------------------------------------------
62624 const profile_GLSL__technique__pass__normalize_enable__AttributeData profile_GLSL__technique__pass__normalize_enable__AttributeData::DEFAULT = {false, 0};
62625 
62626 //---------------------------------------------------------------------
_data__profile_GLSL__technique__pass__normalize_enable(const ParserChar * text,size_t textLength)62627 bool ColladaParserAutoGen14Private::_data__profile_GLSL__technique__pass__normalize_enable( const ParserChar* text, size_t textLength )
62628 {
62629     return true;
62630 }
62631 
62632 //---------------------------------------------------------------------
_preBegin__profile_GLSL__technique__pass__normalize_enable(const ParserAttributes & attributes,void ** attributeDataPtr,void ** validationDataPtr)62633 bool ColladaParserAutoGen14Private::_preBegin__profile_GLSL__technique__pass__normalize_enable( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
62634 {
62635 #ifdef GENERATEDSAXPARSER_VALIDATION
62636     if ( mValidate )
62637     {
62638 
62639         bool validationResult = _validateBegin__profile_GLSL__technique__pass__normalize_enable( attributes, attributeDataPtr, validationDataPtr );
62640         if ( !validationResult ) return false;
62641 
62642     } // validation
62643 #endif
62644 
62645 profile_GLSL__technique__pass__normalize_enable__AttributeData* attributeData = newData<profile_GLSL__technique__pass__normalize_enable__AttributeData>(attributeDataPtr);
62646 
62647 const ParserChar** attributeArray = attributes.attributes;
62648 if ( attributeArray )
62649 {
62650     while (true)
62651     {
62652         const ParserChar * attribute = *attributeArray;
62653         if ( !attribute )
62654             break;
62655         StringHash hash = GeneratedSaxParser::Utils::calculateStringHash(attribute);
62656         attributeArray++;
62657         if ( !attributeArray )
62658             return false;
62659         const ParserChar* attributeValue = *attributeArray;
62660         attributeArray++;
62661 
62662 
62663     switch ( hash )
62664     {
62665     case HASH_ATTRIBUTE_value:
62666     {
62667 bool failed;
62668 attributeData->value = GeneratedSaxParser::Utils::toBool(attributeValue, failed);
62669 if ( failed && handleError(ParserError::SEVERITY_ERROR_NONCRITICAL,
62670         ParserError::ERROR_ATTRIBUTE_PARSING_FAILED,
62671         HASH_ELEMENT_NORMALIZE_ENABLE,
62672         HASH_ATTRIBUTE_value,
62673         attributeValue))
62674 {
62675     return false;
62676 }
62677 
62678     break;
62679     }
62680     case HASH_ATTRIBUTE_param:
62681     {
62682 
62683 attributeData->param = attributeValue;
62684 #ifdef GENERATEDSAXPARSER_VALIDATION
62685     if ( mValidate )
62686     {
62687     ParserError::ErrorType simpleTypeValidationResult = validate__NCName(attributeData->param, strlen(attributeData->param));
62688     if (simpleTypeValidationResult != ParserError::SIMPLE_TYPE_VALIDATION_OK)
62689     {
62690         if( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL,
62691             simpleTypeValidationResult,
62692             HASH_ELEMENT_NORMALIZE_ENABLE,
62693             HASH_ATTRIBUTE_param,
62694             attributeValue) )
62695         {
62696             return false;
62697         }
62698     }
62699     } // validation
62700 #endif
62701 
62702     break;
62703     }
62704     default:
62705     {
62706         if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_UNKNOWN_ATTRIBUTE, HASH_ELEMENT_NORMALIZE_ENABLE, attribute, attributeValue))
62707             {return false;}
62708     }
62709     }
62710     }
62711 }
62712 
62713 
62714     return true;
62715 }
62716 
62717 //---------------------------------------------------------------------
_preEnd__profile_GLSL__technique__pass__normalize_enable()62718 bool ColladaParserAutoGen14Private::_preEnd__profile_GLSL__technique__pass__normalize_enable()
62719 {
62720 #ifdef GENERATEDSAXPARSER_VALIDATION
62721     if ( mValidate )
62722     {
62723 
62724         bool validationResult = _validateEnd__profile_GLSL__technique__pass__normalize_enable();
62725         if ( !validationResult ) return false;
62726 
62727     } // validation
62728 #endif
62729 
62730     return true;
62731 }
62732 
62733 //---------------------------------------------------------------------
_freeAttributes__profile_GLSL__technique__pass__normalize_enable(void * attributeData)62734 bool ColladaParserAutoGen14Private::_freeAttributes__profile_GLSL__technique__pass__normalize_enable( void* attributeData )
62735 {
62736     profile_GLSL__technique__pass__normalize_enable__AttributeData* typedAttributeData = static_cast<profile_GLSL__technique__pass__normalize_enable__AttributeData*>(attributeData);
62737 
62738     typedAttributeData->~profile_GLSL__technique__pass__normalize_enable__AttributeData();
62739 
62740     return true;
62741 }
62742 
62743 //---------------------------------------------------------------------
62744 const profile_GLSL__technique__pass__point_smooth_enable__AttributeData profile_GLSL__technique__pass__point_smooth_enable__AttributeData::DEFAULT = {false, 0};
62745 
62746 //---------------------------------------------------------------------
_data__profile_GLSL__technique__pass__point_smooth_enable(const ParserChar * text,size_t textLength)62747 bool ColladaParserAutoGen14Private::_data__profile_GLSL__technique__pass__point_smooth_enable( const ParserChar* text, size_t textLength )
62748 {
62749     return true;
62750 }
62751 
62752 //---------------------------------------------------------------------
_preBegin__profile_GLSL__technique__pass__point_smooth_enable(const ParserAttributes & attributes,void ** attributeDataPtr,void ** validationDataPtr)62753 bool ColladaParserAutoGen14Private::_preBegin__profile_GLSL__technique__pass__point_smooth_enable( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
62754 {
62755 #ifdef GENERATEDSAXPARSER_VALIDATION
62756     if ( mValidate )
62757     {
62758 
62759         bool validationResult = _validateBegin__profile_GLSL__technique__pass__point_smooth_enable( attributes, attributeDataPtr, validationDataPtr );
62760         if ( !validationResult ) return false;
62761 
62762     } // validation
62763 #endif
62764 
62765 profile_GLSL__technique__pass__point_smooth_enable__AttributeData* attributeData = newData<profile_GLSL__technique__pass__point_smooth_enable__AttributeData>(attributeDataPtr);
62766 
62767 const ParserChar** attributeArray = attributes.attributes;
62768 if ( attributeArray )
62769 {
62770     while (true)
62771     {
62772         const ParserChar * attribute = *attributeArray;
62773         if ( !attribute )
62774             break;
62775         StringHash hash = GeneratedSaxParser::Utils::calculateStringHash(attribute);
62776         attributeArray++;
62777         if ( !attributeArray )
62778             return false;
62779         const ParserChar* attributeValue = *attributeArray;
62780         attributeArray++;
62781 
62782 
62783     switch ( hash )
62784     {
62785     case HASH_ATTRIBUTE_value:
62786     {
62787 bool failed;
62788 attributeData->value = GeneratedSaxParser::Utils::toBool(attributeValue, failed);
62789 if ( failed && handleError(ParserError::SEVERITY_ERROR_NONCRITICAL,
62790         ParserError::ERROR_ATTRIBUTE_PARSING_FAILED,
62791         HASH_ELEMENT_POINT_SMOOTH_ENABLE,
62792         HASH_ATTRIBUTE_value,
62793         attributeValue))
62794 {
62795     return false;
62796 }
62797 
62798     break;
62799     }
62800     case HASH_ATTRIBUTE_param:
62801     {
62802 
62803 attributeData->param = attributeValue;
62804 #ifdef GENERATEDSAXPARSER_VALIDATION
62805     if ( mValidate )
62806     {
62807     ParserError::ErrorType simpleTypeValidationResult = validate__NCName(attributeData->param, strlen(attributeData->param));
62808     if (simpleTypeValidationResult != ParserError::SIMPLE_TYPE_VALIDATION_OK)
62809     {
62810         if( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL,
62811             simpleTypeValidationResult,
62812             HASH_ELEMENT_POINT_SMOOTH_ENABLE,
62813             HASH_ATTRIBUTE_param,
62814             attributeValue) )
62815         {
62816             return false;
62817         }
62818     }
62819     } // validation
62820 #endif
62821 
62822     break;
62823     }
62824     default:
62825     {
62826         if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_UNKNOWN_ATTRIBUTE, HASH_ELEMENT_POINT_SMOOTH_ENABLE, attribute, attributeValue))
62827             {return false;}
62828     }
62829     }
62830     }
62831 }
62832 
62833 
62834     return true;
62835 }
62836 
62837 //---------------------------------------------------------------------
_preEnd__profile_GLSL__technique__pass__point_smooth_enable()62838 bool ColladaParserAutoGen14Private::_preEnd__profile_GLSL__technique__pass__point_smooth_enable()
62839 {
62840 #ifdef GENERATEDSAXPARSER_VALIDATION
62841     if ( mValidate )
62842     {
62843 
62844         bool validationResult = _validateEnd__profile_GLSL__technique__pass__point_smooth_enable();
62845         if ( !validationResult ) return false;
62846 
62847     } // validation
62848 #endif
62849 
62850     return true;
62851 }
62852 
62853 //---------------------------------------------------------------------
_freeAttributes__profile_GLSL__technique__pass__point_smooth_enable(void * attributeData)62854 bool ColladaParserAutoGen14Private::_freeAttributes__profile_GLSL__technique__pass__point_smooth_enable( void* attributeData )
62855 {
62856     profile_GLSL__technique__pass__point_smooth_enable__AttributeData* typedAttributeData = static_cast<profile_GLSL__technique__pass__point_smooth_enable__AttributeData*>(attributeData);
62857 
62858     typedAttributeData->~profile_GLSL__technique__pass__point_smooth_enable__AttributeData();
62859 
62860     return true;
62861 }
62862 
62863 //---------------------------------------------------------------------
62864 const profile_GLSL__technique__pass__polygon_offset_fill_enable__AttributeData profile_GLSL__technique__pass__polygon_offset_fill_enable__AttributeData::DEFAULT = {false, 0};
62865 
62866 //---------------------------------------------------------------------
_data__profile_GLSL__technique__pass__polygon_offset_fill_enable(const ParserChar * text,size_t textLength)62867 bool ColladaParserAutoGen14Private::_data__profile_GLSL__technique__pass__polygon_offset_fill_enable( const ParserChar* text, size_t textLength )
62868 {
62869     return true;
62870 }
62871 
62872 //---------------------------------------------------------------------
_preBegin__profile_GLSL__technique__pass__polygon_offset_fill_enable(const ParserAttributes & attributes,void ** attributeDataPtr,void ** validationDataPtr)62873 bool ColladaParserAutoGen14Private::_preBegin__profile_GLSL__technique__pass__polygon_offset_fill_enable( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
62874 {
62875 #ifdef GENERATEDSAXPARSER_VALIDATION
62876     if ( mValidate )
62877     {
62878 
62879         bool validationResult = _validateBegin__profile_GLSL__technique__pass__polygon_offset_fill_enable( attributes, attributeDataPtr, validationDataPtr );
62880         if ( !validationResult ) return false;
62881 
62882     } // validation
62883 #endif
62884 
62885 profile_GLSL__technique__pass__polygon_offset_fill_enable__AttributeData* attributeData = newData<profile_GLSL__technique__pass__polygon_offset_fill_enable__AttributeData>(attributeDataPtr);
62886 
62887 const ParserChar** attributeArray = attributes.attributes;
62888 if ( attributeArray )
62889 {
62890     while (true)
62891     {
62892         const ParserChar * attribute = *attributeArray;
62893         if ( !attribute )
62894             break;
62895         StringHash hash = GeneratedSaxParser::Utils::calculateStringHash(attribute);
62896         attributeArray++;
62897         if ( !attributeArray )
62898             return false;
62899         const ParserChar* attributeValue = *attributeArray;
62900         attributeArray++;
62901 
62902 
62903     switch ( hash )
62904     {
62905     case HASH_ATTRIBUTE_value:
62906     {
62907 bool failed;
62908 attributeData->value = GeneratedSaxParser::Utils::toBool(attributeValue, failed);
62909 if ( failed && handleError(ParserError::SEVERITY_ERROR_NONCRITICAL,
62910         ParserError::ERROR_ATTRIBUTE_PARSING_FAILED,
62911         HASH_ELEMENT_POLYGON_OFFSET_FILL_ENABLE,
62912         HASH_ATTRIBUTE_value,
62913         attributeValue))
62914 {
62915     return false;
62916 }
62917 
62918     break;
62919     }
62920     case HASH_ATTRIBUTE_param:
62921     {
62922 
62923 attributeData->param = attributeValue;
62924 #ifdef GENERATEDSAXPARSER_VALIDATION
62925     if ( mValidate )
62926     {
62927     ParserError::ErrorType simpleTypeValidationResult = validate__NCName(attributeData->param, strlen(attributeData->param));
62928     if (simpleTypeValidationResult != ParserError::SIMPLE_TYPE_VALIDATION_OK)
62929     {
62930         if( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL,
62931             simpleTypeValidationResult,
62932             HASH_ELEMENT_POLYGON_OFFSET_FILL_ENABLE,
62933             HASH_ATTRIBUTE_param,
62934             attributeValue) )
62935         {
62936             return false;
62937         }
62938     }
62939     } // validation
62940 #endif
62941 
62942     break;
62943     }
62944     default:
62945     {
62946         if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_UNKNOWN_ATTRIBUTE, HASH_ELEMENT_POLYGON_OFFSET_FILL_ENABLE, attribute, attributeValue))
62947             {return false;}
62948     }
62949     }
62950     }
62951 }
62952 
62953 
62954     return true;
62955 }
62956 
62957 //---------------------------------------------------------------------
_preEnd__profile_GLSL__technique__pass__polygon_offset_fill_enable()62958 bool ColladaParserAutoGen14Private::_preEnd__profile_GLSL__technique__pass__polygon_offset_fill_enable()
62959 {
62960 #ifdef GENERATEDSAXPARSER_VALIDATION
62961     if ( mValidate )
62962     {
62963 
62964         bool validationResult = _validateEnd__profile_GLSL__technique__pass__polygon_offset_fill_enable();
62965         if ( !validationResult ) return false;
62966 
62967     } // validation
62968 #endif
62969 
62970     return true;
62971 }
62972 
62973 //---------------------------------------------------------------------
_freeAttributes__profile_GLSL__technique__pass__polygon_offset_fill_enable(void * attributeData)62974 bool ColladaParserAutoGen14Private::_freeAttributes__profile_GLSL__technique__pass__polygon_offset_fill_enable( void* attributeData )
62975 {
62976     profile_GLSL__technique__pass__polygon_offset_fill_enable__AttributeData* typedAttributeData = static_cast<profile_GLSL__technique__pass__polygon_offset_fill_enable__AttributeData*>(attributeData);
62977 
62978     typedAttributeData->~profile_GLSL__technique__pass__polygon_offset_fill_enable__AttributeData();
62979 
62980     return true;
62981 }
62982 
62983 //---------------------------------------------------------------------
62984 const polygon_offset_line_enable__AttributeData polygon_offset_line_enable__AttributeData::DEFAULT = {false, 0};
62985 
62986 //---------------------------------------------------------------------
_data__polygon_offset_line_enable(const ParserChar * text,size_t textLength)62987 bool ColladaParserAutoGen14Private::_data__polygon_offset_line_enable( const ParserChar* text, size_t textLength )
62988 {
62989     return true;
62990 }
62991 
62992 //---------------------------------------------------------------------
_preBegin__polygon_offset_line_enable(const ParserAttributes & attributes,void ** attributeDataPtr,void ** validationDataPtr)62993 bool ColladaParserAutoGen14Private::_preBegin__polygon_offset_line_enable( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
62994 {
62995 #ifdef GENERATEDSAXPARSER_VALIDATION
62996     if ( mValidate )
62997     {
62998 
62999         bool validationResult = _validateBegin__polygon_offset_line_enable( attributes, attributeDataPtr, validationDataPtr );
63000         if ( !validationResult ) return false;
63001 
63002     } // validation
63003 #endif
63004 
63005 polygon_offset_line_enable__AttributeData* attributeData = newData<polygon_offset_line_enable__AttributeData>(attributeDataPtr);
63006 
63007 const ParserChar** attributeArray = attributes.attributes;
63008 if ( attributeArray )
63009 {
63010     while (true)
63011     {
63012         const ParserChar * attribute = *attributeArray;
63013         if ( !attribute )
63014             break;
63015         StringHash hash = GeneratedSaxParser::Utils::calculateStringHash(attribute);
63016         attributeArray++;
63017         if ( !attributeArray )
63018             return false;
63019         const ParserChar* attributeValue = *attributeArray;
63020         attributeArray++;
63021 
63022 
63023     switch ( hash )
63024     {
63025     case HASH_ATTRIBUTE_value:
63026     {
63027 bool failed;
63028 attributeData->value = GeneratedSaxParser::Utils::toBool(attributeValue, failed);
63029 if ( failed && handleError(ParserError::SEVERITY_ERROR_NONCRITICAL,
63030         ParserError::ERROR_ATTRIBUTE_PARSING_FAILED,
63031         HASH_ELEMENT_POLYGON_OFFSET_LINE_ENABLE,
63032         HASH_ATTRIBUTE_value,
63033         attributeValue))
63034 {
63035     return false;
63036 }
63037 
63038     break;
63039     }
63040     case HASH_ATTRIBUTE_param:
63041     {
63042 
63043 attributeData->param = attributeValue;
63044 #ifdef GENERATEDSAXPARSER_VALIDATION
63045     if ( mValidate )
63046     {
63047     ParserError::ErrorType simpleTypeValidationResult = validate__NCName(attributeData->param, strlen(attributeData->param));
63048     if (simpleTypeValidationResult != ParserError::SIMPLE_TYPE_VALIDATION_OK)
63049     {
63050         if( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL,
63051             simpleTypeValidationResult,
63052             HASH_ELEMENT_POLYGON_OFFSET_LINE_ENABLE,
63053             HASH_ATTRIBUTE_param,
63054             attributeValue) )
63055         {
63056             return false;
63057         }
63058     }
63059     } // validation
63060 #endif
63061 
63062     break;
63063     }
63064     default:
63065     {
63066         if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_UNKNOWN_ATTRIBUTE, HASH_ELEMENT_POLYGON_OFFSET_LINE_ENABLE, attribute, attributeValue))
63067             {return false;}
63068     }
63069     }
63070     }
63071 }
63072 
63073 
63074     return true;
63075 }
63076 
63077 //---------------------------------------------------------------------
_preEnd__polygon_offset_line_enable()63078 bool ColladaParserAutoGen14Private::_preEnd__polygon_offset_line_enable()
63079 {
63080 #ifdef GENERATEDSAXPARSER_VALIDATION
63081     if ( mValidate )
63082     {
63083 
63084         bool validationResult = _validateEnd__polygon_offset_line_enable();
63085         if ( !validationResult ) return false;
63086 
63087     } // validation
63088 #endif
63089 
63090     return true;
63091 }
63092 
63093 //---------------------------------------------------------------------
_freeAttributes__polygon_offset_line_enable(void * attributeData)63094 bool ColladaParserAutoGen14Private::_freeAttributes__polygon_offset_line_enable( void* attributeData )
63095 {
63096     polygon_offset_line_enable__AttributeData* typedAttributeData = static_cast<polygon_offset_line_enable__AttributeData*>(attributeData);
63097 
63098     typedAttributeData->~polygon_offset_line_enable__AttributeData();
63099 
63100     return true;
63101 }
63102 
63103 //---------------------------------------------------------------------
63104 const polygon_offset_point_enable__AttributeData polygon_offset_point_enable__AttributeData::DEFAULT = {false, 0};
63105 
63106 //---------------------------------------------------------------------
_data__polygon_offset_point_enable(const ParserChar * text,size_t textLength)63107 bool ColladaParserAutoGen14Private::_data__polygon_offset_point_enable( const ParserChar* text, size_t textLength )
63108 {
63109     return true;
63110 }
63111 
63112 //---------------------------------------------------------------------
_preBegin__polygon_offset_point_enable(const ParserAttributes & attributes,void ** attributeDataPtr,void ** validationDataPtr)63113 bool ColladaParserAutoGen14Private::_preBegin__polygon_offset_point_enable( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
63114 {
63115 #ifdef GENERATEDSAXPARSER_VALIDATION
63116     if ( mValidate )
63117     {
63118 
63119         bool validationResult = _validateBegin__polygon_offset_point_enable( attributes, attributeDataPtr, validationDataPtr );
63120         if ( !validationResult ) return false;
63121 
63122     } // validation
63123 #endif
63124 
63125 polygon_offset_point_enable__AttributeData* attributeData = newData<polygon_offset_point_enable__AttributeData>(attributeDataPtr);
63126 
63127 const ParserChar** attributeArray = attributes.attributes;
63128 if ( attributeArray )
63129 {
63130     while (true)
63131     {
63132         const ParserChar * attribute = *attributeArray;
63133         if ( !attribute )
63134             break;
63135         StringHash hash = GeneratedSaxParser::Utils::calculateStringHash(attribute);
63136         attributeArray++;
63137         if ( !attributeArray )
63138             return false;
63139         const ParserChar* attributeValue = *attributeArray;
63140         attributeArray++;
63141 
63142 
63143     switch ( hash )
63144     {
63145     case HASH_ATTRIBUTE_value:
63146     {
63147 bool failed;
63148 attributeData->value = GeneratedSaxParser::Utils::toBool(attributeValue, failed);
63149 if ( failed && handleError(ParserError::SEVERITY_ERROR_NONCRITICAL,
63150         ParserError::ERROR_ATTRIBUTE_PARSING_FAILED,
63151         HASH_ELEMENT_POLYGON_OFFSET_POINT_ENABLE,
63152         HASH_ATTRIBUTE_value,
63153         attributeValue))
63154 {
63155     return false;
63156 }
63157 
63158     break;
63159     }
63160     case HASH_ATTRIBUTE_param:
63161     {
63162 
63163 attributeData->param = attributeValue;
63164 #ifdef GENERATEDSAXPARSER_VALIDATION
63165     if ( mValidate )
63166     {
63167     ParserError::ErrorType simpleTypeValidationResult = validate__NCName(attributeData->param, strlen(attributeData->param));
63168     if (simpleTypeValidationResult != ParserError::SIMPLE_TYPE_VALIDATION_OK)
63169     {
63170         if( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL,
63171             simpleTypeValidationResult,
63172             HASH_ELEMENT_POLYGON_OFFSET_POINT_ENABLE,
63173             HASH_ATTRIBUTE_param,
63174             attributeValue) )
63175         {
63176             return false;
63177         }
63178     }
63179     } // validation
63180 #endif
63181 
63182     break;
63183     }
63184     default:
63185     {
63186         if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_UNKNOWN_ATTRIBUTE, HASH_ELEMENT_POLYGON_OFFSET_POINT_ENABLE, attribute, attributeValue))
63187             {return false;}
63188     }
63189     }
63190     }
63191 }
63192 
63193 
63194     return true;
63195 }
63196 
63197 //---------------------------------------------------------------------
_preEnd__polygon_offset_point_enable()63198 bool ColladaParserAutoGen14Private::_preEnd__polygon_offset_point_enable()
63199 {
63200 #ifdef GENERATEDSAXPARSER_VALIDATION
63201     if ( mValidate )
63202     {
63203 
63204         bool validationResult = _validateEnd__polygon_offset_point_enable();
63205         if ( !validationResult ) return false;
63206 
63207     } // validation
63208 #endif
63209 
63210     return true;
63211 }
63212 
63213 //---------------------------------------------------------------------
_freeAttributes__polygon_offset_point_enable(void * attributeData)63214 bool ColladaParserAutoGen14Private::_freeAttributes__polygon_offset_point_enable( void* attributeData )
63215 {
63216     polygon_offset_point_enable__AttributeData* typedAttributeData = static_cast<polygon_offset_point_enable__AttributeData*>(attributeData);
63217 
63218     typedAttributeData->~polygon_offset_point_enable__AttributeData();
63219 
63220     return true;
63221 }
63222 
63223 //---------------------------------------------------------------------
63224 const polygon_smooth_enable__AttributeData polygon_smooth_enable__AttributeData::DEFAULT = {false, 0};
63225 
63226 //---------------------------------------------------------------------
_data__polygon_smooth_enable(const ParserChar * text,size_t textLength)63227 bool ColladaParserAutoGen14Private::_data__polygon_smooth_enable( const ParserChar* text, size_t textLength )
63228 {
63229     return true;
63230 }
63231 
63232 //---------------------------------------------------------------------
_preBegin__polygon_smooth_enable(const ParserAttributes & attributes,void ** attributeDataPtr,void ** validationDataPtr)63233 bool ColladaParserAutoGen14Private::_preBegin__polygon_smooth_enable( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
63234 {
63235 #ifdef GENERATEDSAXPARSER_VALIDATION
63236     if ( mValidate )
63237     {
63238 
63239         bool validationResult = _validateBegin__polygon_smooth_enable( attributes, attributeDataPtr, validationDataPtr );
63240         if ( !validationResult ) return false;
63241 
63242     } // validation
63243 #endif
63244 
63245 polygon_smooth_enable__AttributeData* attributeData = newData<polygon_smooth_enable__AttributeData>(attributeDataPtr);
63246 
63247 const ParserChar** attributeArray = attributes.attributes;
63248 if ( attributeArray )
63249 {
63250     while (true)
63251     {
63252         const ParserChar * attribute = *attributeArray;
63253         if ( !attribute )
63254             break;
63255         StringHash hash = GeneratedSaxParser::Utils::calculateStringHash(attribute);
63256         attributeArray++;
63257         if ( !attributeArray )
63258             return false;
63259         const ParserChar* attributeValue = *attributeArray;
63260         attributeArray++;
63261 
63262 
63263     switch ( hash )
63264     {
63265     case HASH_ATTRIBUTE_value:
63266     {
63267 bool failed;
63268 attributeData->value = GeneratedSaxParser::Utils::toBool(attributeValue, failed);
63269 if ( failed && handleError(ParserError::SEVERITY_ERROR_NONCRITICAL,
63270         ParserError::ERROR_ATTRIBUTE_PARSING_FAILED,
63271         HASH_ELEMENT_POLYGON_SMOOTH_ENABLE,
63272         HASH_ATTRIBUTE_value,
63273         attributeValue))
63274 {
63275     return false;
63276 }
63277 
63278     break;
63279     }
63280     case HASH_ATTRIBUTE_param:
63281     {
63282 
63283 attributeData->param = attributeValue;
63284 #ifdef GENERATEDSAXPARSER_VALIDATION
63285     if ( mValidate )
63286     {
63287     ParserError::ErrorType simpleTypeValidationResult = validate__NCName(attributeData->param, strlen(attributeData->param));
63288     if (simpleTypeValidationResult != ParserError::SIMPLE_TYPE_VALIDATION_OK)
63289     {
63290         if( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL,
63291             simpleTypeValidationResult,
63292             HASH_ELEMENT_POLYGON_SMOOTH_ENABLE,
63293             HASH_ATTRIBUTE_param,
63294             attributeValue) )
63295         {
63296             return false;
63297         }
63298     }
63299     } // validation
63300 #endif
63301 
63302     break;
63303     }
63304     default:
63305     {
63306         if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_UNKNOWN_ATTRIBUTE, HASH_ELEMENT_POLYGON_SMOOTH_ENABLE, attribute, attributeValue))
63307             {return false;}
63308     }
63309     }
63310     }
63311 }
63312 
63313 
63314     return true;
63315 }
63316 
63317 //---------------------------------------------------------------------
_preEnd__polygon_smooth_enable()63318 bool ColladaParserAutoGen14Private::_preEnd__polygon_smooth_enable()
63319 {
63320 #ifdef GENERATEDSAXPARSER_VALIDATION
63321     if ( mValidate )
63322     {
63323 
63324         bool validationResult = _validateEnd__polygon_smooth_enable();
63325         if ( !validationResult ) return false;
63326 
63327     } // validation
63328 #endif
63329 
63330     return true;
63331 }
63332 
63333 //---------------------------------------------------------------------
_freeAttributes__polygon_smooth_enable(void * attributeData)63334 bool ColladaParserAutoGen14Private::_freeAttributes__polygon_smooth_enable( void* attributeData )
63335 {
63336     polygon_smooth_enable__AttributeData* typedAttributeData = static_cast<polygon_smooth_enable__AttributeData*>(attributeData);
63337 
63338     typedAttributeData->~polygon_smooth_enable__AttributeData();
63339 
63340     return true;
63341 }
63342 
63343 //---------------------------------------------------------------------
63344 const polygon_stipple_enable__AttributeData polygon_stipple_enable__AttributeData::DEFAULT = {false, 0};
63345 
63346 //---------------------------------------------------------------------
_data__polygon_stipple_enable(const ParserChar * text,size_t textLength)63347 bool ColladaParserAutoGen14Private::_data__polygon_stipple_enable( const ParserChar* text, size_t textLength )
63348 {
63349     return true;
63350 }
63351 
63352 //---------------------------------------------------------------------
_preBegin__polygon_stipple_enable(const ParserAttributes & attributes,void ** attributeDataPtr,void ** validationDataPtr)63353 bool ColladaParserAutoGen14Private::_preBegin__polygon_stipple_enable( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
63354 {
63355 #ifdef GENERATEDSAXPARSER_VALIDATION
63356     if ( mValidate )
63357     {
63358 
63359         bool validationResult = _validateBegin__polygon_stipple_enable( attributes, attributeDataPtr, validationDataPtr );
63360         if ( !validationResult ) return false;
63361 
63362     } // validation
63363 #endif
63364 
63365 polygon_stipple_enable__AttributeData* attributeData = newData<polygon_stipple_enable__AttributeData>(attributeDataPtr);
63366 
63367 const ParserChar** attributeArray = attributes.attributes;
63368 if ( attributeArray )
63369 {
63370     while (true)
63371     {
63372         const ParserChar * attribute = *attributeArray;
63373         if ( !attribute )
63374             break;
63375         StringHash hash = GeneratedSaxParser::Utils::calculateStringHash(attribute);
63376         attributeArray++;
63377         if ( !attributeArray )
63378             return false;
63379         const ParserChar* attributeValue = *attributeArray;
63380         attributeArray++;
63381 
63382 
63383     switch ( hash )
63384     {
63385     case HASH_ATTRIBUTE_value:
63386     {
63387 bool failed;
63388 attributeData->value = GeneratedSaxParser::Utils::toBool(attributeValue, failed);
63389 if ( failed && handleError(ParserError::SEVERITY_ERROR_NONCRITICAL,
63390         ParserError::ERROR_ATTRIBUTE_PARSING_FAILED,
63391         HASH_ELEMENT_POLYGON_STIPPLE_ENABLE,
63392         HASH_ATTRIBUTE_value,
63393         attributeValue))
63394 {
63395     return false;
63396 }
63397 
63398     break;
63399     }
63400     case HASH_ATTRIBUTE_param:
63401     {
63402 
63403 attributeData->param = attributeValue;
63404 #ifdef GENERATEDSAXPARSER_VALIDATION
63405     if ( mValidate )
63406     {
63407     ParserError::ErrorType simpleTypeValidationResult = validate__NCName(attributeData->param, strlen(attributeData->param));
63408     if (simpleTypeValidationResult != ParserError::SIMPLE_TYPE_VALIDATION_OK)
63409     {
63410         if( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL,
63411             simpleTypeValidationResult,
63412             HASH_ELEMENT_POLYGON_STIPPLE_ENABLE,
63413             HASH_ATTRIBUTE_param,
63414             attributeValue) )
63415         {
63416             return false;
63417         }
63418     }
63419     } // validation
63420 #endif
63421 
63422     break;
63423     }
63424     default:
63425     {
63426         if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_UNKNOWN_ATTRIBUTE, HASH_ELEMENT_POLYGON_STIPPLE_ENABLE, attribute, attributeValue))
63427             {return false;}
63428     }
63429     }
63430     }
63431 }
63432 
63433 
63434     return true;
63435 }
63436 
63437 //---------------------------------------------------------------------
_preEnd__polygon_stipple_enable()63438 bool ColladaParserAutoGen14Private::_preEnd__polygon_stipple_enable()
63439 {
63440 #ifdef GENERATEDSAXPARSER_VALIDATION
63441     if ( mValidate )
63442     {
63443 
63444         bool validationResult = _validateEnd__polygon_stipple_enable();
63445         if ( !validationResult ) return false;
63446 
63447     } // validation
63448 #endif
63449 
63450     return true;
63451 }
63452 
63453 //---------------------------------------------------------------------
_freeAttributes__polygon_stipple_enable(void * attributeData)63454 bool ColladaParserAutoGen14Private::_freeAttributes__polygon_stipple_enable( void* attributeData )
63455 {
63456     polygon_stipple_enable__AttributeData* typedAttributeData = static_cast<polygon_stipple_enable__AttributeData*>(attributeData);
63457 
63458     typedAttributeData->~polygon_stipple_enable__AttributeData();
63459 
63460     return true;
63461 }
63462 
63463 //---------------------------------------------------------------------
63464 const profile_GLSL__technique__pass__rescale_normal_enable__AttributeData profile_GLSL__technique__pass__rescale_normal_enable__AttributeData::DEFAULT = {false, 0};
63465 
63466 //---------------------------------------------------------------------
_data__profile_GLSL__technique__pass__rescale_normal_enable(const ParserChar * text,size_t textLength)63467 bool ColladaParserAutoGen14Private::_data__profile_GLSL__technique__pass__rescale_normal_enable( const ParserChar* text, size_t textLength )
63468 {
63469     return true;
63470 }
63471 
63472 //---------------------------------------------------------------------
_preBegin__profile_GLSL__technique__pass__rescale_normal_enable(const ParserAttributes & attributes,void ** attributeDataPtr,void ** validationDataPtr)63473 bool ColladaParserAutoGen14Private::_preBegin__profile_GLSL__technique__pass__rescale_normal_enable( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
63474 {
63475 #ifdef GENERATEDSAXPARSER_VALIDATION
63476     if ( mValidate )
63477     {
63478 
63479         bool validationResult = _validateBegin__profile_GLSL__technique__pass__rescale_normal_enable( attributes, attributeDataPtr, validationDataPtr );
63480         if ( !validationResult ) return false;
63481 
63482     } // validation
63483 #endif
63484 
63485 profile_GLSL__technique__pass__rescale_normal_enable__AttributeData* attributeData = newData<profile_GLSL__technique__pass__rescale_normal_enable__AttributeData>(attributeDataPtr);
63486 
63487 const ParserChar** attributeArray = attributes.attributes;
63488 if ( attributeArray )
63489 {
63490     while (true)
63491     {
63492         const ParserChar * attribute = *attributeArray;
63493         if ( !attribute )
63494             break;
63495         StringHash hash = GeneratedSaxParser::Utils::calculateStringHash(attribute);
63496         attributeArray++;
63497         if ( !attributeArray )
63498             return false;
63499         const ParserChar* attributeValue = *attributeArray;
63500         attributeArray++;
63501 
63502 
63503     switch ( hash )
63504     {
63505     case HASH_ATTRIBUTE_value:
63506     {
63507 bool failed;
63508 attributeData->value = GeneratedSaxParser::Utils::toBool(attributeValue, failed);
63509 if ( failed && handleError(ParserError::SEVERITY_ERROR_NONCRITICAL,
63510         ParserError::ERROR_ATTRIBUTE_PARSING_FAILED,
63511         HASH_ELEMENT_RESCALE_NORMAL_ENABLE,
63512         HASH_ATTRIBUTE_value,
63513         attributeValue))
63514 {
63515     return false;
63516 }
63517 
63518     break;
63519     }
63520     case HASH_ATTRIBUTE_param:
63521     {
63522 
63523 attributeData->param = attributeValue;
63524 #ifdef GENERATEDSAXPARSER_VALIDATION
63525     if ( mValidate )
63526     {
63527     ParserError::ErrorType simpleTypeValidationResult = validate__NCName(attributeData->param, strlen(attributeData->param));
63528     if (simpleTypeValidationResult != ParserError::SIMPLE_TYPE_VALIDATION_OK)
63529     {
63530         if( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL,
63531             simpleTypeValidationResult,
63532             HASH_ELEMENT_RESCALE_NORMAL_ENABLE,
63533             HASH_ATTRIBUTE_param,
63534             attributeValue) )
63535         {
63536             return false;
63537         }
63538     }
63539     } // validation
63540 #endif
63541 
63542     break;
63543     }
63544     default:
63545     {
63546         if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_UNKNOWN_ATTRIBUTE, HASH_ELEMENT_RESCALE_NORMAL_ENABLE, attribute, attributeValue))
63547             {return false;}
63548     }
63549     }
63550     }
63551 }
63552 
63553 
63554     return true;
63555 }
63556 
63557 //---------------------------------------------------------------------
_preEnd__profile_GLSL__technique__pass__rescale_normal_enable()63558 bool ColladaParserAutoGen14Private::_preEnd__profile_GLSL__technique__pass__rescale_normal_enable()
63559 {
63560 #ifdef GENERATEDSAXPARSER_VALIDATION
63561     if ( mValidate )
63562     {
63563 
63564         bool validationResult = _validateEnd__profile_GLSL__technique__pass__rescale_normal_enable();
63565         if ( !validationResult ) return false;
63566 
63567     } // validation
63568 #endif
63569 
63570     return true;
63571 }
63572 
63573 //---------------------------------------------------------------------
_freeAttributes__profile_GLSL__technique__pass__rescale_normal_enable(void * attributeData)63574 bool ColladaParserAutoGen14Private::_freeAttributes__profile_GLSL__technique__pass__rescale_normal_enable( void* attributeData )
63575 {
63576     profile_GLSL__technique__pass__rescale_normal_enable__AttributeData* typedAttributeData = static_cast<profile_GLSL__technique__pass__rescale_normal_enable__AttributeData*>(attributeData);
63577 
63578     typedAttributeData->~profile_GLSL__technique__pass__rescale_normal_enable__AttributeData();
63579 
63580     return true;
63581 }
63582 
63583 //---------------------------------------------------------------------
63584 const profile_GLSL__technique__pass__sample_alpha_to_coverage_enable__AttributeData profile_GLSL__technique__pass__sample_alpha_to_coverage_enable__AttributeData::DEFAULT = {false, 0};
63585 
63586 //---------------------------------------------------------------------
_data__profile_GLSL__technique__pass__sample_alpha_to_coverage_enable(const ParserChar * text,size_t textLength)63587 bool ColladaParserAutoGen14Private::_data__profile_GLSL__technique__pass__sample_alpha_to_coverage_enable( const ParserChar* text, size_t textLength )
63588 {
63589     return true;
63590 }
63591 
63592 //---------------------------------------------------------------------
_preBegin__profile_GLSL__technique__pass__sample_alpha_to_coverage_enable(const ParserAttributes & attributes,void ** attributeDataPtr,void ** validationDataPtr)63593 bool ColladaParserAutoGen14Private::_preBegin__profile_GLSL__technique__pass__sample_alpha_to_coverage_enable( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
63594 {
63595 #ifdef GENERATEDSAXPARSER_VALIDATION
63596     if ( mValidate )
63597     {
63598 
63599         bool validationResult = _validateBegin__profile_GLSL__technique__pass__sample_alpha_to_coverage_enable( attributes, attributeDataPtr, validationDataPtr );
63600         if ( !validationResult ) return false;
63601 
63602     } // validation
63603 #endif
63604 
63605 profile_GLSL__technique__pass__sample_alpha_to_coverage_enable__AttributeData* attributeData = newData<profile_GLSL__technique__pass__sample_alpha_to_coverage_enable__AttributeData>(attributeDataPtr);
63606 
63607 const ParserChar** attributeArray = attributes.attributes;
63608 if ( attributeArray )
63609 {
63610     while (true)
63611     {
63612         const ParserChar * attribute = *attributeArray;
63613         if ( !attribute )
63614             break;
63615         StringHash hash = GeneratedSaxParser::Utils::calculateStringHash(attribute);
63616         attributeArray++;
63617         if ( !attributeArray )
63618             return false;
63619         const ParserChar* attributeValue = *attributeArray;
63620         attributeArray++;
63621 
63622 
63623     switch ( hash )
63624     {
63625     case HASH_ATTRIBUTE_value:
63626     {
63627 bool failed;
63628 attributeData->value = GeneratedSaxParser::Utils::toBool(attributeValue, failed);
63629 if ( failed && handleError(ParserError::SEVERITY_ERROR_NONCRITICAL,
63630         ParserError::ERROR_ATTRIBUTE_PARSING_FAILED,
63631         HASH_ELEMENT_SAMPLE_ALPHA_TO_COVERAGE_ENABLE,
63632         HASH_ATTRIBUTE_value,
63633         attributeValue))
63634 {
63635     return false;
63636 }
63637 
63638     break;
63639     }
63640     case HASH_ATTRIBUTE_param:
63641     {
63642 
63643 attributeData->param = attributeValue;
63644 #ifdef GENERATEDSAXPARSER_VALIDATION
63645     if ( mValidate )
63646     {
63647     ParserError::ErrorType simpleTypeValidationResult = validate__NCName(attributeData->param, strlen(attributeData->param));
63648     if (simpleTypeValidationResult != ParserError::SIMPLE_TYPE_VALIDATION_OK)
63649     {
63650         if( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL,
63651             simpleTypeValidationResult,
63652             HASH_ELEMENT_SAMPLE_ALPHA_TO_COVERAGE_ENABLE,
63653             HASH_ATTRIBUTE_param,
63654             attributeValue) )
63655         {
63656             return false;
63657         }
63658     }
63659     } // validation
63660 #endif
63661 
63662     break;
63663     }
63664     default:
63665     {
63666         if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_UNKNOWN_ATTRIBUTE, HASH_ELEMENT_SAMPLE_ALPHA_TO_COVERAGE_ENABLE, attribute, attributeValue))
63667             {return false;}
63668     }
63669     }
63670     }
63671 }
63672 
63673 
63674     return true;
63675 }
63676 
63677 //---------------------------------------------------------------------
_preEnd__profile_GLSL__technique__pass__sample_alpha_to_coverage_enable()63678 bool ColladaParserAutoGen14Private::_preEnd__profile_GLSL__technique__pass__sample_alpha_to_coverage_enable()
63679 {
63680 #ifdef GENERATEDSAXPARSER_VALIDATION
63681     if ( mValidate )
63682     {
63683 
63684         bool validationResult = _validateEnd__profile_GLSL__technique__pass__sample_alpha_to_coverage_enable();
63685         if ( !validationResult ) return false;
63686 
63687     } // validation
63688 #endif
63689 
63690     return true;
63691 }
63692 
63693 //---------------------------------------------------------------------
_freeAttributes__profile_GLSL__technique__pass__sample_alpha_to_coverage_enable(void * attributeData)63694 bool ColladaParserAutoGen14Private::_freeAttributes__profile_GLSL__technique__pass__sample_alpha_to_coverage_enable( void* attributeData )
63695 {
63696     profile_GLSL__technique__pass__sample_alpha_to_coverage_enable__AttributeData* typedAttributeData = static_cast<profile_GLSL__technique__pass__sample_alpha_to_coverage_enable__AttributeData*>(attributeData);
63697 
63698     typedAttributeData->~profile_GLSL__technique__pass__sample_alpha_to_coverage_enable__AttributeData();
63699 
63700     return true;
63701 }
63702 
63703 //---------------------------------------------------------------------
63704 const profile_GLSL__technique__pass__sample_alpha_to_one_enable__AttributeData profile_GLSL__technique__pass__sample_alpha_to_one_enable__AttributeData::DEFAULT = {false, 0};
63705 
63706 //---------------------------------------------------------------------
_data__profile_GLSL__technique__pass__sample_alpha_to_one_enable(const ParserChar * text,size_t textLength)63707 bool ColladaParserAutoGen14Private::_data__profile_GLSL__technique__pass__sample_alpha_to_one_enable( const ParserChar* text, size_t textLength )
63708 {
63709     return true;
63710 }
63711 
63712 //---------------------------------------------------------------------
_preBegin__profile_GLSL__technique__pass__sample_alpha_to_one_enable(const ParserAttributes & attributes,void ** attributeDataPtr,void ** validationDataPtr)63713 bool ColladaParserAutoGen14Private::_preBegin__profile_GLSL__technique__pass__sample_alpha_to_one_enable( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
63714 {
63715 #ifdef GENERATEDSAXPARSER_VALIDATION
63716     if ( mValidate )
63717     {
63718 
63719         bool validationResult = _validateBegin__profile_GLSL__technique__pass__sample_alpha_to_one_enable( attributes, attributeDataPtr, validationDataPtr );
63720         if ( !validationResult ) return false;
63721 
63722     } // validation
63723 #endif
63724 
63725 profile_GLSL__technique__pass__sample_alpha_to_one_enable__AttributeData* attributeData = newData<profile_GLSL__technique__pass__sample_alpha_to_one_enable__AttributeData>(attributeDataPtr);
63726 
63727 const ParserChar** attributeArray = attributes.attributes;
63728 if ( attributeArray )
63729 {
63730     while (true)
63731     {
63732         const ParserChar * attribute = *attributeArray;
63733         if ( !attribute )
63734             break;
63735         StringHash hash = GeneratedSaxParser::Utils::calculateStringHash(attribute);
63736         attributeArray++;
63737         if ( !attributeArray )
63738             return false;
63739         const ParserChar* attributeValue = *attributeArray;
63740         attributeArray++;
63741 
63742 
63743     switch ( hash )
63744     {
63745     case HASH_ATTRIBUTE_value:
63746     {
63747 bool failed;
63748 attributeData->value = GeneratedSaxParser::Utils::toBool(attributeValue, failed);
63749 if ( failed && handleError(ParserError::SEVERITY_ERROR_NONCRITICAL,
63750         ParserError::ERROR_ATTRIBUTE_PARSING_FAILED,
63751         HASH_ELEMENT_SAMPLE_ALPHA_TO_ONE_ENABLE,
63752         HASH_ATTRIBUTE_value,
63753         attributeValue))
63754 {
63755     return false;
63756 }
63757 
63758     break;
63759     }
63760     case HASH_ATTRIBUTE_param:
63761     {
63762 
63763 attributeData->param = attributeValue;
63764 #ifdef GENERATEDSAXPARSER_VALIDATION
63765     if ( mValidate )
63766     {
63767     ParserError::ErrorType simpleTypeValidationResult = validate__NCName(attributeData->param, strlen(attributeData->param));
63768     if (simpleTypeValidationResult != ParserError::SIMPLE_TYPE_VALIDATION_OK)
63769     {
63770         if( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL,
63771             simpleTypeValidationResult,
63772             HASH_ELEMENT_SAMPLE_ALPHA_TO_ONE_ENABLE,
63773             HASH_ATTRIBUTE_param,
63774             attributeValue) )
63775         {
63776             return false;
63777         }
63778     }
63779     } // validation
63780 #endif
63781 
63782     break;
63783     }
63784     default:
63785     {
63786         if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_UNKNOWN_ATTRIBUTE, HASH_ELEMENT_SAMPLE_ALPHA_TO_ONE_ENABLE, attribute, attributeValue))
63787             {return false;}
63788     }
63789     }
63790     }
63791 }
63792 
63793 
63794     return true;
63795 }
63796 
63797 //---------------------------------------------------------------------
_preEnd__profile_GLSL__technique__pass__sample_alpha_to_one_enable()63798 bool ColladaParserAutoGen14Private::_preEnd__profile_GLSL__technique__pass__sample_alpha_to_one_enable()
63799 {
63800 #ifdef GENERATEDSAXPARSER_VALIDATION
63801     if ( mValidate )
63802     {
63803 
63804         bool validationResult = _validateEnd__profile_GLSL__technique__pass__sample_alpha_to_one_enable();
63805         if ( !validationResult ) return false;
63806 
63807     } // validation
63808 #endif
63809 
63810     return true;
63811 }
63812 
63813 //---------------------------------------------------------------------
_freeAttributes__profile_GLSL__technique__pass__sample_alpha_to_one_enable(void * attributeData)63814 bool ColladaParserAutoGen14Private::_freeAttributes__profile_GLSL__technique__pass__sample_alpha_to_one_enable( void* attributeData )
63815 {
63816     profile_GLSL__technique__pass__sample_alpha_to_one_enable__AttributeData* typedAttributeData = static_cast<profile_GLSL__technique__pass__sample_alpha_to_one_enable__AttributeData*>(attributeData);
63817 
63818     typedAttributeData->~profile_GLSL__technique__pass__sample_alpha_to_one_enable__AttributeData();
63819 
63820     return true;
63821 }
63822 
63823 //---------------------------------------------------------------------
63824 const profile_GLSL__technique__pass__sample_coverage_enable__AttributeData profile_GLSL__technique__pass__sample_coverage_enable__AttributeData::DEFAULT = {false, 0};
63825 
63826 //---------------------------------------------------------------------
_data__profile_GLSL__technique__pass__sample_coverage_enable(const ParserChar * text,size_t textLength)63827 bool ColladaParserAutoGen14Private::_data__profile_GLSL__technique__pass__sample_coverage_enable( const ParserChar* text, size_t textLength )
63828 {
63829     return true;
63830 }
63831 
63832 //---------------------------------------------------------------------
_preBegin__profile_GLSL__technique__pass__sample_coverage_enable(const ParserAttributes & attributes,void ** attributeDataPtr,void ** validationDataPtr)63833 bool ColladaParserAutoGen14Private::_preBegin__profile_GLSL__technique__pass__sample_coverage_enable( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
63834 {
63835 #ifdef GENERATEDSAXPARSER_VALIDATION
63836     if ( mValidate )
63837     {
63838 
63839         bool validationResult = _validateBegin__profile_GLSL__technique__pass__sample_coverage_enable( attributes, attributeDataPtr, validationDataPtr );
63840         if ( !validationResult ) return false;
63841 
63842     } // validation
63843 #endif
63844 
63845 profile_GLSL__technique__pass__sample_coverage_enable__AttributeData* attributeData = newData<profile_GLSL__technique__pass__sample_coverage_enable__AttributeData>(attributeDataPtr);
63846 
63847 const ParserChar** attributeArray = attributes.attributes;
63848 if ( attributeArray )
63849 {
63850     while (true)
63851     {
63852         const ParserChar * attribute = *attributeArray;
63853         if ( !attribute )
63854             break;
63855         StringHash hash = GeneratedSaxParser::Utils::calculateStringHash(attribute);
63856         attributeArray++;
63857         if ( !attributeArray )
63858             return false;
63859         const ParserChar* attributeValue = *attributeArray;
63860         attributeArray++;
63861 
63862 
63863     switch ( hash )
63864     {
63865     case HASH_ATTRIBUTE_value:
63866     {
63867 bool failed;
63868 attributeData->value = GeneratedSaxParser::Utils::toBool(attributeValue, failed);
63869 if ( failed && handleError(ParserError::SEVERITY_ERROR_NONCRITICAL,
63870         ParserError::ERROR_ATTRIBUTE_PARSING_FAILED,
63871         HASH_ELEMENT_SAMPLE_COVERAGE_ENABLE,
63872         HASH_ATTRIBUTE_value,
63873         attributeValue))
63874 {
63875     return false;
63876 }
63877 
63878     break;
63879     }
63880     case HASH_ATTRIBUTE_param:
63881     {
63882 
63883 attributeData->param = attributeValue;
63884 #ifdef GENERATEDSAXPARSER_VALIDATION
63885     if ( mValidate )
63886     {
63887     ParserError::ErrorType simpleTypeValidationResult = validate__NCName(attributeData->param, strlen(attributeData->param));
63888     if (simpleTypeValidationResult != ParserError::SIMPLE_TYPE_VALIDATION_OK)
63889     {
63890         if( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL,
63891             simpleTypeValidationResult,
63892             HASH_ELEMENT_SAMPLE_COVERAGE_ENABLE,
63893             HASH_ATTRIBUTE_param,
63894             attributeValue) )
63895         {
63896             return false;
63897         }
63898     }
63899     } // validation
63900 #endif
63901 
63902     break;
63903     }
63904     default:
63905     {
63906         if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_UNKNOWN_ATTRIBUTE, HASH_ELEMENT_SAMPLE_COVERAGE_ENABLE, attribute, attributeValue))
63907             {return false;}
63908     }
63909     }
63910     }
63911 }
63912 
63913 
63914     return true;
63915 }
63916 
63917 //---------------------------------------------------------------------
_preEnd__profile_GLSL__technique__pass__sample_coverage_enable()63918 bool ColladaParserAutoGen14Private::_preEnd__profile_GLSL__technique__pass__sample_coverage_enable()
63919 {
63920 #ifdef GENERATEDSAXPARSER_VALIDATION
63921     if ( mValidate )
63922     {
63923 
63924         bool validationResult = _validateEnd__profile_GLSL__technique__pass__sample_coverage_enable();
63925         if ( !validationResult ) return false;
63926 
63927     } // validation
63928 #endif
63929 
63930     return true;
63931 }
63932 
63933 //---------------------------------------------------------------------
_freeAttributes__profile_GLSL__technique__pass__sample_coverage_enable(void * attributeData)63934 bool ColladaParserAutoGen14Private::_freeAttributes__profile_GLSL__technique__pass__sample_coverage_enable( void* attributeData )
63935 {
63936     profile_GLSL__technique__pass__sample_coverage_enable__AttributeData* typedAttributeData = static_cast<profile_GLSL__technique__pass__sample_coverage_enable__AttributeData*>(attributeData);
63937 
63938     typedAttributeData->~profile_GLSL__technique__pass__sample_coverage_enable__AttributeData();
63939 
63940     return true;
63941 }
63942 
63943 //---------------------------------------------------------------------
63944 const profile_GLSL__technique__pass__scissor_test_enable__AttributeData profile_GLSL__technique__pass__scissor_test_enable__AttributeData::DEFAULT = {false, 0};
63945 
63946 //---------------------------------------------------------------------
_data__profile_GLSL__technique__pass__scissor_test_enable(const ParserChar * text,size_t textLength)63947 bool ColladaParserAutoGen14Private::_data__profile_GLSL__technique__pass__scissor_test_enable( const ParserChar* text, size_t textLength )
63948 {
63949     return true;
63950 }
63951 
63952 //---------------------------------------------------------------------
_preBegin__profile_GLSL__technique__pass__scissor_test_enable(const ParserAttributes & attributes,void ** attributeDataPtr,void ** validationDataPtr)63953 bool ColladaParserAutoGen14Private::_preBegin__profile_GLSL__technique__pass__scissor_test_enable( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
63954 {
63955 #ifdef GENERATEDSAXPARSER_VALIDATION
63956     if ( mValidate )
63957     {
63958 
63959         bool validationResult = _validateBegin__profile_GLSL__technique__pass__scissor_test_enable( attributes, attributeDataPtr, validationDataPtr );
63960         if ( !validationResult ) return false;
63961 
63962     } // validation
63963 #endif
63964 
63965 profile_GLSL__technique__pass__scissor_test_enable__AttributeData* attributeData = newData<profile_GLSL__technique__pass__scissor_test_enable__AttributeData>(attributeDataPtr);
63966 
63967 const ParserChar** attributeArray = attributes.attributes;
63968 if ( attributeArray )
63969 {
63970     while (true)
63971     {
63972         const ParserChar * attribute = *attributeArray;
63973         if ( !attribute )
63974             break;
63975         StringHash hash = GeneratedSaxParser::Utils::calculateStringHash(attribute);
63976         attributeArray++;
63977         if ( !attributeArray )
63978             return false;
63979         const ParserChar* attributeValue = *attributeArray;
63980         attributeArray++;
63981 
63982 
63983     switch ( hash )
63984     {
63985     case HASH_ATTRIBUTE_value:
63986     {
63987 bool failed;
63988 attributeData->value = GeneratedSaxParser::Utils::toBool(attributeValue, failed);
63989 if ( failed && handleError(ParserError::SEVERITY_ERROR_NONCRITICAL,
63990         ParserError::ERROR_ATTRIBUTE_PARSING_FAILED,
63991         HASH_ELEMENT_SCISSOR_TEST_ENABLE,
63992         HASH_ATTRIBUTE_value,
63993         attributeValue))
63994 {
63995     return false;
63996 }
63997 
63998     break;
63999     }
64000     case HASH_ATTRIBUTE_param:
64001     {
64002 
64003 attributeData->param = attributeValue;
64004 #ifdef GENERATEDSAXPARSER_VALIDATION
64005     if ( mValidate )
64006     {
64007     ParserError::ErrorType simpleTypeValidationResult = validate__NCName(attributeData->param, strlen(attributeData->param));
64008     if (simpleTypeValidationResult != ParserError::SIMPLE_TYPE_VALIDATION_OK)
64009     {
64010         if( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL,
64011             simpleTypeValidationResult,
64012             HASH_ELEMENT_SCISSOR_TEST_ENABLE,
64013             HASH_ATTRIBUTE_param,
64014             attributeValue) )
64015         {
64016             return false;
64017         }
64018     }
64019     } // validation
64020 #endif
64021 
64022     break;
64023     }
64024     default:
64025     {
64026         if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_UNKNOWN_ATTRIBUTE, HASH_ELEMENT_SCISSOR_TEST_ENABLE, attribute, attributeValue))
64027             {return false;}
64028     }
64029     }
64030     }
64031 }
64032 
64033 
64034     return true;
64035 }
64036 
64037 //---------------------------------------------------------------------
_preEnd__profile_GLSL__technique__pass__scissor_test_enable()64038 bool ColladaParserAutoGen14Private::_preEnd__profile_GLSL__technique__pass__scissor_test_enable()
64039 {
64040 #ifdef GENERATEDSAXPARSER_VALIDATION
64041     if ( mValidate )
64042     {
64043 
64044         bool validationResult = _validateEnd__profile_GLSL__technique__pass__scissor_test_enable();
64045         if ( !validationResult ) return false;
64046 
64047     } // validation
64048 #endif
64049 
64050     return true;
64051 }
64052 
64053 //---------------------------------------------------------------------
_freeAttributes__profile_GLSL__technique__pass__scissor_test_enable(void * attributeData)64054 bool ColladaParserAutoGen14Private::_freeAttributes__profile_GLSL__technique__pass__scissor_test_enable( void* attributeData )
64055 {
64056     profile_GLSL__technique__pass__scissor_test_enable__AttributeData* typedAttributeData = static_cast<profile_GLSL__technique__pass__scissor_test_enable__AttributeData*>(attributeData);
64057 
64058     typedAttributeData->~profile_GLSL__technique__pass__scissor_test_enable__AttributeData();
64059 
64060     return true;
64061 }
64062 
64063 //---------------------------------------------------------------------
64064 const profile_GLSL__technique__pass__stencil_test_enable__AttributeData profile_GLSL__technique__pass__stencil_test_enable__AttributeData::DEFAULT = {false, 0};
64065 
64066 //---------------------------------------------------------------------
_data__profile_GLSL__technique__pass__stencil_test_enable(const ParserChar * text,size_t textLength)64067 bool ColladaParserAutoGen14Private::_data__profile_GLSL__technique__pass__stencil_test_enable( const ParserChar* text, size_t textLength )
64068 {
64069     return true;
64070 }
64071 
64072 //---------------------------------------------------------------------
_preBegin__profile_GLSL__technique__pass__stencil_test_enable(const ParserAttributes & attributes,void ** attributeDataPtr,void ** validationDataPtr)64073 bool ColladaParserAutoGen14Private::_preBegin__profile_GLSL__technique__pass__stencil_test_enable( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
64074 {
64075 #ifdef GENERATEDSAXPARSER_VALIDATION
64076     if ( mValidate )
64077     {
64078 
64079         bool validationResult = _validateBegin__profile_GLSL__technique__pass__stencil_test_enable( attributes, attributeDataPtr, validationDataPtr );
64080         if ( !validationResult ) return false;
64081 
64082     } // validation
64083 #endif
64084 
64085 profile_GLSL__technique__pass__stencil_test_enable__AttributeData* attributeData = newData<profile_GLSL__technique__pass__stencil_test_enable__AttributeData>(attributeDataPtr);
64086 
64087 const ParserChar** attributeArray = attributes.attributes;
64088 if ( attributeArray )
64089 {
64090     while (true)
64091     {
64092         const ParserChar * attribute = *attributeArray;
64093         if ( !attribute )
64094             break;
64095         StringHash hash = GeneratedSaxParser::Utils::calculateStringHash(attribute);
64096         attributeArray++;
64097         if ( !attributeArray )
64098             return false;
64099         const ParserChar* attributeValue = *attributeArray;
64100         attributeArray++;
64101 
64102 
64103     switch ( hash )
64104     {
64105     case HASH_ATTRIBUTE_value:
64106     {
64107 bool failed;
64108 attributeData->value = GeneratedSaxParser::Utils::toBool(attributeValue, failed);
64109 if ( failed && handleError(ParserError::SEVERITY_ERROR_NONCRITICAL,
64110         ParserError::ERROR_ATTRIBUTE_PARSING_FAILED,
64111         HASH_ELEMENT_STENCIL_TEST_ENABLE,
64112         HASH_ATTRIBUTE_value,
64113         attributeValue))
64114 {
64115     return false;
64116 }
64117 
64118     break;
64119     }
64120     case HASH_ATTRIBUTE_param:
64121     {
64122 
64123 attributeData->param = attributeValue;
64124 #ifdef GENERATEDSAXPARSER_VALIDATION
64125     if ( mValidate )
64126     {
64127     ParserError::ErrorType simpleTypeValidationResult = validate__NCName(attributeData->param, strlen(attributeData->param));
64128     if (simpleTypeValidationResult != ParserError::SIMPLE_TYPE_VALIDATION_OK)
64129     {
64130         if( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL,
64131             simpleTypeValidationResult,
64132             HASH_ELEMENT_STENCIL_TEST_ENABLE,
64133             HASH_ATTRIBUTE_param,
64134             attributeValue) )
64135         {
64136             return false;
64137         }
64138     }
64139     } // validation
64140 #endif
64141 
64142     break;
64143     }
64144     default:
64145     {
64146         if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_UNKNOWN_ATTRIBUTE, HASH_ELEMENT_STENCIL_TEST_ENABLE, attribute, attributeValue))
64147             {return false;}
64148     }
64149     }
64150     }
64151 }
64152 
64153 
64154     return true;
64155 }
64156 
64157 //---------------------------------------------------------------------
_preEnd__profile_GLSL__technique__pass__stencil_test_enable()64158 bool ColladaParserAutoGen14Private::_preEnd__profile_GLSL__technique__pass__stencil_test_enable()
64159 {
64160 #ifdef GENERATEDSAXPARSER_VALIDATION
64161     if ( mValidate )
64162     {
64163 
64164         bool validationResult = _validateEnd__profile_GLSL__technique__pass__stencil_test_enable();
64165         if ( !validationResult ) return false;
64166 
64167     } // validation
64168 #endif
64169 
64170     return true;
64171 }
64172 
64173 //---------------------------------------------------------------------
_freeAttributes__profile_GLSL__technique__pass__stencil_test_enable(void * attributeData)64174 bool ColladaParserAutoGen14Private::_freeAttributes__profile_GLSL__technique__pass__stencil_test_enable( void* attributeData )
64175 {
64176     profile_GLSL__technique__pass__stencil_test_enable__AttributeData* typedAttributeData = static_cast<profile_GLSL__technique__pass__stencil_test_enable__AttributeData*>(attributeData);
64177 
64178     typedAttributeData->~profile_GLSL__technique__pass__stencil_test_enable__AttributeData();
64179 
64180     return true;
64181 }
64182 
64183 //---------------------------------------------------------------------
64184 const gl_hook_abstract__AttributeData gl_hook_abstract__AttributeData::DEFAULT = {GeneratedSaxParser::XSList<const ParserChar*>()};
64185 
64186 //---------------------------------------------------------------------
_data__gl_hook_abstract(const ParserChar * text,size_t textLength)64187 bool ColladaParserAutoGen14Private::_data__gl_hook_abstract( const ParserChar* text, size_t textLength )
64188 {
64189 
64190 return mImpl->data__gl_hook_abstract(text, textLength);
64191 }
64192 
64193 //---------------------------------------------------------------------
_preBegin__gl_hook_abstract(const ParserAttributes & attributes,void ** attributeDataPtr,void ** validationDataPtr)64194 bool ColladaParserAutoGen14Private::_preBegin__gl_hook_abstract( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
64195 {
64196 #ifdef GENERATEDSAXPARSER_VALIDATION
64197     if ( mValidate )
64198     {
64199 
64200         bool validationResult = _validateBegin__gl_hook_abstract( attributes, attributeDataPtr, validationDataPtr );
64201         if ( !validationResult ) return false;
64202 
64203     } // validation
64204 #endif
64205 
64206 gl_hook_abstract__AttributeData* attributeData = newData<gl_hook_abstract__AttributeData>(attributeDataPtr);
64207 
64208 const ParserChar** attributeArray = attributes.attributes;
64209 if ( attributeArray )
64210 {
64211     while (true)
64212     {
64213         const ParserChar * attribute = *attributeArray;
64214         if ( !attribute )
64215             break;
64216         attributeArray++;
64217         if ( !attributeArray )
64218             return false;
64219         const ParserChar* attributeValue = *attributeArray;
64220         attributeArray++;
64221 
64222 
64223         if ( !attributeData->unknownAttributes.data )
64224             attributeData->unknownAttributes.data = (const ParserChar**)mStackMemoryManager.newObject( 2 * sizeof( const ParserChar* ) );
64225         else
64226             attributeData->unknownAttributes.data = (const ParserChar**)mStackMemoryManager.growObject( 2 * sizeof( const ParserChar* ) );
64227         attributeData->unknownAttributes.data[ attributeData->unknownAttributes.size ] = attribute;
64228         attributeData->unknownAttributes.data[ attributeData->unknownAttributes.size+1 ] = attributeValue;
64229         attributeData->unknownAttributes.size += 2;
64230 
64231     }
64232 }
64233 
64234 
64235     return true;
64236 }
64237 
64238 //---------------------------------------------------------------------
_preEnd__gl_hook_abstract()64239 bool ColladaParserAutoGen14Private::_preEnd__gl_hook_abstract()
64240 {
64241 #ifdef GENERATEDSAXPARSER_VALIDATION
64242     if ( mValidate )
64243     {
64244 
64245         bool validationResult = _validateEnd__gl_hook_abstract();
64246         if ( !validationResult ) return false;
64247 
64248     } // validation
64249 #endif
64250 
64251     return true;
64252 }
64253 
64254 //---------------------------------------------------------------------
_freeAttributes__gl_hook_abstract(void * attributeData)64255 bool ColladaParserAutoGen14Private::_freeAttributes__gl_hook_abstract( void* attributeData )
64256 {
64257     gl_hook_abstract__AttributeData* typedAttributeData = static_cast<gl_hook_abstract__AttributeData*>(attributeData);
64258     if (typedAttributeData->unknownAttributes.data)
64259     {
64260         mStackMemoryManager.deleteObject();
64261     }
64262 
64263 
64264     typedAttributeData->~gl_hook_abstract__AttributeData();
64265 
64266     return true;
64267 }
64268 
64269 //---------------------------------------------------------------------
64270 const profile_GLSL__technique__pass__shader__AttributeData profile_GLSL__technique__pass__shader__AttributeData::DEFAULT = {ENUM__glsl_pipeline_stage__NOT_PRESENT};
64271 
64272 //---------------------------------------------------------------------
_data__profile_GLSL__technique__pass__shader(const ParserChar * text,size_t textLength)64273 bool ColladaParserAutoGen14Private::_data__profile_GLSL__technique__pass__shader( const ParserChar* text, size_t textLength )
64274 {
64275     return true;
64276 }
64277 
64278 //---------------------------------------------------------------------
_preBegin__profile_GLSL__technique__pass__shader(const ParserAttributes & attributes,void ** attributeDataPtr,void ** validationDataPtr)64279 bool ColladaParserAutoGen14Private::_preBegin__profile_GLSL__technique__pass__shader( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
64280 {
64281 #ifdef GENERATEDSAXPARSER_VALIDATION
64282     if ( mValidate )
64283     {
64284 
64285         bool validationResult = _validateBegin__profile_GLSL__technique__pass__shader( attributes, attributeDataPtr, validationDataPtr );
64286         if ( !validationResult ) return false;
64287 
64288     } // validation
64289 #endif
64290 
64291 profile_GLSL__technique__pass__shader__AttributeData* attributeData = newData<profile_GLSL__technique__pass__shader__AttributeData>(attributeDataPtr);
64292 
64293 const ParserChar** attributeArray = attributes.attributes;
64294 if ( attributeArray )
64295 {
64296     while (true)
64297     {
64298         const ParserChar * attribute = *attributeArray;
64299         if ( !attribute )
64300             break;
64301         StringHash hash = GeneratedSaxParser::Utils::calculateStringHash(attribute);
64302         attributeArray++;
64303         if ( !attributeArray )
64304             return false;
64305         const ParserChar* attributeValue = *attributeArray;
64306         attributeArray++;
64307 
64308 
64309     switch ( hash )
64310     {
64311     case HASH_ATTRIBUTE_stage:
64312     {
64313 bool failed;
64314 attributeData->stage = Utils::toEnum<ENUM__glsl_pipeline_stage, StringHash, ENUM__glsl_pipeline_stage__COUNT>(attributeValue, failed, ENUM__glsl_pipeline_stageMap, Utils::calculateStringHash);
64315 if ( failed && handleError(ParserError::SEVERITY_ERROR_NONCRITICAL,
64316         ParserError::ERROR_ATTRIBUTE_PARSING_FAILED,
64317         HASH_ELEMENT_SHADER,
64318         HASH_ATTRIBUTE_stage,
64319         attributeValue))
64320 {
64321     return false;
64322 }
64323 
64324     break;
64325     }
64326     default:
64327     {
64328         if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_UNKNOWN_ATTRIBUTE, HASH_ELEMENT_SHADER, attribute, attributeValue))
64329             {return false;}
64330     }
64331     }
64332     }
64333 }
64334 
64335 
64336     return true;
64337 }
64338 
64339 //---------------------------------------------------------------------
_preEnd__profile_GLSL__technique__pass__shader()64340 bool ColladaParserAutoGen14Private::_preEnd__profile_GLSL__technique__pass__shader()
64341 {
64342 #ifdef GENERATEDSAXPARSER_VALIDATION
64343     if ( mValidate )
64344     {
64345 
64346         bool validationResult = _validateEnd__profile_GLSL__technique__pass__shader();
64347         if ( !validationResult ) return false;
64348 
64349     } // validation
64350 #endif
64351 
64352     return true;
64353 }
64354 
64355 //---------------------------------------------------------------------
_freeAttributes__profile_GLSL__technique__pass__shader(void * attributeData)64356 bool ColladaParserAutoGen14Private::_freeAttributes__profile_GLSL__technique__pass__shader( void* attributeData )
64357 {
64358     profile_GLSL__technique__pass__shader__AttributeData* typedAttributeData = static_cast<profile_GLSL__technique__pass__shader__AttributeData*>(attributeData);
64359 
64360     typedAttributeData->~profile_GLSL__technique__pass__shader__AttributeData();
64361 
64362     return true;
64363 }
64364 
64365 //---------------------------------------------------------------------
toEnumDataPrefix_ENUM__glsl_pipeline_stage(const ParserChar * prefixedBuffer,const ParserChar * prefixedBufferEnd,const ParserChar ** buffer,const ParserChar * bufferEnd,bool & failed,const std::pair<StringHash,ENUM__glsl_pipeline_stage> * enumMap,StringHash (* baseConversionFunc)(const ParserChar **,const ParserChar *,bool &))64366 ENUM__glsl_pipeline_stage ColladaParserAutoGen14Private::toEnumDataPrefix_ENUM__glsl_pipeline_stage (
64367     const ParserChar* prefixedBuffer,
64368     const ParserChar* prefixedBufferEnd,
64369     const ParserChar** buffer,
64370     const ParserChar* bufferEnd,
64371     bool& failed,
64372     const std::pair<StringHash, ENUM__glsl_pipeline_stage>* enumMap,
64373     StringHash (*baseConversionFunc)( const ParserChar**, const ParserChar*, bool& )
64374 )
64375 {
64376     return toEnumDataPrefix<ENUM__glsl_pipeline_stage, StringHash, ENUM__glsl_pipeline_stage__COUNT, &toEnum_ENUM__glsl_pipeline_stage>(prefixedBuffer, prefixedBufferEnd, buffer, bufferEnd, failed, enumMap, baseConversionFunc);
64377 }
64378 
64379 //---------------------------------------------------------------------
characterData2EnumData_ENUM__glsl_pipeline_stage(const ParserChar * text,size_t textLength,bool (ColladaParserAutoGen14::* dataFunction)(const ENUM__glsl_pipeline_stage *,size_t),StringHash (* baseConversionFunc)(const ParserChar **,const ParserChar *,bool &))64380 bool ColladaParserAutoGen14Private::characterData2EnumData_ENUM__glsl_pipeline_stage (
64381     const ParserChar* text,
64382     size_t textLength,
64383     bool ( ColladaParserAutoGen14::*dataFunction )(const ENUM__glsl_pipeline_stage*, size_t ),
64384     StringHash (*baseConversionFunc)( const ParserChar**, const ParserChar*, bool& )
64385 )
64386 {
64387     return characterData2EnumData<ENUM__glsl_pipeline_stage, StringHash, ENUM__glsl_pipeline_stage__COUNT>(text, textLength, dataFunction, ENUM__glsl_pipeline_stageMap, baseConversionFunc, &toEnum_ENUM__glsl_pipeline_stage, &ColladaParserAutoGen14Private::toEnumDataPrefix_ENUM__glsl_pipeline_stage);
64388 }
64389 
64390 //---------------------------------------------------------------------
dataEnumEnd_ENUM__glsl_pipeline_stage(bool (ColladaParserAutoGen14::* dataFunction)(const ENUM__glsl_pipeline_stage *,size_t),const std::pair<StringHash,ENUM__glsl_pipeline_stage> * enumMap,StringHash (* baseConversionFunc)(const ParserChar **,const ParserChar *,bool &),ENUM__glsl_pipeline_stage (* toEnumFunc)(const ParserChar **,const ParserChar *,bool &,const std::pair<StringHash,ENUM__glsl_pipeline_stage> * enumMap,StringHash (* baseConversionFunc)(const ParserChar **,const ParserChar *,bool &)))64391 bool ColladaParserAutoGen14Private::dataEnumEnd_ENUM__glsl_pipeline_stage (
64392     bool ( ColladaParserAutoGen14::*dataFunction )(const ENUM__glsl_pipeline_stage*, size_t ),
64393     const std::pair<StringHash, ENUM__glsl_pipeline_stage>* enumMap,
64394     StringHash (*baseConversionFunc)( const ParserChar**, const ParserChar*, bool& ),
64395     ENUM__glsl_pipeline_stage (*toEnumFunc)( const ParserChar**, const ParserChar*, bool&, const std::pair<StringHash, ENUM__glsl_pipeline_stage>* enumMap, StringHash (*baseConversionFunc)( const ParserChar**, const ParserChar*, bool& ))
64396 )
64397 {
64398     return dataEnumEnd<ENUM__glsl_pipeline_stage, StringHash, ENUM__glsl_pipeline_stage__COUNT>(dataFunction, enumMap, baseConversionFunc, toEnumFunc);
64399 }
64400 
64401 //---------------------------------------------------------------------
_data__profile_GLSL__technique__pass__shader__compiler_target(const ParserChar * text,size_t textLength)64402 bool ColladaParserAutoGen14Private::_data__profile_GLSL__technique__pass__shader__compiler_target( const ParserChar* text, size_t textLength )
64403 {
64404 if (!mLastIncompleteFragmentInCharacterData)
64405 {
64406     mLastIncompleteFragmentInCharacterData = (ParserChar*)mStackMemoryManager.newObject(textLength);
64407     memcpy(mLastIncompleteFragmentInCharacterData, text, textLength);
64408     mEndOfDataInCurrentObjectOnStack = mLastIncompleteFragmentInCharacterData + textLength;
64409 }
64410 else
64411 {
64412     ParserChar* tmp = (ParserChar*)mStackMemoryManager.growObject(textLength);
64413     if ( tmp != mLastIncompleteFragmentInCharacterData ) {
64414         mEndOfDataInCurrentObjectOnStack = (mEndOfDataInCurrentObjectOnStack - mLastIncompleteFragmentInCharacterData) + tmp;
64415         mLastIncompleteFragmentInCharacterData = tmp;
64416     }
64417     memcpy(mEndOfDataInCurrentObjectOnStack, text, textLength);
64418     mEndOfDataInCurrentObjectOnStack += textLength;
64419 }
64420 return true;
64421 }
64422 
64423 //---------------------------------------------------------------------
_preBegin__profile_GLSL__technique__pass__shader__compiler_target(const ParserAttributes & attributes,void ** attributeDataPtr,void ** validationDataPtr)64424 bool ColladaParserAutoGen14Private::_preBegin__profile_GLSL__technique__pass__shader__compiler_target( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
64425 {
64426 #ifdef GENERATEDSAXPARSER_VALIDATION
64427     if ( mValidate )
64428     {
64429 
64430         bool validationResult = _validateBegin__profile_GLSL__technique__pass__shader__compiler_target( attributes, attributeDataPtr, validationDataPtr );
64431         if ( !validationResult ) return false;
64432 
64433     } // validation
64434 #endif
64435 
64436     return true;
64437 }
64438 
64439 //---------------------------------------------------------------------
_preEnd__profile_GLSL__technique__pass__shader__compiler_target()64440 bool ColladaParserAutoGen14Private::_preEnd__profile_GLSL__technique__pass__shader__compiler_target()
64441 {
64442 #ifdef GENERATEDSAXPARSER_VALIDATION
64443     if ( mValidate )
64444     {
64445 
64446         bool validationResult = _validateEnd__profile_GLSL__technique__pass__shader__compiler_target();
64447         if ( !validationResult ) return false;
64448 
64449     } // validation
64450 #endif
64451 
64452 bool returnValue = true;
64453 #ifdef GENERATEDSAXPARSER_VALIDATION
64454     if ( mValidate )
64455     {
64456 ParserError::ErrorType simpleTypeValidationResult = validate__NMTOKEN(mLastIncompleteFragmentInCharacterData, mEndOfDataInCurrentObjectOnStack - mLastIncompleteFragmentInCharacterData);
64457 if (simpleTypeValidationResult != ParserError::SIMPLE_TYPE_VALIDATION_OK)
64458 {
64459     ParserChar msg[21];
64460     Utils::fillErrorMsg(msg, mLastIncompleteFragmentInCharacterData, 20);
64461     if( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL,
64462         simpleTypeValidationResult,
64463         0,
64464         msg) )
64465     {
64466         returnValue =  false;
64467     }
64468 }
64469 if (!returnValue)
64470 {
64471     mStackMemoryManager.deleteObject();
64472     mLastIncompleteFragmentInCharacterData = 0;
64473     mEndOfDataInCurrentObjectOnStack = 0;
64474     return returnValue;
64475 }
64476     } // validation
64477 #endif
64478 returnValue = mImpl->data__profile_GLSL__technique__pass__shader__compiler_target(mLastIncompleteFragmentInCharacterData, mEndOfDataInCurrentObjectOnStack - mLastIncompleteFragmentInCharacterData);
64479 mStackMemoryManager.deleteObject();
64480 mLastIncompleteFragmentInCharacterData = 0;
64481 mEndOfDataInCurrentObjectOnStack = 0;
64482 return returnValue;
64483 
64484 }
64485 
64486 //---------------------------------------------------------------------
_freeAttributes__profile_GLSL__technique__pass__shader__compiler_target(void * attributeData)64487 bool ColladaParserAutoGen14Private::_freeAttributes__profile_GLSL__technique__pass__shader__compiler_target( void* attributeData )
64488 {
64489     return true;
64490 }
64491 
64492 //---------------------------------------------------------------------
_data__compiler_options(const ParserChar * text,size_t textLength)64493 bool ColladaParserAutoGen14Private::_data__compiler_options( const ParserChar* text, size_t textLength )
64494 {
64495 
64496 return mImpl->data__compiler_options(text, textLength);
64497 }
64498 
64499 //---------------------------------------------------------------------
_preBegin__compiler_options(const ParserAttributes & attributes,void ** attributeDataPtr,void ** validationDataPtr)64500 bool ColladaParserAutoGen14Private::_preBegin__compiler_options( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
64501 {
64502 #ifdef GENERATEDSAXPARSER_VALIDATION
64503     if ( mValidate )
64504     {
64505 
64506         bool validationResult = _validateBegin__compiler_options( attributes, attributeDataPtr, validationDataPtr );
64507         if ( !validationResult ) return false;
64508 
64509     } // validation
64510 #endif
64511 
64512     return true;
64513 }
64514 
64515 //---------------------------------------------------------------------
_preEnd__compiler_options()64516 bool ColladaParserAutoGen14Private::_preEnd__compiler_options()
64517 {
64518 #ifdef GENERATEDSAXPARSER_VALIDATION
64519     if ( mValidate )
64520     {
64521 
64522         bool validationResult = _validateEnd__compiler_options();
64523         if ( !validationResult ) return false;
64524 
64525     } // validation
64526 #endif
64527 
64528     return true;
64529 }
64530 
64531 //---------------------------------------------------------------------
_freeAttributes__compiler_options(void * attributeData)64532 bool ColladaParserAutoGen14Private::_freeAttributes__compiler_options( void* attributeData )
64533 {
64534     return true;
64535 }
64536 
64537 //---------------------------------------------------------------------
64538 const profile_GLSL__technique__pass__shader__name__AttributeData profile_GLSL__technique__pass__shader__name__AttributeData::DEFAULT = {0};
64539 
64540 //---------------------------------------------------------------------
_data__profile_GLSL__technique__pass__shader__name(const ParserChar * text,size_t textLength)64541 bool ColladaParserAutoGen14Private::_data__profile_GLSL__technique__pass__shader__name( const ParserChar* text, size_t textLength )
64542 {
64543 if (!mLastIncompleteFragmentInCharacterData)
64544 {
64545     mLastIncompleteFragmentInCharacterData = (ParserChar*)mStackMemoryManager.newObject(textLength);
64546     memcpy(mLastIncompleteFragmentInCharacterData, text, textLength);
64547     mEndOfDataInCurrentObjectOnStack = mLastIncompleteFragmentInCharacterData + textLength;
64548 }
64549 else
64550 {
64551     ParserChar* tmp = (ParserChar*)mStackMemoryManager.growObject(textLength);
64552     if ( tmp != mLastIncompleteFragmentInCharacterData ) {
64553         mEndOfDataInCurrentObjectOnStack = (mEndOfDataInCurrentObjectOnStack - mLastIncompleteFragmentInCharacterData) + tmp;
64554         mLastIncompleteFragmentInCharacterData = tmp;
64555     }
64556     memcpy(mEndOfDataInCurrentObjectOnStack, text, textLength);
64557     mEndOfDataInCurrentObjectOnStack += textLength;
64558 }
64559 return true;
64560 }
64561 
64562 //---------------------------------------------------------------------
_preBegin__profile_GLSL__technique__pass__shader__name(const ParserAttributes & attributes,void ** attributeDataPtr,void ** validationDataPtr)64563 bool ColladaParserAutoGen14Private::_preBegin__profile_GLSL__technique__pass__shader__name( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
64564 {
64565 #ifdef GENERATEDSAXPARSER_VALIDATION
64566     if ( mValidate )
64567     {
64568 
64569         bool validationResult = _validateBegin__profile_GLSL__technique__pass__shader__name( attributes, attributeDataPtr, validationDataPtr );
64570         if ( !validationResult ) return false;
64571 
64572     } // validation
64573 #endif
64574 
64575 profile_GLSL__technique__pass__shader__name__AttributeData* attributeData = newData<profile_GLSL__technique__pass__shader__name__AttributeData>(attributeDataPtr);
64576 
64577 const ParserChar** attributeArray = attributes.attributes;
64578 if ( attributeArray )
64579 {
64580     while (true)
64581     {
64582         const ParserChar * attribute = *attributeArray;
64583         if ( !attribute )
64584             break;
64585         StringHash hash = GeneratedSaxParser::Utils::calculateStringHash(attribute);
64586         attributeArray++;
64587         if ( !attributeArray )
64588             return false;
64589         const ParserChar* attributeValue = *attributeArray;
64590         attributeArray++;
64591 
64592 
64593     switch ( hash )
64594     {
64595     case HASH_ATTRIBUTE_source:
64596     {
64597 
64598 attributeData->source = attributeValue;
64599 #ifdef GENERATEDSAXPARSER_VALIDATION
64600     if ( mValidate )
64601     {
64602     ParserError::ErrorType simpleTypeValidationResult = validate__NCName(attributeData->source, strlen(attributeData->source));
64603     if (simpleTypeValidationResult != ParserError::SIMPLE_TYPE_VALIDATION_OK)
64604     {
64605         if( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL,
64606             simpleTypeValidationResult,
64607             HASH_ELEMENT_NAME,
64608             HASH_ATTRIBUTE_source,
64609             attributeValue) )
64610         {
64611             return false;
64612         }
64613     }
64614     } // validation
64615 #endif
64616 
64617     break;
64618     }
64619     default:
64620     {
64621         if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_UNKNOWN_ATTRIBUTE, HASH_ELEMENT_NAME, attribute, attributeValue))
64622             {return false;}
64623     }
64624     }
64625     }
64626 }
64627 
64628 
64629     return true;
64630 }
64631 
64632 //---------------------------------------------------------------------
_preEnd__profile_GLSL__technique__pass__shader__name()64633 bool ColladaParserAutoGen14Private::_preEnd__profile_GLSL__technique__pass__shader__name()
64634 {
64635 #ifdef GENERATEDSAXPARSER_VALIDATION
64636     if ( mValidate )
64637     {
64638 
64639         bool validationResult = _validateEnd__profile_GLSL__technique__pass__shader__name();
64640         if ( !validationResult ) return false;
64641 
64642     } // validation
64643 #endif
64644 
64645 bool returnValue = true;
64646 #ifdef GENERATEDSAXPARSER_VALIDATION
64647     if ( mValidate )
64648     {
64649 ParserError::ErrorType simpleTypeValidationResult = validate__NCName(mLastIncompleteFragmentInCharacterData, mEndOfDataInCurrentObjectOnStack - mLastIncompleteFragmentInCharacterData);
64650 if (simpleTypeValidationResult != ParserError::SIMPLE_TYPE_VALIDATION_OK)
64651 {
64652     ParserChar msg[21];
64653     Utils::fillErrorMsg(msg, mLastIncompleteFragmentInCharacterData, 20);
64654     if( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL,
64655         simpleTypeValidationResult,
64656         0,
64657         msg) )
64658     {
64659         returnValue =  false;
64660     }
64661 }
64662 if (!returnValue)
64663 {
64664     mStackMemoryManager.deleteObject();
64665     mLastIncompleteFragmentInCharacterData = 0;
64666     mEndOfDataInCurrentObjectOnStack = 0;
64667     return returnValue;
64668 }
64669     } // validation
64670 #endif
64671 returnValue = mImpl->data__profile_GLSL__technique__pass__shader__name(mLastIncompleteFragmentInCharacterData, mEndOfDataInCurrentObjectOnStack - mLastIncompleteFragmentInCharacterData);
64672 mStackMemoryManager.deleteObject();
64673 mLastIncompleteFragmentInCharacterData = 0;
64674 mEndOfDataInCurrentObjectOnStack = 0;
64675 return returnValue;
64676 
64677 }
64678 
64679 //---------------------------------------------------------------------
_freeAttributes__profile_GLSL__technique__pass__shader__name(void * attributeData)64680 bool ColladaParserAutoGen14Private::_freeAttributes__profile_GLSL__technique__pass__shader__name( void* attributeData )
64681 {
64682     profile_GLSL__technique__pass__shader__name__AttributeData* typedAttributeData = static_cast<profile_GLSL__technique__pass__shader__name__AttributeData*>(attributeData);
64683 
64684     typedAttributeData->~profile_GLSL__technique__pass__shader__name__AttributeData();
64685 
64686     return true;
64687 }
64688 
64689 //---------------------------------------------------------------------
64690 const profile_GLSL__technique__pass__shader__bind__AttributeData profile_GLSL__technique__pass__shader__bind__AttributeData::DEFAULT = {0};
64691 
64692 //---------------------------------------------------------------------
_data__profile_GLSL__technique__pass__shader__bind(const ParserChar * text,size_t textLength)64693 bool ColladaParserAutoGen14Private::_data__profile_GLSL__technique__pass__shader__bind( const ParserChar* text, size_t textLength )
64694 {
64695     return true;
64696 }
64697 
64698 //---------------------------------------------------------------------
_preBegin__profile_GLSL__technique__pass__shader__bind(const ParserAttributes & attributes,void ** attributeDataPtr,void ** validationDataPtr)64699 bool ColladaParserAutoGen14Private::_preBegin__profile_GLSL__technique__pass__shader__bind( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
64700 {
64701 #ifdef GENERATEDSAXPARSER_VALIDATION
64702     if ( mValidate )
64703     {
64704 
64705         bool validationResult = _validateBegin__profile_GLSL__technique__pass__shader__bind( attributes, attributeDataPtr, validationDataPtr );
64706         if ( !validationResult ) return false;
64707 
64708     } // validation
64709 #endif
64710 
64711 profile_GLSL__technique__pass__shader__bind__AttributeData* attributeData = newData<profile_GLSL__technique__pass__shader__bind__AttributeData>(attributeDataPtr);
64712 
64713 const ParserChar** attributeArray = attributes.attributes;
64714 if ( attributeArray )
64715 {
64716     while (true)
64717     {
64718         const ParserChar * attribute = *attributeArray;
64719         if ( !attribute )
64720             break;
64721         StringHash hash = GeneratedSaxParser::Utils::calculateStringHash(attribute);
64722         attributeArray++;
64723         if ( !attributeArray )
64724             return false;
64725         const ParserChar* attributeValue = *attributeArray;
64726         attributeArray++;
64727 
64728 
64729     switch ( hash )
64730     {
64731     case HASH_ATTRIBUTE_symbol:
64732     {
64733 
64734 attributeData->symbol = attributeValue;
64735 #ifdef GENERATEDSAXPARSER_VALIDATION
64736     if ( mValidate )
64737     {
64738     ParserError::ErrorType simpleTypeValidationResult = validate__NCName(attributeData->symbol, strlen(attributeData->symbol));
64739     if (simpleTypeValidationResult != ParserError::SIMPLE_TYPE_VALIDATION_OK)
64740     {
64741         if( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL,
64742             simpleTypeValidationResult,
64743             HASH_ELEMENT_BIND,
64744             HASH_ATTRIBUTE_symbol,
64745             attributeValue) )
64746         {
64747             return false;
64748         }
64749     }
64750     } // validation
64751 #endif
64752 
64753     break;
64754     }
64755     default:
64756     {
64757         if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_UNKNOWN_ATTRIBUTE, HASH_ELEMENT_BIND, attribute, attributeValue))
64758             {return false;}
64759     }
64760     }
64761     }
64762 }
64763 if ( !attributeData->symbol )
64764 {
64765     if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_REQUIRED_ATTRIBUTE_MISSING, HASH_ELEMENT_BIND, HASH_ATTRIBUTE_symbol, 0 ) )
64766         return false;
64767 }
64768 
64769 
64770     return true;
64771 }
64772 
64773 //---------------------------------------------------------------------
_preEnd__profile_GLSL__technique__pass__shader__bind()64774 bool ColladaParserAutoGen14Private::_preEnd__profile_GLSL__technique__pass__shader__bind()
64775 {
64776 #ifdef GENERATEDSAXPARSER_VALIDATION
64777     if ( mValidate )
64778     {
64779 
64780         bool validationResult = _validateEnd__profile_GLSL__technique__pass__shader__bind();
64781         if ( !validationResult ) return false;
64782 
64783     } // validation
64784 #endif
64785 
64786     return true;
64787 }
64788 
64789 //---------------------------------------------------------------------
_freeAttributes__profile_GLSL__technique__pass__shader__bind(void * attributeData)64790 bool ColladaParserAutoGen14Private::_freeAttributes__profile_GLSL__technique__pass__shader__bind( void* attributeData )
64791 {
64792     profile_GLSL__technique__pass__shader__bind__AttributeData* typedAttributeData = static_cast<profile_GLSL__technique__pass__shader__bind__AttributeData*>(attributeData);
64793 
64794     typedAttributeData->~profile_GLSL__technique__pass__shader__bind__AttributeData();
64795 
64796     return true;
64797 }
64798 
64799 //---------------------------------------------------------------------
64800 const profile_GLSL__technique__pass__shader__bind__param__AttributeData profile_GLSL__technique__pass__shader__bind__param__AttributeData::DEFAULT = {0};
64801 
64802 //---------------------------------------------------------------------
_data__profile_GLSL__technique__pass__shader__bind__param(const ParserChar * text,size_t textLength)64803 bool ColladaParserAutoGen14Private::_data__profile_GLSL__technique__pass__shader__bind__param( const ParserChar* text, size_t textLength )
64804 {
64805     return true;
64806 }
64807 
64808 //---------------------------------------------------------------------
_preBegin__profile_GLSL__technique__pass__shader__bind__param(const ParserAttributes & attributes,void ** attributeDataPtr,void ** validationDataPtr)64809 bool ColladaParserAutoGen14Private::_preBegin__profile_GLSL__technique__pass__shader__bind__param( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
64810 {
64811 #ifdef GENERATEDSAXPARSER_VALIDATION
64812     if ( mValidate )
64813     {
64814 
64815         bool validationResult = _validateBegin__profile_GLSL__technique__pass__shader__bind__param( attributes, attributeDataPtr, validationDataPtr );
64816         if ( !validationResult ) return false;
64817 
64818     } // validation
64819 #endif
64820 
64821 profile_GLSL__technique__pass__shader__bind__param__AttributeData* attributeData = newData<profile_GLSL__technique__pass__shader__bind__param__AttributeData>(attributeDataPtr);
64822 
64823 const ParserChar** attributeArray = attributes.attributes;
64824 if ( attributeArray )
64825 {
64826     while (true)
64827     {
64828         const ParserChar * attribute = *attributeArray;
64829         if ( !attribute )
64830             break;
64831         StringHash hash = GeneratedSaxParser::Utils::calculateStringHash(attribute);
64832         attributeArray++;
64833         if ( !attributeArray )
64834             return false;
64835         const ParserChar* attributeValue = *attributeArray;
64836         attributeArray++;
64837 
64838 
64839     switch ( hash )
64840     {
64841     case HASH_ATTRIBUTE_ref:
64842     {
64843 
64844 attributeData->ref = attributeValue;
64845 
64846     break;
64847     }
64848     default:
64849     {
64850         if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_UNKNOWN_ATTRIBUTE, HASH_ELEMENT_PARAM, attribute, attributeValue))
64851             {return false;}
64852     }
64853     }
64854     }
64855 }
64856 if ( !attributeData->ref )
64857 {
64858     if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_REQUIRED_ATTRIBUTE_MISSING, HASH_ELEMENT_PARAM, HASH_ATTRIBUTE_ref, 0 ) )
64859         return false;
64860 }
64861 
64862 
64863     return true;
64864 }
64865 
64866 //---------------------------------------------------------------------
_preEnd__profile_GLSL__technique__pass__shader__bind__param()64867 bool ColladaParserAutoGen14Private::_preEnd__profile_GLSL__technique__pass__shader__bind__param()
64868 {
64869 #ifdef GENERATEDSAXPARSER_VALIDATION
64870     if ( mValidate )
64871     {
64872 
64873         bool validationResult = _validateEnd__profile_GLSL__technique__pass__shader__bind__param();
64874         if ( !validationResult ) return false;
64875 
64876     } // validation
64877 #endif
64878 
64879     return true;
64880 }
64881 
64882 //---------------------------------------------------------------------
_freeAttributes__profile_GLSL__technique__pass__shader__bind__param(void * attributeData)64883 bool ColladaParserAutoGen14Private::_freeAttributes__profile_GLSL__technique__pass__shader__bind__param( void* attributeData )
64884 {
64885     profile_GLSL__technique__pass__shader__bind__param__AttributeData* typedAttributeData = static_cast<profile_GLSL__technique__pass__shader__bind__param__AttributeData*>(attributeData);
64886 
64887     typedAttributeData->~profile_GLSL__technique__pass__shader__bind__param__AttributeData();
64888 
64889     return true;
64890 }
64891 
64892 //---------------------------------------------------------------------
64893 const profile_CG__AttributeData profile_CG__AttributeData::DEFAULT = {0, (const ParserChar*)"PC"};
64894 
64895 //---------------------------------------------------------------------
_data__profile_CG(const ParserChar * text,size_t textLength)64896 bool ColladaParserAutoGen14Private::_data__profile_CG( const ParserChar* text, size_t textLength )
64897 {
64898     return true;
64899 }
64900 
64901 //---------------------------------------------------------------------
_preBegin__profile_CG(const ParserAttributes & attributes,void ** attributeDataPtr,void ** validationDataPtr)64902 bool ColladaParserAutoGen14Private::_preBegin__profile_CG( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
64903 {
64904 #ifdef GENERATEDSAXPARSER_VALIDATION
64905     if ( mValidate )
64906     {
64907 
64908         bool validationResult = _validateBegin__profile_CG( attributes, attributeDataPtr, validationDataPtr );
64909         if ( !validationResult ) return false;
64910 
64911     } // validation
64912 #endif
64913 
64914 profile_CG__AttributeData* attributeData = newData<profile_CG__AttributeData>(attributeDataPtr);
64915 
64916 const ParserChar** attributeArray = attributes.attributes;
64917 if ( attributeArray )
64918 {
64919     while (true)
64920     {
64921         const ParserChar * attribute = *attributeArray;
64922         if ( !attribute )
64923             break;
64924         StringHash hash = GeneratedSaxParser::Utils::calculateStringHash(attribute);
64925         attributeArray++;
64926         if ( !attributeArray )
64927             return false;
64928         const ParserChar* attributeValue = *attributeArray;
64929         attributeArray++;
64930 
64931 
64932     switch ( hash )
64933     {
64934     case HASH_ATTRIBUTE_id:
64935     {
64936 
64937 attributeData->id = attributeValue;
64938 
64939     break;
64940     }
64941     case HASH_ATTRIBUTE_platform:
64942     {
64943 
64944 attributeData->platform = attributeValue;
64945 #ifdef GENERATEDSAXPARSER_VALIDATION
64946     if ( mValidate )
64947     {
64948     ParserError::ErrorType simpleTypeValidationResult = validate__NCName(attributeData->platform, strlen(attributeData->platform));
64949     if (simpleTypeValidationResult != ParserError::SIMPLE_TYPE_VALIDATION_OK)
64950     {
64951         if( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL,
64952             simpleTypeValidationResult,
64953             HASH_ELEMENT_PROFILE_CG,
64954             HASH_ATTRIBUTE_platform,
64955             attributeValue) )
64956         {
64957             return false;
64958         }
64959     }
64960     } // validation
64961 #endif
64962 
64963     break;
64964     }
64965     default:
64966     {
64967         if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_UNKNOWN_ATTRIBUTE, HASH_ELEMENT_PROFILE_CG, attribute, attributeValue))
64968             {return false;}
64969     }
64970     }
64971     }
64972 }
64973 
64974 
64975     return true;
64976 }
64977 
64978 //---------------------------------------------------------------------
_preEnd__profile_CG()64979 bool ColladaParserAutoGen14Private::_preEnd__profile_CG()
64980 {
64981 #ifdef GENERATEDSAXPARSER_VALIDATION
64982     if ( mValidate )
64983     {
64984 
64985         bool validationResult = _validateEnd__profile_CG();
64986         if ( !validationResult ) return false;
64987 
64988     } // validation
64989 #endif
64990 
64991     return true;
64992 }
64993 
64994 //---------------------------------------------------------------------
_freeAttributes__profile_CG(void * attributeData)64995 bool ColladaParserAutoGen14Private::_freeAttributes__profile_CG( void* attributeData )
64996 {
64997     profile_CG__AttributeData* typedAttributeData = static_cast<profile_CG__AttributeData*>(attributeData);
64998 
64999     typedAttributeData->~profile_CG__AttributeData();
65000 
65001     return true;
65002 }
65003 
65004 //---------------------------------------------------------------------
65005 const newparam____cg_newparam__AttributeData newparam____cg_newparam__AttributeData::DEFAULT = {0};
65006 
65007 //---------------------------------------------------------------------
_data__newparam____cg_newparam(const ParserChar * text,size_t textLength)65008 bool ColladaParserAutoGen14Private::_data__newparam____cg_newparam( const ParserChar* text, size_t textLength )
65009 {
65010     return true;
65011 }
65012 
65013 //---------------------------------------------------------------------
_preBegin__newparam____cg_newparam(const ParserAttributes & attributes,void ** attributeDataPtr,void ** validationDataPtr)65014 bool ColladaParserAutoGen14Private::_preBegin__newparam____cg_newparam( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
65015 {
65016 #ifdef GENERATEDSAXPARSER_VALIDATION
65017     if ( mValidate )
65018     {
65019 
65020         bool validationResult = _validateBegin__newparam____cg_newparam( attributes, attributeDataPtr, validationDataPtr );
65021         if ( !validationResult ) return false;
65022 
65023     } // validation
65024 #endif
65025 
65026 newparam____cg_newparam__AttributeData* attributeData = newData<newparam____cg_newparam__AttributeData>(attributeDataPtr);
65027 
65028 const ParserChar** attributeArray = attributes.attributes;
65029 if ( attributeArray )
65030 {
65031     while (true)
65032     {
65033         const ParserChar * attribute = *attributeArray;
65034         if ( !attribute )
65035             break;
65036         StringHash hash = GeneratedSaxParser::Utils::calculateStringHash(attribute);
65037         attributeArray++;
65038         if ( !attributeArray )
65039             return false;
65040         const ParserChar* attributeValue = *attributeArray;
65041         attributeArray++;
65042 
65043 
65044     switch ( hash )
65045     {
65046     case HASH_ATTRIBUTE_sid:
65047     {
65048 
65049 attributeData->sid = attributeValue;
65050 
65051     break;
65052     }
65053     default:
65054     {
65055         if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_UNKNOWN_ATTRIBUTE, HASH_ELEMENT_NEWPARAM, attribute, attributeValue))
65056             {return false;}
65057     }
65058     }
65059     }
65060 }
65061 if ( !attributeData->sid )
65062 {
65063     if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_REQUIRED_ATTRIBUTE_MISSING, HASH_ELEMENT_NEWPARAM, HASH_ATTRIBUTE_sid, 0 ) )
65064         return false;
65065 }
65066 
65067 
65068     return true;
65069 }
65070 
65071 //---------------------------------------------------------------------
_preEnd__newparam____cg_newparam()65072 bool ColladaParserAutoGen14Private::_preEnd__newparam____cg_newparam()
65073 {
65074 #ifdef GENERATEDSAXPARSER_VALIDATION
65075     if ( mValidate )
65076     {
65077 
65078         bool validationResult = _validateEnd__newparam____cg_newparam();
65079         if ( !validationResult ) return false;
65080 
65081     } // validation
65082 #endif
65083 
65084     return true;
65085 }
65086 
65087 //---------------------------------------------------------------------
_freeAttributes__newparam____cg_newparam(void * attributeData)65088 bool ColladaParserAutoGen14Private::_freeAttributes__newparam____cg_newparam( void* attributeData )
65089 {
65090     newparam____cg_newparam__AttributeData* typedAttributeData = static_cast<newparam____cg_newparam__AttributeData*>(attributeData);
65091 
65092     typedAttributeData->~newparam____cg_newparam__AttributeData();
65093 
65094     return true;
65095 }
65096 
65097 //---------------------------------------------------------------------
_data__bool____cg_bool(const ParserChar * text,size_t textLength)65098 bool ColladaParserAutoGen14Private::_data__bool____cg_bool( const ParserChar* text, size_t textLength )
65099 {
65100 if (!mLastIncompleteFragmentInCharacterData)
65101 {
65102     mLastIncompleteFragmentInCharacterData = (ParserChar*)mStackMemoryManager.newObject(textLength);
65103     memcpy(mLastIncompleteFragmentInCharacterData, text, textLength);
65104     mEndOfDataInCurrentObjectOnStack = mLastIncompleteFragmentInCharacterData + textLength;
65105 }
65106 else
65107 {
65108     ParserChar* tmp = (ParserChar*)mStackMemoryManager.growObject(textLength);
65109     if ( tmp != mLastIncompleteFragmentInCharacterData ) {
65110         mEndOfDataInCurrentObjectOnStack = (mEndOfDataInCurrentObjectOnStack - mLastIncompleteFragmentInCharacterData) + tmp;
65111         mLastIncompleteFragmentInCharacterData = tmp;
65112     }
65113     memcpy(mEndOfDataInCurrentObjectOnStack, text, textLength);
65114     mEndOfDataInCurrentObjectOnStack += textLength;
65115 }
65116 return true;
65117 }
65118 
65119 //---------------------------------------------------------------------
_preBegin__bool____cg_bool(const ParserAttributes & attributes,void ** attributeDataPtr,void ** validationDataPtr)65120 bool ColladaParserAutoGen14Private::_preBegin__bool____cg_bool( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
65121 {
65122 #ifdef GENERATEDSAXPARSER_VALIDATION
65123     if ( mValidate )
65124     {
65125 
65126         bool validationResult = _validateBegin__bool____cg_bool( attributes, attributeDataPtr, validationDataPtr );
65127         if ( !validationResult ) return false;
65128 
65129     } // validation
65130 #endif
65131 
65132     return true;
65133 }
65134 
65135 //---------------------------------------------------------------------
_preEnd__bool____cg_bool()65136 bool ColladaParserAutoGen14Private::_preEnd__bool____cg_bool()
65137 {
65138 #ifdef GENERATEDSAXPARSER_VALIDATION
65139     if ( mValidate )
65140     {
65141 
65142         bool validationResult = _validateEnd__bool____cg_bool();
65143         if ( !validationResult ) return false;
65144 
65145     } // validation
65146 #endif
65147 
65148 bool failed;
65149 const ParserChar* ptrForErr = mLastIncompleteFragmentInCharacterData;
65150 DISABLE_WARNING_UNUSED(ptrForErr)
65151 bool parameter = GeneratedSaxParser::Utils::toBool((const ParserChar**)&mLastIncompleteFragmentInCharacterData, mEndOfDataInCurrentObjectOnStack, failed);
65152 bool returnValue;
65153 if (!failed)
65154 {
65155     returnValue = mImpl->data__bool____cg_bool(parameter);
65156 }
65157 else
65158     returnValue = !handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_TEXTDATA_PARSING_FAILED, HASH_ELEMENT_BOOL, (const ParserChar*)0, mLastIncompleteFragmentInCharacterData);
65159 if (mLastIncompleteFragmentInCharacterData)
65160     mStackMemoryManager.deleteObject();
65161 mLastIncompleteFragmentInCharacterData = 0;
65162 mEndOfDataInCurrentObjectOnStack = 0;
65163 return returnValue;
65164 }
65165 
65166 //---------------------------------------------------------------------
_freeAttributes__bool____cg_bool(void * attributeData)65167 bool ColladaParserAutoGen14Private::_freeAttributes__bool____cg_bool( void* attributeData )
65168 {
65169     return true;
65170 }
65171 
65172 //---------------------------------------------------------------------
_data__bool1(const ParserChar * text,size_t textLength)65173 bool ColladaParserAutoGen14Private::_data__bool1( const ParserChar* text, size_t textLength )
65174 {
65175 if (!mLastIncompleteFragmentInCharacterData)
65176 {
65177     mLastIncompleteFragmentInCharacterData = (ParserChar*)mStackMemoryManager.newObject(textLength);
65178     memcpy(mLastIncompleteFragmentInCharacterData, text, textLength);
65179     mEndOfDataInCurrentObjectOnStack = mLastIncompleteFragmentInCharacterData + textLength;
65180 }
65181 else
65182 {
65183     ParserChar* tmp = (ParserChar*)mStackMemoryManager.growObject(textLength);
65184     if ( tmp != mLastIncompleteFragmentInCharacterData ) {
65185         mEndOfDataInCurrentObjectOnStack = (mEndOfDataInCurrentObjectOnStack - mLastIncompleteFragmentInCharacterData) + tmp;
65186         mLastIncompleteFragmentInCharacterData = tmp;
65187     }
65188     memcpy(mEndOfDataInCurrentObjectOnStack, text, textLength);
65189     mEndOfDataInCurrentObjectOnStack += textLength;
65190 }
65191 return true;
65192 }
65193 
65194 //---------------------------------------------------------------------
_preBegin__bool1(const ParserAttributes & attributes,void ** attributeDataPtr,void ** validationDataPtr)65195 bool ColladaParserAutoGen14Private::_preBegin__bool1( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
65196 {
65197 #ifdef GENERATEDSAXPARSER_VALIDATION
65198     if ( mValidate )
65199     {
65200 
65201         bool validationResult = _validateBegin__bool1( attributes, attributeDataPtr, validationDataPtr );
65202         if ( !validationResult ) return false;
65203 
65204     } // validation
65205 #endif
65206 
65207     return true;
65208 }
65209 
65210 //---------------------------------------------------------------------
_preEnd__bool1()65211 bool ColladaParserAutoGen14Private::_preEnd__bool1()
65212 {
65213 #ifdef GENERATEDSAXPARSER_VALIDATION
65214     if ( mValidate )
65215     {
65216 
65217         bool validationResult = _validateEnd__bool1();
65218         if ( !validationResult ) return false;
65219 
65220     } // validation
65221 #endif
65222 
65223 bool failed;
65224 const ParserChar* ptrForErr = mLastIncompleteFragmentInCharacterData;
65225 DISABLE_WARNING_UNUSED(ptrForErr)
65226 bool parameter = GeneratedSaxParser::Utils::toBool((const ParserChar**)&mLastIncompleteFragmentInCharacterData, mEndOfDataInCurrentObjectOnStack, failed);
65227 bool returnValue;
65228 if (!failed)
65229 {
65230     returnValue = mImpl->data__bool1(parameter);
65231 }
65232 else
65233     returnValue = !handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_TEXTDATA_PARSING_FAILED, HASH_ELEMENT_BOOL1, (const ParserChar*)0, mLastIncompleteFragmentInCharacterData);
65234 if (mLastIncompleteFragmentInCharacterData)
65235     mStackMemoryManager.deleteObject();
65236 mLastIncompleteFragmentInCharacterData = 0;
65237 mEndOfDataInCurrentObjectOnStack = 0;
65238 return returnValue;
65239 }
65240 
65241 //---------------------------------------------------------------------
_freeAttributes__bool1(void * attributeData)65242 bool ColladaParserAutoGen14Private::_freeAttributes__bool1( void* attributeData )
65243 {
65244     return true;
65245 }
65246 
65247 //---------------------------------------------------------------------
_data__bool2____cg_bool2(const ParserChar * text,size_t textLength)65248 bool ColladaParserAutoGen14Private::_data__bool2____cg_bool2( const ParserChar* text, size_t textLength )
65249 {
65250 #ifdef GENERATEDSAXPARSER_VALIDATION
65251     if ( mValidate )
65252     {
65253         bool2____cg_bool2__ValidationData* validationData = (bool2____cg_bool2__ValidationData*)mValidationDataStack.top();
65254         DISABLE_WARNING_UNUSED(validationData)
65255 return characterData2BoolData(text, textLength, &ColladaParserAutoGen14::data__bool2____cg_bool2, &validate__cg_bool2__stream, &validationData->validationWholeSize, 0);
65256     }
65257     else
65258     {
65259 return characterData2BoolData(text, textLength, &ColladaParserAutoGen14::data__bool2____cg_bool2);
65260     }
65261 #else
65262     {
65263 return characterData2BoolData(text, textLength, &ColladaParserAutoGen14::data__bool2____cg_bool2);
65264     } // validation
65265 #endif
65266 
65267 }
65268 
65269 //---------------------------------------------------------------------
_preBegin__bool2____cg_bool2(const ParserAttributes & attributes,void ** attributeDataPtr,void ** validationDataPtr)65270 bool ColladaParserAutoGen14Private::_preBegin__bool2____cg_bool2( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
65271 {
65272 #ifdef GENERATEDSAXPARSER_VALIDATION
65273     if ( mValidate )
65274     {
65275 
65276         bool validationResult = _validateBegin__bool2____cg_bool2( attributes, attributeDataPtr, validationDataPtr );
65277         if ( !validationResult ) return false;
65278 
65279     } // validation
65280 #endif
65281 
65282     return true;
65283 }
65284 
65285 //---------------------------------------------------------------------
_preEnd__bool2____cg_bool2()65286 bool ColladaParserAutoGen14Private::_preEnd__bool2____cg_bool2()
65287 {
65288 #ifdef GENERATEDSAXPARSER_VALIDATION
65289     if ( mValidate )
65290     {
65291 
65292         bool validationResult = _validateEnd__bool2____cg_bool2();
65293         if ( !validationResult ) return false;
65294 
65295     } // validation
65296 #endif
65297 
65298 #ifdef GENERATEDSAXPARSER_VALIDATION
65299     if ( mValidate )
65300     {
65301         bool2____cg_bool2__ValidationData* validationData = (bool2____cg_bool2__ValidationData*)mValidationDataStack.top();
65302         DISABLE_WARNING_UNUSED(validationData)
65303 bool returnValue = boolDataEnd( &ColladaParserAutoGen14::data__bool2____cg_bool2, &validate__cg_bool2__streamEnd, &validationData->validationWholeSize, 0 );
65304         ParserError::ErrorType simpleTypeValidationResult = validate__cg_bool2(0, (*(&validationData->validationWholeSize)));
65305         mValidationDataStack.deleteObject();
65306         if (simpleTypeValidationResult != ParserError::SIMPLE_TYPE_VALIDATION_OK)
65307         {
65308             if( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL,
65309                 simpleTypeValidationResult,
65310                 HASH_ELEMENT_BOOL2,
65311                 (ParserChar*)0, 0 ) )
65312             {
65313                 return false;
65314             }
65315         }
65316         return returnValue;
65317     }
65318     else
65319     {
65320 return boolDataEnd( &ColladaParserAutoGen14::data__bool2____cg_bool2 );
65321     }
65322 #else
65323     {
65324 return boolDataEnd( &ColladaParserAutoGen14::data__bool2____cg_bool2 );
65325     } // validation
65326 #endif
65327 
65328 }
65329 
65330 //---------------------------------------------------------------------
_freeAttributes__bool2____cg_bool2(void * attributeData)65331 bool ColladaParserAutoGen14Private::_freeAttributes__bool2____cg_bool2( void* attributeData )
65332 {
65333     return true;
65334 }
65335 
65336 //---------------------------------------------------------------------
_data__bool3____cg_bool3(const ParserChar * text,size_t textLength)65337 bool ColladaParserAutoGen14Private::_data__bool3____cg_bool3( const ParserChar* text, size_t textLength )
65338 {
65339 #ifdef GENERATEDSAXPARSER_VALIDATION
65340     if ( mValidate )
65341     {
65342         bool3____cg_bool3__ValidationData* validationData = (bool3____cg_bool3__ValidationData*)mValidationDataStack.top();
65343         DISABLE_WARNING_UNUSED(validationData)
65344 return characterData2BoolData(text, textLength, &ColladaParserAutoGen14::data__bool3____cg_bool3, &validate__cg_bool3__stream, &validationData->validationWholeSize, 0);
65345     }
65346     else
65347     {
65348 return characterData2BoolData(text, textLength, &ColladaParserAutoGen14::data__bool3____cg_bool3);
65349     }
65350 #else
65351     {
65352 return characterData2BoolData(text, textLength, &ColladaParserAutoGen14::data__bool3____cg_bool3);
65353     } // validation
65354 #endif
65355 
65356 }
65357 
65358 //---------------------------------------------------------------------
_preBegin__bool3____cg_bool3(const ParserAttributes & attributes,void ** attributeDataPtr,void ** validationDataPtr)65359 bool ColladaParserAutoGen14Private::_preBegin__bool3____cg_bool3( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
65360 {
65361 #ifdef GENERATEDSAXPARSER_VALIDATION
65362     if ( mValidate )
65363     {
65364 
65365         bool validationResult = _validateBegin__bool3____cg_bool3( attributes, attributeDataPtr, validationDataPtr );
65366         if ( !validationResult ) return false;
65367 
65368     } // validation
65369 #endif
65370 
65371     return true;
65372 }
65373 
65374 //---------------------------------------------------------------------
_preEnd__bool3____cg_bool3()65375 bool ColladaParserAutoGen14Private::_preEnd__bool3____cg_bool3()
65376 {
65377 #ifdef GENERATEDSAXPARSER_VALIDATION
65378     if ( mValidate )
65379     {
65380 
65381         bool validationResult = _validateEnd__bool3____cg_bool3();
65382         if ( !validationResult ) return false;
65383 
65384     } // validation
65385 #endif
65386 
65387 #ifdef GENERATEDSAXPARSER_VALIDATION
65388     if ( mValidate )
65389     {
65390         bool3____cg_bool3__ValidationData* validationData = (bool3____cg_bool3__ValidationData*)mValidationDataStack.top();
65391         DISABLE_WARNING_UNUSED(validationData)
65392 bool returnValue = boolDataEnd( &ColladaParserAutoGen14::data__bool3____cg_bool3, &validate__cg_bool3__streamEnd, &validationData->validationWholeSize, 0 );
65393         ParserError::ErrorType simpleTypeValidationResult = validate__cg_bool3(0, (*(&validationData->validationWholeSize)));
65394         mValidationDataStack.deleteObject();
65395         if (simpleTypeValidationResult != ParserError::SIMPLE_TYPE_VALIDATION_OK)
65396         {
65397             if( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL,
65398                 simpleTypeValidationResult,
65399                 HASH_ELEMENT_BOOL3,
65400                 (ParserChar*)0, 0 ) )
65401             {
65402                 return false;
65403             }
65404         }
65405         return returnValue;
65406     }
65407     else
65408     {
65409 return boolDataEnd( &ColladaParserAutoGen14::data__bool3____cg_bool3 );
65410     }
65411 #else
65412     {
65413 return boolDataEnd( &ColladaParserAutoGen14::data__bool3____cg_bool3 );
65414     } // validation
65415 #endif
65416 
65417 }
65418 
65419 //---------------------------------------------------------------------
_freeAttributes__bool3____cg_bool3(void * attributeData)65420 bool ColladaParserAutoGen14Private::_freeAttributes__bool3____cg_bool3( void* attributeData )
65421 {
65422     return true;
65423 }
65424 
65425 //---------------------------------------------------------------------
_data__bool4____cg_bool4(const ParserChar * text,size_t textLength)65426 bool ColladaParserAutoGen14Private::_data__bool4____cg_bool4( const ParserChar* text, size_t textLength )
65427 {
65428 #ifdef GENERATEDSAXPARSER_VALIDATION
65429     if ( mValidate )
65430     {
65431         bool4____cg_bool4__ValidationData* validationData = (bool4____cg_bool4__ValidationData*)mValidationDataStack.top();
65432         DISABLE_WARNING_UNUSED(validationData)
65433 return characterData2BoolData(text, textLength, &ColladaParserAutoGen14::data__bool4____cg_bool4, &validate__cg_bool4__stream, &validationData->validationWholeSize, 0);
65434     }
65435     else
65436     {
65437 return characterData2BoolData(text, textLength, &ColladaParserAutoGen14::data__bool4____cg_bool4);
65438     }
65439 #else
65440     {
65441 return characterData2BoolData(text, textLength, &ColladaParserAutoGen14::data__bool4____cg_bool4);
65442     } // validation
65443 #endif
65444 
65445 }
65446 
65447 //---------------------------------------------------------------------
_preBegin__bool4____cg_bool4(const ParserAttributes & attributes,void ** attributeDataPtr,void ** validationDataPtr)65448 bool ColladaParserAutoGen14Private::_preBegin__bool4____cg_bool4( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
65449 {
65450 #ifdef GENERATEDSAXPARSER_VALIDATION
65451     if ( mValidate )
65452     {
65453 
65454         bool validationResult = _validateBegin__bool4____cg_bool4( attributes, attributeDataPtr, validationDataPtr );
65455         if ( !validationResult ) return false;
65456 
65457     } // validation
65458 #endif
65459 
65460     return true;
65461 }
65462 
65463 //---------------------------------------------------------------------
_preEnd__bool4____cg_bool4()65464 bool ColladaParserAutoGen14Private::_preEnd__bool4____cg_bool4()
65465 {
65466 #ifdef GENERATEDSAXPARSER_VALIDATION
65467     if ( mValidate )
65468     {
65469 
65470         bool validationResult = _validateEnd__bool4____cg_bool4();
65471         if ( !validationResult ) return false;
65472 
65473     } // validation
65474 #endif
65475 
65476 #ifdef GENERATEDSAXPARSER_VALIDATION
65477     if ( mValidate )
65478     {
65479         bool4____cg_bool4__ValidationData* validationData = (bool4____cg_bool4__ValidationData*)mValidationDataStack.top();
65480         DISABLE_WARNING_UNUSED(validationData)
65481 bool returnValue = boolDataEnd( &ColladaParserAutoGen14::data__bool4____cg_bool4, &validate__cg_bool4__streamEnd, &validationData->validationWholeSize, 0 );
65482         ParserError::ErrorType simpleTypeValidationResult = validate__cg_bool4(0, (*(&validationData->validationWholeSize)));
65483         mValidationDataStack.deleteObject();
65484         if (simpleTypeValidationResult != ParserError::SIMPLE_TYPE_VALIDATION_OK)
65485         {
65486             if( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL,
65487                 simpleTypeValidationResult,
65488                 HASH_ELEMENT_BOOL4,
65489                 (ParserChar*)0, 0 ) )
65490             {
65491                 return false;
65492             }
65493         }
65494         return returnValue;
65495     }
65496     else
65497     {
65498 return boolDataEnd( &ColladaParserAutoGen14::data__bool4____cg_bool4 );
65499     }
65500 #else
65501     {
65502 return boolDataEnd( &ColladaParserAutoGen14::data__bool4____cg_bool4 );
65503     } // validation
65504 #endif
65505 
65506 }
65507 
65508 //---------------------------------------------------------------------
_freeAttributes__bool4____cg_bool4(void * attributeData)65509 bool ColladaParserAutoGen14Private::_freeAttributes__bool4____cg_bool4( void* attributeData )
65510 {
65511     return true;
65512 }
65513 
65514 //---------------------------------------------------------------------
_data__bool1x1(const ParserChar * text,size_t textLength)65515 bool ColladaParserAutoGen14Private::_data__bool1x1( const ParserChar* text, size_t textLength )
65516 {
65517 #ifdef GENERATEDSAXPARSER_VALIDATION
65518     if ( mValidate )
65519     {
65520         bool1x1__ValidationData* validationData = (bool1x1__ValidationData*)mValidationDataStack.top();
65521         DISABLE_WARNING_UNUSED(validationData)
65522 return characterData2BoolData(text, textLength, &ColladaParserAutoGen14::data__bool1x1, &validate__cg_bool1x1__stream, &validationData->validationWholeSize, 0);
65523     }
65524     else
65525     {
65526 return characterData2BoolData(text, textLength, &ColladaParserAutoGen14::data__bool1x1);
65527     }
65528 #else
65529     {
65530 return characterData2BoolData(text, textLength, &ColladaParserAutoGen14::data__bool1x1);
65531     } // validation
65532 #endif
65533 
65534 }
65535 
65536 //---------------------------------------------------------------------
_preBegin__bool1x1(const ParserAttributes & attributes,void ** attributeDataPtr,void ** validationDataPtr)65537 bool ColladaParserAutoGen14Private::_preBegin__bool1x1( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
65538 {
65539 #ifdef GENERATEDSAXPARSER_VALIDATION
65540     if ( mValidate )
65541     {
65542 
65543         bool validationResult = _validateBegin__bool1x1( attributes, attributeDataPtr, validationDataPtr );
65544         if ( !validationResult ) return false;
65545 
65546     } // validation
65547 #endif
65548 
65549     return true;
65550 }
65551 
65552 //---------------------------------------------------------------------
_preEnd__bool1x1()65553 bool ColladaParserAutoGen14Private::_preEnd__bool1x1()
65554 {
65555 #ifdef GENERATEDSAXPARSER_VALIDATION
65556     if ( mValidate )
65557     {
65558 
65559         bool validationResult = _validateEnd__bool1x1();
65560         if ( !validationResult ) return false;
65561 
65562     } // validation
65563 #endif
65564 
65565 #ifdef GENERATEDSAXPARSER_VALIDATION
65566     if ( mValidate )
65567     {
65568         bool1x1__ValidationData* validationData = (bool1x1__ValidationData*)mValidationDataStack.top();
65569         DISABLE_WARNING_UNUSED(validationData)
65570 bool returnValue = boolDataEnd( &ColladaParserAutoGen14::data__bool1x1, &validate__cg_bool1x1__streamEnd, &validationData->validationWholeSize, 0 );
65571         ParserError::ErrorType simpleTypeValidationResult = validate__cg_bool1x1(0, (*(&validationData->validationWholeSize)));
65572         mValidationDataStack.deleteObject();
65573         if (simpleTypeValidationResult != ParserError::SIMPLE_TYPE_VALIDATION_OK)
65574         {
65575             if( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL,
65576                 simpleTypeValidationResult,
65577                 HASH_ELEMENT_BOOL1X1,
65578                 (ParserChar*)0, 0 ) )
65579             {
65580                 return false;
65581             }
65582         }
65583         return returnValue;
65584     }
65585     else
65586     {
65587 return boolDataEnd( &ColladaParserAutoGen14::data__bool1x1 );
65588     }
65589 #else
65590     {
65591 return boolDataEnd( &ColladaParserAutoGen14::data__bool1x1 );
65592     } // validation
65593 #endif
65594 
65595 }
65596 
65597 //---------------------------------------------------------------------
_freeAttributes__bool1x1(void * attributeData)65598 bool ColladaParserAutoGen14Private::_freeAttributes__bool1x1( void* attributeData )
65599 {
65600     return true;
65601 }
65602 
65603 //---------------------------------------------------------------------
_data__bool1x2(const ParserChar * text,size_t textLength)65604 bool ColladaParserAutoGen14Private::_data__bool1x2( const ParserChar* text, size_t textLength )
65605 {
65606 #ifdef GENERATEDSAXPARSER_VALIDATION
65607     if ( mValidate )
65608     {
65609         bool1x2__ValidationData* validationData = (bool1x2__ValidationData*)mValidationDataStack.top();
65610         DISABLE_WARNING_UNUSED(validationData)
65611 return characterData2BoolData(text, textLength, &ColladaParserAutoGen14::data__bool1x2, &validate__cg_bool1x2__stream, &validationData->validationWholeSize, 0);
65612     }
65613     else
65614     {
65615 return characterData2BoolData(text, textLength, &ColladaParserAutoGen14::data__bool1x2);
65616     }
65617 #else
65618     {
65619 return characterData2BoolData(text, textLength, &ColladaParserAutoGen14::data__bool1x2);
65620     } // validation
65621 #endif
65622 
65623 }
65624 
65625 //---------------------------------------------------------------------
_preBegin__bool1x2(const ParserAttributes & attributes,void ** attributeDataPtr,void ** validationDataPtr)65626 bool ColladaParserAutoGen14Private::_preBegin__bool1x2( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
65627 {
65628 #ifdef GENERATEDSAXPARSER_VALIDATION
65629     if ( mValidate )
65630     {
65631 
65632         bool validationResult = _validateBegin__bool1x2( attributes, attributeDataPtr, validationDataPtr );
65633         if ( !validationResult ) return false;
65634 
65635     } // validation
65636 #endif
65637 
65638     return true;
65639 }
65640 
65641 //---------------------------------------------------------------------
_preEnd__bool1x2()65642 bool ColladaParserAutoGen14Private::_preEnd__bool1x2()
65643 {
65644 #ifdef GENERATEDSAXPARSER_VALIDATION
65645     if ( mValidate )
65646     {
65647 
65648         bool validationResult = _validateEnd__bool1x2();
65649         if ( !validationResult ) return false;
65650 
65651     } // validation
65652 #endif
65653 
65654 #ifdef GENERATEDSAXPARSER_VALIDATION
65655     if ( mValidate )
65656     {
65657         bool1x2__ValidationData* validationData = (bool1x2__ValidationData*)mValidationDataStack.top();
65658         DISABLE_WARNING_UNUSED(validationData)
65659 bool returnValue = boolDataEnd( &ColladaParserAutoGen14::data__bool1x2, &validate__cg_bool1x2__streamEnd, &validationData->validationWholeSize, 0 );
65660         ParserError::ErrorType simpleTypeValidationResult = validate__cg_bool1x2(0, (*(&validationData->validationWholeSize)));
65661         mValidationDataStack.deleteObject();
65662         if (simpleTypeValidationResult != ParserError::SIMPLE_TYPE_VALIDATION_OK)
65663         {
65664             if( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL,
65665                 simpleTypeValidationResult,
65666                 HASH_ELEMENT_BOOL1X2,
65667                 (ParserChar*)0, 0 ) )
65668             {
65669                 return false;
65670             }
65671         }
65672         return returnValue;
65673     }
65674     else
65675     {
65676 return boolDataEnd( &ColladaParserAutoGen14::data__bool1x2 );
65677     }
65678 #else
65679     {
65680 return boolDataEnd( &ColladaParserAutoGen14::data__bool1x2 );
65681     } // validation
65682 #endif
65683 
65684 }
65685 
65686 //---------------------------------------------------------------------
_freeAttributes__bool1x2(void * attributeData)65687 bool ColladaParserAutoGen14Private::_freeAttributes__bool1x2( void* attributeData )
65688 {
65689     return true;
65690 }
65691 
65692 //---------------------------------------------------------------------
_data__bool1x3(const ParserChar * text,size_t textLength)65693 bool ColladaParserAutoGen14Private::_data__bool1x3( const ParserChar* text, size_t textLength )
65694 {
65695 #ifdef GENERATEDSAXPARSER_VALIDATION
65696     if ( mValidate )
65697     {
65698         bool1x3__ValidationData* validationData = (bool1x3__ValidationData*)mValidationDataStack.top();
65699         DISABLE_WARNING_UNUSED(validationData)
65700 return characterData2BoolData(text, textLength, &ColladaParserAutoGen14::data__bool1x3, &validate__cg_bool1x3__stream, &validationData->validationWholeSize, 0);
65701     }
65702     else
65703     {
65704 return characterData2BoolData(text, textLength, &ColladaParserAutoGen14::data__bool1x3);
65705     }
65706 #else
65707     {
65708 return characterData2BoolData(text, textLength, &ColladaParserAutoGen14::data__bool1x3);
65709     } // validation
65710 #endif
65711 
65712 }
65713 
65714 //---------------------------------------------------------------------
_preBegin__bool1x3(const ParserAttributes & attributes,void ** attributeDataPtr,void ** validationDataPtr)65715 bool ColladaParserAutoGen14Private::_preBegin__bool1x3( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
65716 {
65717 #ifdef GENERATEDSAXPARSER_VALIDATION
65718     if ( mValidate )
65719     {
65720 
65721         bool validationResult = _validateBegin__bool1x3( attributes, attributeDataPtr, validationDataPtr );
65722         if ( !validationResult ) return false;
65723 
65724     } // validation
65725 #endif
65726 
65727     return true;
65728 }
65729 
65730 //---------------------------------------------------------------------
_preEnd__bool1x3()65731 bool ColladaParserAutoGen14Private::_preEnd__bool1x3()
65732 {
65733 #ifdef GENERATEDSAXPARSER_VALIDATION
65734     if ( mValidate )
65735     {
65736 
65737         bool validationResult = _validateEnd__bool1x3();
65738         if ( !validationResult ) return false;
65739 
65740     } // validation
65741 #endif
65742 
65743 #ifdef GENERATEDSAXPARSER_VALIDATION
65744     if ( mValidate )
65745     {
65746         bool1x3__ValidationData* validationData = (bool1x3__ValidationData*)mValidationDataStack.top();
65747         DISABLE_WARNING_UNUSED(validationData)
65748 bool returnValue = boolDataEnd( &ColladaParserAutoGen14::data__bool1x3, &validate__cg_bool1x3__streamEnd, &validationData->validationWholeSize, 0 );
65749         ParserError::ErrorType simpleTypeValidationResult = validate__cg_bool1x3(0, (*(&validationData->validationWholeSize)));
65750         mValidationDataStack.deleteObject();
65751         if (simpleTypeValidationResult != ParserError::SIMPLE_TYPE_VALIDATION_OK)
65752         {
65753             if( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL,
65754                 simpleTypeValidationResult,
65755                 HASH_ELEMENT_BOOL1X3,
65756                 (ParserChar*)0, 0 ) )
65757             {
65758                 return false;
65759             }
65760         }
65761         return returnValue;
65762     }
65763     else
65764     {
65765 return boolDataEnd( &ColladaParserAutoGen14::data__bool1x3 );
65766     }
65767 #else
65768     {
65769 return boolDataEnd( &ColladaParserAutoGen14::data__bool1x3 );
65770     } // validation
65771 #endif
65772 
65773 }
65774 
65775 //---------------------------------------------------------------------
_freeAttributes__bool1x3(void * attributeData)65776 bool ColladaParserAutoGen14Private::_freeAttributes__bool1x3( void* attributeData )
65777 {
65778     return true;
65779 }
65780 
65781 //---------------------------------------------------------------------
_data__bool1x4(const ParserChar * text,size_t textLength)65782 bool ColladaParserAutoGen14Private::_data__bool1x4( const ParserChar* text, size_t textLength )
65783 {
65784 #ifdef GENERATEDSAXPARSER_VALIDATION
65785     if ( mValidate )
65786     {
65787         bool1x4__ValidationData* validationData = (bool1x4__ValidationData*)mValidationDataStack.top();
65788         DISABLE_WARNING_UNUSED(validationData)
65789 return characterData2BoolData(text, textLength, &ColladaParserAutoGen14::data__bool1x4, &validate__cg_bool1x4__stream, &validationData->validationWholeSize, 0);
65790     }
65791     else
65792     {
65793 return characterData2BoolData(text, textLength, &ColladaParserAutoGen14::data__bool1x4);
65794     }
65795 #else
65796     {
65797 return characterData2BoolData(text, textLength, &ColladaParserAutoGen14::data__bool1x4);
65798     } // validation
65799 #endif
65800 
65801 }
65802 
65803 //---------------------------------------------------------------------
_preBegin__bool1x4(const ParserAttributes & attributes,void ** attributeDataPtr,void ** validationDataPtr)65804 bool ColladaParserAutoGen14Private::_preBegin__bool1x4( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
65805 {
65806 #ifdef GENERATEDSAXPARSER_VALIDATION
65807     if ( mValidate )
65808     {
65809 
65810         bool validationResult = _validateBegin__bool1x4( attributes, attributeDataPtr, validationDataPtr );
65811         if ( !validationResult ) return false;
65812 
65813     } // validation
65814 #endif
65815 
65816     return true;
65817 }
65818 
65819 //---------------------------------------------------------------------
_preEnd__bool1x4()65820 bool ColladaParserAutoGen14Private::_preEnd__bool1x4()
65821 {
65822 #ifdef GENERATEDSAXPARSER_VALIDATION
65823     if ( mValidate )
65824     {
65825 
65826         bool validationResult = _validateEnd__bool1x4();
65827         if ( !validationResult ) return false;
65828 
65829     } // validation
65830 #endif
65831 
65832 #ifdef GENERATEDSAXPARSER_VALIDATION
65833     if ( mValidate )
65834     {
65835         bool1x4__ValidationData* validationData = (bool1x4__ValidationData*)mValidationDataStack.top();
65836         DISABLE_WARNING_UNUSED(validationData)
65837 bool returnValue = boolDataEnd( &ColladaParserAutoGen14::data__bool1x4, &validate__cg_bool1x4__streamEnd, &validationData->validationWholeSize, 0 );
65838         ParserError::ErrorType simpleTypeValidationResult = validate__cg_bool1x4(0, (*(&validationData->validationWholeSize)));
65839         mValidationDataStack.deleteObject();
65840         if (simpleTypeValidationResult != ParserError::SIMPLE_TYPE_VALIDATION_OK)
65841         {
65842             if( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL,
65843                 simpleTypeValidationResult,
65844                 HASH_ELEMENT_BOOL1X4,
65845                 (ParserChar*)0, 0 ) )
65846             {
65847                 return false;
65848             }
65849         }
65850         return returnValue;
65851     }
65852     else
65853     {
65854 return boolDataEnd( &ColladaParserAutoGen14::data__bool1x4 );
65855     }
65856 #else
65857     {
65858 return boolDataEnd( &ColladaParserAutoGen14::data__bool1x4 );
65859     } // validation
65860 #endif
65861 
65862 }
65863 
65864 //---------------------------------------------------------------------
_freeAttributes__bool1x4(void * attributeData)65865 bool ColladaParserAutoGen14Private::_freeAttributes__bool1x4( void* attributeData )
65866 {
65867     return true;
65868 }
65869 
65870 //---------------------------------------------------------------------
_data__bool2x1(const ParserChar * text,size_t textLength)65871 bool ColladaParserAutoGen14Private::_data__bool2x1( const ParserChar* text, size_t textLength )
65872 {
65873 #ifdef GENERATEDSAXPARSER_VALIDATION
65874     if ( mValidate )
65875     {
65876         bool2x1__ValidationData* validationData = (bool2x1__ValidationData*)mValidationDataStack.top();
65877         DISABLE_WARNING_UNUSED(validationData)
65878 return characterData2BoolData(text, textLength, &ColladaParserAutoGen14::data__bool2x1, &validate__cg_bool2x1__stream, &validationData->validationWholeSize, 0);
65879     }
65880     else
65881     {
65882 return characterData2BoolData(text, textLength, &ColladaParserAutoGen14::data__bool2x1);
65883     }
65884 #else
65885     {
65886 return characterData2BoolData(text, textLength, &ColladaParserAutoGen14::data__bool2x1);
65887     } // validation
65888 #endif
65889 
65890 }
65891 
65892 //---------------------------------------------------------------------
_preBegin__bool2x1(const ParserAttributes & attributes,void ** attributeDataPtr,void ** validationDataPtr)65893 bool ColladaParserAutoGen14Private::_preBegin__bool2x1( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
65894 {
65895 #ifdef GENERATEDSAXPARSER_VALIDATION
65896     if ( mValidate )
65897     {
65898 
65899         bool validationResult = _validateBegin__bool2x1( attributes, attributeDataPtr, validationDataPtr );
65900         if ( !validationResult ) return false;
65901 
65902     } // validation
65903 #endif
65904 
65905     return true;
65906 }
65907 
65908 //---------------------------------------------------------------------
_preEnd__bool2x1()65909 bool ColladaParserAutoGen14Private::_preEnd__bool2x1()
65910 {
65911 #ifdef GENERATEDSAXPARSER_VALIDATION
65912     if ( mValidate )
65913     {
65914 
65915         bool validationResult = _validateEnd__bool2x1();
65916         if ( !validationResult ) return false;
65917 
65918     } // validation
65919 #endif
65920 
65921 #ifdef GENERATEDSAXPARSER_VALIDATION
65922     if ( mValidate )
65923     {
65924         bool2x1__ValidationData* validationData = (bool2x1__ValidationData*)mValidationDataStack.top();
65925         DISABLE_WARNING_UNUSED(validationData)
65926 bool returnValue = boolDataEnd( &ColladaParserAutoGen14::data__bool2x1, &validate__cg_bool2x1__streamEnd, &validationData->validationWholeSize, 0 );
65927         ParserError::ErrorType simpleTypeValidationResult = validate__cg_bool2x1(0, (*(&validationData->validationWholeSize)));
65928         mValidationDataStack.deleteObject();
65929         if (simpleTypeValidationResult != ParserError::SIMPLE_TYPE_VALIDATION_OK)
65930         {
65931             if( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL,
65932                 simpleTypeValidationResult,
65933                 HASH_ELEMENT_BOOL2X1,
65934                 (ParserChar*)0, 0 ) )
65935             {
65936                 return false;
65937             }
65938         }
65939         return returnValue;
65940     }
65941     else
65942     {
65943 return boolDataEnd( &ColladaParserAutoGen14::data__bool2x1 );
65944     }
65945 #else
65946     {
65947 return boolDataEnd( &ColladaParserAutoGen14::data__bool2x1 );
65948     } // validation
65949 #endif
65950 
65951 }
65952 
65953 //---------------------------------------------------------------------
_freeAttributes__bool2x1(void * attributeData)65954 bool ColladaParserAutoGen14Private::_freeAttributes__bool2x1( void* attributeData )
65955 {
65956     return true;
65957 }
65958 
65959 //---------------------------------------------------------------------
_data__bool2x2(const ParserChar * text,size_t textLength)65960 bool ColladaParserAutoGen14Private::_data__bool2x2( const ParserChar* text, size_t textLength )
65961 {
65962 #ifdef GENERATEDSAXPARSER_VALIDATION
65963     if ( mValidate )
65964     {
65965         bool2x2__ValidationData* validationData = (bool2x2__ValidationData*)mValidationDataStack.top();
65966         DISABLE_WARNING_UNUSED(validationData)
65967 return characterData2BoolData(text, textLength, &ColladaParserAutoGen14::data__bool2x2, &validate__cg_bool2x2__stream, &validationData->validationWholeSize, 0);
65968     }
65969     else
65970     {
65971 return characterData2BoolData(text, textLength, &ColladaParserAutoGen14::data__bool2x2);
65972     }
65973 #else
65974     {
65975 return characterData2BoolData(text, textLength, &ColladaParserAutoGen14::data__bool2x2);
65976     } // validation
65977 #endif
65978 
65979 }
65980 
65981 //---------------------------------------------------------------------
_preBegin__bool2x2(const ParserAttributes & attributes,void ** attributeDataPtr,void ** validationDataPtr)65982 bool ColladaParserAutoGen14Private::_preBegin__bool2x2( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
65983 {
65984 #ifdef GENERATEDSAXPARSER_VALIDATION
65985     if ( mValidate )
65986     {
65987 
65988         bool validationResult = _validateBegin__bool2x2( attributes, attributeDataPtr, validationDataPtr );
65989         if ( !validationResult ) return false;
65990 
65991     } // validation
65992 #endif
65993 
65994     return true;
65995 }
65996 
65997 //---------------------------------------------------------------------
_preEnd__bool2x2()65998 bool ColladaParserAutoGen14Private::_preEnd__bool2x2()
65999 {
66000 #ifdef GENERATEDSAXPARSER_VALIDATION
66001     if ( mValidate )
66002     {
66003 
66004         bool validationResult = _validateEnd__bool2x2();
66005         if ( !validationResult ) return false;
66006 
66007     } // validation
66008 #endif
66009 
66010 #ifdef GENERATEDSAXPARSER_VALIDATION
66011     if ( mValidate )
66012     {
66013         bool2x2__ValidationData* validationData = (bool2x2__ValidationData*)mValidationDataStack.top();
66014         DISABLE_WARNING_UNUSED(validationData)
66015 bool returnValue = boolDataEnd( &ColladaParserAutoGen14::data__bool2x2, &validate__cg_bool2x2__streamEnd, &validationData->validationWholeSize, 0 );
66016         ParserError::ErrorType simpleTypeValidationResult = validate__cg_bool2x2(0, (*(&validationData->validationWholeSize)));
66017         mValidationDataStack.deleteObject();
66018         if (simpleTypeValidationResult != ParserError::SIMPLE_TYPE_VALIDATION_OK)
66019         {
66020             if( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL,
66021                 simpleTypeValidationResult,
66022                 HASH_ELEMENT_BOOL2X2,
66023                 (ParserChar*)0, 0 ) )
66024             {
66025                 return false;
66026             }
66027         }
66028         return returnValue;
66029     }
66030     else
66031     {
66032 return boolDataEnd( &ColladaParserAutoGen14::data__bool2x2 );
66033     }
66034 #else
66035     {
66036 return boolDataEnd( &ColladaParserAutoGen14::data__bool2x2 );
66037     } // validation
66038 #endif
66039 
66040 }
66041 
66042 //---------------------------------------------------------------------
_freeAttributes__bool2x2(void * attributeData)66043 bool ColladaParserAutoGen14Private::_freeAttributes__bool2x2( void* attributeData )
66044 {
66045     return true;
66046 }
66047 
66048 //---------------------------------------------------------------------
_data__bool2x3(const ParserChar * text,size_t textLength)66049 bool ColladaParserAutoGen14Private::_data__bool2x3( const ParserChar* text, size_t textLength )
66050 {
66051 #ifdef GENERATEDSAXPARSER_VALIDATION
66052     if ( mValidate )
66053     {
66054         bool2x3__ValidationData* validationData = (bool2x3__ValidationData*)mValidationDataStack.top();
66055         DISABLE_WARNING_UNUSED(validationData)
66056 return characterData2BoolData(text, textLength, &ColladaParserAutoGen14::data__bool2x3, &validate__cg_bool2x3__stream, &validationData->validationWholeSize, 0);
66057     }
66058     else
66059     {
66060 return characterData2BoolData(text, textLength, &ColladaParserAutoGen14::data__bool2x3);
66061     }
66062 #else
66063     {
66064 return characterData2BoolData(text, textLength, &ColladaParserAutoGen14::data__bool2x3);
66065     } // validation
66066 #endif
66067 
66068 }
66069 
66070 //---------------------------------------------------------------------
_preBegin__bool2x3(const ParserAttributes & attributes,void ** attributeDataPtr,void ** validationDataPtr)66071 bool ColladaParserAutoGen14Private::_preBegin__bool2x3( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
66072 {
66073 #ifdef GENERATEDSAXPARSER_VALIDATION
66074     if ( mValidate )
66075     {
66076 
66077         bool validationResult = _validateBegin__bool2x3( attributes, attributeDataPtr, validationDataPtr );
66078         if ( !validationResult ) return false;
66079 
66080     } // validation
66081 #endif
66082 
66083     return true;
66084 }
66085 
66086 //---------------------------------------------------------------------
_preEnd__bool2x3()66087 bool ColladaParserAutoGen14Private::_preEnd__bool2x3()
66088 {
66089 #ifdef GENERATEDSAXPARSER_VALIDATION
66090     if ( mValidate )
66091     {
66092 
66093         bool validationResult = _validateEnd__bool2x3();
66094         if ( !validationResult ) return false;
66095 
66096     } // validation
66097 #endif
66098 
66099 #ifdef GENERATEDSAXPARSER_VALIDATION
66100     if ( mValidate )
66101     {
66102         bool2x3__ValidationData* validationData = (bool2x3__ValidationData*)mValidationDataStack.top();
66103         DISABLE_WARNING_UNUSED(validationData)
66104 bool returnValue = boolDataEnd( &ColladaParserAutoGen14::data__bool2x3, &validate__cg_bool2x3__streamEnd, &validationData->validationWholeSize, 0 );
66105         ParserError::ErrorType simpleTypeValidationResult = validate__cg_bool2x3(0, (*(&validationData->validationWholeSize)));
66106         mValidationDataStack.deleteObject();
66107         if (simpleTypeValidationResult != ParserError::SIMPLE_TYPE_VALIDATION_OK)
66108         {
66109             if( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL,
66110                 simpleTypeValidationResult,
66111                 HASH_ELEMENT_BOOL2X3,
66112                 (ParserChar*)0, 0 ) )
66113             {
66114                 return false;
66115             }
66116         }
66117         return returnValue;
66118     }
66119     else
66120     {
66121 return boolDataEnd( &ColladaParserAutoGen14::data__bool2x3 );
66122     }
66123 #else
66124     {
66125 return boolDataEnd( &ColladaParserAutoGen14::data__bool2x3 );
66126     } // validation
66127 #endif
66128 
66129 }
66130 
66131 //---------------------------------------------------------------------
_freeAttributes__bool2x3(void * attributeData)66132 bool ColladaParserAutoGen14Private::_freeAttributes__bool2x3( void* attributeData )
66133 {
66134     return true;
66135 }
66136 
66137 //---------------------------------------------------------------------
_data__bool2x4(const ParserChar * text,size_t textLength)66138 bool ColladaParserAutoGen14Private::_data__bool2x4( const ParserChar* text, size_t textLength )
66139 {
66140 #ifdef GENERATEDSAXPARSER_VALIDATION
66141     if ( mValidate )
66142     {
66143         bool2x4__ValidationData* validationData = (bool2x4__ValidationData*)mValidationDataStack.top();
66144         DISABLE_WARNING_UNUSED(validationData)
66145 return characterData2BoolData(text, textLength, &ColladaParserAutoGen14::data__bool2x4, &validate__cg_bool2x4__stream, &validationData->validationWholeSize, 0);
66146     }
66147     else
66148     {
66149 return characterData2BoolData(text, textLength, &ColladaParserAutoGen14::data__bool2x4);
66150     }
66151 #else
66152     {
66153 return characterData2BoolData(text, textLength, &ColladaParserAutoGen14::data__bool2x4);
66154     } // validation
66155 #endif
66156 
66157 }
66158 
66159 //---------------------------------------------------------------------
_preBegin__bool2x4(const ParserAttributes & attributes,void ** attributeDataPtr,void ** validationDataPtr)66160 bool ColladaParserAutoGen14Private::_preBegin__bool2x4( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
66161 {
66162 #ifdef GENERATEDSAXPARSER_VALIDATION
66163     if ( mValidate )
66164     {
66165 
66166         bool validationResult = _validateBegin__bool2x4( attributes, attributeDataPtr, validationDataPtr );
66167         if ( !validationResult ) return false;
66168 
66169     } // validation
66170 #endif
66171 
66172     return true;
66173 }
66174 
66175 //---------------------------------------------------------------------
_preEnd__bool2x4()66176 bool ColladaParserAutoGen14Private::_preEnd__bool2x4()
66177 {
66178 #ifdef GENERATEDSAXPARSER_VALIDATION
66179     if ( mValidate )
66180     {
66181 
66182         bool validationResult = _validateEnd__bool2x4();
66183         if ( !validationResult ) return false;
66184 
66185     } // validation
66186 #endif
66187 
66188 #ifdef GENERATEDSAXPARSER_VALIDATION
66189     if ( mValidate )
66190     {
66191         bool2x4__ValidationData* validationData = (bool2x4__ValidationData*)mValidationDataStack.top();
66192         DISABLE_WARNING_UNUSED(validationData)
66193 bool returnValue = boolDataEnd( &ColladaParserAutoGen14::data__bool2x4, &validate__cg_bool2x4__streamEnd, &validationData->validationWholeSize, 0 );
66194         ParserError::ErrorType simpleTypeValidationResult = validate__cg_bool2x4(0, (*(&validationData->validationWholeSize)));
66195         mValidationDataStack.deleteObject();
66196         if (simpleTypeValidationResult != ParserError::SIMPLE_TYPE_VALIDATION_OK)
66197         {
66198             if( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL,
66199                 simpleTypeValidationResult,
66200                 HASH_ELEMENT_BOOL2X4,
66201                 (ParserChar*)0, 0 ) )
66202             {
66203                 return false;
66204             }
66205         }
66206         return returnValue;
66207     }
66208     else
66209     {
66210 return boolDataEnd( &ColladaParserAutoGen14::data__bool2x4 );
66211     }
66212 #else
66213     {
66214 return boolDataEnd( &ColladaParserAutoGen14::data__bool2x4 );
66215     } // validation
66216 #endif
66217 
66218 }
66219 
66220 //---------------------------------------------------------------------
_freeAttributes__bool2x4(void * attributeData)66221 bool ColladaParserAutoGen14Private::_freeAttributes__bool2x4( void* attributeData )
66222 {
66223     return true;
66224 }
66225 
66226 //---------------------------------------------------------------------
_data__bool3x1(const ParserChar * text,size_t textLength)66227 bool ColladaParserAutoGen14Private::_data__bool3x1( const ParserChar* text, size_t textLength )
66228 {
66229 #ifdef GENERATEDSAXPARSER_VALIDATION
66230     if ( mValidate )
66231     {
66232         bool3x1__ValidationData* validationData = (bool3x1__ValidationData*)mValidationDataStack.top();
66233         DISABLE_WARNING_UNUSED(validationData)
66234 return characterData2BoolData(text, textLength, &ColladaParserAutoGen14::data__bool3x1, &validate__cg_bool3x1__stream, &validationData->validationWholeSize, 0);
66235     }
66236     else
66237     {
66238 return characterData2BoolData(text, textLength, &ColladaParserAutoGen14::data__bool3x1);
66239     }
66240 #else
66241     {
66242 return characterData2BoolData(text, textLength, &ColladaParserAutoGen14::data__bool3x1);
66243     } // validation
66244 #endif
66245 
66246 }
66247 
66248 //---------------------------------------------------------------------
_preBegin__bool3x1(const ParserAttributes & attributes,void ** attributeDataPtr,void ** validationDataPtr)66249 bool ColladaParserAutoGen14Private::_preBegin__bool3x1( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
66250 {
66251 #ifdef GENERATEDSAXPARSER_VALIDATION
66252     if ( mValidate )
66253     {
66254 
66255         bool validationResult = _validateBegin__bool3x1( attributes, attributeDataPtr, validationDataPtr );
66256         if ( !validationResult ) return false;
66257 
66258     } // validation
66259 #endif
66260 
66261     return true;
66262 }
66263 
66264 //---------------------------------------------------------------------
_preEnd__bool3x1()66265 bool ColladaParserAutoGen14Private::_preEnd__bool3x1()
66266 {
66267 #ifdef GENERATEDSAXPARSER_VALIDATION
66268     if ( mValidate )
66269     {
66270 
66271         bool validationResult = _validateEnd__bool3x1();
66272         if ( !validationResult ) return false;
66273 
66274     } // validation
66275 #endif
66276 
66277 #ifdef GENERATEDSAXPARSER_VALIDATION
66278     if ( mValidate )
66279     {
66280         bool3x1__ValidationData* validationData = (bool3x1__ValidationData*)mValidationDataStack.top();
66281         DISABLE_WARNING_UNUSED(validationData)
66282 bool returnValue = boolDataEnd( &ColladaParserAutoGen14::data__bool3x1, &validate__cg_bool3x1__streamEnd, &validationData->validationWholeSize, 0 );
66283         ParserError::ErrorType simpleTypeValidationResult = validate__cg_bool3x1(0, (*(&validationData->validationWholeSize)));
66284         mValidationDataStack.deleteObject();
66285         if (simpleTypeValidationResult != ParserError::SIMPLE_TYPE_VALIDATION_OK)
66286         {
66287             if( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL,
66288                 simpleTypeValidationResult,
66289                 HASH_ELEMENT_BOOL3X1,
66290                 (ParserChar*)0, 0 ) )
66291             {
66292                 return false;
66293             }
66294         }
66295         return returnValue;
66296     }
66297     else
66298     {
66299 return boolDataEnd( &ColladaParserAutoGen14::data__bool3x1 );
66300     }
66301 #else
66302     {
66303 return boolDataEnd( &ColladaParserAutoGen14::data__bool3x1 );
66304     } // validation
66305 #endif
66306 
66307 }
66308 
66309 //---------------------------------------------------------------------
_freeAttributes__bool3x1(void * attributeData)66310 bool ColladaParserAutoGen14Private::_freeAttributes__bool3x1( void* attributeData )
66311 {
66312     return true;
66313 }
66314 
66315 //---------------------------------------------------------------------
_data__bool3x2(const ParserChar * text,size_t textLength)66316 bool ColladaParserAutoGen14Private::_data__bool3x2( const ParserChar* text, size_t textLength )
66317 {
66318 #ifdef GENERATEDSAXPARSER_VALIDATION
66319     if ( mValidate )
66320     {
66321         bool3x2__ValidationData* validationData = (bool3x2__ValidationData*)mValidationDataStack.top();
66322         DISABLE_WARNING_UNUSED(validationData)
66323 return characterData2BoolData(text, textLength, &ColladaParserAutoGen14::data__bool3x2, &validate__cg_bool3x2__stream, &validationData->validationWholeSize, 0);
66324     }
66325     else
66326     {
66327 return characterData2BoolData(text, textLength, &ColladaParserAutoGen14::data__bool3x2);
66328     }
66329 #else
66330     {
66331 return characterData2BoolData(text, textLength, &ColladaParserAutoGen14::data__bool3x2);
66332     } // validation
66333 #endif
66334 
66335 }
66336 
66337 //---------------------------------------------------------------------
_preBegin__bool3x2(const ParserAttributes & attributes,void ** attributeDataPtr,void ** validationDataPtr)66338 bool ColladaParserAutoGen14Private::_preBegin__bool3x2( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
66339 {
66340 #ifdef GENERATEDSAXPARSER_VALIDATION
66341     if ( mValidate )
66342     {
66343 
66344         bool validationResult = _validateBegin__bool3x2( attributes, attributeDataPtr, validationDataPtr );
66345         if ( !validationResult ) return false;
66346 
66347     } // validation
66348 #endif
66349 
66350     return true;
66351 }
66352 
66353 //---------------------------------------------------------------------
_preEnd__bool3x2()66354 bool ColladaParserAutoGen14Private::_preEnd__bool3x2()
66355 {
66356 #ifdef GENERATEDSAXPARSER_VALIDATION
66357     if ( mValidate )
66358     {
66359 
66360         bool validationResult = _validateEnd__bool3x2();
66361         if ( !validationResult ) return false;
66362 
66363     } // validation
66364 #endif
66365 
66366 #ifdef GENERATEDSAXPARSER_VALIDATION
66367     if ( mValidate )
66368     {
66369         bool3x2__ValidationData* validationData = (bool3x2__ValidationData*)mValidationDataStack.top();
66370         DISABLE_WARNING_UNUSED(validationData)
66371 bool returnValue = boolDataEnd( &ColladaParserAutoGen14::data__bool3x2, &validate__cg_bool3x2__streamEnd, &validationData->validationWholeSize, 0 );
66372         ParserError::ErrorType simpleTypeValidationResult = validate__cg_bool3x2(0, (*(&validationData->validationWholeSize)));
66373         mValidationDataStack.deleteObject();
66374         if (simpleTypeValidationResult != ParserError::SIMPLE_TYPE_VALIDATION_OK)
66375         {
66376             if( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL,
66377                 simpleTypeValidationResult,
66378                 HASH_ELEMENT_BOOL3X2,
66379                 (ParserChar*)0, 0 ) )
66380             {
66381                 return false;
66382             }
66383         }
66384         return returnValue;
66385     }
66386     else
66387     {
66388 return boolDataEnd( &ColladaParserAutoGen14::data__bool3x2 );
66389     }
66390 #else
66391     {
66392 return boolDataEnd( &ColladaParserAutoGen14::data__bool3x2 );
66393     } // validation
66394 #endif
66395 
66396 }
66397 
66398 //---------------------------------------------------------------------
_freeAttributes__bool3x2(void * attributeData)66399 bool ColladaParserAutoGen14Private::_freeAttributes__bool3x2( void* attributeData )
66400 {
66401     return true;
66402 }
66403 
66404 //---------------------------------------------------------------------
_data__bool3x3(const ParserChar * text,size_t textLength)66405 bool ColladaParserAutoGen14Private::_data__bool3x3( const ParserChar* text, size_t textLength )
66406 {
66407 #ifdef GENERATEDSAXPARSER_VALIDATION
66408     if ( mValidate )
66409     {
66410         bool3x3__ValidationData* validationData = (bool3x3__ValidationData*)mValidationDataStack.top();
66411         DISABLE_WARNING_UNUSED(validationData)
66412 return characterData2BoolData(text, textLength, &ColladaParserAutoGen14::data__bool3x3, &validate__cg_bool3x3__stream, &validationData->validationWholeSize, 0);
66413     }
66414     else
66415     {
66416 return characterData2BoolData(text, textLength, &ColladaParserAutoGen14::data__bool3x3);
66417     }
66418 #else
66419     {
66420 return characterData2BoolData(text, textLength, &ColladaParserAutoGen14::data__bool3x3);
66421     } // validation
66422 #endif
66423 
66424 }
66425 
66426 //---------------------------------------------------------------------
_preBegin__bool3x3(const ParserAttributes & attributes,void ** attributeDataPtr,void ** validationDataPtr)66427 bool ColladaParserAutoGen14Private::_preBegin__bool3x3( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
66428 {
66429 #ifdef GENERATEDSAXPARSER_VALIDATION
66430     if ( mValidate )
66431     {
66432 
66433         bool validationResult = _validateBegin__bool3x3( attributes, attributeDataPtr, validationDataPtr );
66434         if ( !validationResult ) return false;
66435 
66436     } // validation
66437 #endif
66438 
66439     return true;
66440 }
66441 
66442 //---------------------------------------------------------------------
_preEnd__bool3x3()66443 bool ColladaParserAutoGen14Private::_preEnd__bool3x3()
66444 {
66445 #ifdef GENERATEDSAXPARSER_VALIDATION
66446     if ( mValidate )
66447     {
66448 
66449         bool validationResult = _validateEnd__bool3x3();
66450         if ( !validationResult ) return false;
66451 
66452     } // validation
66453 #endif
66454 
66455 #ifdef GENERATEDSAXPARSER_VALIDATION
66456     if ( mValidate )
66457     {
66458         bool3x3__ValidationData* validationData = (bool3x3__ValidationData*)mValidationDataStack.top();
66459         DISABLE_WARNING_UNUSED(validationData)
66460 bool returnValue = boolDataEnd( &ColladaParserAutoGen14::data__bool3x3, &validate__cg_bool3x3__streamEnd, &validationData->validationWholeSize, 0 );
66461         ParserError::ErrorType simpleTypeValidationResult = validate__cg_bool3x3(0, (*(&validationData->validationWholeSize)));
66462         mValidationDataStack.deleteObject();
66463         if (simpleTypeValidationResult != ParserError::SIMPLE_TYPE_VALIDATION_OK)
66464         {
66465             if( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL,
66466                 simpleTypeValidationResult,
66467                 HASH_ELEMENT_BOOL3X3,
66468                 (ParserChar*)0, 0 ) )
66469             {
66470                 return false;
66471             }
66472         }
66473         return returnValue;
66474     }
66475     else
66476     {
66477 return boolDataEnd( &ColladaParserAutoGen14::data__bool3x3 );
66478     }
66479 #else
66480     {
66481 return boolDataEnd( &ColladaParserAutoGen14::data__bool3x3 );
66482     } // validation
66483 #endif
66484 
66485 }
66486 
66487 //---------------------------------------------------------------------
_freeAttributes__bool3x3(void * attributeData)66488 bool ColladaParserAutoGen14Private::_freeAttributes__bool3x3( void* attributeData )
66489 {
66490     return true;
66491 }
66492 
66493 //---------------------------------------------------------------------
_data__bool3x4(const ParserChar * text,size_t textLength)66494 bool ColladaParserAutoGen14Private::_data__bool3x4( const ParserChar* text, size_t textLength )
66495 {
66496 #ifdef GENERATEDSAXPARSER_VALIDATION
66497     if ( mValidate )
66498     {
66499         bool3x4__ValidationData* validationData = (bool3x4__ValidationData*)mValidationDataStack.top();
66500         DISABLE_WARNING_UNUSED(validationData)
66501 return characterData2BoolData(text, textLength, &ColladaParserAutoGen14::data__bool3x4, &validate__cg_bool3x4__stream, &validationData->validationWholeSize, 0);
66502     }
66503     else
66504     {
66505 return characterData2BoolData(text, textLength, &ColladaParserAutoGen14::data__bool3x4);
66506     }
66507 #else
66508     {
66509 return characterData2BoolData(text, textLength, &ColladaParserAutoGen14::data__bool3x4);
66510     } // validation
66511 #endif
66512 
66513 }
66514 
66515 //---------------------------------------------------------------------
_preBegin__bool3x4(const ParserAttributes & attributes,void ** attributeDataPtr,void ** validationDataPtr)66516 bool ColladaParserAutoGen14Private::_preBegin__bool3x4( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
66517 {
66518 #ifdef GENERATEDSAXPARSER_VALIDATION
66519     if ( mValidate )
66520     {
66521 
66522         bool validationResult = _validateBegin__bool3x4( attributes, attributeDataPtr, validationDataPtr );
66523         if ( !validationResult ) return false;
66524 
66525     } // validation
66526 #endif
66527 
66528     return true;
66529 }
66530 
66531 //---------------------------------------------------------------------
_preEnd__bool3x4()66532 bool ColladaParserAutoGen14Private::_preEnd__bool3x4()
66533 {
66534 #ifdef GENERATEDSAXPARSER_VALIDATION
66535     if ( mValidate )
66536     {
66537 
66538         bool validationResult = _validateEnd__bool3x4();
66539         if ( !validationResult ) return false;
66540 
66541     } // validation
66542 #endif
66543 
66544 #ifdef GENERATEDSAXPARSER_VALIDATION
66545     if ( mValidate )
66546     {
66547         bool3x4__ValidationData* validationData = (bool3x4__ValidationData*)mValidationDataStack.top();
66548         DISABLE_WARNING_UNUSED(validationData)
66549 bool returnValue = boolDataEnd( &ColladaParserAutoGen14::data__bool3x4, &validate__cg_bool3x4__streamEnd, &validationData->validationWholeSize, 0 );
66550         ParserError::ErrorType simpleTypeValidationResult = validate__cg_bool3x4(0, (*(&validationData->validationWholeSize)));
66551         mValidationDataStack.deleteObject();
66552         if (simpleTypeValidationResult != ParserError::SIMPLE_TYPE_VALIDATION_OK)
66553         {
66554             if( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL,
66555                 simpleTypeValidationResult,
66556                 HASH_ELEMENT_BOOL3X4,
66557                 (ParserChar*)0, 0 ) )
66558             {
66559                 return false;
66560             }
66561         }
66562         return returnValue;
66563     }
66564     else
66565     {
66566 return boolDataEnd( &ColladaParserAutoGen14::data__bool3x4 );
66567     }
66568 #else
66569     {
66570 return boolDataEnd( &ColladaParserAutoGen14::data__bool3x4 );
66571     } // validation
66572 #endif
66573 
66574 }
66575 
66576 //---------------------------------------------------------------------
_freeAttributes__bool3x4(void * attributeData)66577 bool ColladaParserAutoGen14Private::_freeAttributes__bool3x4( void* attributeData )
66578 {
66579     return true;
66580 }
66581 
66582 //---------------------------------------------------------------------
_data__bool4x1(const ParserChar * text,size_t textLength)66583 bool ColladaParserAutoGen14Private::_data__bool4x1( const ParserChar* text, size_t textLength )
66584 {
66585 #ifdef GENERATEDSAXPARSER_VALIDATION
66586     if ( mValidate )
66587     {
66588         bool4x1__ValidationData* validationData = (bool4x1__ValidationData*)mValidationDataStack.top();
66589         DISABLE_WARNING_UNUSED(validationData)
66590 return characterData2BoolData(text, textLength, &ColladaParserAutoGen14::data__bool4x1, &validate__cg_bool4x1__stream, &validationData->validationWholeSize, 0);
66591     }
66592     else
66593     {
66594 return characterData2BoolData(text, textLength, &ColladaParserAutoGen14::data__bool4x1);
66595     }
66596 #else
66597     {
66598 return characterData2BoolData(text, textLength, &ColladaParserAutoGen14::data__bool4x1);
66599     } // validation
66600 #endif
66601 
66602 }
66603 
66604 //---------------------------------------------------------------------
_preBegin__bool4x1(const ParserAttributes & attributes,void ** attributeDataPtr,void ** validationDataPtr)66605 bool ColladaParserAutoGen14Private::_preBegin__bool4x1( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
66606 {
66607 #ifdef GENERATEDSAXPARSER_VALIDATION
66608     if ( mValidate )
66609     {
66610 
66611         bool validationResult = _validateBegin__bool4x1( attributes, attributeDataPtr, validationDataPtr );
66612         if ( !validationResult ) return false;
66613 
66614     } // validation
66615 #endif
66616 
66617     return true;
66618 }
66619 
66620 //---------------------------------------------------------------------
_preEnd__bool4x1()66621 bool ColladaParserAutoGen14Private::_preEnd__bool4x1()
66622 {
66623 #ifdef GENERATEDSAXPARSER_VALIDATION
66624     if ( mValidate )
66625     {
66626 
66627         bool validationResult = _validateEnd__bool4x1();
66628         if ( !validationResult ) return false;
66629 
66630     } // validation
66631 #endif
66632 
66633 #ifdef GENERATEDSAXPARSER_VALIDATION
66634     if ( mValidate )
66635     {
66636         bool4x1__ValidationData* validationData = (bool4x1__ValidationData*)mValidationDataStack.top();
66637         DISABLE_WARNING_UNUSED(validationData)
66638 bool returnValue = boolDataEnd( &ColladaParserAutoGen14::data__bool4x1, &validate__cg_bool4x1__streamEnd, &validationData->validationWholeSize, 0 );
66639         ParserError::ErrorType simpleTypeValidationResult = validate__cg_bool4x1(0, (*(&validationData->validationWholeSize)));
66640         mValidationDataStack.deleteObject();
66641         if (simpleTypeValidationResult != ParserError::SIMPLE_TYPE_VALIDATION_OK)
66642         {
66643             if( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL,
66644                 simpleTypeValidationResult,
66645                 HASH_ELEMENT_BOOL4X1,
66646                 (ParserChar*)0, 0 ) )
66647             {
66648                 return false;
66649             }
66650         }
66651         return returnValue;
66652     }
66653     else
66654     {
66655 return boolDataEnd( &ColladaParserAutoGen14::data__bool4x1 );
66656     }
66657 #else
66658     {
66659 return boolDataEnd( &ColladaParserAutoGen14::data__bool4x1 );
66660     } // validation
66661 #endif
66662 
66663 }
66664 
66665 //---------------------------------------------------------------------
_freeAttributes__bool4x1(void * attributeData)66666 bool ColladaParserAutoGen14Private::_freeAttributes__bool4x1( void* attributeData )
66667 {
66668     return true;
66669 }
66670 
66671 //---------------------------------------------------------------------
_data__bool4x2(const ParserChar * text,size_t textLength)66672 bool ColladaParserAutoGen14Private::_data__bool4x2( const ParserChar* text, size_t textLength )
66673 {
66674 #ifdef GENERATEDSAXPARSER_VALIDATION
66675     if ( mValidate )
66676     {
66677         bool4x2__ValidationData* validationData = (bool4x2__ValidationData*)mValidationDataStack.top();
66678         DISABLE_WARNING_UNUSED(validationData)
66679 return characterData2BoolData(text, textLength, &ColladaParserAutoGen14::data__bool4x2, &validate__cg_bool4x2__stream, &validationData->validationWholeSize, 0);
66680     }
66681     else
66682     {
66683 return characterData2BoolData(text, textLength, &ColladaParserAutoGen14::data__bool4x2);
66684     }
66685 #else
66686     {
66687 return characterData2BoolData(text, textLength, &ColladaParserAutoGen14::data__bool4x2);
66688     } // validation
66689 #endif
66690 
66691 }
66692 
66693 //---------------------------------------------------------------------
_preBegin__bool4x2(const ParserAttributes & attributes,void ** attributeDataPtr,void ** validationDataPtr)66694 bool ColladaParserAutoGen14Private::_preBegin__bool4x2( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
66695 {
66696 #ifdef GENERATEDSAXPARSER_VALIDATION
66697     if ( mValidate )
66698     {
66699 
66700         bool validationResult = _validateBegin__bool4x2( attributes, attributeDataPtr, validationDataPtr );
66701         if ( !validationResult ) return false;
66702 
66703     } // validation
66704 #endif
66705 
66706     return true;
66707 }
66708 
66709 //---------------------------------------------------------------------
_preEnd__bool4x2()66710 bool ColladaParserAutoGen14Private::_preEnd__bool4x2()
66711 {
66712 #ifdef GENERATEDSAXPARSER_VALIDATION
66713     if ( mValidate )
66714     {
66715 
66716         bool validationResult = _validateEnd__bool4x2();
66717         if ( !validationResult ) return false;
66718 
66719     } // validation
66720 #endif
66721 
66722 #ifdef GENERATEDSAXPARSER_VALIDATION
66723     if ( mValidate )
66724     {
66725         bool4x2__ValidationData* validationData = (bool4x2__ValidationData*)mValidationDataStack.top();
66726         DISABLE_WARNING_UNUSED(validationData)
66727 bool returnValue = boolDataEnd( &ColladaParserAutoGen14::data__bool4x2, &validate__cg_bool4x2__streamEnd, &validationData->validationWholeSize, 0 );
66728         ParserError::ErrorType simpleTypeValidationResult = validate__cg_bool4x2(0, (*(&validationData->validationWholeSize)));
66729         mValidationDataStack.deleteObject();
66730         if (simpleTypeValidationResult != ParserError::SIMPLE_TYPE_VALIDATION_OK)
66731         {
66732             if( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL,
66733                 simpleTypeValidationResult,
66734                 HASH_ELEMENT_BOOL4X2,
66735                 (ParserChar*)0, 0 ) )
66736             {
66737                 return false;
66738             }
66739         }
66740         return returnValue;
66741     }
66742     else
66743     {
66744 return boolDataEnd( &ColladaParserAutoGen14::data__bool4x2 );
66745     }
66746 #else
66747     {
66748 return boolDataEnd( &ColladaParserAutoGen14::data__bool4x2 );
66749     } // validation
66750 #endif
66751 
66752 }
66753 
66754 //---------------------------------------------------------------------
_freeAttributes__bool4x2(void * attributeData)66755 bool ColladaParserAutoGen14Private::_freeAttributes__bool4x2( void* attributeData )
66756 {
66757     return true;
66758 }
66759 
66760 //---------------------------------------------------------------------
_data__bool4x3(const ParserChar * text,size_t textLength)66761 bool ColladaParserAutoGen14Private::_data__bool4x3( const ParserChar* text, size_t textLength )
66762 {
66763 #ifdef GENERATEDSAXPARSER_VALIDATION
66764     if ( mValidate )
66765     {
66766         bool4x3__ValidationData* validationData = (bool4x3__ValidationData*)mValidationDataStack.top();
66767         DISABLE_WARNING_UNUSED(validationData)
66768 return characterData2BoolData(text, textLength, &ColladaParserAutoGen14::data__bool4x3, &validate__cg_bool4x3__stream, &validationData->validationWholeSize, 0);
66769     }
66770     else
66771     {
66772 return characterData2BoolData(text, textLength, &ColladaParserAutoGen14::data__bool4x3);
66773     }
66774 #else
66775     {
66776 return characterData2BoolData(text, textLength, &ColladaParserAutoGen14::data__bool4x3);
66777     } // validation
66778 #endif
66779 
66780 }
66781 
66782 //---------------------------------------------------------------------
_preBegin__bool4x3(const ParserAttributes & attributes,void ** attributeDataPtr,void ** validationDataPtr)66783 bool ColladaParserAutoGen14Private::_preBegin__bool4x3( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
66784 {
66785 #ifdef GENERATEDSAXPARSER_VALIDATION
66786     if ( mValidate )
66787     {
66788 
66789         bool validationResult = _validateBegin__bool4x3( attributes, attributeDataPtr, validationDataPtr );
66790         if ( !validationResult ) return false;
66791 
66792     } // validation
66793 #endif
66794 
66795     return true;
66796 }
66797 
66798 //---------------------------------------------------------------------
_preEnd__bool4x3()66799 bool ColladaParserAutoGen14Private::_preEnd__bool4x3()
66800 {
66801 #ifdef GENERATEDSAXPARSER_VALIDATION
66802     if ( mValidate )
66803     {
66804 
66805         bool validationResult = _validateEnd__bool4x3();
66806         if ( !validationResult ) return false;
66807 
66808     } // validation
66809 #endif
66810 
66811 #ifdef GENERATEDSAXPARSER_VALIDATION
66812     if ( mValidate )
66813     {
66814         bool4x3__ValidationData* validationData = (bool4x3__ValidationData*)mValidationDataStack.top();
66815         DISABLE_WARNING_UNUSED(validationData)
66816 bool returnValue = boolDataEnd( &ColladaParserAutoGen14::data__bool4x3, &validate__cg_bool4x3__streamEnd, &validationData->validationWholeSize, 0 );
66817         ParserError::ErrorType simpleTypeValidationResult = validate__cg_bool4x3(0, (*(&validationData->validationWholeSize)));
66818         mValidationDataStack.deleteObject();
66819         if (simpleTypeValidationResult != ParserError::SIMPLE_TYPE_VALIDATION_OK)
66820         {
66821             if( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL,
66822                 simpleTypeValidationResult,
66823                 HASH_ELEMENT_BOOL4X3,
66824                 (ParserChar*)0, 0 ) )
66825             {
66826                 return false;
66827             }
66828         }
66829         return returnValue;
66830     }
66831     else
66832     {
66833 return boolDataEnd( &ColladaParserAutoGen14::data__bool4x3 );
66834     }
66835 #else
66836     {
66837 return boolDataEnd( &ColladaParserAutoGen14::data__bool4x3 );
66838     } // validation
66839 #endif
66840 
66841 }
66842 
66843 //---------------------------------------------------------------------
_freeAttributes__bool4x3(void * attributeData)66844 bool ColladaParserAutoGen14Private::_freeAttributes__bool4x3( void* attributeData )
66845 {
66846     return true;
66847 }
66848 
66849 //---------------------------------------------------------------------
_data__bool4x4(const ParserChar * text,size_t textLength)66850 bool ColladaParserAutoGen14Private::_data__bool4x4( const ParserChar* text, size_t textLength )
66851 {
66852 #ifdef GENERATEDSAXPARSER_VALIDATION
66853     if ( mValidate )
66854     {
66855         bool4x4__ValidationData* validationData = (bool4x4__ValidationData*)mValidationDataStack.top();
66856         DISABLE_WARNING_UNUSED(validationData)
66857 return characterData2BoolData(text, textLength, &ColladaParserAutoGen14::data__bool4x4, &validate__cg_bool4x4__stream, &validationData->validationWholeSize, 0);
66858     }
66859     else
66860     {
66861 return characterData2BoolData(text, textLength, &ColladaParserAutoGen14::data__bool4x4);
66862     }
66863 #else
66864     {
66865 return characterData2BoolData(text, textLength, &ColladaParserAutoGen14::data__bool4x4);
66866     } // validation
66867 #endif
66868 
66869 }
66870 
66871 //---------------------------------------------------------------------
_preBegin__bool4x4(const ParserAttributes & attributes,void ** attributeDataPtr,void ** validationDataPtr)66872 bool ColladaParserAutoGen14Private::_preBegin__bool4x4( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
66873 {
66874 #ifdef GENERATEDSAXPARSER_VALIDATION
66875     if ( mValidate )
66876     {
66877 
66878         bool validationResult = _validateBegin__bool4x4( attributes, attributeDataPtr, validationDataPtr );
66879         if ( !validationResult ) return false;
66880 
66881     } // validation
66882 #endif
66883 
66884     return true;
66885 }
66886 
66887 //---------------------------------------------------------------------
_preEnd__bool4x4()66888 bool ColladaParserAutoGen14Private::_preEnd__bool4x4()
66889 {
66890 #ifdef GENERATEDSAXPARSER_VALIDATION
66891     if ( mValidate )
66892     {
66893 
66894         bool validationResult = _validateEnd__bool4x4();
66895         if ( !validationResult ) return false;
66896 
66897     } // validation
66898 #endif
66899 
66900 #ifdef GENERATEDSAXPARSER_VALIDATION
66901     if ( mValidate )
66902     {
66903         bool4x4__ValidationData* validationData = (bool4x4__ValidationData*)mValidationDataStack.top();
66904         DISABLE_WARNING_UNUSED(validationData)
66905 bool returnValue = boolDataEnd( &ColladaParserAutoGen14::data__bool4x4, &validate__cg_bool4x4__streamEnd, &validationData->validationWholeSize, 0 );
66906         ParserError::ErrorType simpleTypeValidationResult = validate__cg_bool4x4(0, (*(&validationData->validationWholeSize)));
66907         mValidationDataStack.deleteObject();
66908         if (simpleTypeValidationResult != ParserError::SIMPLE_TYPE_VALIDATION_OK)
66909         {
66910             if( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL,
66911                 simpleTypeValidationResult,
66912                 HASH_ELEMENT_BOOL4X4,
66913                 (ParserChar*)0, 0 ) )
66914             {
66915                 return false;
66916             }
66917         }
66918         return returnValue;
66919     }
66920     else
66921     {
66922 return boolDataEnd( &ColladaParserAutoGen14::data__bool4x4 );
66923     }
66924 #else
66925     {
66926 return boolDataEnd( &ColladaParserAutoGen14::data__bool4x4 );
66927     } // validation
66928 #endif
66929 
66930 }
66931 
66932 //---------------------------------------------------------------------
_freeAttributes__bool4x4(void * attributeData)66933 bool ColladaParserAutoGen14Private::_freeAttributes__bool4x4( void* attributeData )
66934 {
66935     return true;
66936 }
66937 
66938 //---------------------------------------------------------------------
_data__float____cg_float(const ParserChar * text,size_t textLength)66939 bool ColladaParserAutoGen14Private::_data__float____cg_float( const ParserChar* text, size_t textLength )
66940 {
66941 if (!mLastIncompleteFragmentInCharacterData)
66942 {
66943     mLastIncompleteFragmentInCharacterData = (ParserChar*)mStackMemoryManager.newObject(textLength);
66944     memcpy(mLastIncompleteFragmentInCharacterData, text, textLength);
66945     mEndOfDataInCurrentObjectOnStack = mLastIncompleteFragmentInCharacterData + textLength;
66946 }
66947 else
66948 {
66949     ParserChar* tmp = (ParserChar*)mStackMemoryManager.growObject(textLength);
66950     if ( tmp != mLastIncompleteFragmentInCharacterData ) {
66951         mEndOfDataInCurrentObjectOnStack = (mEndOfDataInCurrentObjectOnStack - mLastIncompleteFragmentInCharacterData) + tmp;
66952         mLastIncompleteFragmentInCharacterData = tmp;
66953     }
66954     memcpy(mEndOfDataInCurrentObjectOnStack, text, textLength);
66955     mEndOfDataInCurrentObjectOnStack += textLength;
66956 }
66957 return true;
66958 }
66959 
66960 //---------------------------------------------------------------------
_preBegin__float____cg_float(const ParserAttributes & attributes,void ** attributeDataPtr,void ** validationDataPtr)66961 bool ColladaParserAutoGen14Private::_preBegin__float____cg_float( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
66962 {
66963 #ifdef GENERATEDSAXPARSER_VALIDATION
66964     if ( mValidate )
66965     {
66966 
66967         bool validationResult = _validateBegin__float____cg_float( attributes, attributeDataPtr, validationDataPtr );
66968         if ( !validationResult ) return false;
66969 
66970     } // validation
66971 #endif
66972 
66973     return true;
66974 }
66975 
66976 //---------------------------------------------------------------------
_preEnd__float____cg_float()66977 bool ColladaParserAutoGen14Private::_preEnd__float____cg_float()
66978 {
66979 #ifdef GENERATEDSAXPARSER_VALIDATION
66980     if ( mValidate )
66981     {
66982 
66983         bool validationResult = _validateEnd__float____cg_float();
66984         if ( !validationResult ) return false;
66985 
66986     } // validation
66987 #endif
66988 
66989 bool failed;
66990 const ParserChar* ptrForErr = mLastIncompleteFragmentInCharacterData;
66991 DISABLE_WARNING_UNUSED(ptrForErr)
66992 float parameter = GeneratedSaxParser::Utils::toFloat((const ParserChar**)&mLastIncompleteFragmentInCharacterData, mEndOfDataInCurrentObjectOnStack, failed);
66993 bool returnValue;
66994 if (!failed)
66995 {
66996     returnValue = mImpl->data__float____cg_float(parameter);
66997 }
66998 else
66999     returnValue = !handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_TEXTDATA_PARSING_FAILED, HASH_ELEMENT_FLOAT, (const ParserChar*)0, mLastIncompleteFragmentInCharacterData);
67000 if (mLastIncompleteFragmentInCharacterData)
67001     mStackMemoryManager.deleteObject();
67002 mLastIncompleteFragmentInCharacterData = 0;
67003 mEndOfDataInCurrentObjectOnStack = 0;
67004 return returnValue;
67005 }
67006 
67007 //---------------------------------------------------------------------
_freeAttributes__float____cg_float(void * attributeData)67008 bool ColladaParserAutoGen14Private::_freeAttributes__float____cg_float( void* attributeData )
67009 {
67010     return true;
67011 }
67012 
67013 //---------------------------------------------------------------------
_data__float1(const ParserChar * text,size_t textLength)67014 bool ColladaParserAutoGen14Private::_data__float1( const ParserChar* text, size_t textLength )
67015 {
67016 if (!mLastIncompleteFragmentInCharacterData)
67017 {
67018     mLastIncompleteFragmentInCharacterData = (ParserChar*)mStackMemoryManager.newObject(textLength);
67019     memcpy(mLastIncompleteFragmentInCharacterData, text, textLength);
67020     mEndOfDataInCurrentObjectOnStack = mLastIncompleteFragmentInCharacterData + textLength;
67021 }
67022 else
67023 {
67024     ParserChar* tmp = (ParserChar*)mStackMemoryManager.growObject(textLength);
67025     if ( tmp != mLastIncompleteFragmentInCharacterData ) {
67026         mEndOfDataInCurrentObjectOnStack = (mEndOfDataInCurrentObjectOnStack - mLastIncompleteFragmentInCharacterData) + tmp;
67027         mLastIncompleteFragmentInCharacterData = tmp;
67028     }
67029     memcpy(mEndOfDataInCurrentObjectOnStack, text, textLength);
67030     mEndOfDataInCurrentObjectOnStack += textLength;
67031 }
67032 return true;
67033 }
67034 
67035 //---------------------------------------------------------------------
_preBegin__float1(const ParserAttributes & attributes,void ** attributeDataPtr,void ** validationDataPtr)67036 bool ColladaParserAutoGen14Private::_preBegin__float1( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
67037 {
67038 #ifdef GENERATEDSAXPARSER_VALIDATION
67039     if ( mValidate )
67040     {
67041 
67042         bool validationResult = _validateBegin__float1( attributes, attributeDataPtr, validationDataPtr );
67043         if ( !validationResult ) return false;
67044 
67045     } // validation
67046 #endif
67047 
67048     return true;
67049 }
67050 
67051 //---------------------------------------------------------------------
_preEnd__float1()67052 bool ColladaParserAutoGen14Private::_preEnd__float1()
67053 {
67054 #ifdef GENERATEDSAXPARSER_VALIDATION
67055     if ( mValidate )
67056     {
67057 
67058         bool validationResult = _validateEnd__float1();
67059         if ( !validationResult ) return false;
67060 
67061     } // validation
67062 #endif
67063 
67064 bool failed;
67065 const ParserChar* ptrForErr = mLastIncompleteFragmentInCharacterData;
67066 DISABLE_WARNING_UNUSED(ptrForErr)
67067 float parameter = GeneratedSaxParser::Utils::toFloat((const ParserChar**)&mLastIncompleteFragmentInCharacterData, mEndOfDataInCurrentObjectOnStack, failed);
67068 bool returnValue;
67069 if (!failed)
67070 {
67071     returnValue = mImpl->data__float1(parameter);
67072 }
67073 else
67074     returnValue = !handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_TEXTDATA_PARSING_FAILED, HASH_ELEMENT_FLOAT1, (const ParserChar*)0, mLastIncompleteFragmentInCharacterData);
67075 if (mLastIncompleteFragmentInCharacterData)
67076     mStackMemoryManager.deleteObject();
67077 mLastIncompleteFragmentInCharacterData = 0;
67078 mEndOfDataInCurrentObjectOnStack = 0;
67079 return returnValue;
67080 }
67081 
67082 //---------------------------------------------------------------------
_freeAttributes__float1(void * attributeData)67083 bool ColladaParserAutoGen14Private::_freeAttributes__float1( void* attributeData )
67084 {
67085     return true;
67086 }
67087 
67088 //---------------------------------------------------------------------
_data__float2____cg_float2(const ParserChar * text,size_t textLength)67089 bool ColladaParserAutoGen14Private::_data__float2____cg_float2( const ParserChar* text, size_t textLength )
67090 {
67091 #ifdef GENERATEDSAXPARSER_VALIDATION
67092     if ( mValidate )
67093     {
67094         float2____cg_float2__ValidationData* validationData = (float2____cg_float2__ValidationData*)mValidationDataStack.top();
67095         DISABLE_WARNING_UNUSED(validationData)
67096 return characterData2FloatData(text, textLength, &ColladaParserAutoGen14::data__float2____cg_float2, &validate__cg_float2__stream, &validationData->validationWholeSize, 0);
67097     }
67098     else
67099     {
67100 return characterData2FloatData(text, textLength, &ColladaParserAutoGen14::data__float2____cg_float2);
67101     }
67102 #else
67103     {
67104 return characterData2FloatData(text, textLength, &ColladaParserAutoGen14::data__float2____cg_float2);
67105     } // validation
67106 #endif
67107 
67108 }
67109 
67110 //---------------------------------------------------------------------
_preBegin__float2____cg_float2(const ParserAttributes & attributes,void ** attributeDataPtr,void ** validationDataPtr)67111 bool ColladaParserAutoGen14Private::_preBegin__float2____cg_float2( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
67112 {
67113 #ifdef GENERATEDSAXPARSER_VALIDATION
67114     if ( mValidate )
67115     {
67116 
67117         bool validationResult = _validateBegin__float2____cg_float2( attributes, attributeDataPtr, validationDataPtr );
67118         if ( !validationResult ) return false;
67119 
67120     } // validation
67121 #endif
67122 
67123     return true;
67124 }
67125 
67126 //---------------------------------------------------------------------
_preEnd__float2____cg_float2()67127 bool ColladaParserAutoGen14Private::_preEnd__float2____cg_float2()
67128 {
67129 #ifdef GENERATEDSAXPARSER_VALIDATION
67130     if ( mValidate )
67131     {
67132 
67133         bool validationResult = _validateEnd__float2____cg_float2();
67134         if ( !validationResult ) return false;
67135 
67136     } // validation
67137 #endif
67138 
67139 #ifdef GENERATEDSAXPARSER_VALIDATION
67140     if ( mValidate )
67141     {
67142         float2____cg_float2__ValidationData* validationData = (float2____cg_float2__ValidationData*)mValidationDataStack.top();
67143         DISABLE_WARNING_UNUSED(validationData)
67144 bool returnValue = floatDataEnd( &ColladaParserAutoGen14::data__float2____cg_float2, &validate__cg_float2__streamEnd, &validationData->validationWholeSize, 0 );
67145         ParserError::ErrorType simpleTypeValidationResult = validate__cg_float2(0, (*(&validationData->validationWholeSize)));
67146         mValidationDataStack.deleteObject();
67147         if (simpleTypeValidationResult != ParserError::SIMPLE_TYPE_VALIDATION_OK)
67148         {
67149             if( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL,
67150                 simpleTypeValidationResult,
67151                 HASH_ELEMENT_FLOAT2,
67152                 (ParserChar*)0, 0 ) )
67153             {
67154                 return false;
67155             }
67156         }
67157         return returnValue;
67158     }
67159     else
67160     {
67161 return floatDataEnd( &ColladaParserAutoGen14::data__float2____cg_float2 );
67162     }
67163 #else
67164     {
67165 return floatDataEnd( &ColladaParserAutoGen14::data__float2____cg_float2 );
67166     } // validation
67167 #endif
67168 
67169 }
67170 
67171 //---------------------------------------------------------------------
_freeAttributes__float2____cg_float2(void * attributeData)67172 bool ColladaParserAutoGen14Private::_freeAttributes__float2____cg_float2( void* attributeData )
67173 {
67174     return true;
67175 }
67176 
67177 //---------------------------------------------------------------------
_data__float3____cg_float3(const ParserChar * text,size_t textLength)67178 bool ColladaParserAutoGen14Private::_data__float3____cg_float3( const ParserChar* text, size_t textLength )
67179 {
67180 #ifdef GENERATEDSAXPARSER_VALIDATION
67181     if ( mValidate )
67182     {
67183         float3____cg_float3__ValidationData* validationData = (float3____cg_float3__ValidationData*)mValidationDataStack.top();
67184         DISABLE_WARNING_UNUSED(validationData)
67185 return characterData2FloatData(text, textLength, &ColladaParserAutoGen14::data__float3____cg_float3, &validate__cg_float3__stream, &validationData->validationWholeSize, 0);
67186     }
67187     else
67188     {
67189 return characterData2FloatData(text, textLength, &ColladaParserAutoGen14::data__float3____cg_float3);
67190     }
67191 #else
67192     {
67193 return characterData2FloatData(text, textLength, &ColladaParserAutoGen14::data__float3____cg_float3);
67194     } // validation
67195 #endif
67196 
67197 }
67198 
67199 //---------------------------------------------------------------------
_preBegin__float3____cg_float3(const ParserAttributes & attributes,void ** attributeDataPtr,void ** validationDataPtr)67200 bool ColladaParserAutoGen14Private::_preBegin__float3____cg_float3( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
67201 {
67202 #ifdef GENERATEDSAXPARSER_VALIDATION
67203     if ( mValidate )
67204     {
67205 
67206         bool validationResult = _validateBegin__float3____cg_float3( attributes, attributeDataPtr, validationDataPtr );
67207         if ( !validationResult ) return false;
67208 
67209     } // validation
67210 #endif
67211 
67212     return true;
67213 }
67214 
67215 //---------------------------------------------------------------------
_preEnd__float3____cg_float3()67216 bool ColladaParserAutoGen14Private::_preEnd__float3____cg_float3()
67217 {
67218 #ifdef GENERATEDSAXPARSER_VALIDATION
67219     if ( mValidate )
67220     {
67221 
67222         bool validationResult = _validateEnd__float3____cg_float3();
67223         if ( !validationResult ) return false;
67224 
67225     } // validation
67226 #endif
67227 
67228 #ifdef GENERATEDSAXPARSER_VALIDATION
67229     if ( mValidate )
67230     {
67231         float3____cg_float3__ValidationData* validationData = (float3____cg_float3__ValidationData*)mValidationDataStack.top();
67232         DISABLE_WARNING_UNUSED(validationData)
67233 bool returnValue = floatDataEnd( &ColladaParserAutoGen14::data__float3____cg_float3, &validate__cg_float3__streamEnd, &validationData->validationWholeSize, 0 );
67234         ParserError::ErrorType simpleTypeValidationResult = validate__cg_float3(0, (*(&validationData->validationWholeSize)));
67235         mValidationDataStack.deleteObject();
67236         if (simpleTypeValidationResult != ParserError::SIMPLE_TYPE_VALIDATION_OK)
67237         {
67238             if( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL,
67239                 simpleTypeValidationResult,
67240                 HASH_ELEMENT_FLOAT3,
67241                 (ParserChar*)0, 0 ) )
67242             {
67243                 return false;
67244             }
67245         }
67246         return returnValue;
67247     }
67248     else
67249     {
67250 return floatDataEnd( &ColladaParserAutoGen14::data__float3____cg_float3 );
67251     }
67252 #else
67253     {
67254 return floatDataEnd( &ColladaParserAutoGen14::data__float3____cg_float3 );
67255     } // validation
67256 #endif
67257 
67258 }
67259 
67260 //---------------------------------------------------------------------
_freeAttributes__float3____cg_float3(void * attributeData)67261 bool ColladaParserAutoGen14Private::_freeAttributes__float3____cg_float3( void* attributeData )
67262 {
67263     return true;
67264 }
67265 
67266 //---------------------------------------------------------------------
_data__float4____cg_float4(const ParserChar * text,size_t textLength)67267 bool ColladaParserAutoGen14Private::_data__float4____cg_float4( const ParserChar* text, size_t textLength )
67268 {
67269 #ifdef GENERATEDSAXPARSER_VALIDATION
67270     if ( mValidate )
67271     {
67272         float4____cg_float4__ValidationData* validationData = (float4____cg_float4__ValidationData*)mValidationDataStack.top();
67273         DISABLE_WARNING_UNUSED(validationData)
67274 return characterData2FloatData(text, textLength, &ColladaParserAutoGen14::data__float4____cg_float4, &validate__cg_float4__stream, &validationData->validationWholeSize, 0);
67275     }
67276     else
67277     {
67278 return characterData2FloatData(text, textLength, &ColladaParserAutoGen14::data__float4____cg_float4);
67279     }
67280 #else
67281     {
67282 return characterData2FloatData(text, textLength, &ColladaParserAutoGen14::data__float4____cg_float4);
67283     } // validation
67284 #endif
67285 
67286 }
67287 
67288 //---------------------------------------------------------------------
_preBegin__float4____cg_float4(const ParserAttributes & attributes,void ** attributeDataPtr,void ** validationDataPtr)67289 bool ColladaParserAutoGen14Private::_preBegin__float4____cg_float4( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
67290 {
67291 #ifdef GENERATEDSAXPARSER_VALIDATION
67292     if ( mValidate )
67293     {
67294 
67295         bool validationResult = _validateBegin__float4____cg_float4( attributes, attributeDataPtr, validationDataPtr );
67296         if ( !validationResult ) return false;
67297 
67298     } // validation
67299 #endif
67300 
67301     return true;
67302 }
67303 
67304 //---------------------------------------------------------------------
_preEnd__float4____cg_float4()67305 bool ColladaParserAutoGen14Private::_preEnd__float4____cg_float4()
67306 {
67307 #ifdef GENERATEDSAXPARSER_VALIDATION
67308     if ( mValidate )
67309     {
67310 
67311         bool validationResult = _validateEnd__float4____cg_float4();
67312         if ( !validationResult ) return false;
67313 
67314     } // validation
67315 #endif
67316 
67317 #ifdef GENERATEDSAXPARSER_VALIDATION
67318     if ( mValidate )
67319     {
67320         float4____cg_float4__ValidationData* validationData = (float4____cg_float4__ValidationData*)mValidationDataStack.top();
67321         DISABLE_WARNING_UNUSED(validationData)
67322 bool returnValue = floatDataEnd( &ColladaParserAutoGen14::data__float4____cg_float4, &validate__cg_float4__streamEnd, &validationData->validationWholeSize, 0 );
67323         ParserError::ErrorType simpleTypeValidationResult = validate__cg_float4(0, (*(&validationData->validationWholeSize)));
67324         mValidationDataStack.deleteObject();
67325         if (simpleTypeValidationResult != ParserError::SIMPLE_TYPE_VALIDATION_OK)
67326         {
67327             if( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL,
67328                 simpleTypeValidationResult,
67329                 HASH_ELEMENT_FLOAT4,
67330                 (ParserChar*)0, 0 ) )
67331             {
67332                 return false;
67333             }
67334         }
67335         return returnValue;
67336     }
67337     else
67338     {
67339 return floatDataEnd( &ColladaParserAutoGen14::data__float4____cg_float4 );
67340     }
67341 #else
67342     {
67343 return floatDataEnd( &ColladaParserAutoGen14::data__float4____cg_float4 );
67344     } // validation
67345 #endif
67346 
67347 }
67348 
67349 //---------------------------------------------------------------------
_freeAttributes__float4____cg_float4(void * attributeData)67350 bool ColladaParserAutoGen14Private::_freeAttributes__float4____cg_float4( void* attributeData )
67351 {
67352     return true;
67353 }
67354 
67355 //---------------------------------------------------------------------
_data__float1x1____cg_float1x1(const ParserChar * text,size_t textLength)67356 bool ColladaParserAutoGen14Private::_data__float1x1____cg_float1x1( const ParserChar* text, size_t textLength )
67357 {
67358 #ifdef GENERATEDSAXPARSER_VALIDATION
67359     if ( mValidate )
67360     {
67361         float1x1____cg_float1x1__ValidationData* validationData = (float1x1____cg_float1x1__ValidationData*)mValidationDataStack.top();
67362         DISABLE_WARNING_UNUSED(validationData)
67363 return characterData2FloatData(text, textLength, &ColladaParserAutoGen14::data__float1x1____cg_float1x1, &validate__cg_float1x1__stream, &validationData->validationWholeSize, 0);
67364     }
67365     else
67366     {
67367 return characterData2FloatData(text, textLength, &ColladaParserAutoGen14::data__float1x1____cg_float1x1);
67368     }
67369 #else
67370     {
67371 return characterData2FloatData(text, textLength, &ColladaParserAutoGen14::data__float1x1____cg_float1x1);
67372     } // validation
67373 #endif
67374 
67375 }
67376 
67377 //---------------------------------------------------------------------
_preBegin__float1x1____cg_float1x1(const ParserAttributes & attributes,void ** attributeDataPtr,void ** validationDataPtr)67378 bool ColladaParserAutoGen14Private::_preBegin__float1x1____cg_float1x1( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
67379 {
67380 #ifdef GENERATEDSAXPARSER_VALIDATION
67381     if ( mValidate )
67382     {
67383 
67384         bool validationResult = _validateBegin__float1x1____cg_float1x1( attributes, attributeDataPtr, validationDataPtr );
67385         if ( !validationResult ) return false;
67386 
67387     } // validation
67388 #endif
67389 
67390     return true;
67391 }
67392 
67393 //---------------------------------------------------------------------
_preEnd__float1x1____cg_float1x1()67394 bool ColladaParserAutoGen14Private::_preEnd__float1x1____cg_float1x1()
67395 {
67396 #ifdef GENERATEDSAXPARSER_VALIDATION
67397     if ( mValidate )
67398     {
67399 
67400         bool validationResult = _validateEnd__float1x1____cg_float1x1();
67401         if ( !validationResult ) return false;
67402 
67403     } // validation
67404 #endif
67405 
67406 #ifdef GENERATEDSAXPARSER_VALIDATION
67407     if ( mValidate )
67408     {
67409         float1x1____cg_float1x1__ValidationData* validationData = (float1x1____cg_float1x1__ValidationData*)mValidationDataStack.top();
67410         DISABLE_WARNING_UNUSED(validationData)
67411 bool returnValue = floatDataEnd( &ColladaParserAutoGen14::data__float1x1____cg_float1x1, &validate__cg_float1x1__streamEnd, &validationData->validationWholeSize, 0 );
67412         ParserError::ErrorType simpleTypeValidationResult = validate__cg_float1x1(0, (*(&validationData->validationWholeSize)));
67413         mValidationDataStack.deleteObject();
67414         if (simpleTypeValidationResult != ParserError::SIMPLE_TYPE_VALIDATION_OK)
67415         {
67416             if( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL,
67417                 simpleTypeValidationResult,
67418                 HASH_ELEMENT_FLOAT1X1,
67419                 (ParserChar*)0, 0 ) )
67420             {
67421                 return false;
67422             }
67423         }
67424         return returnValue;
67425     }
67426     else
67427     {
67428 return floatDataEnd( &ColladaParserAutoGen14::data__float1x1____cg_float1x1 );
67429     }
67430 #else
67431     {
67432 return floatDataEnd( &ColladaParserAutoGen14::data__float1x1____cg_float1x1 );
67433     } // validation
67434 #endif
67435 
67436 }
67437 
67438 //---------------------------------------------------------------------
_freeAttributes__float1x1____cg_float1x1(void * attributeData)67439 bool ColladaParserAutoGen14Private::_freeAttributes__float1x1____cg_float1x1( void* attributeData )
67440 {
67441     return true;
67442 }
67443 
67444 //---------------------------------------------------------------------
_data__float1x2____cg_float1x2(const ParserChar * text,size_t textLength)67445 bool ColladaParserAutoGen14Private::_data__float1x2____cg_float1x2( const ParserChar* text, size_t textLength )
67446 {
67447 #ifdef GENERATEDSAXPARSER_VALIDATION
67448     if ( mValidate )
67449     {
67450         float1x2____cg_float1x2__ValidationData* validationData = (float1x2____cg_float1x2__ValidationData*)mValidationDataStack.top();
67451         DISABLE_WARNING_UNUSED(validationData)
67452 return characterData2FloatData(text, textLength, &ColladaParserAutoGen14::data__float1x2____cg_float1x2, &validate__cg_float1x2__stream, &validationData->validationWholeSize, 0);
67453     }
67454     else
67455     {
67456 return characterData2FloatData(text, textLength, &ColladaParserAutoGen14::data__float1x2____cg_float1x2);
67457     }
67458 #else
67459     {
67460 return characterData2FloatData(text, textLength, &ColladaParserAutoGen14::data__float1x2____cg_float1x2);
67461     } // validation
67462 #endif
67463 
67464 }
67465 
67466 //---------------------------------------------------------------------
_preBegin__float1x2____cg_float1x2(const ParserAttributes & attributes,void ** attributeDataPtr,void ** validationDataPtr)67467 bool ColladaParserAutoGen14Private::_preBegin__float1x2____cg_float1x2( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
67468 {
67469 #ifdef GENERATEDSAXPARSER_VALIDATION
67470     if ( mValidate )
67471     {
67472 
67473         bool validationResult = _validateBegin__float1x2____cg_float1x2( attributes, attributeDataPtr, validationDataPtr );
67474         if ( !validationResult ) return false;
67475 
67476     } // validation
67477 #endif
67478 
67479     return true;
67480 }
67481 
67482 //---------------------------------------------------------------------
_preEnd__float1x2____cg_float1x2()67483 bool ColladaParserAutoGen14Private::_preEnd__float1x2____cg_float1x2()
67484 {
67485 #ifdef GENERATEDSAXPARSER_VALIDATION
67486     if ( mValidate )
67487     {
67488 
67489         bool validationResult = _validateEnd__float1x2____cg_float1x2();
67490         if ( !validationResult ) return false;
67491 
67492     } // validation
67493 #endif
67494 
67495 #ifdef GENERATEDSAXPARSER_VALIDATION
67496     if ( mValidate )
67497     {
67498         float1x2____cg_float1x2__ValidationData* validationData = (float1x2____cg_float1x2__ValidationData*)mValidationDataStack.top();
67499         DISABLE_WARNING_UNUSED(validationData)
67500 bool returnValue = floatDataEnd( &ColladaParserAutoGen14::data__float1x2____cg_float1x2, &validate__cg_float1x2__streamEnd, &validationData->validationWholeSize, 0 );
67501         ParserError::ErrorType simpleTypeValidationResult = validate__cg_float1x2(0, (*(&validationData->validationWholeSize)));
67502         mValidationDataStack.deleteObject();
67503         if (simpleTypeValidationResult != ParserError::SIMPLE_TYPE_VALIDATION_OK)
67504         {
67505             if( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL,
67506                 simpleTypeValidationResult,
67507                 HASH_ELEMENT_FLOAT1X2,
67508                 (ParserChar*)0, 0 ) )
67509             {
67510                 return false;
67511             }
67512         }
67513         return returnValue;
67514     }
67515     else
67516     {
67517 return floatDataEnd( &ColladaParserAutoGen14::data__float1x2____cg_float1x2 );
67518     }
67519 #else
67520     {
67521 return floatDataEnd( &ColladaParserAutoGen14::data__float1x2____cg_float1x2 );
67522     } // validation
67523 #endif
67524 
67525 }
67526 
67527 //---------------------------------------------------------------------
_freeAttributes__float1x2____cg_float1x2(void * attributeData)67528 bool ColladaParserAutoGen14Private::_freeAttributes__float1x2____cg_float1x2( void* attributeData )
67529 {
67530     return true;
67531 }
67532 
67533 //---------------------------------------------------------------------
_data__float1x3____cg_float1x3(const ParserChar * text,size_t textLength)67534 bool ColladaParserAutoGen14Private::_data__float1x3____cg_float1x3( const ParserChar* text, size_t textLength )
67535 {
67536 #ifdef GENERATEDSAXPARSER_VALIDATION
67537     if ( mValidate )
67538     {
67539         float1x3____cg_float1x3__ValidationData* validationData = (float1x3____cg_float1x3__ValidationData*)mValidationDataStack.top();
67540         DISABLE_WARNING_UNUSED(validationData)
67541 return characterData2FloatData(text, textLength, &ColladaParserAutoGen14::data__float1x3____cg_float1x3, &validate__cg_float1x3__stream, &validationData->validationWholeSize, 0);
67542     }
67543     else
67544     {
67545 return characterData2FloatData(text, textLength, &ColladaParserAutoGen14::data__float1x3____cg_float1x3);
67546     }
67547 #else
67548     {
67549 return characterData2FloatData(text, textLength, &ColladaParserAutoGen14::data__float1x3____cg_float1x3);
67550     } // validation
67551 #endif
67552 
67553 }
67554 
67555 //---------------------------------------------------------------------
_preBegin__float1x3____cg_float1x3(const ParserAttributes & attributes,void ** attributeDataPtr,void ** validationDataPtr)67556 bool ColladaParserAutoGen14Private::_preBegin__float1x3____cg_float1x3( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
67557 {
67558 #ifdef GENERATEDSAXPARSER_VALIDATION
67559     if ( mValidate )
67560     {
67561 
67562         bool validationResult = _validateBegin__float1x3____cg_float1x3( attributes, attributeDataPtr, validationDataPtr );
67563         if ( !validationResult ) return false;
67564 
67565     } // validation
67566 #endif
67567 
67568     return true;
67569 }
67570 
67571 //---------------------------------------------------------------------
_preEnd__float1x3____cg_float1x3()67572 bool ColladaParserAutoGen14Private::_preEnd__float1x3____cg_float1x3()
67573 {
67574 #ifdef GENERATEDSAXPARSER_VALIDATION
67575     if ( mValidate )
67576     {
67577 
67578         bool validationResult = _validateEnd__float1x3____cg_float1x3();
67579         if ( !validationResult ) return false;
67580 
67581     } // validation
67582 #endif
67583 
67584 #ifdef GENERATEDSAXPARSER_VALIDATION
67585     if ( mValidate )
67586     {
67587         float1x3____cg_float1x3__ValidationData* validationData = (float1x3____cg_float1x3__ValidationData*)mValidationDataStack.top();
67588         DISABLE_WARNING_UNUSED(validationData)
67589 bool returnValue = floatDataEnd( &ColladaParserAutoGen14::data__float1x3____cg_float1x3, &validate__cg_float1x3__streamEnd, &validationData->validationWholeSize, 0 );
67590         ParserError::ErrorType simpleTypeValidationResult = validate__cg_float1x3(0, (*(&validationData->validationWholeSize)));
67591         mValidationDataStack.deleteObject();
67592         if (simpleTypeValidationResult != ParserError::SIMPLE_TYPE_VALIDATION_OK)
67593         {
67594             if( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL,
67595                 simpleTypeValidationResult,
67596                 HASH_ELEMENT_FLOAT1X3,
67597                 (ParserChar*)0, 0 ) )
67598             {
67599                 return false;
67600             }
67601         }
67602         return returnValue;
67603     }
67604     else
67605     {
67606 return floatDataEnd( &ColladaParserAutoGen14::data__float1x3____cg_float1x3 );
67607     }
67608 #else
67609     {
67610 return floatDataEnd( &ColladaParserAutoGen14::data__float1x3____cg_float1x3 );
67611     } // validation
67612 #endif
67613 
67614 }
67615 
67616 //---------------------------------------------------------------------
_freeAttributes__float1x3____cg_float1x3(void * attributeData)67617 bool ColladaParserAutoGen14Private::_freeAttributes__float1x3____cg_float1x3( void* attributeData )
67618 {
67619     return true;
67620 }
67621 
67622 //---------------------------------------------------------------------
_data__float1x4____cg_float1x4(const ParserChar * text,size_t textLength)67623 bool ColladaParserAutoGen14Private::_data__float1x4____cg_float1x4( const ParserChar* text, size_t textLength )
67624 {
67625 #ifdef GENERATEDSAXPARSER_VALIDATION
67626     if ( mValidate )
67627     {
67628         float1x4____cg_float1x4__ValidationData* validationData = (float1x4____cg_float1x4__ValidationData*)mValidationDataStack.top();
67629         DISABLE_WARNING_UNUSED(validationData)
67630 return characterData2FloatData(text, textLength, &ColladaParserAutoGen14::data__float1x4____cg_float1x4, &validate__cg_float1x4__stream, &validationData->validationWholeSize, 0);
67631     }
67632     else
67633     {
67634 return characterData2FloatData(text, textLength, &ColladaParserAutoGen14::data__float1x4____cg_float1x4);
67635     }
67636 #else
67637     {
67638 return characterData2FloatData(text, textLength, &ColladaParserAutoGen14::data__float1x4____cg_float1x4);
67639     } // validation
67640 #endif
67641 
67642 }
67643 
67644 //---------------------------------------------------------------------
_preBegin__float1x4____cg_float1x4(const ParserAttributes & attributes,void ** attributeDataPtr,void ** validationDataPtr)67645 bool ColladaParserAutoGen14Private::_preBegin__float1x4____cg_float1x4( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
67646 {
67647 #ifdef GENERATEDSAXPARSER_VALIDATION
67648     if ( mValidate )
67649     {
67650 
67651         bool validationResult = _validateBegin__float1x4____cg_float1x4( attributes, attributeDataPtr, validationDataPtr );
67652         if ( !validationResult ) return false;
67653 
67654     } // validation
67655 #endif
67656 
67657     return true;
67658 }
67659 
67660 //---------------------------------------------------------------------
_preEnd__float1x4____cg_float1x4()67661 bool ColladaParserAutoGen14Private::_preEnd__float1x4____cg_float1x4()
67662 {
67663 #ifdef GENERATEDSAXPARSER_VALIDATION
67664     if ( mValidate )
67665     {
67666 
67667         bool validationResult = _validateEnd__float1x4____cg_float1x4();
67668         if ( !validationResult ) return false;
67669 
67670     } // validation
67671 #endif
67672 
67673 #ifdef GENERATEDSAXPARSER_VALIDATION
67674     if ( mValidate )
67675     {
67676         float1x4____cg_float1x4__ValidationData* validationData = (float1x4____cg_float1x4__ValidationData*)mValidationDataStack.top();
67677         DISABLE_WARNING_UNUSED(validationData)
67678 bool returnValue = floatDataEnd( &ColladaParserAutoGen14::data__float1x4____cg_float1x4, &validate__cg_float1x4__streamEnd, &validationData->validationWholeSize, 0 );
67679         ParserError::ErrorType simpleTypeValidationResult = validate__cg_float1x4(0, (*(&validationData->validationWholeSize)));
67680         mValidationDataStack.deleteObject();
67681         if (simpleTypeValidationResult != ParserError::SIMPLE_TYPE_VALIDATION_OK)
67682         {
67683             if( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL,
67684                 simpleTypeValidationResult,
67685                 HASH_ELEMENT_FLOAT1X4,
67686                 (ParserChar*)0, 0 ) )
67687             {
67688                 return false;
67689             }
67690         }
67691         return returnValue;
67692     }
67693     else
67694     {
67695 return floatDataEnd( &ColladaParserAutoGen14::data__float1x4____cg_float1x4 );
67696     }
67697 #else
67698     {
67699 return floatDataEnd( &ColladaParserAutoGen14::data__float1x4____cg_float1x4 );
67700     } // validation
67701 #endif
67702 
67703 }
67704 
67705 //---------------------------------------------------------------------
_freeAttributes__float1x4____cg_float1x4(void * attributeData)67706 bool ColladaParserAutoGen14Private::_freeAttributes__float1x4____cg_float1x4( void* attributeData )
67707 {
67708     return true;
67709 }
67710 
67711 //---------------------------------------------------------------------
_data__float2x1____cg_float2x1(const ParserChar * text,size_t textLength)67712 bool ColladaParserAutoGen14Private::_data__float2x1____cg_float2x1( const ParserChar* text, size_t textLength )
67713 {
67714 #ifdef GENERATEDSAXPARSER_VALIDATION
67715     if ( mValidate )
67716     {
67717         float2x1____cg_float2x1__ValidationData* validationData = (float2x1____cg_float2x1__ValidationData*)mValidationDataStack.top();
67718         DISABLE_WARNING_UNUSED(validationData)
67719 return characterData2FloatData(text, textLength, &ColladaParserAutoGen14::data__float2x1____cg_float2x1, &validate__cg_float2x1__stream, &validationData->validationWholeSize, 0);
67720     }
67721     else
67722     {
67723 return characterData2FloatData(text, textLength, &ColladaParserAutoGen14::data__float2x1____cg_float2x1);
67724     }
67725 #else
67726     {
67727 return characterData2FloatData(text, textLength, &ColladaParserAutoGen14::data__float2x1____cg_float2x1);
67728     } // validation
67729 #endif
67730 
67731 }
67732 
67733 //---------------------------------------------------------------------
_preBegin__float2x1____cg_float2x1(const ParserAttributes & attributes,void ** attributeDataPtr,void ** validationDataPtr)67734 bool ColladaParserAutoGen14Private::_preBegin__float2x1____cg_float2x1( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
67735 {
67736 #ifdef GENERATEDSAXPARSER_VALIDATION
67737     if ( mValidate )
67738     {
67739 
67740         bool validationResult = _validateBegin__float2x1____cg_float2x1( attributes, attributeDataPtr, validationDataPtr );
67741         if ( !validationResult ) return false;
67742 
67743     } // validation
67744 #endif
67745 
67746     return true;
67747 }
67748 
67749 //---------------------------------------------------------------------
_preEnd__float2x1____cg_float2x1()67750 bool ColladaParserAutoGen14Private::_preEnd__float2x1____cg_float2x1()
67751 {
67752 #ifdef GENERATEDSAXPARSER_VALIDATION
67753     if ( mValidate )
67754     {
67755 
67756         bool validationResult = _validateEnd__float2x1____cg_float2x1();
67757         if ( !validationResult ) return false;
67758 
67759     } // validation
67760 #endif
67761 
67762 #ifdef GENERATEDSAXPARSER_VALIDATION
67763     if ( mValidate )
67764     {
67765         float2x1____cg_float2x1__ValidationData* validationData = (float2x1____cg_float2x1__ValidationData*)mValidationDataStack.top();
67766         DISABLE_WARNING_UNUSED(validationData)
67767 bool returnValue = floatDataEnd( &ColladaParserAutoGen14::data__float2x1____cg_float2x1, &validate__cg_float2x1__streamEnd, &validationData->validationWholeSize, 0 );
67768         ParserError::ErrorType simpleTypeValidationResult = validate__cg_float2x1(0, (*(&validationData->validationWholeSize)));
67769         mValidationDataStack.deleteObject();
67770         if (simpleTypeValidationResult != ParserError::SIMPLE_TYPE_VALIDATION_OK)
67771         {
67772             if( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL,
67773                 simpleTypeValidationResult,
67774                 HASH_ELEMENT_FLOAT2X1,
67775                 (ParserChar*)0, 0 ) )
67776             {
67777                 return false;
67778             }
67779         }
67780         return returnValue;
67781     }
67782     else
67783     {
67784 return floatDataEnd( &ColladaParserAutoGen14::data__float2x1____cg_float2x1 );
67785     }
67786 #else
67787     {
67788 return floatDataEnd( &ColladaParserAutoGen14::data__float2x1____cg_float2x1 );
67789     } // validation
67790 #endif
67791 
67792 }
67793 
67794 //---------------------------------------------------------------------
_freeAttributes__float2x1____cg_float2x1(void * attributeData)67795 bool ColladaParserAutoGen14Private::_freeAttributes__float2x1____cg_float2x1( void* attributeData )
67796 {
67797     return true;
67798 }
67799 
67800 //---------------------------------------------------------------------
_data__float2x2____cg_float2x2(const ParserChar * text,size_t textLength)67801 bool ColladaParserAutoGen14Private::_data__float2x2____cg_float2x2( const ParserChar* text, size_t textLength )
67802 {
67803 #ifdef GENERATEDSAXPARSER_VALIDATION
67804     if ( mValidate )
67805     {
67806         float2x2____cg_float2x2__ValidationData* validationData = (float2x2____cg_float2x2__ValidationData*)mValidationDataStack.top();
67807         DISABLE_WARNING_UNUSED(validationData)
67808 return characterData2FloatData(text, textLength, &ColladaParserAutoGen14::data__float2x2____cg_float2x2, &validate__cg_float2x2__stream, &validationData->validationWholeSize, 0);
67809     }
67810     else
67811     {
67812 return characterData2FloatData(text, textLength, &ColladaParserAutoGen14::data__float2x2____cg_float2x2);
67813     }
67814 #else
67815     {
67816 return characterData2FloatData(text, textLength, &ColladaParserAutoGen14::data__float2x2____cg_float2x2);
67817     } // validation
67818 #endif
67819 
67820 }
67821 
67822 //---------------------------------------------------------------------
_preBegin__float2x2____cg_float2x2(const ParserAttributes & attributes,void ** attributeDataPtr,void ** validationDataPtr)67823 bool ColladaParserAutoGen14Private::_preBegin__float2x2____cg_float2x2( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
67824 {
67825 #ifdef GENERATEDSAXPARSER_VALIDATION
67826     if ( mValidate )
67827     {
67828 
67829         bool validationResult = _validateBegin__float2x2____cg_float2x2( attributes, attributeDataPtr, validationDataPtr );
67830         if ( !validationResult ) return false;
67831 
67832     } // validation
67833 #endif
67834 
67835     return true;
67836 }
67837 
67838 //---------------------------------------------------------------------
_preEnd__float2x2____cg_float2x2()67839 bool ColladaParserAutoGen14Private::_preEnd__float2x2____cg_float2x2()
67840 {
67841 #ifdef GENERATEDSAXPARSER_VALIDATION
67842     if ( mValidate )
67843     {
67844 
67845         bool validationResult = _validateEnd__float2x2____cg_float2x2();
67846         if ( !validationResult ) return false;
67847 
67848     } // validation
67849 #endif
67850 
67851 #ifdef GENERATEDSAXPARSER_VALIDATION
67852     if ( mValidate )
67853     {
67854         float2x2____cg_float2x2__ValidationData* validationData = (float2x2____cg_float2x2__ValidationData*)mValidationDataStack.top();
67855         DISABLE_WARNING_UNUSED(validationData)
67856 bool returnValue = floatDataEnd( &ColladaParserAutoGen14::data__float2x2____cg_float2x2, &validate__cg_float2x2__streamEnd, &validationData->validationWholeSize, 0 );
67857         ParserError::ErrorType simpleTypeValidationResult = validate__cg_float2x2(0, (*(&validationData->validationWholeSize)));
67858         mValidationDataStack.deleteObject();
67859         if (simpleTypeValidationResult != ParserError::SIMPLE_TYPE_VALIDATION_OK)
67860         {
67861             if( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL,
67862                 simpleTypeValidationResult,
67863                 HASH_ELEMENT_FLOAT2X2,
67864                 (ParserChar*)0, 0 ) )
67865             {
67866                 return false;
67867             }
67868         }
67869         return returnValue;
67870     }
67871     else
67872     {
67873 return floatDataEnd( &ColladaParserAutoGen14::data__float2x2____cg_float2x2 );
67874     }
67875 #else
67876     {
67877 return floatDataEnd( &ColladaParserAutoGen14::data__float2x2____cg_float2x2 );
67878     } // validation
67879 #endif
67880 
67881 }
67882 
67883 //---------------------------------------------------------------------
_freeAttributes__float2x2____cg_float2x2(void * attributeData)67884 bool ColladaParserAutoGen14Private::_freeAttributes__float2x2____cg_float2x2( void* attributeData )
67885 {
67886     return true;
67887 }
67888 
67889 //---------------------------------------------------------------------
_data__float2x3____cg_float2x3(const ParserChar * text,size_t textLength)67890 bool ColladaParserAutoGen14Private::_data__float2x3____cg_float2x3( const ParserChar* text, size_t textLength )
67891 {
67892 #ifdef GENERATEDSAXPARSER_VALIDATION
67893     if ( mValidate )
67894     {
67895         float2x3____cg_float2x3__ValidationData* validationData = (float2x3____cg_float2x3__ValidationData*)mValidationDataStack.top();
67896         DISABLE_WARNING_UNUSED(validationData)
67897 return characterData2FloatData(text, textLength, &ColladaParserAutoGen14::data__float2x3____cg_float2x3, &validate__cg_float2x3__stream, &validationData->validationWholeSize, 0);
67898     }
67899     else
67900     {
67901 return characterData2FloatData(text, textLength, &ColladaParserAutoGen14::data__float2x3____cg_float2x3);
67902     }
67903 #else
67904     {
67905 return characterData2FloatData(text, textLength, &ColladaParserAutoGen14::data__float2x3____cg_float2x3);
67906     } // validation
67907 #endif
67908 
67909 }
67910 
67911 //---------------------------------------------------------------------
_preBegin__float2x3____cg_float2x3(const ParserAttributes & attributes,void ** attributeDataPtr,void ** validationDataPtr)67912 bool ColladaParserAutoGen14Private::_preBegin__float2x3____cg_float2x3( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
67913 {
67914 #ifdef GENERATEDSAXPARSER_VALIDATION
67915     if ( mValidate )
67916     {
67917 
67918         bool validationResult = _validateBegin__float2x3____cg_float2x3( attributes, attributeDataPtr, validationDataPtr );
67919         if ( !validationResult ) return false;
67920 
67921     } // validation
67922 #endif
67923 
67924     return true;
67925 }
67926 
67927 //---------------------------------------------------------------------
_preEnd__float2x3____cg_float2x3()67928 bool ColladaParserAutoGen14Private::_preEnd__float2x3____cg_float2x3()
67929 {
67930 #ifdef GENERATEDSAXPARSER_VALIDATION
67931     if ( mValidate )
67932     {
67933 
67934         bool validationResult = _validateEnd__float2x3____cg_float2x3();
67935         if ( !validationResult ) return false;
67936 
67937     } // validation
67938 #endif
67939 
67940 #ifdef GENERATEDSAXPARSER_VALIDATION
67941     if ( mValidate )
67942     {
67943         float2x3____cg_float2x3__ValidationData* validationData = (float2x3____cg_float2x3__ValidationData*)mValidationDataStack.top();
67944         DISABLE_WARNING_UNUSED(validationData)
67945 bool returnValue = floatDataEnd( &ColladaParserAutoGen14::data__float2x3____cg_float2x3, &validate__cg_float2x3__streamEnd, &validationData->validationWholeSize, 0 );
67946         ParserError::ErrorType simpleTypeValidationResult = validate__cg_float2x3(0, (*(&validationData->validationWholeSize)));
67947         mValidationDataStack.deleteObject();
67948         if (simpleTypeValidationResult != ParserError::SIMPLE_TYPE_VALIDATION_OK)
67949         {
67950             if( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL,
67951                 simpleTypeValidationResult,
67952                 HASH_ELEMENT_FLOAT2X3,
67953                 (ParserChar*)0, 0 ) )
67954             {
67955                 return false;
67956             }
67957         }
67958         return returnValue;
67959     }
67960     else
67961     {
67962 return floatDataEnd( &ColladaParserAutoGen14::data__float2x3____cg_float2x3 );
67963     }
67964 #else
67965     {
67966 return floatDataEnd( &ColladaParserAutoGen14::data__float2x3____cg_float2x3 );
67967     } // validation
67968 #endif
67969 
67970 }
67971 
67972 //---------------------------------------------------------------------
_freeAttributes__float2x3____cg_float2x3(void * attributeData)67973 bool ColladaParserAutoGen14Private::_freeAttributes__float2x3____cg_float2x3( void* attributeData )
67974 {
67975     return true;
67976 }
67977 
67978 //---------------------------------------------------------------------
_data__float2x4____cg_float2x4(const ParserChar * text,size_t textLength)67979 bool ColladaParserAutoGen14Private::_data__float2x4____cg_float2x4( const ParserChar* text, size_t textLength )
67980 {
67981 #ifdef GENERATEDSAXPARSER_VALIDATION
67982     if ( mValidate )
67983     {
67984         float2x4____cg_float2x4__ValidationData* validationData = (float2x4____cg_float2x4__ValidationData*)mValidationDataStack.top();
67985         DISABLE_WARNING_UNUSED(validationData)
67986 return characterData2FloatData(text, textLength, &ColladaParserAutoGen14::data__float2x4____cg_float2x4, &validate__cg_float2x4__stream, &validationData->validationWholeSize, 0);
67987     }
67988     else
67989     {
67990 return characterData2FloatData(text, textLength, &ColladaParserAutoGen14::data__float2x4____cg_float2x4);
67991     }
67992 #else
67993     {
67994 return characterData2FloatData(text, textLength, &ColladaParserAutoGen14::data__float2x4____cg_float2x4);
67995     } // validation
67996 #endif
67997 
67998 }
67999 
68000 //---------------------------------------------------------------------
_preBegin__float2x4____cg_float2x4(const ParserAttributes & attributes,void ** attributeDataPtr,void ** validationDataPtr)68001 bool ColladaParserAutoGen14Private::_preBegin__float2x4____cg_float2x4( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
68002 {
68003 #ifdef GENERATEDSAXPARSER_VALIDATION
68004     if ( mValidate )
68005     {
68006 
68007         bool validationResult = _validateBegin__float2x4____cg_float2x4( attributes, attributeDataPtr, validationDataPtr );
68008         if ( !validationResult ) return false;
68009 
68010     } // validation
68011 #endif
68012 
68013     return true;
68014 }
68015 
68016 //---------------------------------------------------------------------
_preEnd__float2x4____cg_float2x4()68017 bool ColladaParserAutoGen14Private::_preEnd__float2x4____cg_float2x4()
68018 {
68019 #ifdef GENERATEDSAXPARSER_VALIDATION
68020     if ( mValidate )
68021     {
68022 
68023         bool validationResult = _validateEnd__float2x4____cg_float2x4();
68024         if ( !validationResult ) return false;
68025 
68026     } // validation
68027 #endif
68028 
68029 #ifdef GENERATEDSAXPARSER_VALIDATION
68030     if ( mValidate )
68031     {
68032         float2x4____cg_float2x4__ValidationData* validationData = (float2x4____cg_float2x4__ValidationData*)mValidationDataStack.top();
68033         DISABLE_WARNING_UNUSED(validationData)
68034 bool returnValue = floatDataEnd( &ColladaParserAutoGen14::data__float2x4____cg_float2x4, &validate__cg_float2x4__streamEnd, &validationData->validationWholeSize, 0 );
68035         ParserError::ErrorType simpleTypeValidationResult = validate__cg_float2x4(0, (*(&validationData->validationWholeSize)));
68036         mValidationDataStack.deleteObject();
68037         if (simpleTypeValidationResult != ParserError::SIMPLE_TYPE_VALIDATION_OK)
68038         {
68039             if( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL,
68040                 simpleTypeValidationResult,
68041                 HASH_ELEMENT_FLOAT2X4,
68042                 (ParserChar*)0, 0 ) )
68043             {
68044                 return false;
68045             }
68046         }
68047         return returnValue;
68048     }
68049     else
68050     {
68051 return floatDataEnd( &ColladaParserAutoGen14::data__float2x4____cg_float2x4 );
68052     }
68053 #else
68054     {
68055 return floatDataEnd( &ColladaParserAutoGen14::data__float2x4____cg_float2x4 );
68056     } // validation
68057 #endif
68058 
68059 }
68060 
68061 //---------------------------------------------------------------------
_freeAttributes__float2x4____cg_float2x4(void * attributeData)68062 bool ColladaParserAutoGen14Private::_freeAttributes__float2x4____cg_float2x4( void* attributeData )
68063 {
68064     return true;
68065 }
68066 
68067 //---------------------------------------------------------------------
_data__float3x1____cg_float3x1(const ParserChar * text,size_t textLength)68068 bool ColladaParserAutoGen14Private::_data__float3x1____cg_float3x1( const ParserChar* text, size_t textLength )
68069 {
68070 #ifdef GENERATEDSAXPARSER_VALIDATION
68071     if ( mValidate )
68072     {
68073         float3x1____cg_float3x1__ValidationData* validationData = (float3x1____cg_float3x1__ValidationData*)mValidationDataStack.top();
68074         DISABLE_WARNING_UNUSED(validationData)
68075 return characterData2FloatData(text, textLength, &ColladaParserAutoGen14::data__float3x1____cg_float3x1, &validate__cg_float3x1__stream, &validationData->validationWholeSize, 0);
68076     }
68077     else
68078     {
68079 return characterData2FloatData(text, textLength, &ColladaParserAutoGen14::data__float3x1____cg_float3x1);
68080     }
68081 #else
68082     {
68083 return characterData2FloatData(text, textLength, &ColladaParserAutoGen14::data__float3x1____cg_float3x1);
68084     } // validation
68085 #endif
68086 
68087 }
68088 
68089 //---------------------------------------------------------------------
_preBegin__float3x1____cg_float3x1(const ParserAttributes & attributes,void ** attributeDataPtr,void ** validationDataPtr)68090 bool ColladaParserAutoGen14Private::_preBegin__float3x1____cg_float3x1( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
68091 {
68092 #ifdef GENERATEDSAXPARSER_VALIDATION
68093     if ( mValidate )
68094     {
68095 
68096         bool validationResult = _validateBegin__float3x1____cg_float3x1( attributes, attributeDataPtr, validationDataPtr );
68097         if ( !validationResult ) return false;
68098 
68099     } // validation
68100 #endif
68101 
68102     return true;
68103 }
68104 
68105 //---------------------------------------------------------------------
_preEnd__float3x1____cg_float3x1()68106 bool ColladaParserAutoGen14Private::_preEnd__float3x1____cg_float3x1()
68107 {
68108 #ifdef GENERATEDSAXPARSER_VALIDATION
68109     if ( mValidate )
68110     {
68111 
68112         bool validationResult = _validateEnd__float3x1____cg_float3x1();
68113         if ( !validationResult ) return false;
68114 
68115     } // validation
68116 #endif
68117 
68118 #ifdef GENERATEDSAXPARSER_VALIDATION
68119     if ( mValidate )
68120     {
68121         float3x1____cg_float3x1__ValidationData* validationData = (float3x1____cg_float3x1__ValidationData*)mValidationDataStack.top();
68122         DISABLE_WARNING_UNUSED(validationData)
68123 bool returnValue = floatDataEnd( &ColladaParserAutoGen14::data__float3x1____cg_float3x1, &validate__cg_float3x1__streamEnd, &validationData->validationWholeSize, 0 );
68124         ParserError::ErrorType simpleTypeValidationResult = validate__cg_float3x1(0, (*(&validationData->validationWholeSize)));
68125         mValidationDataStack.deleteObject();
68126         if (simpleTypeValidationResult != ParserError::SIMPLE_TYPE_VALIDATION_OK)
68127         {
68128             if( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL,
68129                 simpleTypeValidationResult,
68130                 HASH_ELEMENT_FLOAT3X1,
68131                 (ParserChar*)0, 0 ) )
68132             {
68133                 return false;
68134             }
68135         }
68136         return returnValue;
68137     }
68138     else
68139     {
68140 return floatDataEnd( &ColladaParserAutoGen14::data__float3x1____cg_float3x1 );
68141     }
68142 #else
68143     {
68144 return floatDataEnd( &ColladaParserAutoGen14::data__float3x1____cg_float3x1 );
68145     } // validation
68146 #endif
68147 
68148 }
68149 
68150 //---------------------------------------------------------------------
_freeAttributes__float3x1____cg_float3x1(void * attributeData)68151 bool ColladaParserAutoGen14Private::_freeAttributes__float3x1____cg_float3x1( void* attributeData )
68152 {
68153     return true;
68154 }
68155 
68156 //---------------------------------------------------------------------
_data__float3x2____cg_float3x2(const ParserChar * text,size_t textLength)68157 bool ColladaParserAutoGen14Private::_data__float3x2____cg_float3x2( const ParserChar* text, size_t textLength )
68158 {
68159 #ifdef GENERATEDSAXPARSER_VALIDATION
68160     if ( mValidate )
68161     {
68162         float3x2____cg_float3x2__ValidationData* validationData = (float3x2____cg_float3x2__ValidationData*)mValidationDataStack.top();
68163         DISABLE_WARNING_UNUSED(validationData)
68164 return characterData2FloatData(text, textLength, &ColladaParserAutoGen14::data__float3x2____cg_float3x2, &validate__cg_float3x2__stream, &validationData->validationWholeSize, 0);
68165     }
68166     else
68167     {
68168 return characterData2FloatData(text, textLength, &ColladaParserAutoGen14::data__float3x2____cg_float3x2);
68169     }
68170 #else
68171     {
68172 return characterData2FloatData(text, textLength, &ColladaParserAutoGen14::data__float3x2____cg_float3x2);
68173     } // validation
68174 #endif
68175 
68176 }
68177 
68178 //---------------------------------------------------------------------
_preBegin__float3x2____cg_float3x2(const ParserAttributes & attributes,void ** attributeDataPtr,void ** validationDataPtr)68179 bool ColladaParserAutoGen14Private::_preBegin__float3x2____cg_float3x2( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
68180 {
68181 #ifdef GENERATEDSAXPARSER_VALIDATION
68182     if ( mValidate )
68183     {
68184 
68185         bool validationResult = _validateBegin__float3x2____cg_float3x2( attributes, attributeDataPtr, validationDataPtr );
68186         if ( !validationResult ) return false;
68187 
68188     } // validation
68189 #endif
68190 
68191     return true;
68192 }
68193 
68194 //---------------------------------------------------------------------
_preEnd__float3x2____cg_float3x2()68195 bool ColladaParserAutoGen14Private::_preEnd__float3x2____cg_float3x2()
68196 {
68197 #ifdef GENERATEDSAXPARSER_VALIDATION
68198     if ( mValidate )
68199     {
68200 
68201         bool validationResult = _validateEnd__float3x2____cg_float3x2();
68202         if ( !validationResult ) return false;
68203 
68204     } // validation
68205 #endif
68206 
68207 #ifdef GENERATEDSAXPARSER_VALIDATION
68208     if ( mValidate )
68209     {
68210         float3x2____cg_float3x2__ValidationData* validationData = (float3x2____cg_float3x2__ValidationData*)mValidationDataStack.top();
68211         DISABLE_WARNING_UNUSED(validationData)
68212 bool returnValue = floatDataEnd( &ColladaParserAutoGen14::data__float3x2____cg_float3x2, &validate__cg_float3x2__streamEnd, &validationData->validationWholeSize, 0 );
68213         ParserError::ErrorType simpleTypeValidationResult = validate__cg_float3x2(0, (*(&validationData->validationWholeSize)));
68214         mValidationDataStack.deleteObject();
68215         if (simpleTypeValidationResult != ParserError::SIMPLE_TYPE_VALIDATION_OK)
68216         {
68217             if( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL,
68218                 simpleTypeValidationResult,
68219                 HASH_ELEMENT_FLOAT3X2,
68220                 (ParserChar*)0, 0 ) )
68221             {
68222                 return false;
68223             }
68224         }
68225         return returnValue;
68226     }
68227     else
68228     {
68229 return floatDataEnd( &ColladaParserAutoGen14::data__float3x2____cg_float3x2 );
68230     }
68231 #else
68232     {
68233 return floatDataEnd( &ColladaParserAutoGen14::data__float3x2____cg_float3x2 );
68234     } // validation
68235 #endif
68236 
68237 }
68238 
68239 //---------------------------------------------------------------------
_freeAttributes__float3x2____cg_float3x2(void * attributeData)68240 bool ColladaParserAutoGen14Private::_freeAttributes__float3x2____cg_float3x2( void* attributeData )
68241 {
68242     return true;
68243 }
68244 
68245 //---------------------------------------------------------------------
_data__float3x3____cg_float3x3(const ParserChar * text,size_t textLength)68246 bool ColladaParserAutoGen14Private::_data__float3x3____cg_float3x3( const ParserChar* text, size_t textLength )
68247 {
68248 #ifdef GENERATEDSAXPARSER_VALIDATION
68249     if ( mValidate )
68250     {
68251         float3x3____cg_float3x3__ValidationData* validationData = (float3x3____cg_float3x3__ValidationData*)mValidationDataStack.top();
68252         DISABLE_WARNING_UNUSED(validationData)
68253 return characterData2FloatData(text, textLength, &ColladaParserAutoGen14::data__float3x3____cg_float3x3, &validate__cg_float3x3__stream, &validationData->validationWholeSize, 0);
68254     }
68255     else
68256     {
68257 return characterData2FloatData(text, textLength, &ColladaParserAutoGen14::data__float3x3____cg_float3x3);
68258     }
68259 #else
68260     {
68261 return characterData2FloatData(text, textLength, &ColladaParserAutoGen14::data__float3x3____cg_float3x3);
68262     } // validation
68263 #endif
68264 
68265 }
68266 
68267 //---------------------------------------------------------------------
_preBegin__float3x3____cg_float3x3(const ParserAttributes & attributes,void ** attributeDataPtr,void ** validationDataPtr)68268 bool ColladaParserAutoGen14Private::_preBegin__float3x3____cg_float3x3( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
68269 {
68270 #ifdef GENERATEDSAXPARSER_VALIDATION
68271     if ( mValidate )
68272     {
68273 
68274         bool validationResult = _validateBegin__float3x3____cg_float3x3( attributes, attributeDataPtr, validationDataPtr );
68275         if ( !validationResult ) return false;
68276 
68277     } // validation
68278 #endif
68279 
68280     return true;
68281 }
68282 
68283 //---------------------------------------------------------------------
_preEnd__float3x3____cg_float3x3()68284 bool ColladaParserAutoGen14Private::_preEnd__float3x3____cg_float3x3()
68285 {
68286 #ifdef GENERATEDSAXPARSER_VALIDATION
68287     if ( mValidate )
68288     {
68289 
68290         bool validationResult = _validateEnd__float3x3____cg_float3x3();
68291         if ( !validationResult ) return false;
68292 
68293     } // validation
68294 #endif
68295 
68296 #ifdef GENERATEDSAXPARSER_VALIDATION
68297     if ( mValidate )
68298     {
68299         float3x3____cg_float3x3__ValidationData* validationData = (float3x3____cg_float3x3__ValidationData*)mValidationDataStack.top();
68300         DISABLE_WARNING_UNUSED(validationData)
68301 bool returnValue = floatDataEnd( &ColladaParserAutoGen14::data__float3x3____cg_float3x3, &validate__cg_float3x3__streamEnd, &validationData->validationWholeSize, 0 );
68302         ParserError::ErrorType simpleTypeValidationResult = validate__cg_float3x3(0, (*(&validationData->validationWholeSize)));
68303         mValidationDataStack.deleteObject();
68304         if (simpleTypeValidationResult != ParserError::SIMPLE_TYPE_VALIDATION_OK)
68305         {
68306             if( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL,
68307                 simpleTypeValidationResult,
68308                 HASH_ELEMENT_FLOAT3X3,
68309                 (ParserChar*)0, 0 ) )
68310             {
68311                 return false;
68312             }
68313         }
68314         return returnValue;
68315     }
68316     else
68317     {
68318 return floatDataEnd( &ColladaParserAutoGen14::data__float3x3____cg_float3x3 );
68319     }
68320 #else
68321     {
68322 return floatDataEnd( &ColladaParserAutoGen14::data__float3x3____cg_float3x3 );
68323     } // validation
68324 #endif
68325 
68326 }
68327 
68328 //---------------------------------------------------------------------
_freeAttributes__float3x3____cg_float3x3(void * attributeData)68329 bool ColladaParserAutoGen14Private::_freeAttributes__float3x3____cg_float3x3( void* attributeData )
68330 {
68331     return true;
68332 }
68333 
68334 //---------------------------------------------------------------------
_data__float3x4____cg_float3x4(const ParserChar * text,size_t textLength)68335 bool ColladaParserAutoGen14Private::_data__float3x4____cg_float3x4( const ParserChar* text, size_t textLength )
68336 {
68337 #ifdef GENERATEDSAXPARSER_VALIDATION
68338     if ( mValidate )
68339     {
68340         float3x4____cg_float3x4__ValidationData* validationData = (float3x4____cg_float3x4__ValidationData*)mValidationDataStack.top();
68341         DISABLE_WARNING_UNUSED(validationData)
68342 return characterData2FloatData(text, textLength, &ColladaParserAutoGen14::data__float3x4____cg_float3x4, &validate__cg_float3x4__stream, &validationData->validationWholeSize, 0);
68343     }
68344     else
68345     {
68346 return characterData2FloatData(text, textLength, &ColladaParserAutoGen14::data__float3x4____cg_float3x4);
68347     }
68348 #else
68349     {
68350 return characterData2FloatData(text, textLength, &ColladaParserAutoGen14::data__float3x4____cg_float3x4);
68351     } // validation
68352 #endif
68353 
68354 }
68355 
68356 //---------------------------------------------------------------------
_preBegin__float3x4____cg_float3x4(const ParserAttributes & attributes,void ** attributeDataPtr,void ** validationDataPtr)68357 bool ColladaParserAutoGen14Private::_preBegin__float3x4____cg_float3x4( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
68358 {
68359 #ifdef GENERATEDSAXPARSER_VALIDATION
68360     if ( mValidate )
68361     {
68362 
68363         bool validationResult = _validateBegin__float3x4____cg_float3x4( attributes, attributeDataPtr, validationDataPtr );
68364         if ( !validationResult ) return false;
68365 
68366     } // validation
68367 #endif
68368 
68369     return true;
68370 }
68371 
68372 //---------------------------------------------------------------------
_preEnd__float3x4____cg_float3x4()68373 bool ColladaParserAutoGen14Private::_preEnd__float3x4____cg_float3x4()
68374 {
68375 #ifdef GENERATEDSAXPARSER_VALIDATION
68376     if ( mValidate )
68377     {
68378 
68379         bool validationResult = _validateEnd__float3x4____cg_float3x4();
68380         if ( !validationResult ) return false;
68381 
68382     } // validation
68383 #endif
68384 
68385 #ifdef GENERATEDSAXPARSER_VALIDATION
68386     if ( mValidate )
68387     {
68388         float3x4____cg_float3x4__ValidationData* validationData = (float3x4____cg_float3x4__ValidationData*)mValidationDataStack.top();
68389         DISABLE_WARNING_UNUSED(validationData)
68390 bool returnValue = floatDataEnd( &ColladaParserAutoGen14::data__float3x4____cg_float3x4, &validate__cg_float3x4__streamEnd, &validationData->validationWholeSize, 0 );
68391         ParserError::ErrorType simpleTypeValidationResult = validate__cg_float3x4(0, (*(&validationData->validationWholeSize)));
68392         mValidationDataStack.deleteObject();
68393         if (simpleTypeValidationResult != ParserError::SIMPLE_TYPE_VALIDATION_OK)
68394         {
68395             if( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL,
68396                 simpleTypeValidationResult,
68397                 HASH_ELEMENT_FLOAT3X4,
68398                 (ParserChar*)0, 0 ) )
68399             {
68400                 return false;
68401             }
68402         }
68403         return returnValue;
68404     }
68405     else
68406     {
68407 return floatDataEnd( &ColladaParserAutoGen14::data__float3x4____cg_float3x4 );
68408     }
68409 #else
68410     {
68411 return floatDataEnd( &ColladaParserAutoGen14::data__float3x4____cg_float3x4 );
68412     } // validation
68413 #endif
68414 
68415 }
68416 
68417 //---------------------------------------------------------------------
_freeAttributes__float3x4____cg_float3x4(void * attributeData)68418 bool ColladaParserAutoGen14Private::_freeAttributes__float3x4____cg_float3x4( void* attributeData )
68419 {
68420     return true;
68421 }
68422 
68423 //---------------------------------------------------------------------
_data__float4x1____cg_float4x1(const ParserChar * text,size_t textLength)68424 bool ColladaParserAutoGen14Private::_data__float4x1____cg_float4x1( const ParserChar* text, size_t textLength )
68425 {
68426 #ifdef GENERATEDSAXPARSER_VALIDATION
68427     if ( mValidate )
68428     {
68429         float4x1____cg_float4x1__ValidationData* validationData = (float4x1____cg_float4x1__ValidationData*)mValidationDataStack.top();
68430         DISABLE_WARNING_UNUSED(validationData)
68431 return characterData2FloatData(text, textLength, &ColladaParserAutoGen14::data__float4x1____cg_float4x1, &validate__cg_float4x1__stream, &validationData->validationWholeSize, 0);
68432     }
68433     else
68434     {
68435 return characterData2FloatData(text, textLength, &ColladaParserAutoGen14::data__float4x1____cg_float4x1);
68436     }
68437 #else
68438     {
68439 return characterData2FloatData(text, textLength, &ColladaParserAutoGen14::data__float4x1____cg_float4x1);
68440     } // validation
68441 #endif
68442 
68443 }
68444 
68445 //---------------------------------------------------------------------
_preBegin__float4x1____cg_float4x1(const ParserAttributes & attributes,void ** attributeDataPtr,void ** validationDataPtr)68446 bool ColladaParserAutoGen14Private::_preBegin__float4x1____cg_float4x1( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
68447 {
68448 #ifdef GENERATEDSAXPARSER_VALIDATION
68449     if ( mValidate )
68450     {
68451 
68452         bool validationResult = _validateBegin__float4x1____cg_float4x1( attributes, attributeDataPtr, validationDataPtr );
68453         if ( !validationResult ) return false;
68454 
68455     } // validation
68456 #endif
68457 
68458     return true;
68459 }
68460 
68461 //---------------------------------------------------------------------
_preEnd__float4x1____cg_float4x1()68462 bool ColladaParserAutoGen14Private::_preEnd__float4x1____cg_float4x1()
68463 {
68464 #ifdef GENERATEDSAXPARSER_VALIDATION
68465     if ( mValidate )
68466     {
68467 
68468         bool validationResult = _validateEnd__float4x1____cg_float4x1();
68469         if ( !validationResult ) return false;
68470 
68471     } // validation
68472 #endif
68473 
68474 #ifdef GENERATEDSAXPARSER_VALIDATION
68475     if ( mValidate )
68476     {
68477         float4x1____cg_float4x1__ValidationData* validationData = (float4x1____cg_float4x1__ValidationData*)mValidationDataStack.top();
68478         DISABLE_WARNING_UNUSED(validationData)
68479 bool returnValue = floatDataEnd( &ColladaParserAutoGen14::data__float4x1____cg_float4x1, &validate__cg_float4x1__streamEnd, &validationData->validationWholeSize, 0 );
68480         ParserError::ErrorType simpleTypeValidationResult = validate__cg_float4x1(0, (*(&validationData->validationWholeSize)));
68481         mValidationDataStack.deleteObject();
68482         if (simpleTypeValidationResult != ParserError::SIMPLE_TYPE_VALIDATION_OK)
68483         {
68484             if( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL,
68485                 simpleTypeValidationResult,
68486                 HASH_ELEMENT_FLOAT4X1,
68487                 (ParserChar*)0, 0 ) )
68488             {
68489                 return false;
68490             }
68491         }
68492         return returnValue;
68493     }
68494     else
68495     {
68496 return floatDataEnd( &ColladaParserAutoGen14::data__float4x1____cg_float4x1 );
68497     }
68498 #else
68499     {
68500 return floatDataEnd( &ColladaParserAutoGen14::data__float4x1____cg_float4x1 );
68501     } // validation
68502 #endif
68503 
68504 }
68505 
68506 //---------------------------------------------------------------------
_freeAttributes__float4x1____cg_float4x1(void * attributeData)68507 bool ColladaParserAutoGen14Private::_freeAttributes__float4x1____cg_float4x1( void* attributeData )
68508 {
68509     return true;
68510 }
68511 
68512 //---------------------------------------------------------------------
_data__float4x2____cg_float4x2(const ParserChar * text,size_t textLength)68513 bool ColladaParserAutoGen14Private::_data__float4x2____cg_float4x2( const ParserChar* text, size_t textLength )
68514 {
68515 #ifdef GENERATEDSAXPARSER_VALIDATION
68516     if ( mValidate )
68517     {
68518         float4x2____cg_float4x2__ValidationData* validationData = (float4x2____cg_float4x2__ValidationData*)mValidationDataStack.top();
68519         DISABLE_WARNING_UNUSED(validationData)
68520 return characterData2FloatData(text, textLength, &ColladaParserAutoGen14::data__float4x2____cg_float4x2, &validate__cg_float4x2__stream, &validationData->validationWholeSize, 0);
68521     }
68522     else
68523     {
68524 return characterData2FloatData(text, textLength, &ColladaParserAutoGen14::data__float4x2____cg_float4x2);
68525     }
68526 #else
68527     {
68528 return characterData2FloatData(text, textLength, &ColladaParserAutoGen14::data__float4x2____cg_float4x2);
68529     } // validation
68530 #endif
68531 
68532 }
68533 
68534 //---------------------------------------------------------------------
_preBegin__float4x2____cg_float4x2(const ParserAttributes & attributes,void ** attributeDataPtr,void ** validationDataPtr)68535 bool ColladaParserAutoGen14Private::_preBegin__float4x2____cg_float4x2( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
68536 {
68537 #ifdef GENERATEDSAXPARSER_VALIDATION
68538     if ( mValidate )
68539     {
68540 
68541         bool validationResult = _validateBegin__float4x2____cg_float4x2( attributes, attributeDataPtr, validationDataPtr );
68542         if ( !validationResult ) return false;
68543 
68544     } // validation
68545 #endif
68546 
68547     return true;
68548 }
68549 
68550 //---------------------------------------------------------------------
_preEnd__float4x2____cg_float4x2()68551 bool ColladaParserAutoGen14Private::_preEnd__float4x2____cg_float4x2()
68552 {
68553 #ifdef GENERATEDSAXPARSER_VALIDATION
68554     if ( mValidate )
68555     {
68556 
68557         bool validationResult = _validateEnd__float4x2____cg_float4x2();
68558         if ( !validationResult ) return false;
68559 
68560     } // validation
68561 #endif
68562 
68563 #ifdef GENERATEDSAXPARSER_VALIDATION
68564     if ( mValidate )
68565     {
68566         float4x2____cg_float4x2__ValidationData* validationData = (float4x2____cg_float4x2__ValidationData*)mValidationDataStack.top();
68567         DISABLE_WARNING_UNUSED(validationData)
68568 bool returnValue = floatDataEnd( &ColladaParserAutoGen14::data__float4x2____cg_float4x2, &validate__cg_float4x2__streamEnd, &validationData->validationWholeSize, 0 );
68569         ParserError::ErrorType simpleTypeValidationResult = validate__cg_float4x2(0, (*(&validationData->validationWholeSize)));
68570         mValidationDataStack.deleteObject();
68571         if (simpleTypeValidationResult != ParserError::SIMPLE_TYPE_VALIDATION_OK)
68572         {
68573             if( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL,
68574                 simpleTypeValidationResult,
68575                 HASH_ELEMENT_FLOAT4X2,
68576                 (ParserChar*)0, 0 ) )
68577             {
68578                 return false;
68579             }
68580         }
68581         return returnValue;
68582     }
68583     else
68584     {
68585 return floatDataEnd( &ColladaParserAutoGen14::data__float4x2____cg_float4x2 );
68586     }
68587 #else
68588     {
68589 return floatDataEnd( &ColladaParserAutoGen14::data__float4x2____cg_float4x2 );
68590     } // validation
68591 #endif
68592 
68593 }
68594 
68595 //---------------------------------------------------------------------
_freeAttributes__float4x2____cg_float4x2(void * attributeData)68596 bool ColladaParserAutoGen14Private::_freeAttributes__float4x2____cg_float4x2( void* attributeData )
68597 {
68598     return true;
68599 }
68600 
68601 //---------------------------------------------------------------------
_data__float4x3____cg_float4x3(const ParserChar * text,size_t textLength)68602 bool ColladaParserAutoGen14Private::_data__float4x3____cg_float4x3( const ParserChar* text, size_t textLength )
68603 {
68604 #ifdef GENERATEDSAXPARSER_VALIDATION
68605     if ( mValidate )
68606     {
68607         float4x3____cg_float4x3__ValidationData* validationData = (float4x3____cg_float4x3__ValidationData*)mValidationDataStack.top();
68608         DISABLE_WARNING_UNUSED(validationData)
68609 return characterData2FloatData(text, textLength, &ColladaParserAutoGen14::data__float4x3____cg_float4x3, &validate__cg_float4x3__stream, &validationData->validationWholeSize, 0);
68610     }
68611     else
68612     {
68613 return characterData2FloatData(text, textLength, &ColladaParserAutoGen14::data__float4x3____cg_float4x3);
68614     }
68615 #else
68616     {
68617 return characterData2FloatData(text, textLength, &ColladaParserAutoGen14::data__float4x3____cg_float4x3);
68618     } // validation
68619 #endif
68620 
68621 }
68622 
68623 //---------------------------------------------------------------------
_preBegin__float4x3____cg_float4x3(const ParserAttributes & attributes,void ** attributeDataPtr,void ** validationDataPtr)68624 bool ColladaParserAutoGen14Private::_preBegin__float4x3____cg_float4x3( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
68625 {
68626 #ifdef GENERATEDSAXPARSER_VALIDATION
68627     if ( mValidate )
68628     {
68629 
68630         bool validationResult = _validateBegin__float4x3____cg_float4x3( attributes, attributeDataPtr, validationDataPtr );
68631         if ( !validationResult ) return false;
68632 
68633     } // validation
68634 #endif
68635 
68636     return true;
68637 }
68638 
68639 //---------------------------------------------------------------------
_preEnd__float4x3____cg_float4x3()68640 bool ColladaParserAutoGen14Private::_preEnd__float4x3____cg_float4x3()
68641 {
68642 #ifdef GENERATEDSAXPARSER_VALIDATION
68643     if ( mValidate )
68644     {
68645 
68646         bool validationResult = _validateEnd__float4x3____cg_float4x3();
68647         if ( !validationResult ) return false;
68648 
68649     } // validation
68650 #endif
68651 
68652 #ifdef GENERATEDSAXPARSER_VALIDATION
68653     if ( mValidate )
68654     {
68655         float4x3____cg_float4x3__ValidationData* validationData = (float4x3____cg_float4x3__ValidationData*)mValidationDataStack.top();
68656         DISABLE_WARNING_UNUSED(validationData)
68657 bool returnValue = floatDataEnd( &ColladaParserAutoGen14::data__float4x3____cg_float4x3, &validate__cg_float4x3__streamEnd, &validationData->validationWholeSize, 0 );
68658         ParserError::ErrorType simpleTypeValidationResult = validate__cg_float4x3(0, (*(&validationData->validationWholeSize)));
68659         mValidationDataStack.deleteObject();
68660         if (simpleTypeValidationResult != ParserError::SIMPLE_TYPE_VALIDATION_OK)
68661         {
68662             if( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL,
68663                 simpleTypeValidationResult,
68664                 HASH_ELEMENT_FLOAT4X3,
68665                 (ParserChar*)0, 0 ) )
68666             {
68667                 return false;
68668             }
68669         }
68670         return returnValue;
68671     }
68672     else
68673     {
68674 return floatDataEnd( &ColladaParserAutoGen14::data__float4x3____cg_float4x3 );
68675     }
68676 #else
68677     {
68678 return floatDataEnd( &ColladaParserAutoGen14::data__float4x3____cg_float4x3 );
68679     } // validation
68680 #endif
68681 
68682 }
68683 
68684 //---------------------------------------------------------------------
_freeAttributes__float4x3____cg_float4x3(void * attributeData)68685 bool ColladaParserAutoGen14Private::_freeAttributes__float4x3____cg_float4x3( void* attributeData )
68686 {
68687     return true;
68688 }
68689 
68690 //---------------------------------------------------------------------
_data__float4x4____cg_float4x4(const ParserChar * text,size_t textLength)68691 bool ColladaParserAutoGen14Private::_data__float4x4____cg_float4x4( const ParserChar* text, size_t textLength )
68692 {
68693 #ifdef GENERATEDSAXPARSER_VALIDATION
68694     if ( mValidate )
68695     {
68696         float4x4____cg_float4x4__ValidationData* validationData = (float4x4____cg_float4x4__ValidationData*)mValidationDataStack.top();
68697         DISABLE_WARNING_UNUSED(validationData)
68698 return characterData2FloatData(text, textLength, &ColladaParserAutoGen14::data__float4x4____cg_float4x4, &validate__cg_float4x4__stream, &validationData->validationWholeSize, 0);
68699     }
68700     else
68701     {
68702 return characterData2FloatData(text, textLength, &ColladaParserAutoGen14::data__float4x4____cg_float4x4);
68703     }
68704 #else
68705     {
68706 return characterData2FloatData(text, textLength, &ColladaParserAutoGen14::data__float4x4____cg_float4x4);
68707     } // validation
68708 #endif
68709 
68710 }
68711 
68712 //---------------------------------------------------------------------
_preBegin__float4x4____cg_float4x4(const ParserAttributes & attributes,void ** attributeDataPtr,void ** validationDataPtr)68713 bool ColladaParserAutoGen14Private::_preBegin__float4x4____cg_float4x4( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
68714 {
68715 #ifdef GENERATEDSAXPARSER_VALIDATION
68716     if ( mValidate )
68717     {
68718 
68719         bool validationResult = _validateBegin__float4x4____cg_float4x4( attributes, attributeDataPtr, validationDataPtr );
68720         if ( !validationResult ) return false;
68721 
68722     } // validation
68723 #endif
68724 
68725     return true;
68726 }
68727 
68728 //---------------------------------------------------------------------
_preEnd__float4x4____cg_float4x4()68729 bool ColladaParserAutoGen14Private::_preEnd__float4x4____cg_float4x4()
68730 {
68731 #ifdef GENERATEDSAXPARSER_VALIDATION
68732     if ( mValidate )
68733     {
68734 
68735         bool validationResult = _validateEnd__float4x4____cg_float4x4();
68736         if ( !validationResult ) return false;
68737 
68738     } // validation
68739 #endif
68740 
68741 #ifdef GENERATEDSAXPARSER_VALIDATION
68742     if ( mValidate )
68743     {
68744         float4x4____cg_float4x4__ValidationData* validationData = (float4x4____cg_float4x4__ValidationData*)mValidationDataStack.top();
68745         DISABLE_WARNING_UNUSED(validationData)
68746 bool returnValue = floatDataEnd( &ColladaParserAutoGen14::data__float4x4____cg_float4x4, &validate__cg_float4x4__streamEnd, &validationData->validationWholeSize, 0 );
68747         ParserError::ErrorType simpleTypeValidationResult = validate__cg_float4x4(0, (*(&validationData->validationWholeSize)));
68748         mValidationDataStack.deleteObject();
68749         if (simpleTypeValidationResult != ParserError::SIMPLE_TYPE_VALIDATION_OK)
68750         {
68751             if( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL,
68752                 simpleTypeValidationResult,
68753                 HASH_ELEMENT_FLOAT4X4,
68754                 (ParserChar*)0, 0 ) )
68755             {
68756                 return false;
68757             }
68758         }
68759         return returnValue;
68760     }
68761     else
68762     {
68763 return floatDataEnd( &ColladaParserAutoGen14::data__float4x4____cg_float4x4 );
68764     }
68765 #else
68766     {
68767 return floatDataEnd( &ColladaParserAutoGen14::data__float4x4____cg_float4x4 );
68768     } // validation
68769 #endif
68770 
68771 }
68772 
68773 //---------------------------------------------------------------------
_freeAttributes__float4x4____cg_float4x4(void * attributeData)68774 bool ColladaParserAutoGen14Private::_freeAttributes__float4x4____cg_float4x4( void* attributeData )
68775 {
68776     return true;
68777 }
68778 
68779 //---------------------------------------------------------------------
_data__int____cg_int(const ParserChar * text,size_t textLength)68780 bool ColladaParserAutoGen14Private::_data__int____cg_int( const ParserChar* text, size_t textLength )
68781 {
68782 if (!mLastIncompleteFragmentInCharacterData)
68783 {
68784     mLastIncompleteFragmentInCharacterData = (ParserChar*)mStackMemoryManager.newObject(textLength);
68785     memcpy(mLastIncompleteFragmentInCharacterData, text, textLength);
68786     mEndOfDataInCurrentObjectOnStack = mLastIncompleteFragmentInCharacterData + textLength;
68787 }
68788 else
68789 {
68790     ParserChar* tmp = (ParserChar*)mStackMemoryManager.growObject(textLength);
68791     if ( tmp != mLastIncompleteFragmentInCharacterData ) {
68792         mEndOfDataInCurrentObjectOnStack = (mEndOfDataInCurrentObjectOnStack - mLastIncompleteFragmentInCharacterData) + tmp;
68793         mLastIncompleteFragmentInCharacterData = tmp;
68794     }
68795     memcpy(mEndOfDataInCurrentObjectOnStack, text, textLength);
68796     mEndOfDataInCurrentObjectOnStack += textLength;
68797 }
68798 return true;
68799 }
68800 
68801 //---------------------------------------------------------------------
_preBegin__int____cg_int(const ParserAttributes & attributes,void ** attributeDataPtr,void ** validationDataPtr)68802 bool ColladaParserAutoGen14Private::_preBegin__int____cg_int( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
68803 {
68804 #ifdef GENERATEDSAXPARSER_VALIDATION
68805     if ( mValidate )
68806     {
68807 
68808         bool validationResult = _validateBegin__int____cg_int( attributes, attributeDataPtr, validationDataPtr );
68809         if ( !validationResult ) return false;
68810 
68811     } // validation
68812 #endif
68813 
68814     return true;
68815 }
68816 
68817 //---------------------------------------------------------------------
_preEnd__int____cg_int()68818 bool ColladaParserAutoGen14Private::_preEnd__int____cg_int()
68819 {
68820 #ifdef GENERATEDSAXPARSER_VALIDATION
68821     if ( mValidate )
68822     {
68823 
68824         bool validationResult = _validateEnd__int____cg_int();
68825         if ( !validationResult ) return false;
68826 
68827     } // validation
68828 #endif
68829 
68830 bool failed;
68831 const ParserChar* ptrForErr = mLastIncompleteFragmentInCharacterData;
68832 DISABLE_WARNING_UNUSED(ptrForErr)
68833 sint32 parameter = GeneratedSaxParser::Utils::toSint32((const ParserChar**)&mLastIncompleteFragmentInCharacterData, mEndOfDataInCurrentObjectOnStack, failed);
68834 bool returnValue;
68835 if (!failed)
68836 {
68837 #ifdef GENERATEDSAXPARSER_VALIDATION
68838     if ( mValidate )
68839     {
68840     ParserError::ErrorType simpleTypeValidationResult = validate__cg_int(parameter);
68841     if (simpleTypeValidationResult != ParserError::SIMPLE_TYPE_VALIDATION_OK)
68842     {
68843         ParserChar msg[21];
68844         Utils::fillErrorMsg(msg, ptrForErr, 20);
68845         if( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL,
68846             simpleTypeValidationResult,
68847             0,
68848             msg) )
68849         {
68850             return false;
68851         }
68852     }
68853     } // validation
68854 #endif
68855     returnValue = mImpl->data__int____cg_int(parameter);
68856 }
68857 else
68858     returnValue = !handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_TEXTDATA_PARSING_FAILED, HASH_ELEMENT_INT, (const ParserChar*)0, mLastIncompleteFragmentInCharacterData);
68859 if (mLastIncompleteFragmentInCharacterData)
68860     mStackMemoryManager.deleteObject();
68861 mLastIncompleteFragmentInCharacterData = 0;
68862 mEndOfDataInCurrentObjectOnStack = 0;
68863 return returnValue;
68864 }
68865 
68866 //---------------------------------------------------------------------
_freeAttributes__int____cg_int(void * attributeData)68867 bool ColladaParserAutoGen14Private::_freeAttributes__int____cg_int( void* attributeData )
68868 {
68869     return true;
68870 }
68871 
68872 //---------------------------------------------------------------------
_data__int1(const ParserChar * text,size_t textLength)68873 bool ColladaParserAutoGen14Private::_data__int1( const ParserChar* text, size_t textLength )
68874 {
68875 if (!mLastIncompleteFragmentInCharacterData)
68876 {
68877     mLastIncompleteFragmentInCharacterData = (ParserChar*)mStackMemoryManager.newObject(textLength);
68878     memcpy(mLastIncompleteFragmentInCharacterData, text, textLength);
68879     mEndOfDataInCurrentObjectOnStack = mLastIncompleteFragmentInCharacterData + textLength;
68880 }
68881 else
68882 {
68883     ParserChar* tmp = (ParserChar*)mStackMemoryManager.growObject(textLength);
68884     if ( tmp != mLastIncompleteFragmentInCharacterData ) {
68885         mEndOfDataInCurrentObjectOnStack = (mEndOfDataInCurrentObjectOnStack - mLastIncompleteFragmentInCharacterData) + tmp;
68886         mLastIncompleteFragmentInCharacterData = tmp;
68887     }
68888     memcpy(mEndOfDataInCurrentObjectOnStack, text, textLength);
68889     mEndOfDataInCurrentObjectOnStack += textLength;
68890 }
68891 return true;
68892 }
68893 
68894 //---------------------------------------------------------------------
_preBegin__int1(const ParserAttributes & attributes,void ** attributeDataPtr,void ** validationDataPtr)68895 bool ColladaParserAutoGen14Private::_preBegin__int1( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
68896 {
68897 #ifdef GENERATEDSAXPARSER_VALIDATION
68898     if ( mValidate )
68899     {
68900 
68901         bool validationResult = _validateBegin__int1( attributes, attributeDataPtr, validationDataPtr );
68902         if ( !validationResult ) return false;
68903 
68904     } // validation
68905 #endif
68906 
68907     return true;
68908 }
68909 
68910 //---------------------------------------------------------------------
_preEnd__int1()68911 bool ColladaParserAutoGen14Private::_preEnd__int1()
68912 {
68913 #ifdef GENERATEDSAXPARSER_VALIDATION
68914     if ( mValidate )
68915     {
68916 
68917         bool validationResult = _validateEnd__int1();
68918         if ( !validationResult ) return false;
68919 
68920     } // validation
68921 #endif
68922 
68923 bool failed;
68924 const ParserChar* ptrForErr = mLastIncompleteFragmentInCharacterData;
68925 DISABLE_WARNING_UNUSED(ptrForErr)
68926 sint32 parameter = GeneratedSaxParser::Utils::toSint32((const ParserChar**)&mLastIncompleteFragmentInCharacterData, mEndOfDataInCurrentObjectOnStack, failed);
68927 bool returnValue;
68928 if (!failed)
68929 {
68930 #ifdef GENERATEDSAXPARSER_VALIDATION
68931     if ( mValidate )
68932     {
68933     ParserError::ErrorType simpleTypeValidationResult = validate__cg_int1(parameter);
68934     if (simpleTypeValidationResult != ParserError::SIMPLE_TYPE_VALIDATION_OK)
68935     {
68936         ParserChar msg[21];
68937         Utils::fillErrorMsg(msg, ptrForErr, 20);
68938         if( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL,
68939             simpleTypeValidationResult,
68940             0,
68941             msg) )
68942         {
68943             return false;
68944         }
68945     }
68946     } // validation
68947 #endif
68948     returnValue = mImpl->data__int1(parameter);
68949 }
68950 else
68951     returnValue = !handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_TEXTDATA_PARSING_FAILED, HASH_ELEMENT_INT1, (const ParserChar*)0, mLastIncompleteFragmentInCharacterData);
68952 if (mLastIncompleteFragmentInCharacterData)
68953     mStackMemoryManager.deleteObject();
68954 mLastIncompleteFragmentInCharacterData = 0;
68955 mEndOfDataInCurrentObjectOnStack = 0;
68956 return returnValue;
68957 }
68958 
68959 //---------------------------------------------------------------------
_freeAttributes__int1(void * attributeData)68960 bool ColladaParserAutoGen14Private::_freeAttributes__int1( void* attributeData )
68961 {
68962     return true;
68963 }
68964 
68965 //---------------------------------------------------------------------
_data__int2____cg_int2(const ParserChar * text,size_t textLength)68966 bool ColladaParserAutoGen14Private::_data__int2____cg_int2( const ParserChar* text, size_t textLength )
68967 {
68968 #ifdef GENERATEDSAXPARSER_VALIDATION
68969     if ( mValidate )
68970     {
68971         int2____cg_int2__ValidationData* validationData = (int2____cg_int2__ValidationData*)mValidationDataStack.top();
68972         DISABLE_WARNING_UNUSED(validationData)
68973 return characterData2Sint32Data(text, textLength, &ColladaParserAutoGen14::data__int2____cg_int2, &validate__cg_int2__stream, &validationData->validationWholeSize, &validate__cg_int);
68974     }
68975     else
68976     {
68977 return characterData2Sint32Data(text, textLength, &ColladaParserAutoGen14::data__int2____cg_int2);
68978     }
68979 #else
68980     {
68981 return characterData2Sint32Data(text, textLength, &ColladaParserAutoGen14::data__int2____cg_int2);
68982     } // validation
68983 #endif
68984 
68985 }
68986 
68987 //---------------------------------------------------------------------
_preBegin__int2____cg_int2(const ParserAttributes & attributes,void ** attributeDataPtr,void ** validationDataPtr)68988 bool ColladaParserAutoGen14Private::_preBegin__int2____cg_int2( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
68989 {
68990 #ifdef GENERATEDSAXPARSER_VALIDATION
68991     if ( mValidate )
68992     {
68993 
68994         bool validationResult = _validateBegin__int2____cg_int2( attributes, attributeDataPtr, validationDataPtr );
68995         if ( !validationResult ) return false;
68996 
68997     } // validation
68998 #endif
68999 
69000     return true;
69001 }
69002 
69003 //---------------------------------------------------------------------
_preEnd__int2____cg_int2()69004 bool ColladaParserAutoGen14Private::_preEnd__int2____cg_int2()
69005 {
69006 #ifdef GENERATEDSAXPARSER_VALIDATION
69007     if ( mValidate )
69008     {
69009 
69010         bool validationResult = _validateEnd__int2____cg_int2();
69011         if ( !validationResult ) return false;
69012 
69013     } // validation
69014 #endif
69015 
69016 #ifdef GENERATEDSAXPARSER_VALIDATION
69017     if ( mValidate )
69018     {
69019         int2____cg_int2__ValidationData* validationData = (int2____cg_int2__ValidationData*)mValidationDataStack.top();
69020         DISABLE_WARNING_UNUSED(validationData)
69021 bool returnValue = sint32DataEnd( &ColladaParserAutoGen14::data__int2____cg_int2, &validate__cg_int2__streamEnd, &validationData->validationWholeSize, &validate__cg_int );
69022         ParserError::ErrorType simpleTypeValidationResult = validate__cg_int2(0, (*(&validationData->validationWholeSize)));
69023         mValidationDataStack.deleteObject();
69024         if (simpleTypeValidationResult != ParserError::SIMPLE_TYPE_VALIDATION_OK)
69025         {
69026             if( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL,
69027                 simpleTypeValidationResult,
69028                 HASH_ELEMENT_INT2,
69029                 (ParserChar*)0, 0 ) )
69030             {
69031                 return false;
69032             }
69033         }
69034         return returnValue;
69035     }
69036     else
69037     {
69038 return sint32DataEnd( &ColladaParserAutoGen14::data__int2____cg_int2 );
69039     }
69040 #else
69041     {
69042 return sint32DataEnd( &ColladaParserAutoGen14::data__int2____cg_int2 );
69043     } // validation
69044 #endif
69045 
69046 }
69047 
69048 //---------------------------------------------------------------------
_freeAttributes__int2____cg_int2(void * attributeData)69049 bool ColladaParserAutoGen14Private::_freeAttributes__int2____cg_int2( void* attributeData )
69050 {
69051     return true;
69052 }
69053 
69054 //---------------------------------------------------------------------
_data__int3____cg_int3(const ParserChar * text,size_t textLength)69055 bool ColladaParserAutoGen14Private::_data__int3____cg_int3( const ParserChar* text, size_t textLength )
69056 {
69057 #ifdef GENERATEDSAXPARSER_VALIDATION
69058     if ( mValidate )
69059     {
69060         int3____cg_int3__ValidationData* validationData = (int3____cg_int3__ValidationData*)mValidationDataStack.top();
69061         DISABLE_WARNING_UNUSED(validationData)
69062 return characterData2Sint32Data(text, textLength, &ColladaParserAutoGen14::data__int3____cg_int3, &validate__cg_int3__stream, &validationData->validationWholeSize, &validate__cg_int);
69063     }
69064     else
69065     {
69066 return characterData2Sint32Data(text, textLength, &ColladaParserAutoGen14::data__int3____cg_int3);
69067     }
69068 #else
69069     {
69070 return characterData2Sint32Data(text, textLength, &ColladaParserAutoGen14::data__int3____cg_int3);
69071     } // validation
69072 #endif
69073 
69074 }
69075 
69076 //---------------------------------------------------------------------
_preBegin__int3____cg_int3(const ParserAttributes & attributes,void ** attributeDataPtr,void ** validationDataPtr)69077 bool ColladaParserAutoGen14Private::_preBegin__int3____cg_int3( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
69078 {
69079 #ifdef GENERATEDSAXPARSER_VALIDATION
69080     if ( mValidate )
69081     {
69082 
69083         bool validationResult = _validateBegin__int3____cg_int3( attributes, attributeDataPtr, validationDataPtr );
69084         if ( !validationResult ) return false;
69085 
69086     } // validation
69087 #endif
69088 
69089     return true;
69090 }
69091 
69092 //---------------------------------------------------------------------
_preEnd__int3____cg_int3()69093 bool ColladaParserAutoGen14Private::_preEnd__int3____cg_int3()
69094 {
69095 #ifdef GENERATEDSAXPARSER_VALIDATION
69096     if ( mValidate )
69097     {
69098 
69099         bool validationResult = _validateEnd__int3____cg_int3();
69100         if ( !validationResult ) return false;
69101 
69102     } // validation
69103 #endif
69104 
69105 #ifdef GENERATEDSAXPARSER_VALIDATION
69106     if ( mValidate )
69107     {
69108         int3____cg_int3__ValidationData* validationData = (int3____cg_int3__ValidationData*)mValidationDataStack.top();
69109         DISABLE_WARNING_UNUSED(validationData)
69110 bool returnValue = sint32DataEnd( &ColladaParserAutoGen14::data__int3____cg_int3, &validate__cg_int3__streamEnd, &validationData->validationWholeSize, &validate__cg_int );
69111         ParserError::ErrorType simpleTypeValidationResult = validate__cg_int3(0, (*(&validationData->validationWholeSize)));
69112         mValidationDataStack.deleteObject();
69113         if (simpleTypeValidationResult != ParserError::SIMPLE_TYPE_VALIDATION_OK)
69114         {
69115             if( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL,
69116                 simpleTypeValidationResult,
69117                 HASH_ELEMENT_INT3,
69118                 (ParserChar*)0, 0 ) )
69119             {
69120                 return false;
69121             }
69122         }
69123         return returnValue;
69124     }
69125     else
69126     {
69127 return sint32DataEnd( &ColladaParserAutoGen14::data__int3____cg_int3 );
69128     }
69129 #else
69130     {
69131 return sint32DataEnd( &ColladaParserAutoGen14::data__int3____cg_int3 );
69132     } // validation
69133 #endif
69134 
69135 }
69136 
69137 //---------------------------------------------------------------------
_freeAttributes__int3____cg_int3(void * attributeData)69138 bool ColladaParserAutoGen14Private::_freeAttributes__int3____cg_int3( void* attributeData )
69139 {
69140     return true;
69141 }
69142 
69143 //---------------------------------------------------------------------
_data__int4____cg_int4(const ParserChar * text,size_t textLength)69144 bool ColladaParserAutoGen14Private::_data__int4____cg_int4( const ParserChar* text, size_t textLength )
69145 {
69146 #ifdef GENERATEDSAXPARSER_VALIDATION
69147     if ( mValidate )
69148     {
69149         int4____cg_int4__ValidationData* validationData = (int4____cg_int4__ValidationData*)mValidationDataStack.top();
69150         DISABLE_WARNING_UNUSED(validationData)
69151 return characterData2Sint32Data(text, textLength, &ColladaParserAutoGen14::data__int4____cg_int4, &validate__cg_int4__stream, &validationData->validationWholeSize, &validate__cg_int);
69152     }
69153     else
69154     {
69155 return characterData2Sint32Data(text, textLength, &ColladaParserAutoGen14::data__int4____cg_int4);
69156     }
69157 #else
69158     {
69159 return characterData2Sint32Data(text, textLength, &ColladaParserAutoGen14::data__int4____cg_int4);
69160     } // validation
69161 #endif
69162 
69163 }
69164 
69165 //---------------------------------------------------------------------
_preBegin__int4____cg_int4(const ParserAttributes & attributes,void ** attributeDataPtr,void ** validationDataPtr)69166 bool ColladaParserAutoGen14Private::_preBegin__int4____cg_int4( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
69167 {
69168 #ifdef GENERATEDSAXPARSER_VALIDATION
69169     if ( mValidate )
69170     {
69171 
69172         bool validationResult = _validateBegin__int4____cg_int4( attributes, attributeDataPtr, validationDataPtr );
69173         if ( !validationResult ) return false;
69174 
69175     } // validation
69176 #endif
69177 
69178     return true;
69179 }
69180 
69181 //---------------------------------------------------------------------
_preEnd__int4____cg_int4()69182 bool ColladaParserAutoGen14Private::_preEnd__int4____cg_int4()
69183 {
69184 #ifdef GENERATEDSAXPARSER_VALIDATION
69185     if ( mValidate )
69186     {
69187 
69188         bool validationResult = _validateEnd__int4____cg_int4();
69189         if ( !validationResult ) return false;
69190 
69191     } // validation
69192 #endif
69193 
69194 #ifdef GENERATEDSAXPARSER_VALIDATION
69195     if ( mValidate )
69196     {
69197         int4____cg_int4__ValidationData* validationData = (int4____cg_int4__ValidationData*)mValidationDataStack.top();
69198         DISABLE_WARNING_UNUSED(validationData)
69199 bool returnValue = sint32DataEnd( &ColladaParserAutoGen14::data__int4____cg_int4, &validate__cg_int4__streamEnd, &validationData->validationWholeSize, &validate__cg_int );
69200         ParserError::ErrorType simpleTypeValidationResult = validate__cg_int4(0, (*(&validationData->validationWholeSize)));
69201         mValidationDataStack.deleteObject();
69202         if (simpleTypeValidationResult != ParserError::SIMPLE_TYPE_VALIDATION_OK)
69203         {
69204             if( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL,
69205                 simpleTypeValidationResult,
69206                 HASH_ELEMENT_INT4,
69207                 (ParserChar*)0, 0 ) )
69208             {
69209                 return false;
69210             }
69211         }
69212         return returnValue;
69213     }
69214     else
69215     {
69216 return sint32DataEnd( &ColladaParserAutoGen14::data__int4____cg_int4 );
69217     }
69218 #else
69219     {
69220 return sint32DataEnd( &ColladaParserAutoGen14::data__int4____cg_int4 );
69221     } // validation
69222 #endif
69223 
69224 }
69225 
69226 //---------------------------------------------------------------------
_freeAttributes__int4____cg_int4(void * attributeData)69227 bool ColladaParserAutoGen14Private::_freeAttributes__int4____cg_int4( void* attributeData )
69228 {
69229     return true;
69230 }
69231 
69232 //---------------------------------------------------------------------
_data__int1x1(const ParserChar * text,size_t textLength)69233 bool ColladaParserAutoGen14Private::_data__int1x1( const ParserChar* text, size_t textLength )
69234 {
69235 #ifdef GENERATEDSAXPARSER_VALIDATION
69236     if ( mValidate )
69237     {
69238         int1x1__ValidationData* validationData = (int1x1__ValidationData*)mValidationDataStack.top();
69239         DISABLE_WARNING_UNUSED(validationData)
69240 return characterData2Sint32Data(text, textLength, &ColladaParserAutoGen14::data__int1x1, &validate__cg_int1x1__stream, &validationData->validationWholeSize, &validate__cg_int);
69241     }
69242     else
69243     {
69244 return characterData2Sint32Data(text, textLength, &ColladaParserAutoGen14::data__int1x1);
69245     }
69246 #else
69247     {
69248 return characterData2Sint32Data(text, textLength, &ColladaParserAutoGen14::data__int1x1);
69249     } // validation
69250 #endif
69251 
69252 }
69253 
69254 //---------------------------------------------------------------------
_preBegin__int1x1(const ParserAttributes & attributes,void ** attributeDataPtr,void ** validationDataPtr)69255 bool ColladaParserAutoGen14Private::_preBegin__int1x1( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
69256 {
69257 #ifdef GENERATEDSAXPARSER_VALIDATION
69258     if ( mValidate )
69259     {
69260 
69261         bool validationResult = _validateBegin__int1x1( attributes, attributeDataPtr, validationDataPtr );
69262         if ( !validationResult ) return false;
69263 
69264     } // validation
69265 #endif
69266 
69267     return true;
69268 }
69269 
69270 //---------------------------------------------------------------------
_preEnd__int1x1()69271 bool ColladaParserAutoGen14Private::_preEnd__int1x1()
69272 {
69273 #ifdef GENERATEDSAXPARSER_VALIDATION
69274     if ( mValidate )
69275     {
69276 
69277         bool validationResult = _validateEnd__int1x1();
69278         if ( !validationResult ) return false;
69279 
69280     } // validation
69281 #endif
69282 
69283 #ifdef GENERATEDSAXPARSER_VALIDATION
69284     if ( mValidate )
69285     {
69286         int1x1__ValidationData* validationData = (int1x1__ValidationData*)mValidationDataStack.top();
69287         DISABLE_WARNING_UNUSED(validationData)
69288 bool returnValue = sint32DataEnd( &ColladaParserAutoGen14::data__int1x1, &validate__cg_int1x1__streamEnd, &validationData->validationWholeSize, &validate__cg_int );
69289         ParserError::ErrorType simpleTypeValidationResult = validate__cg_int1x1(0, (*(&validationData->validationWholeSize)));
69290         mValidationDataStack.deleteObject();
69291         if (simpleTypeValidationResult != ParserError::SIMPLE_TYPE_VALIDATION_OK)
69292         {
69293             if( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL,
69294                 simpleTypeValidationResult,
69295                 HASH_ELEMENT_INT1X1,
69296                 (ParserChar*)0, 0 ) )
69297             {
69298                 return false;
69299             }
69300         }
69301         return returnValue;
69302     }
69303     else
69304     {
69305 return sint32DataEnd( &ColladaParserAutoGen14::data__int1x1 );
69306     }
69307 #else
69308     {
69309 return sint32DataEnd( &ColladaParserAutoGen14::data__int1x1 );
69310     } // validation
69311 #endif
69312 
69313 }
69314 
69315 //---------------------------------------------------------------------
_freeAttributes__int1x1(void * attributeData)69316 bool ColladaParserAutoGen14Private::_freeAttributes__int1x1( void* attributeData )
69317 {
69318     return true;
69319 }
69320 
69321 //---------------------------------------------------------------------
_data__int1x2(const ParserChar * text,size_t textLength)69322 bool ColladaParserAutoGen14Private::_data__int1x2( const ParserChar* text, size_t textLength )
69323 {
69324 #ifdef GENERATEDSAXPARSER_VALIDATION
69325     if ( mValidate )
69326     {
69327         int1x2__ValidationData* validationData = (int1x2__ValidationData*)mValidationDataStack.top();
69328         DISABLE_WARNING_UNUSED(validationData)
69329 return characterData2Sint32Data(text, textLength, &ColladaParserAutoGen14::data__int1x2, &validate__cg_int1x2__stream, &validationData->validationWholeSize, &validate__cg_int);
69330     }
69331     else
69332     {
69333 return characterData2Sint32Data(text, textLength, &ColladaParserAutoGen14::data__int1x2);
69334     }
69335 #else
69336     {
69337 return characterData2Sint32Data(text, textLength, &ColladaParserAutoGen14::data__int1x2);
69338     } // validation
69339 #endif
69340 
69341 }
69342 
69343 //---------------------------------------------------------------------
_preBegin__int1x2(const ParserAttributes & attributes,void ** attributeDataPtr,void ** validationDataPtr)69344 bool ColladaParserAutoGen14Private::_preBegin__int1x2( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
69345 {
69346 #ifdef GENERATEDSAXPARSER_VALIDATION
69347     if ( mValidate )
69348     {
69349 
69350         bool validationResult = _validateBegin__int1x2( attributes, attributeDataPtr, validationDataPtr );
69351         if ( !validationResult ) return false;
69352 
69353     } // validation
69354 #endif
69355 
69356     return true;
69357 }
69358 
69359 //---------------------------------------------------------------------
_preEnd__int1x2()69360 bool ColladaParserAutoGen14Private::_preEnd__int1x2()
69361 {
69362 #ifdef GENERATEDSAXPARSER_VALIDATION
69363     if ( mValidate )
69364     {
69365 
69366         bool validationResult = _validateEnd__int1x2();
69367         if ( !validationResult ) return false;
69368 
69369     } // validation
69370 #endif
69371 
69372 #ifdef GENERATEDSAXPARSER_VALIDATION
69373     if ( mValidate )
69374     {
69375         int1x2__ValidationData* validationData = (int1x2__ValidationData*)mValidationDataStack.top();
69376         DISABLE_WARNING_UNUSED(validationData)
69377 bool returnValue = sint32DataEnd( &ColladaParserAutoGen14::data__int1x2, &validate__cg_int1x2__streamEnd, &validationData->validationWholeSize, &validate__cg_int );
69378         ParserError::ErrorType simpleTypeValidationResult = validate__cg_int1x2(0, (*(&validationData->validationWholeSize)));
69379         mValidationDataStack.deleteObject();
69380         if (simpleTypeValidationResult != ParserError::SIMPLE_TYPE_VALIDATION_OK)
69381         {
69382             if( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL,
69383                 simpleTypeValidationResult,
69384                 HASH_ELEMENT_INT1X2,
69385                 (ParserChar*)0, 0 ) )
69386             {
69387                 return false;
69388             }
69389         }
69390         return returnValue;
69391     }
69392     else
69393     {
69394 return sint32DataEnd( &ColladaParserAutoGen14::data__int1x2 );
69395     }
69396 #else
69397     {
69398 return sint32DataEnd( &ColladaParserAutoGen14::data__int1x2 );
69399     } // validation
69400 #endif
69401 
69402 }
69403 
69404 //---------------------------------------------------------------------
_freeAttributes__int1x2(void * attributeData)69405 bool ColladaParserAutoGen14Private::_freeAttributes__int1x2( void* attributeData )
69406 {
69407     return true;
69408 }
69409 
69410 //---------------------------------------------------------------------
_data__int1x3(const ParserChar * text,size_t textLength)69411 bool ColladaParserAutoGen14Private::_data__int1x3( const ParserChar* text, size_t textLength )
69412 {
69413 #ifdef GENERATEDSAXPARSER_VALIDATION
69414     if ( mValidate )
69415     {
69416         int1x3__ValidationData* validationData = (int1x3__ValidationData*)mValidationDataStack.top();
69417         DISABLE_WARNING_UNUSED(validationData)
69418 return characterData2Sint32Data(text, textLength, &ColladaParserAutoGen14::data__int1x3, &validate__cg_int1x3__stream, &validationData->validationWholeSize, &validate__cg_int);
69419     }
69420     else
69421     {
69422 return characterData2Sint32Data(text, textLength, &ColladaParserAutoGen14::data__int1x3);
69423     }
69424 #else
69425     {
69426 return characterData2Sint32Data(text, textLength, &ColladaParserAutoGen14::data__int1x3);
69427     } // validation
69428 #endif
69429 
69430 }
69431 
69432 //---------------------------------------------------------------------
_preBegin__int1x3(const ParserAttributes & attributes,void ** attributeDataPtr,void ** validationDataPtr)69433 bool ColladaParserAutoGen14Private::_preBegin__int1x3( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
69434 {
69435 #ifdef GENERATEDSAXPARSER_VALIDATION
69436     if ( mValidate )
69437     {
69438 
69439         bool validationResult = _validateBegin__int1x3( attributes, attributeDataPtr, validationDataPtr );
69440         if ( !validationResult ) return false;
69441 
69442     } // validation
69443 #endif
69444 
69445     return true;
69446 }
69447 
69448 //---------------------------------------------------------------------
_preEnd__int1x3()69449 bool ColladaParserAutoGen14Private::_preEnd__int1x3()
69450 {
69451 #ifdef GENERATEDSAXPARSER_VALIDATION
69452     if ( mValidate )
69453     {
69454 
69455         bool validationResult = _validateEnd__int1x3();
69456         if ( !validationResult ) return false;
69457 
69458     } // validation
69459 #endif
69460 
69461 #ifdef GENERATEDSAXPARSER_VALIDATION
69462     if ( mValidate )
69463     {
69464         int1x3__ValidationData* validationData = (int1x3__ValidationData*)mValidationDataStack.top();
69465         DISABLE_WARNING_UNUSED(validationData)
69466 bool returnValue = sint32DataEnd( &ColladaParserAutoGen14::data__int1x3, &validate__cg_int1x3__streamEnd, &validationData->validationWholeSize, &validate__cg_int );
69467         ParserError::ErrorType simpleTypeValidationResult = validate__cg_int1x3(0, (*(&validationData->validationWholeSize)));
69468         mValidationDataStack.deleteObject();
69469         if (simpleTypeValidationResult != ParserError::SIMPLE_TYPE_VALIDATION_OK)
69470         {
69471             if( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL,
69472                 simpleTypeValidationResult,
69473                 HASH_ELEMENT_INT1X3,
69474                 (ParserChar*)0, 0 ) )
69475             {
69476                 return false;
69477             }
69478         }
69479         return returnValue;
69480     }
69481     else
69482     {
69483 return sint32DataEnd( &ColladaParserAutoGen14::data__int1x3 );
69484     }
69485 #else
69486     {
69487 return sint32DataEnd( &ColladaParserAutoGen14::data__int1x3 );
69488     } // validation
69489 #endif
69490 
69491 }
69492 
69493 //---------------------------------------------------------------------
_freeAttributes__int1x3(void * attributeData)69494 bool ColladaParserAutoGen14Private::_freeAttributes__int1x3( void* attributeData )
69495 {
69496     return true;
69497 }
69498 
69499 //---------------------------------------------------------------------
_data__int1x4(const ParserChar * text,size_t textLength)69500 bool ColladaParserAutoGen14Private::_data__int1x4( const ParserChar* text, size_t textLength )
69501 {
69502 #ifdef GENERATEDSAXPARSER_VALIDATION
69503     if ( mValidate )
69504     {
69505         int1x4__ValidationData* validationData = (int1x4__ValidationData*)mValidationDataStack.top();
69506         DISABLE_WARNING_UNUSED(validationData)
69507 return characterData2Sint32Data(text, textLength, &ColladaParserAutoGen14::data__int1x4, &validate__cg_int1x4__stream, &validationData->validationWholeSize, &validate__cg_int);
69508     }
69509     else
69510     {
69511 return characterData2Sint32Data(text, textLength, &ColladaParserAutoGen14::data__int1x4);
69512     }
69513 #else
69514     {
69515 return characterData2Sint32Data(text, textLength, &ColladaParserAutoGen14::data__int1x4);
69516     } // validation
69517 #endif
69518 
69519 }
69520 
69521 //---------------------------------------------------------------------
_preBegin__int1x4(const ParserAttributes & attributes,void ** attributeDataPtr,void ** validationDataPtr)69522 bool ColladaParserAutoGen14Private::_preBegin__int1x4( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
69523 {
69524 #ifdef GENERATEDSAXPARSER_VALIDATION
69525     if ( mValidate )
69526     {
69527 
69528         bool validationResult = _validateBegin__int1x4( attributes, attributeDataPtr, validationDataPtr );
69529         if ( !validationResult ) return false;
69530 
69531     } // validation
69532 #endif
69533 
69534     return true;
69535 }
69536 
69537 //---------------------------------------------------------------------
_preEnd__int1x4()69538 bool ColladaParserAutoGen14Private::_preEnd__int1x4()
69539 {
69540 #ifdef GENERATEDSAXPARSER_VALIDATION
69541     if ( mValidate )
69542     {
69543 
69544         bool validationResult = _validateEnd__int1x4();
69545         if ( !validationResult ) return false;
69546 
69547     } // validation
69548 #endif
69549 
69550 #ifdef GENERATEDSAXPARSER_VALIDATION
69551     if ( mValidate )
69552     {
69553         int1x4__ValidationData* validationData = (int1x4__ValidationData*)mValidationDataStack.top();
69554         DISABLE_WARNING_UNUSED(validationData)
69555 bool returnValue = sint32DataEnd( &ColladaParserAutoGen14::data__int1x4, &validate__cg_int1x4__streamEnd, &validationData->validationWholeSize, &validate__cg_int );
69556         ParserError::ErrorType simpleTypeValidationResult = validate__cg_int1x4(0, (*(&validationData->validationWholeSize)));
69557         mValidationDataStack.deleteObject();
69558         if (simpleTypeValidationResult != ParserError::SIMPLE_TYPE_VALIDATION_OK)
69559         {
69560             if( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL,
69561                 simpleTypeValidationResult,
69562                 HASH_ELEMENT_INT1X4,
69563                 (ParserChar*)0, 0 ) )
69564             {
69565                 return false;
69566             }
69567         }
69568         return returnValue;
69569     }
69570     else
69571     {
69572 return sint32DataEnd( &ColladaParserAutoGen14::data__int1x4 );
69573     }
69574 #else
69575     {
69576 return sint32DataEnd( &ColladaParserAutoGen14::data__int1x4 );
69577     } // validation
69578 #endif
69579 
69580 }
69581 
69582 //---------------------------------------------------------------------
_freeAttributes__int1x4(void * attributeData)69583 bool ColladaParserAutoGen14Private::_freeAttributes__int1x4( void* attributeData )
69584 {
69585     return true;
69586 }
69587 
69588 //---------------------------------------------------------------------
_data__int2x1(const ParserChar * text,size_t textLength)69589 bool ColladaParserAutoGen14Private::_data__int2x1( const ParserChar* text, size_t textLength )
69590 {
69591 #ifdef GENERATEDSAXPARSER_VALIDATION
69592     if ( mValidate )
69593     {
69594         int2x1__ValidationData* validationData = (int2x1__ValidationData*)mValidationDataStack.top();
69595         DISABLE_WARNING_UNUSED(validationData)
69596 return characterData2Sint32Data(text, textLength, &ColladaParserAutoGen14::data__int2x1, &validate__cg_int2x1__stream, &validationData->validationWholeSize, &validate__cg_int);
69597     }
69598     else
69599     {
69600 return characterData2Sint32Data(text, textLength, &ColladaParserAutoGen14::data__int2x1);
69601     }
69602 #else
69603     {
69604 return characterData2Sint32Data(text, textLength, &ColladaParserAutoGen14::data__int2x1);
69605     } // validation
69606 #endif
69607 
69608 }
69609 
69610 //---------------------------------------------------------------------
_preBegin__int2x1(const ParserAttributes & attributes,void ** attributeDataPtr,void ** validationDataPtr)69611 bool ColladaParserAutoGen14Private::_preBegin__int2x1( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
69612 {
69613 #ifdef GENERATEDSAXPARSER_VALIDATION
69614     if ( mValidate )
69615     {
69616 
69617         bool validationResult = _validateBegin__int2x1( attributes, attributeDataPtr, validationDataPtr );
69618         if ( !validationResult ) return false;
69619 
69620     } // validation
69621 #endif
69622 
69623     return true;
69624 }
69625 
69626 //---------------------------------------------------------------------
_preEnd__int2x1()69627 bool ColladaParserAutoGen14Private::_preEnd__int2x1()
69628 {
69629 #ifdef GENERATEDSAXPARSER_VALIDATION
69630     if ( mValidate )
69631     {
69632 
69633         bool validationResult = _validateEnd__int2x1();
69634         if ( !validationResult ) return false;
69635 
69636     } // validation
69637 #endif
69638 
69639 #ifdef GENERATEDSAXPARSER_VALIDATION
69640     if ( mValidate )
69641     {
69642         int2x1__ValidationData* validationData = (int2x1__ValidationData*)mValidationDataStack.top();
69643         DISABLE_WARNING_UNUSED(validationData)
69644 bool returnValue = sint32DataEnd( &ColladaParserAutoGen14::data__int2x1, &validate__cg_int2x1__streamEnd, &validationData->validationWholeSize, &validate__cg_int );
69645         ParserError::ErrorType simpleTypeValidationResult = validate__cg_int2x1(0, (*(&validationData->validationWholeSize)));
69646         mValidationDataStack.deleteObject();
69647         if (simpleTypeValidationResult != ParserError::SIMPLE_TYPE_VALIDATION_OK)
69648         {
69649             if( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL,
69650                 simpleTypeValidationResult,
69651                 HASH_ELEMENT_INT2X1,
69652                 (ParserChar*)0, 0 ) )
69653             {
69654                 return false;
69655             }
69656         }
69657         return returnValue;
69658     }
69659     else
69660     {
69661 return sint32DataEnd( &ColladaParserAutoGen14::data__int2x1 );
69662     }
69663 #else
69664     {
69665 return sint32DataEnd( &ColladaParserAutoGen14::data__int2x1 );
69666     } // validation
69667 #endif
69668 
69669 }
69670 
69671 //---------------------------------------------------------------------
_freeAttributes__int2x1(void * attributeData)69672 bool ColladaParserAutoGen14Private::_freeAttributes__int2x1( void* attributeData )
69673 {
69674     return true;
69675 }
69676 
69677 //---------------------------------------------------------------------
_data__int2x2(const ParserChar * text,size_t textLength)69678 bool ColladaParserAutoGen14Private::_data__int2x2( const ParserChar* text, size_t textLength )
69679 {
69680 #ifdef GENERATEDSAXPARSER_VALIDATION
69681     if ( mValidate )
69682     {
69683         int2x2__ValidationData* validationData = (int2x2__ValidationData*)mValidationDataStack.top();
69684         DISABLE_WARNING_UNUSED(validationData)
69685 return characterData2Sint32Data(text, textLength, &ColladaParserAutoGen14::data__int2x2, &validate__cg_int2x2__stream, &validationData->validationWholeSize, &validate__cg_int);
69686     }
69687     else
69688     {
69689 return characterData2Sint32Data(text, textLength, &ColladaParserAutoGen14::data__int2x2);
69690     }
69691 #else
69692     {
69693 return characterData2Sint32Data(text, textLength, &ColladaParserAutoGen14::data__int2x2);
69694     } // validation
69695 #endif
69696 
69697 }
69698 
69699 //---------------------------------------------------------------------
_preBegin__int2x2(const ParserAttributes & attributes,void ** attributeDataPtr,void ** validationDataPtr)69700 bool ColladaParserAutoGen14Private::_preBegin__int2x2( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
69701 {
69702 #ifdef GENERATEDSAXPARSER_VALIDATION
69703     if ( mValidate )
69704     {
69705 
69706         bool validationResult = _validateBegin__int2x2( attributes, attributeDataPtr, validationDataPtr );
69707         if ( !validationResult ) return false;
69708 
69709     } // validation
69710 #endif
69711 
69712     return true;
69713 }
69714 
69715 //---------------------------------------------------------------------
_preEnd__int2x2()69716 bool ColladaParserAutoGen14Private::_preEnd__int2x2()
69717 {
69718 #ifdef GENERATEDSAXPARSER_VALIDATION
69719     if ( mValidate )
69720     {
69721 
69722         bool validationResult = _validateEnd__int2x2();
69723         if ( !validationResult ) return false;
69724 
69725     } // validation
69726 #endif
69727 
69728 #ifdef GENERATEDSAXPARSER_VALIDATION
69729     if ( mValidate )
69730     {
69731         int2x2__ValidationData* validationData = (int2x2__ValidationData*)mValidationDataStack.top();
69732         DISABLE_WARNING_UNUSED(validationData)
69733 bool returnValue = sint32DataEnd( &ColladaParserAutoGen14::data__int2x2, &validate__cg_int2x2__streamEnd, &validationData->validationWholeSize, &validate__cg_int );
69734         ParserError::ErrorType simpleTypeValidationResult = validate__cg_int2x2(0, (*(&validationData->validationWholeSize)));
69735         mValidationDataStack.deleteObject();
69736         if (simpleTypeValidationResult != ParserError::SIMPLE_TYPE_VALIDATION_OK)
69737         {
69738             if( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL,
69739                 simpleTypeValidationResult,
69740                 HASH_ELEMENT_INT2X2,
69741                 (ParserChar*)0, 0 ) )
69742             {
69743                 return false;
69744             }
69745         }
69746         return returnValue;
69747     }
69748     else
69749     {
69750 return sint32DataEnd( &ColladaParserAutoGen14::data__int2x2 );
69751     }
69752 #else
69753     {
69754 return sint32DataEnd( &ColladaParserAutoGen14::data__int2x2 );
69755     } // validation
69756 #endif
69757 
69758 }
69759 
69760 //---------------------------------------------------------------------
_freeAttributes__int2x2(void * attributeData)69761 bool ColladaParserAutoGen14Private::_freeAttributes__int2x2( void* attributeData )
69762 {
69763     return true;
69764 }
69765 
69766 //---------------------------------------------------------------------
_data__int2x3(const ParserChar * text,size_t textLength)69767 bool ColladaParserAutoGen14Private::_data__int2x3( const ParserChar* text, size_t textLength )
69768 {
69769 #ifdef GENERATEDSAXPARSER_VALIDATION
69770     if ( mValidate )
69771     {
69772         int2x3__ValidationData* validationData = (int2x3__ValidationData*)mValidationDataStack.top();
69773         DISABLE_WARNING_UNUSED(validationData)
69774 return characterData2Sint32Data(text, textLength, &ColladaParserAutoGen14::data__int2x3, &validate__cg_int2x3__stream, &validationData->validationWholeSize, &validate__cg_int);
69775     }
69776     else
69777     {
69778 return characterData2Sint32Data(text, textLength, &ColladaParserAutoGen14::data__int2x3);
69779     }
69780 #else
69781     {
69782 return characterData2Sint32Data(text, textLength, &ColladaParserAutoGen14::data__int2x3);
69783     } // validation
69784 #endif
69785 
69786 }
69787 
69788 //---------------------------------------------------------------------
_preBegin__int2x3(const ParserAttributes & attributes,void ** attributeDataPtr,void ** validationDataPtr)69789 bool ColladaParserAutoGen14Private::_preBegin__int2x3( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
69790 {
69791 #ifdef GENERATEDSAXPARSER_VALIDATION
69792     if ( mValidate )
69793     {
69794 
69795         bool validationResult = _validateBegin__int2x3( attributes, attributeDataPtr, validationDataPtr );
69796         if ( !validationResult ) return false;
69797 
69798     } // validation
69799 #endif
69800 
69801     return true;
69802 }
69803 
69804 //---------------------------------------------------------------------
_preEnd__int2x3()69805 bool ColladaParserAutoGen14Private::_preEnd__int2x3()
69806 {
69807 #ifdef GENERATEDSAXPARSER_VALIDATION
69808     if ( mValidate )
69809     {
69810 
69811         bool validationResult = _validateEnd__int2x3();
69812         if ( !validationResult ) return false;
69813 
69814     } // validation
69815 #endif
69816 
69817 #ifdef GENERATEDSAXPARSER_VALIDATION
69818     if ( mValidate )
69819     {
69820         int2x3__ValidationData* validationData = (int2x3__ValidationData*)mValidationDataStack.top();
69821         DISABLE_WARNING_UNUSED(validationData)
69822 bool returnValue = sint32DataEnd( &ColladaParserAutoGen14::data__int2x3, &validate__cg_int2x3__streamEnd, &validationData->validationWholeSize, &validate__cg_int );
69823         ParserError::ErrorType simpleTypeValidationResult = validate__cg_int2x3(0, (*(&validationData->validationWholeSize)));
69824         mValidationDataStack.deleteObject();
69825         if (simpleTypeValidationResult != ParserError::SIMPLE_TYPE_VALIDATION_OK)
69826         {
69827             if( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL,
69828                 simpleTypeValidationResult,
69829                 HASH_ELEMENT_INT2X3,
69830                 (ParserChar*)0, 0 ) )
69831             {
69832                 return false;
69833             }
69834         }
69835         return returnValue;
69836     }
69837     else
69838     {
69839 return sint32DataEnd( &ColladaParserAutoGen14::data__int2x3 );
69840     }
69841 #else
69842     {
69843 return sint32DataEnd( &ColladaParserAutoGen14::data__int2x3 );
69844     } // validation
69845 #endif
69846 
69847 }
69848 
69849 //---------------------------------------------------------------------
_freeAttributes__int2x3(void * attributeData)69850 bool ColladaParserAutoGen14Private::_freeAttributes__int2x3( void* attributeData )
69851 {
69852     return true;
69853 }
69854 
69855 //---------------------------------------------------------------------
_data__int2x4(const ParserChar * text,size_t textLength)69856 bool ColladaParserAutoGen14Private::_data__int2x4( const ParserChar* text, size_t textLength )
69857 {
69858 #ifdef GENERATEDSAXPARSER_VALIDATION
69859     if ( mValidate )
69860     {
69861         int2x4__ValidationData* validationData = (int2x4__ValidationData*)mValidationDataStack.top();
69862         DISABLE_WARNING_UNUSED(validationData)
69863 return characterData2Sint32Data(text, textLength, &ColladaParserAutoGen14::data__int2x4, &validate__cg_int2x4__stream, &validationData->validationWholeSize, &validate__cg_int);
69864     }
69865     else
69866     {
69867 return characterData2Sint32Data(text, textLength, &ColladaParserAutoGen14::data__int2x4);
69868     }
69869 #else
69870     {
69871 return characterData2Sint32Data(text, textLength, &ColladaParserAutoGen14::data__int2x4);
69872     } // validation
69873 #endif
69874 
69875 }
69876 
69877 //---------------------------------------------------------------------
_preBegin__int2x4(const ParserAttributes & attributes,void ** attributeDataPtr,void ** validationDataPtr)69878 bool ColladaParserAutoGen14Private::_preBegin__int2x4( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
69879 {
69880 #ifdef GENERATEDSAXPARSER_VALIDATION
69881     if ( mValidate )
69882     {
69883 
69884         bool validationResult = _validateBegin__int2x4( attributes, attributeDataPtr, validationDataPtr );
69885         if ( !validationResult ) return false;
69886 
69887     } // validation
69888 #endif
69889 
69890     return true;
69891 }
69892 
69893 //---------------------------------------------------------------------
_preEnd__int2x4()69894 bool ColladaParserAutoGen14Private::_preEnd__int2x4()
69895 {
69896 #ifdef GENERATEDSAXPARSER_VALIDATION
69897     if ( mValidate )
69898     {
69899 
69900         bool validationResult = _validateEnd__int2x4();
69901         if ( !validationResult ) return false;
69902 
69903     } // validation
69904 #endif
69905 
69906 #ifdef GENERATEDSAXPARSER_VALIDATION
69907     if ( mValidate )
69908     {
69909         int2x4__ValidationData* validationData = (int2x4__ValidationData*)mValidationDataStack.top();
69910         DISABLE_WARNING_UNUSED(validationData)
69911 bool returnValue = sint32DataEnd( &ColladaParserAutoGen14::data__int2x4, &validate__cg_int2x4__streamEnd, &validationData->validationWholeSize, &validate__cg_int );
69912         ParserError::ErrorType simpleTypeValidationResult = validate__cg_int2x4(0, (*(&validationData->validationWholeSize)));
69913         mValidationDataStack.deleteObject();
69914         if (simpleTypeValidationResult != ParserError::SIMPLE_TYPE_VALIDATION_OK)
69915         {
69916             if( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL,
69917                 simpleTypeValidationResult,
69918                 HASH_ELEMENT_INT2X4,
69919                 (ParserChar*)0, 0 ) )
69920             {
69921                 return false;
69922             }
69923         }
69924         return returnValue;
69925     }
69926     else
69927     {
69928 return sint32DataEnd( &ColladaParserAutoGen14::data__int2x4 );
69929     }
69930 #else
69931     {
69932 return sint32DataEnd( &ColladaParserAutoGen14::data__int2x4 );
69933     } // validation
69934 #endif
69935 
69936 }
69937 
69938 //---------------------------------------------------------------------
_freeAttributes__int2x4(void * attributeData)69939 bool ColladaParserAutoGen14Private::_freeAttributes__int2x4( void* attributeData )
69940 {
69941     return true;
69942 }
69943 
69944 //---------------------------------------------------------------------
_data__int3x1(const ParserChar * text,size_t textLength)69945 bool ColladaParserAutoGen14Private::_data__int3x1( const ParserChar* text, size_t textLength )
69946 {
69947 #ifdef GENERATEDSAXPARSER_VALIDATION
69948     if ( mValidate )
69949     {
69950         int3x1__ValidationData* validationData = (int3x1__ValidationData*)mValidationDataStack.top();
69951         DISABLE_WARNING_UNUSED(validationData)
69952 return characterData2Sint32Data(text, textLength, &ColladaParserAutoGen14::data__int3x1, &validate__cg_int3x1__stream, &validationData->validationWholeSize, &validate__cg_int);
69953     }
69954     else
69955     {
69956 return characterData2Sint32Data(text, textLength, &ColladaParserAutoGen14::data__int3x1);
69957     }
69958 #else
69959     {
69960 return characterData2Sint32Data(text, textLength, &ColladaParserAutoGen14::data__int3x1);
69961     } // validation
69962 #endif
69963 
69964 }
69965 
69966 //---------------------------------------------------------------------
_preBegin__int3x1(const ParserAttributes & attributes,void ** attributeDataPtr,void ** validationDataPtr)69967 bool ColladaParserAutoGen14Private::_preBegin__int3x1( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
69968 {
69969 #ifdef GENERATEDSAXPARSER_VALIDATION
69970     if ( mValidate )
69971     {
69972 
69973         bool validationResult = _validateBegin__int3x1( attributes, attributeDataPtr, validationDataPtr );
69974         if ( !validationResult ) return false;
69975 
69976     } // validation
69977 #endif
69978 
69979     return true;
69980 }
69981 
69982 //---------------------------------------------------------------------
_preEnd__int3x1()69983 bool ColladaParserAutoGen14Private::_preEnd__int3x1()
69984 {
69985 #ifdef GENERATEDSAXPARSER_VALIDATION
69986     if ( mValidate )
69987     {
69988 
69989         bool validationResult = _validateEnd__int3x1();
69990         if ( !validationResult ) return false;
69991 
69992     } // validation
69993 #endif
69994 
69995 #ifdef GENERATEDSAXPARSER_VALIDATION
69996     if ( mValidate )
69997     {
69998         int3x1__ValidationData* validationData = (int3x1__ValidationData*)mValidationDataStack.top();
69999         DISABLE_WARNING_UNUSED(validationData)
70000 bool returnValue = sint32DataEnd( &ColladaParserAutoGen14::data__int3x1, &validate__cg_int3x1__streamEnd, &validationData->validationWholeSize, &validate__cg_int );
70001         ParserError::ErrorType simpleTypeValidationResult = validate__cg_int3x1(0, (*(&validationData->validationWholeSize)));
70002         mValidationDataStack.deleteObject();
70003         if (simpleTypeValidationResult != ParserError::SIMPLE_TYPE_VALIDATION_OK)
70004         {
70005             if( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL,
70006                 simpleTypeValidationResult,
70007                 HASH_ELEMENT_INT3X1,
70008                 (ParserChar*)0, 0 ) )
70009             {
70010                 return false;
70011             }
70012         }
70013         return returnValue;
70014     }
70015     else
70016     {
70017 return sint32DataEnd( &ColladaParserAutoGen14::data__int3x1 );
70018     }
70019 #else
70020     {
70021 return sint32DataEnd( &ColladaParserAutoGen14::data__int3x1 );
70022     } // validation
70023 #endif
70024 
70025 }
70026 
70027 //---------------------------------------------------------------------
_freeAttributes__int3x1(void * attributeData)70028 bool ColladaParserAutoGen14Private::_freeAttributes__int3x1( void* attributeData )
70029 {
70030     return true;
70031 }
70032 
70033 //---------------------------------------------------------------------
_data__int3x2(const ParserChar * text,size_t textLength)70034 bool ColladaParserAutoGen14Private::_data__int3x2( const ParserChar* text, size_t textLength )
70035 {
70036 #ifdef GENERATEDSAXPARSER_VALIDATION
70037     if ( mValidate )
70038     {
70039         int3x2__ValidationData* validationData = (int3x2__ValidationData*)mValidationDataStack.top();
70040         DISABLE_WARNING_UNUSED(validationData)
70041 return characterData2Sint32Data(text, textLength, &ColladaParserAutoGen14::data__int3x2, &validate__cg_int3x2__stream, &validationData->validationWholeSize, &validate__cg_int);
70042     }
70043     else
70044     {
70045 return characterData2Sint32Data(text, textLength, &ColladaParserAutoGen14::data__int3x2);
70046     }
70047 #else
70048     {
70049 return characterData2Sint32Data(text, textLength, &ColladaParserAutoGen14::data__int3x2);
70050     } // validation
70051 #endif
70052 
70053 }
70054 
70055 //---------------------------------------------------------------------
_preBegin__int3x2(const ParserAttributes & attributes,void ** attributeDataPtr,void ** validationDataPtr)70056 bool ColladaParserAutoGen14Private::_preBegin__int3x2( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
70057 {
70058 #ifdef GENERATEDSAXPARSER_VALIDATION
70059     if ( mValidate )
70060     {
70061 
70062         bool validationResult = _validateBegin__int3x2( attributes, attributeDataPtr, validationDataPtr );
70063         if ( !validationResult ) return false;
70064 
70065     } // validation
70066 #endif
70067 
70068     return true;
70069 }
70070 
70071 //---------------------------------------------------------------------
_preEnd__int3x2()70072 bool ColladaParserAutoGen14Private::_preEnd__int3x2()
70073 {
70074 #ifdef GENERATEDSAXPARSER_VALIDATION
70075     if ( mValidate )
70076     {
70077 
70078         bool validationResult = _validateEnd__int3x2();
70079         if ( !validationResult ) return false;
70080 
70081     } // validation
70082 #endif
70083 
70084 #ifdef GENERATEDSAXPARSER_VALIDATION
70085     if ( mValidate )
70086     {
70087         int3x2__ValidationData* validationData = (int3x2__ValidationData*)mValidationDataStack.top();
70088         DISABLE_WARNING_UNUSED(validationData)
70089 bool returnValue = sint32DataEnd( &ColladaParserAutoGen14::data__int3x2, &validate__cg_int3x2__streamEnd, &validationData->validationWholeSize, &validate__cg_int );
70090         ParserError::ErrorType simpleTypeValidationResult = validate__cg_int3x2(0, (*(&validationData->validationWholeSize)));
70091         mValidationDataStack.deleteObject();
70092         if (simpleTypeValidationResult != ParserError::SIMPLE_TYPE_VALIDATION_OK)
70093         {
70094             if( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL,
70095                 simpleTypeValidationResult,
70096                 HASH_ELEMENT_INT3X2,
70097                 (ParserChar*)0, 0 ) )
70098             {
70099                 return false;
70100             }
70101         }
70102         return returnValue;
70103     }
70104     else
70105     {
70106 return sint32DataEnd( &ColladaParserAutoGen14::data__int3x2 );
70107     }
70108 #else
70109     {
70110 return sint32DataEnd( &ColladaParserAutoGen14::data__int3x2 );
70111     } // validation
70112 #endif
70113 
70114 }
70115 
70116 //---------------------------------------------------------------------
_freeAttributes__int3x2(void * attributeData)70117 bool ColladaParserAutoGen14Private::_freeAttributes__int3x2( void* attributeData )
70118 {
70119     return true;
70120 }
70121 
70122 //---------------------------------------------------------------------
_data__int3x3(const ParserChar * text,size_t textLength)70123 bool ColladaParserAutoGen14Private::_data__int3x3( const ParserChar* text, size_t textLength )
70124 {
70125 #ifdef GENERATEDSAXPARSER_VALIDATION
70126     if ( mValidate )
70127     {
70128         int3x3__ValidationData* validationData = (int3x3__ValidationData*)mValidationDataStack.top();
70129         DISABLE_WARNING_UNUSED(validationData)
70130 return characterData2Sint32Data(text, textLength, &ColladaParserAutoGen14::data__int3x3, &validate__cg_int3x3__stream, &validationData->validationWholeSize, &validate__cg_int);
70131     }
70132     else
70133     {
70134 return characterData2Sint32Data(text, textLength, &ColladaParserAutoGen14::data__int3x3);
70135     }
70136 #else
70137     {
70138 return characterData2Sint32Data(text, textLength, &ColladaParserAutoGen14::data__int3x3);
70139     } // validation
70140 #endif
70141 
70142 }
70143 
70144 //---------------------------------------------------------------------
_preBegin__int3x3(const ParserAttributes & attributes,void ** attributeDataPtr,void ** validationDataPtr)70145 bool ColladaParserAutoGen14Private::_preBegin__int3x3( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
70146 {
70147 #ifdef GENERATEDSAXPARSER_VALIDATION
70148     if ( mValidate )
70149     {
70150 
70151         bool validationResult = _validateBegin__int3x3( attributes, attributeDataPtr, validationDataPtr );
70152         if ( !validationResult ) return false;
70153 
70154     } // validation
70155 #endif
70156 
70157     return true;
70158 }
70159 
70160 //---------------------------------------------------------------------
_preEnd__int3x3()70161 bool ColladaParserAutoGen14Private::_preEnd__int3x3()
70162 {
70163 #ifdef GENERATEDSAXPARSER_VALIDATION
70164     if ( mValidate )
70165     {
70166 
70167         bool validationResult = _validateEnd__int3x3();
70168         if ( !validationResult ) return false;
70169 
70170     } // validation
70171 #endif
70172 
70173 #ifdef GENERATEDSAXPARSER_VALIDATION
70174     if ( mValidate )
70175     {
70176         int3x3__ValidationData* validationData = (int3x3__ValidationData*)mValidationDataStack.top();
70177         DISABLE_WARNING_UNUSED(validationData)
70178 bool returnValue = sint32DataEnd( &ColladaParserAutoGen14::data__int3x3, &validate__cg_int3x3__streamEnd, &validationData->validationWholeSize, &validate__cg_int );
70179         ParserError::ErrorType simpleTypeValidationResult = validate__cg_int3x3(0, (*(&validationData->validationWholeSize)));
70180         mValidationDataStack.deleteObject();
70181         if (simpleTypeValidationResult != ParserError::SIMPLE_TYPE_VALIDATION_OK)
70182         {
70183             if( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL,
70184                 simpleTypeValidationResult,
70185                 HASH_ELEMENT_INT3X3,
70186                 (ParserChar*)0, 0 ) )
70187             {
70188                 return false;
70189             }
70190         }
70191         return returnValue;
70192     }
70193     else
70194     {
70195 return sint32DataEnd( &ColladaParserAutoGen14::data__int3x3 );
70196     }
70197 #else
70198     {
70199 return sint32DataEnd( &ColladaParserAutoGen14::data__int3x3 );
70200     } // validation
70201 #endif
70202 
70203 }
70204 
70205 //---------------------------------------------------------------------
_freeAttributes__int3x3(void * attributeData)70206 bool ColladaParserAutoGen14Private::_freeAttributes__int3x3( void* attributeData )
70207 {
70208     return true;
70209 }
70210 
70211 //---------------------------------------------------------------------
_data__int3x4(const ParserChar * text,size_t textLength)70212 bool ColladaParserAutoGen14Private::_data__int3x4( const ParserChar* text, size_t textLength )
70213 {
70214 #ifdef GENERATEDSAXPARSER_VALIDATION
70215     if ( mValidate )
70216     {
70217         int3x4__ValidationData* validationData = (int3x4__ValidationData*)mValidationDataStack.top();
70218         DISABLE_WARNING_UNUSED(validationData)
70219 return characterData2Sint32Data(text, textLength, &ColladaParserAutoGen14::data__int3x4, &validate__cg_int3x4__stream, &validationData->validationWholeSize, &validate__cg_int);
70220     }
70221     else
70222     {
70223 return characterData2Sint32Data(text, textLength, &ColladaParserAutoGen14::data__int3x4);
70224     }
70225 #else
70226     {
70227 return characterData2Sint32Data(text, textLength, &ColladaParserAutoGen14::data__int3x4);
70228     } // validation
70229 #endif
70230 
70231 }
70232 
70233 //---------------------------------------------------------------------
_preBegin__int3x4(const ParserAttributes & attributes,void ** attributeDataPtr,void ** validationDataPtr)70234 bool ColladaParserAutoGen14Private::_preBegin__int3x4( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
70235 {
70236 #ifdef GENERATEDSAXPARSER_VALIDATION
70237     if ( mValidate )
70238     {
70239 
70240         bool validationResult = _validateBegin__int3x4( attributes, attributeDataPtr, validationDataPtr );
70241         if ( !validationResult ) return false;
70242 
70243     } // validation
70244 #endif
70245 
70246     return true;
70247 }
70248 
70249 //---------------------------------------------------------------------
_preEnd__int3x4()70250 bool ColladaParserAutoGen14Private::_preEnd__int3x4()
70251 {
70252 #ifdef GENERATEDSAXPARSER_VALIDATION
70253     if ( mValidate )
70254     {
70255 
70256         bool validationResult = _validateEnd__int3x4();
70257         if ( !validationResult ) return false;
70258 
70259     } // validation
70260 #endif
70261 
70262 #ifdef GENERATEDSAXPARSER_VALIDATION
70263     if ( mValidate )
70264     {
70265         int3x4__ValidationData* validationData = (int3x4__ValidationData*)mValidationDataStack.top();
70266         DISABLE_WARNING_UNUSED(validationData)
70267 bool returnValue = sint32DataEnd( &ColladaParserAutoGen14::data__int3x4, &validate__cg_int3x4__streamEnd, &validationData->validationWholeSize, &validate__cg_int );
70268         ParserError::ErrorType simpleTypeValidationResult = validate__cg_int3x4(0, (*(&validationData->validationWholeSize)));
70269         mValidationDataStack.deleteObject();
70270         if (simpleTypeValidationResult != ParserError::SIMPLE_TYPE_VALIDATION_OK)
70271         {
70272             if( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL,
70273                 simpleTypeValidationResult,
70274                 HASH_ELEMENT_INT3X4,
70275                 (ParserChar*)0, 0 ) )
70276             {
70277                 return false;
70278             }
70279         }
70280         return returnValue;
70281     }
70282     else
70283     {
70284 return sint32DataEnd( &ColladaParserAutoGen14::data__int3x4 );
70285     }
70286 #else
70287     {
70288 return sint32DataEnd( &ColladaParserAutoGen14::data__int3x4 );
70289     } // validation
70290 #endif
70291 
70292 }
70293 
70294 //---------------------------------------------------------------------
_freeAttributes__int3x4(void * attributeData)70295 bool ColladaParserAutoGen14Private::_freeAttributes__int3x4( void* attributeData )
70296 {
70297     return true;
70298 }
70299 
70300 //---------------------------------------------------------------------
_data__int4x1(const ParserChar * text,size_t textLength)70301 bool ColladaParserAutoGen14Private::_data__int4x1( const ParserChar* text, size_t textLength )
70302 {
70303 #ifdef GENERATEDSAXPARSER_VALIDATION
70304     if ( mValidate )
70305     {
70306         int4x1__ValidationData* validationData = (int4x1__ValidationData*)mValidationDataStack.top();
70307         DISABLE_WARNING_UNUSED(validationData)
70308 return characterData2Sint32Data(text, textLength, &ColladaParserAutoGen14::data__int4x1, &validate__cg_int4x1__stream, &validationData->validationWholeSize, &validate__cg_int);
70309     }
70310     else
70311     {
70312 return characterData2Sint32Data(text, textLength, &ColladaParserAutoGen14::data__int4x1);
70313     }
70314 #else
70315     {
70316 return characterData2Sint32Data(text, textLength, &ColladaParserAutoGen14::data__int4x1);
70317     } // validation
70318 #endif
70319 
70320 }
70321 
70322 //---------------------------------------------------------------------
_preBegin__int4x1(const ParserAttributes & attributes,void ** attributeDataPtr,void ** validationDataPtr)70323 bool ColladaParserAutoGen14Private::_preBegin__int4x1( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
70324 {
70325 #ifdef GENERATEDSAXPARSER_VALIDATION
70326     if ( mValidate )
70327     {
70328 
70329         bool validationResult = _validateBegin__int4x1( attributes, attributeDataPtr, validationDataPtr );
70330         if ( !validationResult ) return false;
70331 
70332     } // validation
70333 #endif
70334 
70335     return true;
70336 }
70337 
70338 //---------------------------------------------------------------------
_preEnd__int4x1()70339 bool ColladaParserAutoGen14Private::_preEnd__int4x1()
70340 {
70341 #ifdef GENERATEDSAXPARSER_VALIDATION
70342     if ( mValidate )
70343     {
70344 
70345         bool validationResult = _validateEnd__int4x1();
70346         if ( !validationResult ) return false;
70347 
70348     } // validation
70349 #endif
70350 
70351 #ifdef GENERATEDSAXPARSER_VALIDATION
70352     if ( mValidate )
70353     {
70354         int4x1__ValidationData* validationData = (int4x1__ValidationData*)mValidationDataStack.top();
70355         DISABLE_WARNING_UNUSED(validationData)
70356 bool returnValue = sint32DataEnd( &ColladaParserAutoGen14::data__int4x1, &validate__cg_int4x1__streamEnd, &validationData->validationWholeSize, &validate__cg_int );
70357         ParserError::ErrorType simpleTypeValidationResult = validate__cg_int4x1(0, (*(&validationData->validationWholeSize)));
70358         mValidationDataStack.deleteObject();
70359         if (simpleTypeValidationResult != ParserError::SIMPLE_TYPE_VALIDATION_OK)
70360         {
70361             if( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL,
70362                 simpleTypeValidationResult,
70363                 HASH_ELEMENT_INT4X1,
70364                 (ParserChar*)0, 0 ) )
70365             {
70366                 return false;
70367             }
70368         }
70369         return returnValue;
70370     }
70371     else
70372     {
70373 return sint32DataEnd( &ColladaParserAutoGen14::data__int4x1 );
70374     }
70375 #else
70376     {
70377 return sint32DataEnd( &ColladaParserAutoGen14::data__int4x1 );
70378     } // validation
70379 #endif
70380 
70381 }
70382 
70383 //---------------------------------------------------------------------
_freeAttributes__int4x1(void * attributeData)70384 bool ColladaParserAutoGen14Private::_freeAttributes__int4x1( void* attributeData )
70385 {
70386     return true;
70387 }
70388 
70389 //---------------------------------------------------------------------
_data__int4x2(const ParserChar * text,size_t textLength)70390 bool ColladaParserAutoGen14Private::_data__int4x2( const ParserChar* text, size_t textLength )
70391 {
70392 #ifdef GENERATEDSAXPARSER_VALIDATION
70393     if ( mValidate )
70394     {
70395         int4x2__ValidationData* validationData = (int4x2__ValidationData*)mValidationDataStack.top();
70396         DISABLE_WARNING_UNUSED(validationData)
70397 return characterData2Sint32Data(text, textLength, &ColladaParserAutoGen14::data__int4x2, &validate__cg_int4x2__stream, &validationData->validationWholeSize, &validate__cg_int);
70398     }
70399     else
70400     {
70401 return characterData2Sint32Data(text, textLength, &ColladaParserAutoGen14::data__int4x2);
70402     }
70403 #else
70404     {
70405 return characterData2Sint32Data(text, textLength, &ColladaParserAutoGen14::data__int4x2);
70406     } // validation
70407 #endif
70408 
70409 }
70410 
70411 //---------------------------------------------------------------------
_preBegin__int4x2(const ParserAttributes & attributes,void ** attributeDataPtr,void ** validationDataPtr)70412 bool ColladaParserAutoGen14Private::_preBegin__int4x2( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
70413 {
70414 #ifdef GENERATEDSAXPARSER_VALIDATION
70415     if ( mValidate )
70416     {
70417 
70418         bool validationResult = _validateBegin__int4x2( attributes, attributeDataPtr, validationDataPtr );
70419         if ( !validationResult ) return false;
70420 
70421     } // validation
70422 #endif
70423 
70424     return true;
70425 }
70426 
70427 //---------------------------------------------------------------------
_preEnd__int4x2()70428 bool ColladaParserAutoGen14Private::_preEnd__int4x2()
70429 {
70430 #ifdef GENERATEDSAXPARSER_VALIDATION
70431     if ( mValidate )
70432     {
70433 
70434         bool validationResult = _validateEnd__int4x2();
70435         if ( !validationResult ) return false;
70436 
70437     } // validation
70438 #endif
70439 
70440 #ifdef GENERATEDSAXPARSER_VALIDATION
70441     if ( mValidate )
70442     {
70443         int4x2__ValidationData* validationData = (int4x2__ValidationData*)mValidationDataStack.top();
70444         DISABLE_WARNING_UNUSED(validationData)
70445 bool returnValue = sint32DataEnd( &ColladaParserAutoGen14::data__int4x2, &validate__cg_int4x2__streamEnd, &validationData->validationWholeSize, &validate__cg_int );
70446         ParserError::ErrorType simpleTypeValidationResult = validate__cg_int4x2(0, (*(&validationData->validationWholeSize)));
70447         mValidationDataStack.deleteObject();
70448         if (simpleTypeValidationResult != ParserError::SIMPLE_TYPE_VALIDATION_OK)
70449         {
70450             if( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL,
70451                 simpleTypeValidationResult,
70452                 HASH_ELEMENT_INT4X2,
70453                 (ParserChar*)0, 0 ) )
70454             {
70455                 return false;
70456             }
70457         }
70458         return returnValue;
70459     }
70460     else
70461     {
70462 return sint32DataEnd( &ColladaParserAutoGen14::data__int4x2 );
70463     }
70464 #else
70465     {
70466 return sint32DataEnd( &ColladaParserAutoGen14::data__int4x2 );
70467     } // validation
70468 #endif
70469 
70470 }
70471 
70472 //---------------------------------------------------------------------
_freeAttributes__int4x2(void * attributeData)70473 bool ColladaParserAutoGen14Private::_freeAttributes__int4x2( void* attributeData )
70474 {
70475     return true;
70476 }
70477 
70478 //---------------------------------------------------------------------
_data__int4x3(const ParserChar * text,size_t textLength)70479 bool ColladaParserAutoGen14Private::_data__int4x3( const ParserChar* text, size_t textLength )
70480 {
70481 #ifdef GENERATEDSAXPARSER_VALIDATION
70482     if ( mValidate )
70483     {
70484         int4x3__ValidationData* validationData = (int4x3__ValidationData*)mValidationDataStack.top();
70485         DISABLE_WARNING_UNUSED(validationData)
70486 return characterData2Sint32Data(text, textLength, &ColladaParserAutoGen14::data__int4x3, &validate__cg_int4x3__stream, &validationData->validationWholeSize, &validate__cg_int);
70487     }
70488     else
70489     {
70490 return characterData2Sint32Data(text, textLength, &ColladaParserAutoGen14::data__int4x3);
70491     }
70492 #else
70493     {
70494 return characterData2Sint32Data(text, textLength, &ColladaParserAutoGen14::data__int4x3);
70495     } // validation
70496 #endif
70497 
70498 }
70499 
70500 //---------------------------------------------------------------------
_preBegin__int4x3(const ParserAttributes & attributes,void ** attributeDataPtr,void ** validationDataPtr)70501 bool ColladaParserAutoGen14Private::_preBegin__int4x3( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
70502 {
70503 #ifdef GENERATEDSAXPARSER_VALIDATION
70504     if ( mValidate )
70505     {
70506 
70507         bool validationResult = _validateBegin__int4x3( attributes, attributeDataPtr, validationDataPtr );
70508         if ( !validationResult ) return false;
70509 
70510     } // validation
70511 #endif
70512 
70513     return true;
70514 }
70515 
70516 //---------------------------------------------------------------------
_preEnd__int4x3()70517 bool ColladaParserAutoGen14Private::_preEnd__int4x3()
70518 {
70519 #ifdef GENERATEDSAXPARSER_VALIDATION
70520     if ( mValidate )
70521     {
70522 
70523         bool validationResult = _validateEnd__int4x3();
70524         if ( !validationResult ) return false;
70525 
70526     } // validation
70527 #endif
70528 
70529 #ifdef GENERATEDSAXPARSER_VALIDATION
70530     if ( mValidate )
70531     {
70532         int4x3__ValidationData* validationData = (int4x3__ValidationData*)mValidationDataStack.top();
70533         DISABLE_WARNING_UNUSED(validationData)
70534 bool returnValue = sint32DataEnd( &ColladaParserAutoGen14::data__int4x3, &validate__cg_int4x3__streamEnd, &validationData->validationWholeSize, &validate__cg_int );
70535         ParserError::ErrorType simpleTypeValidationResult = validate__cg_int4x3(0, (*(&validationData->validationWholeSize)));
70536         mValidationDataStack.deleteObject();
70537         if (simpleTypeValidationResult != ParserError::SIMPLE_TYPE_VALIDATION_OK)
70538         {
70539             if( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL,
70540                 simpleTypeValidationResult,
70541                 HASH_ELEMENT_INT4X3,
70542                 (ParserChar*)0, 0 ) )
70543             {
70544                 return false;
70545             }
70546         }
70547         return returnValue;
70548     }
70549     else
70550     {
70551 return sint32DataEnd( &ColladaParserAutoGen14::data__int4x3 );
70552     }
70553 #else
70554     {
70555 return sint32DataEnd( &ColladaParserAutoGen14::data__int4x3 );
70556     } // validation
70557 #endif
70558 
70559 }
70560 
70561 //---------------------------------------------------------------------
_freeAttributes__int4x3(void * attributeData)70562 bool ColladaParserAutoGen14Private::_freeAttributes__int4x3( void* attributeData )
70563 {
70564     return true;
70565 }
70566 
70567 //---------------------------------------------------------------------
_data__int4x4(const ParserChar * text,size_t textLength)70568 bool ColladaParserAutoGen14Private::_data__int4x4( const ParserChar* text, size_t textLength )
70569 {
70570 #ifdef GENERATEDSAXPARSER_VALIDATION
70571     if ( mValidate )
70572     {
70573         int4x4__ValidationData* validationData = (int4x4__ValidationData*)mValidationDataStack.top();
70574         DISABLE_WARNING_UNUSED(validationData)
70575 return characterData2Sint32Data(text, textLength, &ColladaParserAutoGen14::data__int4x4, &validate__cg_int4x4__stream, &validationData->validationWholeSize, &validate__cg_int);
70576     }
70577     else
70578     {
70579 return characterData2Sint32Data(text, textLength, &ColladaParserAutoGen14::data__int4x4);
70580     }
70581 #else
70582     {
70583 return characterData2Sint32Data(text, textLength, &ColladaParserAutoGen14::data__int4x4);
70584     } // validation
70585 #endif
70586 
70587 }
70588 
70589 //---------------------------------------------------------------------
_preBegin__int4x4(const ParserAttributes & attributes,void ** attributeDataPtr,void ** validationDataPtr)70590 bool ColladaParserAutoGen14Private::_preBegin__int4x4( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
70591 {
70592 #ifdef GENERATEDSAXPARSER_VALIDATION
70593     if ( mValidate )
70594     {
70595 
70596         bool validationResult = _validateBegin__int4x4( attributes, attributeDataPtr, validationDataPtr );
70597         if ( !validationResult ) return false;
70598 
70599     } // validation
70600 #endif
70601 
70602     return true;
70603 }
70604 
70605 //---------------------------------------------------------------------
_preEnd__int4x4()70606 bool ColladaParserAutoGen14Private::_preEnd__int4x4()
70607 {
70608 #ifdef GENERATEDSAXPARSER_VALIDATION
70609     if ( mValidate )
70610     {
70611 
70612         bool validationResult = _validateEnd__int4x4();
70613         if ( !validationResult ) return false;
70614 
70615     } // validation
70616 #endif
70617 
70618 #ifdef GENERATEDSAXPARSER_VALIDATION
70619     if ( mValidate )
70620     {
70621         int4x4__ValidationData* validationData = (int4x4__ValidationData*)mValidationDataStack.top();
70622         DISABLE_WARNING_UNUSED(validationData)
70623 bool returnValue = sint32DataEnd( &ColladaParserAutoGen14::data__int4x4, &validate__cg_int4x4__streamEnd, &validationData->validationWholeSize, &validate__cg_int );
70624         ParserError::ErrorType simpleTypeValidationResult = validate__cg_int4x4(0, (*(&validationData->validationWholeSize)));
70625         mValidationDataStack.deleteObject();
70626         if (simpleTypeValidationResult != ParserError::SIMPLE_TYPE_VALIDATION_OK)
70627         {
70628             if( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL,
70629                 simpleTypeValidationResult,
70630                 HASH_ELEMENT_INT4X4,
70631                 (ParserChar*)0, 0 ) )
70632             {
70633                 return false;
70634             }
70635         }
70636         return returnValue;
70637     }
70638     else
70639     {
70640 return sint32DataEnd( &ColladaParserAutoGen14::data__int4x4 );
70641     }
70642 #else
70643     {
70644 return sint32DataEnd( &ColladaParserAutoGen14::data__int4x4 );
70645     } // validation
70646 #endif
70647 
70648 }
70649 
70650 //---------------------------------------------------------------------
_freeAttributes__int4x4(void * attributeData)70651 bool ColladaParserAutoGen14Private::_freeAttributes__int4x4( void* attributeData )
70652 {
70653     return true;
70654 }
70655 
70656 //---------------------------------------------------------------------
_data__half(const ParserChar * text,size_t textLength)70657 bool ColladaParserAutoGen14Private::_data__half( const ParserChar* text, size_t textLength )
70658 {
70659 if (!mLastIncompleteFragmentInCharacterData)
70660 {
70661     mLastIncompleteFragmentInCharacterData = (ParserChar*)mStackMemoryManager.newObject(textLength);
70662     memcpy(mLastIncompleteFragmentInCharacterData, text, textLength);
70663     mEndOfDataInCurrentObjectOnStack = mLastIncompleteFragmentInCharacterData + textLength;
70664 }
70665 else
70666 {
70667     ParserChar* tmp = (ParserChar*)mStackMemoryManager.growObject(textLength);
70668     if ( tmp != mLastIncompleteFragmentInCharacterData ) {
70669         mEndOfDataInCurrentObjectOnStack = (mEndOfDataInCurrentObjectOnStack - mLastIncompleteFragmentInCharacterData) + tmp;
70670         mLastIncompleteFragmentInCharacterData = tmp;
70671     }
70672     memcpy(mEndOfDataInCurrentObjectOnStack, text, textLength);
70673     mEndOfDataInCurrentObjectOnStack += textLength;
70674 }
70675 return true;
70676 }
70677 
70678 //---------------------------------------------------------------------
_preBegin__half(const ParserAttributes & attributes,void ** attributeDataPtr,void ** validationDataPtr)70679 bool ColladaParserAutoGen14Private::_preBegin__half( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
70680 {
70681 #ifdef GENERATEDSAXPARSER_VALIDATION
70682     if ( mValidate )
70683     {
70684 
70685         bool validationResult = _validateBegin__half( attributes, attributeDataPtr, validationDataPtr );
70686         if ( !validationResult ) return false;
70687 
70688     } // validation
70689 #endif
70690 
70691     return true;
70692 }
70693 
70694 //---------------------------------------------------------------------
_preEnd__half()70695 bool ColladaParserAutoGen14Private::_preEnd__half()
70696 {
70697 #ifdef GENERATEDSAXPARSER_VALIDATION
70698     if ( mValidate )
70699     {
70700 
70701         bool validationResult = _validateEnd__half();
70702         if ( !validationResult ) return false;
70703 
70704     } // validation
70705 #endif
70706 
70707 bool failed;
70708 const ParserChar* ptrForErr = mLastIncompleteFragmentInCharacterData;
70709 DISABLE_WARNING_UNUSED(ptrForErr)
70710 float parameter = GeneratedSaxParser::Utils::toFloat((const ParserChar**)&mLastIncompleteFragmentInCharacterData, mEndOfDataInCurrentObjectOnStack, failed);
70711 bool returnValue;
70712 if (!failed)
70713 {
70714     returnValue = mImpl->data__half(parameter);
70715 }
70716 else
70717     returnValue = !handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_TEXTDATA_PARSING_FAILED, HASH_ELEMENT_HALF, (const ParserChar*)0, mLastIncompleteFragmentInCharacterData);
70718 if (mLastIncompleteFragmentInCharacterData)
70719     mStackMemoryManager.deleteObject();
70720 mLastIncompleteFragmentInCharacterData = 0;
70721 mEndOfDataInCurrentObjectOnStack = 0;
70722 return returnValue;
70723 }
70724 
70725 //---------------------------------------------------------------------
_freeAttributes__half(void * attributeData)70726 bool ColladaParserAutoGen14Private::_freeAttributes__half( void* attributeData )
70727 {
70728     return true;
70729 }
70730 
70731 //---------------------------------------------------------------------
_data__half1(const ParserChar * text,size_t textLength)70732 bool ColladaParserAutoGen14Private::_data__half1( const ParserChar* text, size_t textLength )
70733 {
70734 if (!mLastIncompleteFragmentInCharacterData)
70735 {
70736     mLastIncompleteFragmentInCharacterData = (ParserChar*)mStackMemoryManager.newObject(textLength);
70737     memcpy(mLastIncompleteFragmentInCharacterData, text, textLength);
70738     mEndOfDataInCurrentObjectOnStack = mLastIncompleteFragmentInCharacterData + textLength;
70739 }
70740 else
70741 {
70742     ParserChar* tmp = (ParserChar*)mStackMemoryManager.growObject(textLength);
70743     if ( tmp != mLastIncompleteFragmentInCharacterData ) {
70744         mEndOfDataInCurrentObjectOnStack = (mEndOfDataInCurrentObjectOnStack - mLastIncompleteFragmentInCharacterData) + tmp;
70745         mLastIncompleteFragmentInCharacterData = tmp;
70746     }
70747     memcpy(mEndOfDataInCurrentObjectOnStack, text, textLength);
70748     mEndOfDataInCurrentObjectOnStack += textLength;
70749 }
70750 return true;
70751 }
70752 
70753 //---------------------------------------------------------------------
_preBegin__half1(const ParserAttributes & attributes,void ** attributeDataPtr,void ** validationDataPtr)70754 bool ColladaParserAutoGen14Private::_preBegin__half1( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
70755 {
70756 #ifdef GENERATEDSAXPARSER_VALIDATION
70757     if ( mValidate )
70758     {
70759 
70760         bool validationResult = _validateBegin__half1( attributes, attributeDataPtr, validationDataPtr );
70761         if ( !validationResult ) return false;
70762 
70763     } // validation
70764 #endif
70765 
70766     return true;
70767 }
70768 
70769 //---------------------------------------------------------------------
_preEnd__half1()70770 bool ColladaParserAutoGen14Private::_preEnd__half1()
70771 {
70772 #ifdef GENERATEDSAXPARSER_VALIDATION
70773     if ( mValidate )
70774     {
70775 
70776         bool validationResult = _validateEnd__half1();
70777         if ( !validationResult ) return false;
70778 
70779     } // validation
70780 #endif
70781 
70782 bool failed;
70783 const ParserChar* ptrForErr = mLastIncompleteFragmentInCharacterData;
70784 DISABLE_WARNING_UNUSED(ptrForErr)
70785 float parameter = GeneratedSaxParser::Utils::toFloat((const ParserChar**)&mLastIncompleteFragmentInCharacterData, mEndOfDataInCurrentObjectOnStack, failed);
70786 bool returnValue;
70787 if (!failed)
70788 {
70789     returnValue = mImpl->data__half1(parameter);
70790 }
70791 else
70792     returnValue = !handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_TEXTDATA_PARSING_FAILED, HASH_ELEMENT_HALF1, (const ParserChar*)0, mLastIncompleteFragmentInCharacterData);
70793 if (mLastIncompleteFragmentInCharacterData)
70794     mStackMemoryManager.deleteObject();
70795 mLastIncompleteFragmentInCharacterData = 0;
70796 mEndOfDataInCurrentObjectOnStack = 0;
70797 return returnValue;
70798 }
70799 
70800 //---------------------------------------------------------------------
_freeAttributes__half1(void * attributeData)70801 bool ColladaParserAutoGen14Private::_freeAttributes__half1( void* attributeData )
70802 {
70803     return true;
70804 }
70805 
70806 //---------------------------------------------------------------------
_data__half2(const ParserChar * text,size_t textLength)70807 bool ColladaParserAutoGen14Private::_data__half2( const ParserChar* text, size_t textLength )
70808 {
70809 #ifdef GENERATEDSAXPARSER_VALIDATION
70810     if ( mValidate )
70811     {
70812         half2__ValidationData* validationData = (half2__ValidationData*)mValidationDataStack.top();
70813         DISABLE_WARNING_UNUSED(validationData)
70814 return characterData2FloatData(text, textLength, &ColladaParserAutoGen14::data__half2, &validate__cg_half2__stream, &validationData->validationWholeSize, 0);
70815     }
70816     else
70817     {
70818 return characterData2FloatData(text, textLength, &ColladaParserAutoGen14::data__half2);
70819     }
70820 #else
70821     {
70822 return characterData2FloatData(text, textLength, &ColladaParserAutoGen14::data__half2);
70823     } // validation
70824 #endif
70825 
70826 }
70827 
70828 //---------------------------------------------------------------------
_preBegin__half2(const ParserAttributes & attributes,void ** attributeDataPtr,void ** validationDataPtr)70829 bool ColladaParserAutoGen14Private::_preBegin__half2( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
70830 {
70831 #ifdef GENERATEDSAXPARSER_VALIDATION
70832     if ( mValidate )
70833     {
70834 
70835         bool validationResult = _validateBegin__half2( attributes, attributeDataPtr, validationDataPtr );
70836         if ( !validationResult ) return false;
70837 
70838     } // validation
70839 #endif
70840 
70841     return true;
70842 }
70843 
70844 //---------------------------------------------------------------------
_preEnd__half2()70845 bool ColladaParserAutoGen14Private::_preEnd__half2()
70846 {
70847 #ifdef GENERATEDSAXPARSER_VALIDATION
70848     if ( mValidate )
70849     {
70850 
70851         bool validationResult = _validateEnd__half2();
70852         if ( !validationResult ) return false;
70853 
70854     } // validation
70855 #endif
70856 
70857 #ifdef GENERATEDSAXPARSER_VALIDATION
70858     if ( mValidate )
70859     {
70860         half2__ValidationData* validationData = (half2__ValidationData*)mValidationDataStack.top();
70861         DISABLE_WARNING_UNUSED(validationData)
70862 bool returnValue = floatDataEnd( &ColladaParserAutoGen14::data__half2, &validate__cg_half2__streamEnd, &validationData->validationWholeSize, 0 );
70863         ParserError::ErrorType simpleTypeValidationResult = validate__cg_half2(0, (*(&validationData->validationWholeSize)));
70864         mValidationDataStack.deleteObject();
70865         if (simpleTypeValidationResult != ParserError::SIMPLE_TYPE_VALIDATION_OK)
70866         {
70867             if( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL,
70868                 simpleTypeValidationResult,
70869                 HASH_ELEMENT_HALF2,
70870                 (ParserChar*)0, 0 ) )
70871             {
70872                 return false;
70873             }
70874         }
70875         return returnValue;
70876     }
70877     else
70878     {
70879 return floatDataEnd( &ColladaParserAutoGen14::data__half2 );
70880     }
70881 #else
70882     {
70883 return floatDataEnd( &ColladaParserAutoGen14::data__half2 );
70884     } // validation
70885 #endif
70886 
70887 }
70888 
70889 //---------------------------------------------------------------------
_freeAttributes__half2(void * attributeData)70890 bool ColladaParserAutoGen14Private::_freeAttributes__half2( void* attributeData )
70891 {
70892     return true;
70893 }
70894 
70895 //---------------------------------------------------------------------
_data__half3(const ParserChar * text,size_t textLength)70896 bool ColladaParserAutoGen14Private::_data__half3( const ParserChar* text, size_t textLength )
70897 {
70898 #ifdef GENERATEDSAXPARSER_VALIDATION
70899     if ( mValidate )
70900     {
70901         half3__ValidationData* validationData = (half3__ValidationData*)mValidationDataStack.top();
70902         DISABLE_WARNING_UNUSED(validationData)
70903 return characterData2FloatData(text, textLength, &ColladaParserAutoGen14::data__half3, &validate__cg_half3__stream, &validationData->validationWholeSize, 0);
70904     }
70905     else
70906     {
70907 return characterData2FloatData(text, textLength, &ColladaParserAutoGen14::data__half3);
70908     }
70909 #else
70910     {
70911 return characterData2FloatData(text, textLength, &ColladaParserAutoGen14::data__half3);
70912     } // validation
70913 #endif
70914 
70915 }
70916 
70917 //---------------------------------------------------------------------
_preBegin__half3(const ParserAttributes & attributes,void ** attributeDataPtr,void ** validationDataPtr)70918 bool ColladaParserAutoGen14Private::_preBegin__half3( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
70919 {
70920 #ifdef GENERATEDSAXPARSER_VALIDATION
70921     if ( mValidate )
70922     {
70923 
70924         bool validationResult = _validateBegin__half3( attributes, attributeDataPtr, validationDataPtr );
70925         if ( !validationResult ) return false;
70926 
70927     } // validation
70928 #endif
70929 
70930     return true;
70931 }
70932 
70933 //---------------------------------------------------------------------
_preEnd__half3()70934 bool ColladaParserAutoGen14Private::_preEnd__half3()
70935 {
70936 #ifdef GENERATEDSAXPARSER_VALIDATION
70937     if ( mValidate )
70938     {
70939 
70940         bool validationResult = _validateEnd__half3();
70941         if ( !validationResult ) return false;
70942 
70943     } // validation
70944 #endif
70945 
70946 #ifdef GENERATEDSAXPARSER_VALIDATION
70947     if ( mValidate )
70948     {
70949         half3__ValidationData* validationData = (half3__ValidationData*)mValidationDataStack.top();
70950         DISABLE_WARNING_UNUSED(validationData)
70951 bool returnValue = floatDataEnd( &ColladaParserAutoGen14::data__half3, &validate__cg_half3__streamEnd, &validationData->validationWholeSize, 0 );
70952         ParserError::ErrorType simpleTypeValidationResult = validate__cg_half3(0, (*(&validationData->validationWholeSize)));
70953         mValidationDataStack.deleteObject();
70954         if (simpleTypeValidationResult != ParserError::SIMPLE_TYPE_VALIDATION_OK)
70955         {
70956             if( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL,
70957                 simpleTypeValidationResult,
70958                 HASH_ELEMENT_HALF3,
70959                 (ParserChar*)0, 0 ) )
70960             {
70961                 return false;
70962             }
70963         }
70964         return returnValue;
70965     }
70966     else
70967     {
70968 return floatDataEnd( &ColladaParserAutoGen14::data__half3 );
70969     }
70970 #else
70971     {
70972 return floatDataEnd( &ColladaParserAutoGen14::data__half3 );
70973     } // validation
70974 #endif
70975 
70976 }
70977 
70978 //---------------------------------------------------------------------
_freeAttributes__half3(void * attributeData)70979 bool ColladaParserAutoGen14Private::_freeAttributes__half3( void* attributeData )
70980 {
70981     return true;
70982 }
70983 
70984 //---------------------------------------------------------------------
_data__half4(const ParserChar * text,size_t textLength)70985 bool ColladaParserAutoGen14Private::_data__half4( const ParserChar* text, size_t textLength )
70986 {
70987 #ifdef GENERATEDSAXPARSER_VALIDATION
70988     if ( mValidate )
70989     {
70990         half4__ValidationData* validationData = (half4__ValidationData*)mValidationDataStack.top();
70991         DISABLE_WARNING_UNUSED(validationData)
70992 return characterData2FloatData(text, textLength, &ColladaParserAutoGen14::data__half4, &validate__cg_half4__stream, &validationData->validationWholeSize, 0);
70993     }
70994     else
70995     {
70996 return characterData2FloatData(text, textLength, &ColladaParserAutoGen14::data__half4);
70997     }
70998 #else
70999     {
71000 return characterData2FloatData(text, textLength, &ColladaParserAutoGen14::data__half4);
71001     } // validation
71002 #endif
71003 
71004 }
71005 
71006 //---------------------------------------------------------------------
_preBegin__half4(const ParserAttributes & attributes,void ** attributeDataPtr,void ** validationDataPtr)71007 bool ColladaParserAutoGen14Private::_preBegin__half4( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
71008 {
71009 #ifdef GENERATEDSAXPARSER_VALIDATION
71010     if ( mValidate )
71011     {
71012 
71013         bool validationResult = _validateBegin__half4( attributes, attributeDataPtr, validationDataPtr );
71014         if ( !validationResult ) return false;
71015 
71016     } // validation
71017 #endif
71018 
71019     return true;
71020 }
71021 
71022 //---------------------------------------------------------------------
_preEnd__half4()71023 bool ColladaParserAutoGen14Private::_preEnd__half4()
71024 {
71025 #ifdef GENERATEDSAXPARSER_VALIDATION
71026     if ( mValidate )
71027     {
71028 
71029         bool validationResult = _validateEnd__half4();
71030         if ( !validationResult ) return false;
71031 
71032     } // validation
71033 #endif
71034 
71035 #ifdef GENERATEDSAXPARSER_VALIDATION
71036     if ( mValidate )
71037     {
71038         half4__ValidationData* validationData = (half4__ValidationData*)mValidationDataStack.top();
71039         DISABLE_WARNING_UNUSED(validationData)
71040 bool returnValue = floatDataEnd( &ColladaParserAutoGen14::data__half4, &validate__cg_half4__streamEnd, &validationData->validationWholeSize, 0 );
71041         ParserError::ErrorType simpleTypeValidationResult = validate__cg_half4(0, (*(&validationData->validationWholeSize)));
71042         mValidationDataStack.deleteObject();
71043         if (simpleTypeValidationResult != ParserError::SIMPLE_TYPE_VALIDATION_OK)
71044         {
71045             if( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL,
71046                 simpleTypeValidationResult,
71047                 HASH_ELEMENT_HALF4,
71048                 (ParserChar*)0, 0 ) )
71049             {
71050                 return false;
71051             }
71052         }
71053         return returnValue;
71054     }
71055     else
71056     {
71057 return floatDataEnd( &ColladaParserAutoGen14::data__half4 );
71058     }
71059 #else
71060     {
71061 return floatDataEnd( &ColladaParserAutoGen14::data__half4 );
71062     } // validation
71063 #endif
71064 
71065 }
71066 
71067 //---------------------------------------------------------------------
_freeAttributes__half4(void * attributeData)71068 bool ColladaParserAutoGen14Private::_freeAttributes__half4( void* attributeData )
71069 {
71070     return true;
71071 }
71072 
71073 //---------------------------------------------------------------------
_data__half1x1(const ParserChar * text,size_t textLength)71074 bool ColladaParserAutoGen14Private::_data__half1x1( const ParserChar* text, size_t textLength )
71075 {
71076 #ifdef GENERATEDSAXPARSER_VALIDATION
71077     if ( mValidate )
71078     {
71079         half1x1__ValidationData* validationData = (half1x1__ValidationData*)mValidationDataStack.top();
71080         DISABLE_WARNING_UNUSED(validationData)
71081 return characterData2FloatData(text, textLength, &ColladaParserAutoGen14::data__half1x1, &validate__cg_half1x1__stream, &validationData->validationWholeSize, 0);
71082     }
71083     else
71084     {
71085 return characterData2FloatData(text, textLength, &ColladaParserAutoGen14::data__half1x1);
71086     }
71087 #else
71088     {
71089 return characterData2FloatData(text, textLength, &ColladaParserAutoGen14::data__half1x1);
71090     } // validation
71091 #endif
71092 
71093 }
71094 
71095 //---------------------------------------------------------------------
_preBegin__half1x1(const ParserAttributes & attributes,void ** attributeDataPtr,void ** validationDataPtr)71096 bool ColladaParserAutoGen14Private::_preBegin__half1x1( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
71097 {
71098 #ifdef GENERATEDSAXPARSER_VALIDATION
71099     if ( mValidate )
71100     {
71101 
71102         bool validationResult = _validateBegin__half1x1( attributes, attributeDataPtr, validationDataPtr );
71103         if ( !validationResult ) return false;
71104 
71105     } // validation
71106 #endif
71107 
71108     return true;
71109 }
71110 
71111 //---------------------------------------------------------------------
_preEnd__half1x1()71112 bool ColladaParserAutoGen14Private::_preEnd__half1x1()
71113 {
71114 #ifdef GENERATEDSAXPARSER_VALIDATION
71115     if ( mValidate )
71116     {
71117 
71118         bool validationResult = _validateEnd__half1x1();
71119         if ( !validationResult ) return false;
71120 
71121     } // validation
71122 #endif
71123 
71124 #ifdef GENERATEDSAXPARSER_VALIDATION
71125     if ( mValidate )
71126     {
71127         half1x1__ValidationData* validationData = (half1x1__ValidationData*)mValidationDataStack.top();
71128         DISABLE_WARNING_UNUSED(validationData)
71129 bool returnValue = floatDataEnd( &ColladaParserAutoGen14::data__half1x1, &validate__cg_half1x1__streamEnd, &validationData->validationWholeSize, 0 );
71130         ParserError::ErrorType simpleTypeValidationResult = validate__cg_half1x1(0, (*(&validationData->validationWholeSize)));
71131         mValidationDataStack.deleteObject();
71132         if (simpleTypeValidationResult != ParserError::SIMPLE_TYPE_VALIDATION_OK)
71133         {
71134             if( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL,
71135                 simpleTypeValidationResult,
71136                 HASH_ELEMENT_HALF1X1,
71137                 (ParserChar*)0, 0 ) )
71138             {
71139                 return false;
71140             }
71141         }
71142         return returnValue;
71143     }
71144     else
71145     {
71146 return floatDataEnd( &ColladaParserAutoGen14::data__half1x1 );
71147     }
71148 #else
71149     {
71150 return floatDataEnd( &ColladaParserAutoGen14::data__half1x1 );
71151     } // validation
71152 #endif
71153 
71154 }
71155 
71156 //---------------------------------------------------------------------
_freeAttributes__half1x1(void * attributeData)71157 bool ColladaParserAutoGen14Private::_freeAttributes__half1x1( void* attributeData )
71158 {
71159     return true;
71160 }
71161 
71162 //---------------------------------------------------------------------
_data__half1x2(const ParserChar * text,size_t textLength)71163 bool ColladaParserAutoGen14Private::_data__half1x2( const ParserChar* text, size_t textLength )
71164 {
71165 #ifdef GENERATEDSAXPARSER_VALIDATION
71166     if ( mValidate )
71167     {
71168         half1x2__ValidationData* validationData = (half1x2__ValidationData*)mValidationDataStack.top();
71169         DISABLE_WARNING_UNUSED(validationData)
71170 return characterData2FloatData(text, textLength, &ColladaParserAutoGen14::data__half1x2, &validate__cg_half1x2__stream, &validationData->validationWholeSize, 0);
71171     }
71172     else
71173     {
71174 return characterData2FloatData(text, textLength, &ColladaParserAutoGen14::data__half1x2);
71175     }
71176 #else
71177     {
71178 return characterData2FloatData(text, textLength, &ColladaParserAutoGen14::data__half1x2);
71179     } // validation
71180 #endif
71181 
71182 }
71183 
71184 //---------------------------------------------------------------------
_preBegin__half1x2(const ParserAttributes & attributes,void ** attributeDataPtr,void ** validationDataPtr)71185 bool ColladaParserAutoGen14Private::_preBegin__half1x2( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
71186 {
71187 #ifdef GENERATEDSAXPARSER_VALIDATION
71188     if ( mValidate )
71189     {
71190 
71191         bool validationResult = _validateBegin__half1x2( attributes, attributeDataPtr, validationDataPtr );
71192         if ( !validationResult ) return false;
71193 
71194     } // validation
71195 #endif
71196 
71197     return true;
71198 }
71199 
71200 //---------------------------------------------------------------------
_preEnd__half1x2()71201 bool ColladaParserAutoGen14Private::_preEnd__half1x2()
71202 {
71203 #ifdef GENERATEDSAXPARSER_VALIDATION
71204     if ( mValidate )
71205     {
71206 
71207         bool validationResult = _validateEnd__half1x2();
71208         if ( !validationResult ) return false;
71209 
71210     } // validation
71211 #endif
71212 
71213 #ifdef GENERATEDSAXPARSER_VALIDATION
71214     if ( mValidate )
71215     {
71216         half1x2__ValidationData* validationData = (half1x2__ValidationData*)mValidationDataStack.top();
71217         DISABLE_WARNING_UNUSED(validationData)
71218 bool returnValue = floatDataEnd( &ColladaParserAutoGen14::data__half1x2, &validate__cg_half1x2__streamEnd, &validationData->validationWholeSize, 0 );
71219         ParserError::ErrorType simpleTypeValidationResult = validate__cg_half1x2(0, (*(&validationData->validationWholeSize)));
71220         mValidationDataStack.deleteObject();
71221         if (simpleTypeValidationResult != ParserError::SIMPLE_TYPE_VALIDATION_OK)
71222         {
71223             if( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL,
71224                 simpleTypeValidationResult,
71225                 HASH_ELEMENT_HALF1X2,
71226                 (ParserChar*)0, 0 ) )
71227             {
71228                 return false;
71229             }
71230         }
71231         return returnValue;
71232     }
71233     else
71234     {
71235 return floatDataEnd( &ColladaParserAutoGen14::data__half1x2 );
71236     }
71237 #else
71238     {
71239 return floatDataEnd( &ColladaParserAutoGen14::data__half1x2 );
71240     } // validation
71241 #endif
71242 
71243 }
71244 
71245 //---------------------------------------------------------------------
_freeAttributes__half1x2(void * attributeData)71246 bool ColladaParserAutoGen14Private::_freeAttributes__half1x2( void* attributeData )
71247 {
71248     return true;
71249 }
71250 
71251 //---------------------------------------------------------------------
_data__half1x3(const ParserChar * text,size_t textLength)71252 bool ColladaParserAutoGen14Private::_data__half1x3( const ParserChar* text, size_t textLength )
71253 {
71254 #ifdef GENERATEDSAXPARSER_VALIDATION
71255     if ( mValidate )
71256     {
71257         half1x3__ValidationData* validationData = (half1x3__ValidationData*)mValidationDataStack.top();
71258         DISABLE_WARNING_UNUSED(validationData)
71259 return characterData2FloatData(text, textLength, &ColladaParserAutoGen14::data__half1x3, &validate__cg_half1x3__stream, &validationData->validationWholeSize, 0);
71260     }
71261     else
71262     {
71263 return characterData2FloatData(text, textLength, &ColladaParserAutoGen14::data__half1x3);
71264     }
71265 #else
71266     {
71267 return characterData2FloatData(text, textLength, &ColladaParserAutoGen14::data__half1x3);
71268     } // validation
71269 #endif
71270 
71271 }
71272 
71273 //---------------------------------------------------------------------
_preBegin__half1x3(const ParserAttributes & attributes,void ** attributeDataPtr,void ** validationDataPtr)71274 bool ColladaParserAutoGen14Private::_preBegin__half1x3( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
71275 {
71276 #ifdef GENERATEDSAXPARSER_VALIDATION
71277     if ( mValidate )
71278     {
71279 
71280         bool validationResult = _validateBegin__half1x3( attributes, attributeDataPtr, validationDataPtr );
71281         if ( !validationResult ) return false;
71282 
71283     } // validation
71284 #endif
71285 
71286     return true;
71287 }
71288 
71289 //---------------------------------------------------------------------
_preEnd__half1x3()71290 bool ColladaParserAutoGen14Private::_preEnd__half1x3()
71291 {
71292 #ifdef GENERATEDSAXPARSER_VALIDATION
71293     if ( mValidate )
71294     {
71295 
71296         bool validationResult = _validateEnd__half1x3();
71297         if ( !validationResult ) return false;
71298 
71299     } // validation
71300 #endif
71301 
71302 #ifdef GENERATEDSAXPARSER_VALIDATION
71303     if ( mValidate )
71304     {
71305         half1x3__ValidationData* validationData = (half1x3__ValidationData*)mValidationDataStack.top();
71306         DISABLE_WARNING_UNUSED(validationData)
71307 bool returnValue = floatDataEnd( &ColladaParserAutoGen14::data__half1x3, &validate__cg_half1x3__streamEnd, &validationData->validationWholeSize, 0 );
71308         ParserError::ErrorType simpleTypeValidationResult = validate__cg_half1x3(0, (*(&validationData->validationWholeSize)));
71309         mValidationDataStack.deleteObject();
71310         if (simpleTypeValidationResult != ParserError::SIMPLE_TYPE_VALIDATION_OK)
71311         {
71312             if( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL,
71313                 simpleTypeValidationResult,
71314                 HASH_ELEMENT_HALF1X3,
71315                 (ParserChar*)0, 0 ) )
71316             {
71317                 return false;
71318             }
71319         }
71320         return returnValue;
71321     }
71322     else
71323     {
71324 return floatDataEnd( &ColladaParserAutoGen14::data__half1x3 );
71325     }
71326 #else
71327     {
71328 return floatDataEnd( &ColladaParserAutoGen14::data__half1x3 );
71329     } // validation
71330 #endif
71331 
71332 }
71333 
71334 //---------------------------------------------------------------------
_freeAttributes__half1x3(void * attributeData)71335 bool ColladaParserAutoGen14Private::_freeAttributes__half1x3( void* attributeData )
71336 {
71337     return true;
71338 }
71339 
71340 //---------------------------------------------------------------------
_data__half1x4(const ParserChar * text,size_t textLength)71341 bool ColladaParserAutoGen14Private::_data__half1x4( const ParserChar* text, size_t textLength )
71342 {
71343 #ifdef GENERATEDSAXPARSER_VALIDATION
71344     if ( mValidate )
71345     {
71346         half1x4__ValidationData* validationData = (half1x4__ValidationData*)mValidationDataStack.top();
71347         DISABLE_WARNING_UNUSED(validationData)
71348 return characterData2FloatData(text, textLength, &ColladaParserAutoGen14::data__half1x4, &validate__cg_half1x4__stream, &validationData->validationWholeSize, 0);
71349     }
71350     else
71351     {
71352 return characterData2FloatData(text, textLength, &ColladaParserAutoGen14::data__half1x4);
71353     }
71354 #else
71355     {
71356 return characterData2FloatData(text, textLength, &ColladaParserAutoGen14::data__half1x4);
71357     } // validation
71358 #endif
71359 
71360 }
71361 
71362 //---------------------------------------------------------------------
_preBegin__half1x4(const ParserAttributes & attributes,void ** attributeDataPtr,void ** validationDataPtr)71363 bool ColladaParserAutoGen14Private::_preBegin__half1x4( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
71364 {
71365 #ifdef GENERATEDSAXPARSER_VALIDATION
71366     if ( mValidate )
71367     {
71368 
71369         bool validationResult = _validateBegin__half1x4( attributes, attributeDataPtr, validationDataPtr );
71370         if ( !validationResult ) return false;
71371 
71372     } // validation
71373 #endif
71374 
71375     return true;
71376 }
71377 
71378 //---------------------------------------------------------------------
_preEnd__half1x4()71379 bool ColladaParserAutoGen14Private::_preEnd__half1x4()
71380 {
71381 #ifdef GENERATEDSAXPARSER_VALIDATION
71382     if ( mValidate )
71383     {
71384 
71385         bool validationResult = _validateEnd__half1x4();
71386         if ( !validationResult ) return false;
71387 
71388     } // validation
71389 #endif
71390 
71391 #ifdef GENERATEDSAXPARSER_VALIDATION
71392     if ( mValidate )
71393     {
71394         half1x4__ValidationData* validationData = (half1x4__ValidationData*)mValidationDataStack.top();
71395         DISABLE_WARNING_UNUSED(validationData)
71396 bool returnValue = floatDataEnd( &ColladaParserAutoGen14::data__half1x4, &validate__cg_half1x4__streamEnd, &validationData->validationWholeSize, 0 );
71397         ParserError::ErrorType simpleTypeValidationResult = validate__cg_half1x4(0, (*(&validationData->validationWholeSize)));
71398         mValidationDataStack.deleteObject();
71399         if (simpleTypeValidationResult != ParserError::SIMPLE_TYPE_VALIDATION_OK)
71400         {
71401             if( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL,
71402                 simpleTypeValidationResult,
71403                 HASH_ELEMENT_HALF1X4,
71404                 (ParserChar*)0, 0 ) )
71405             {
71406                 return false;
71407             }
71408         }
71409         return returnValue;
71410     }
71411     else
71412     {
71413 return floatDataEnd( &ColladaParserAutoGen14::data__half1x4 );
71414     }
71415 #else
71416     {
71417 return floatDataEnd( &ColladaParserAutoGen14::data__half1x4 );
71418     } // validation
71419 #endif
71420 
71421 }
71422 
71423 //---------------------------------------------------------------------
_freeAttributes__half1x4(void * attributeData)71424 bool ColladaParserAutoGen14Private::_freeAttributes__half1x4( void* attributeData )
71425 {
71426     return true;
71427 }
71428 
71429 //---------------------------------------------------------------------
_data__half2x1(const ParserChar * text,size_t textLength)71430 bool ColladaParserAutoGen14Private::_data__half2x1( const ParserChar* text, size_t textLength )
71431 {
71432 #ifdef GENERATEDSAXPARSER_VALIDATION
71433     if ( mValidate )
71434     {
71435         half2x1__ValidationData* validationData = (half2x1__ValidationData*)mValidationDataStack.top();
71436         DISABLE_WARNING_UNUSED(validationData)
71437 return characterData2FloatData(text, textLength, &ColladaParserAutoGen14::data__half2x1, &validate__cg_half2x1__stream, &validationData->validationWholeSize, 0);
71438     }
71439     else
71440     {
71441 return characterData2FloatData(text, textLength, &ColladaParserAutoGen14::data__half2x1);
71442     }
71443 #else
71444     {
71445 return characterData2FloatData(text, textLength, &ColladaParserAutoGen14::data__half2x1);
71446     } // validation
71447 #endif
71448 
71449 }
71450 
71451 //---------------------------------------------------------------------
_preBegin__half2x1(const ParserAttributes & attributes,void ** attributeDataPtr,void ** validationDataPtr)71452 bool ColladaParserAutoGen14Private::_preBegin__half2x1( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
71453 {
71454 #ifdef GENERATEDSAXPARSER_VALIDATION
71455     if ( mValidate )
71456     {
71457 
71458         bool validationResult = _validateBegin__half2x1( attributes, attributeDataPtr, validationDataPtr );
71459         if ( !validationResult ) return false;
71460 
71461     } // validation
71462 #endif
71463 
71464     return true;
71465 }
71466 
71467 //---------------------------------------------------------------------
_preEnd__half2x1()71468 bool ColladaParserAutoGen14Private::_preEnd__half2x1()
71469 {
71470 #ifdef GENERATEDSAXPARSER_VALIDATION
71471     if ( mValidate )
71472     {
71473 
71474         bool validationResult = _validateEnd__half2x1();
71475         if ( !validationResult ) return false;
71476 
71477     } // validation
71478 #endif
71479 
71480 #ifdef GENERATEDSAXPARSER_VALIDATION
71481     if ( mValidate )
71482     {
71483         half2x1__ValidationData* validationData = (half2x1__ValidationData*)mValidationDataStack.top();
71484         DISABLE_WARNING_UNUSED(validationData)
71485 bool returnValue = floatDataEnd( &ColladaParserAutoGen14::data__half2x1, &validate__cg_half2x1__streamEnd, &validationData->validationWholeSize, 0 );
71486         ParserError::ErrorType simpleTypeValidationResult = validate__cg_half2x1(0, (*(&validationData->validationWholeSize)));
71487         mValidationDataStack.deleteObject();
71488         if (simpleTypeValidationResult != ParserError::SIMPLE_TYPE_VALIDATION_OK)
71489         {
71490             if( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL,
71491                 simpleTypeValidationResult,
71492                 HASH_ELEMENT_HALF2X1,
71493                 (ParserChar*)0, 0 ) )
71494             {
71495                 return false;
71496             }
71497         }
71498         return returnValue;
71499     }
71500     else
71501     {
71502 return floatDataEnd( &ColladaParserAutoGen14::data__half2x1 );
71503     }
71504 #else
71505     {
71506 return floatDataEnd( &ColladaParserAutoGen14::data__half2x1 );
71507     } // validation
71508 #endif
71509 
71510 }
71511 
71512 //---------------------------------------------------------------------
_freeAttributes__half2x1(void * attributeData)71513 bool ColladaParserAutoGen14Private::_freeAttributes__half2x1( void* attributeData )
71514 {
71515     return true;
71516 }
71517 
71518 //---------------------------------------------------------------------
_data__half2x2(const ParserChar * text,size_t textLength)71519 bool ColladaParserAutoGen14Private::_data__half2x2( const ParserChar* text, size_t textLength )
71520 {
71521 #ifdef GENERATEDSAXPARSER_VALIDATION
71522     if ( mValidate )
71523     {
71524         half2x2__ValidationData* validationData = (half2x2__ValidationData*)mValidationDataStack.top();
71525         DISABLE_WARNING_UNUSED(validationData)
71526 return characterData2FloatData(text, textLength, &ColladaParserAutoGen14::data__half2x2, &validate__cg_half2x2__stream, &validationData->validationWholeSize, 0);
71527     }
71528     else
71529     {
71530 return characterData2FloatData(text, textLength, &ColladaParserAutoGen14::data__half2x2);
71531     }
71532 #else
71533     {
71534 return characterData2FloatData(text, textLength, &ColladaParserAutoGen14::data__half2x2);
71535     } // validation
71536 #endif
71537 
71538 }
71539 
71540 //---------------------------------------------------------------------
_preBegin__half2x2(const ParserAttributes & attributes,void ** attributeDataPtr,void ** validationDataPtr)71541 bool ColladaParserAutoGen14Private::_preBegin__half2x2( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
71542 {
71543 #ifdef GENERATEDSAXPARSER_VALIDATION
71544     if ( mValidate )
71545     {
71546 
71547         bool validationResult = _validateBegin__half2x2( attributes, attributeDataPtr, validationDataPtr );
71548         if ( !validationResult ) return false;
71549 
71550     } // validation
71551 #endif
71552 
71553     return true;
71554 }
71555 
71556 //---------------------------------------------------------------------
_preEnd__half2x2()71557 bool ColladaParserAutoGen14Private::_preEnd__half2x2()
71558 {
71559 #ifdef GENERATEDSAXPARSER_VALIDATION
71560     if ( mValidate )
71561     {
71562 
71563         bool validationResult = _validateEnd__half2x2();
71564         if ( !validationResult ) return false;
71565 
71566     } // validation
71567 #endif
71568 
71569 #ifdef GENERATEDSAXPARSER_VALIDATION
71570     if ( mValidate )
71571     {
71572         half2x2__ValidationData* validationData = (half2x2__ValidationData*)mValidationDataStack.top();
71573         DISABLE_WARNING_UNUSED(validationData)
71574 bool returnValue = floatDataEnd( &ColladaParserAutoGen14::data__half2x2, &validate__cg_half2x2__streamEnd, &validationData->validationWholeSize, 0 );
71575         ParserError::ErrorType simpleTypeValidationResult = validate__cg_half2x2(0, (*(&validationData->validationWholeSize)));
71576         mValidationDataStack.deleteObject();
71577         if (simpleTypeValidationResult != ParserError::SIMPLE_TYPE_VALIDATION_OK)
71578         {
71579             if( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL,
71580                 simpleTypeValidationResult,
71581                 HASH_ELEMENT_HALF2X2,
71582                 (ParserChar*)0, 0 ) )
71583             {
71584                 return false;
71585             }
71586         }
71587         return returnValue;
71588     }
71589     else
71590     {
71591 return floatDataEnd( &ColladaParserAutoGen14::data__half2x2 );
71592     }
71593 #else
71594     {
71595 return floatDataEnd( &ColladaParserAutoGen14::data__half2x2 );
71596     } // validation
71597 #endif
71598 
71599 }
71600 
71601 //---------------------------------------------------------------------
_freeAttributes__half2x2(void * attributeData)71602 bool ColladaParserAutoGen14Private::_freeAttributes__half2x2( void* attributeData )
71603 {
71604     return true;
71605 }
71606 
71607 //---------------------------------------------------------------------
_data__half2x3(const ParserChar * text,size_t textLength)71608 bool ColladaParserAutoGen14Private::_data__half2x3( const ParserChar* text, size_t textLength )
71609 {
71610 #ifdef GENERATEDSAXPARSER_VALIDATION
71611     if ( mValidate )
71612     {
71613         half2x3__ValidationData* validationData = (half2x3__ValidationData*)mValidationDataStack.top();
71614         DISABLE_WARNING_UNUSED(validationData)
71615 return characterData2FloatData(text, textLength, &ColladaParserAutoGen14::data__half2x3, &validate__cg_half2x3__stream, &validationData->validationWholeSize, 0);
71616     }
71617     else
71618     {
71619 return characterData2FloatData(text, textLength, &ColladaParserAutoGen14::data__half2x3);
71620     }
71621 #else
71622     {
71623 return characterData2FloatData(text, textLength, &ColladaParserAutoGen14::data__half2x3);
71624     } // validation
71625 #endif
71626 
71627 }
71628 
71629 //---------------------------------------------------------------------
_preBegin__half2x3(const ParserAttributes & attributes,void ** attributeDataPtr,void ** validationDataPtr)71630 bool ColladaParserAutoGen14Private::_preBegin__half2x3( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
71631 {
71632 #ifdef GENERATEDSAXPARSER_VALIDATION
71633     if ( mValidate )
71634     {
71635 
71636         bool validationResult = _validateBegin__half2x3( attributes, attributeDataPtr, validationDataPtr );
71637         if ( !validationResult ) return false;
71638 
71639     } // validation
71640 #endif
71641 
71642     return true;
71643 }
71644 
71645 //---------------------------------------------------------------------
_preEnd__half2x3()71646 bool ColladaParserAutoGen14Private::_preEnd__half2x3()
71647 {
71648 #ifdef GENERATEDSAXPARSER_VALIDATION
71649     if ( mValidate )
71650     {
71651 
71652         bool validationResult = _validateEnd__half2x3();
71653         if ( !validationResult ) return false;
71654 
71655     } // validation
71656 #endif
71657 
71658 #ifdef GENERATEDSAXPARSER_VALIDATION
71659     if ( mValidate )
71660     {
71661         half2x3__ValidationData* validationData = (half2x3__ValidationData*)mValidationDataStack.top();
71662         DISABLE_WARNING_UNUSED(validationData)
71663 bool returnValue = floatDataEnd( &ColladaParserAutoGen14::data__half2x3, &validate__cg_half2x3__streamEnd, &validationData->validationWholeSize, 0 );
71664         ParserError::ErrorType simpleTypeValidationResult = validate__cg_half2x3(0, (*(&validationData->validationWholeSize)));
71665         mValidationDataStack.deleteObject();
71666         if (simpleTypeValidationResult != ParserError::SIMPLE_TYPE_VALIDATION_OK)
71667         {
71668             if( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL,
71669                 simpleTypeValidationResult,
71670                 HASH_ELEMENT_HALF2X3,
71671                 (ParserChar*)0, 0 ) )
71672             {
71673                 return false;
71674             }
71675         }
71676         return returnValue;
71677     }
71678     else
71679     {
71680 return floatDataEnd( &ColladaParserAutoGen14::data__half2x3 );
71681     }
71682 #else
71683     {
71684 return floatDataEnd( &ColladaParserAutoGen14::data__half2x3 );
71685     } // validation
71686 #endif
71687 
71688 }
71689 
71690 //---------------------------------------------------------------------
_freeAttributes__half2x3(void * attributeData)71691 bool ColladaParserAutoGen14Private::_freeAttributes__half2x3( void* attributeData )
71692 {
71693     return true;
71694 }
71695 
71696 //---------------------------------------------------------------------
_data__half2x4(const ParserChar * text,size_t textLength)71697 bool ColladaParserAutoGen14Private::_data__half2x4( const ParserChar* text, size_t textLength )
71698 {
71699 #ifdef GENERATEDSAXPARSER_VALIDATION
71700     if ( mValidate )
71701     {
71702         half2x4__ValidationData* validationData = (half2x4__ValidationData*)mValidationDataStack.top();
71703         DISABLE_WARNING_UNUSED(validationData)
71704 return characterData2FloatData(text, textLength, &ColladaParserAutoGen14::data__half2x4, &validate__cg_half2x4__stream, &validationData->validationWholeSize, 0);
71705     }
71706     else
71707     {
71708 return characterData2FloatData(text, textLength, &ColladaParserAutoGen14::data__half2x4);
71709     }
71710 #else
71711     {
71712 return characterData2FloatData(text, textLength, &ColladaParserAutoGen14::data__half2x4);
71713     } // validation
71714 #endif
71715 
71716 }
71717 
71718 //---------------------------------------------------------------------
_preBegin__half2x4(const ParserAttributes & attributes,void ** attributeDataPtr,void ** validationDataPtr)71719 bool ColladaParserAutoGen14Private::_preBegin__half2x4( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
71720 {
71721 #ifdef GENERATEDSAXPARSER_VALIDATION
71722     if ( mValidate )
71723     {
71724 
71725         bool validationResult = _validateBegin__half2x4( attributes, attributeDataPtr, validationDataPtr );
71726         if ( !validationResult ) return false;
71727 
71728     } // validation
71729 #endif
71730 
71731     return true;
71732 }
71733 
71734 //---------------------------------------------------------------------
_preEnd__half2x4()71735 bool ColladaParserAutoGen14Private::_preEnd__half2x4()
71736 {
71737 #ifdef GENERATEDSAXPARSER_VALIDATION
71738     if ( mValidate )
71739     {
71740 
71741         bool validationResult = _validateEnd__half2x4();
71742         if ( !validationResult ) return false;
71743 
71744     } // validation
71745 #endif
71746 
71747 #ifdef GENERATEDSAXPARSER_VALIDATION
71748     if ( mValidate )
71749     {
71750         half2x4__ValidationData* validationData = (half2x4__ValidationData*)mValidationDataStack.top();
71751         DISABLE_WARNING_UNUSED(validationData)
71752 bool returnValue = floatDataEnd( &ColladaParserAutoGen14::data__half2x4, &validate__cg_half2x4__streamEnd, &validationData->validationWholeSize, 0 );
71753         ParserError::ErrorType simpleTypeValidationResult = validate__cg_half2x4(0, (*(&validationData->validationWholeSize)));
71754         mValidationDataStack.deleteObject();
71755         if (simpleTypeValidationResult != ParserError::SIMPLE_TYPE_VALIDATION_OK)
71756         {
71757             if( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL,
71758                 simpleTypeValidationResult,
71759                 HASH_ELEMENT_HALF2X4,
71760                 (ParserChar*)0, 0 ) )
71761             {
71762                 return false;
71763             }
71764         }
71765         return returnValue;
71766     }
71767     else
71768     {
71769 return floatDataEnd( &ColladaParserAutoGen14::data__half2x4 );
71770     }
71771 #else
71772     {
71773 return floatDataEnd( &ColladaParserAutoGen14::data__half2x4 );
71774     } // validation
71775 #endif
71776 
71777 }
71778 
71779 //---------------------------------------------------------------------
_freeAttributes__half2x4(void * attributeData)71780 bool ColladaParserAutoGen14Private::_freeAttributes__half2x4( void* attributeData )
71781 {
71782     return true;
71783 }
71784 
71785 //---------------------------------------------------------------------
_data__half3x1(const ParserChar * text,size_t textLength)71786 bool ColladaParserAutoGen14Private::_data__half3x1( const ParserChar* text, size_t textLength )
71787 {
71788 #ifdef GENERATEDSAXPARSER_VALIDATION
71789     if ( mValidate )
71790     {
71791         half3x1__ValidationData* validationData = (half3x1__ValidationData*)mValidationDataStack.top();
71792         DISABLE_WARNING_UNUSED(validationData)
71793 return characterData2FloatData(text, textLength, &ColladaParserAutoGen14::data__half3x1, &validate__cg_half3x1__stream, &validationData->validationWholeSize, 0);
71794     }
71795     else
71796     {
71797 return characterData2FloatData(text, textLength, &ColladaParserAutoGen14::data__half3x1);
71798     }
71799 #else
71800     {
71801 return characterData2FloatData(text, textLength, &ColladaParserAutoGen14::data__half3x1);
71802     } // validation
71803 #endif
71804 
71805 }
71806 
71807 //---------------------------------------------------------------------
_preBegin__half3x1(const ParserAttributes & attributes,void ** attributeDataPtr,void ** validationDataPtr)71808 bool ColladaParserAutoGen14Private::_preBegin__half3x1( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
71809 {
71810 #ifdef GENERATEDSAXPARSER_VALIDATION
71811     if ( mValidate )
71812     {
71813 
71814         bool validationResult = _validateBegin__half3x1( attributes, attributeDataPtr, validationDataPtr );
71815         if ( !validationResult ) return false;
71816 
71817     } // validation
71818 #endif
71819 
71820     return true;
71821 }
71822 
71823 //---------------------------------------------------------------------
_preEnd__half3x1()71824 bool ColladaParserAutoGen14Private::_preEnd__half3x1()
71825 {
71826 #ifdef GENERATEDSAXPARSER_VALIDATION
71827     if ( mValidate )
71828     {
71829 
71830         bool validationResult = _validateEnd__half3x1();
71831         if ( !validationResult ) return false;
71832 
71833     } // validation
71834 #endif
71835 
71836 #ifdef GENERATEDSAXPARSER_VALIDATION
71837     if ( mValidate )
71838     {
71839         half3x1__ValidationData* validationData = (half3x1__ValidationData*)mValidationDataStack.top();
71840         DISABLE_WARNING_UNUSED(validationData)
71841 bool returnValue = floatDataEnd( &ColladaParserAutoGen14::data__half3x1, &validate__cg_half3x1__streamEnd, &validationData->validationWholeSize, 0 );
71842         ParserError::ErrorType simpleTypeValidationResult = validate__cg_half3x1(0, (*(&validationData->validationWholeSize)));
71843         mValidationDataStack.deleteObject();
71844         if (simpleTypeValidationResult != ParserError::SIMPLE_TYPE_VALIDATION_OK)
71845         {
71846             if( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL,
71847                 simpleTypeValidationResult,
71848                 HASH_ELEMENT_HALF3X1,
71849                 (ParserChar*)0, 0 ) )
71850             {
71851                 return false;
71852             }
71853         }
71854         return returnValue;
71855     }
71856     else
71857     {
71858 return floatDataEnd( &ColladaParserAutoGen14::data__half3x1 );
71859     }
71860 #else
71861     {
71862 return floatDataEnd( &ColladaParserAutoGen14::data__half3x1 );
71863     } // validation
71864 #endif
71865 
71866 }
71867 
71868 //---------------------------------------------------------------------
_freeAttributes__half3x1(void * attributeData)71869 bool ColladaParserAutoGen14Private::_freeAttributes__half3x1( void* attributeData )
71870 {
71871     return true;
71872 }
71873 
71874 //---------------------------------------------------------------------
_data__half3x2(const ParserChar * text,size_t textLength)71875 bool ColladaParserAutoGen14Private::_data__half3x2( const ParserChar* text, size_t textLength )
71876 {
71877 #ifdef GENERATEDSAXPARSER_VALIDATION
71878     if ( mValidate )
71879     {
71880         half3x2__ValidationData* validationData = (half3x2__ValidationData*)mValidationDataStack.top();
71881         DISABLE_WARNING_UNUSED(validationData)
71882 return characterData2FloatData(text, textLength, &ColladaParserAutoGen14::data__half3x2, &validate__cg_half3x2__stream, &validationData->validationWholeSize, 0);
71883     }
71884     else
71885     {
71886 return characterData2FloatData(text, textLength, &ColladaParserAutoGen14::data__half3x2);
71887     }
71888 #else
71889     {
71890 return characterData2FloatData(text, textLength, &ColladaParserAutoGen14::data__half3x2);
71891     } // validation
71892 #endif
71893 
71894 }
71895 
71896 //---------------------------------------------------------------------
_preBegin__half3x2(const ParserAttributes & attributes,void ** attributeDataPtr,void ** validationDataPtr)71897 bool ColladaParserAutoGen14Private::_preBegin__half3x2( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
71898 {
71899 #ifdef GENERATEDSAXPARSER_VALIDATION
71900     if ( mValidate )
71901     {
71902 
71903         bool validationResult = _validateBegin__half3x2( attributes, attributeDataPtr, validationDataPtr );
71904         if ( !validationResult ) return false;
71905 
71906     } // validation
71907 #endif
71908 
71909     return true;
71910 }
71911 
71912 //---------------------------------------------------------------------
_preEnd__half3x2()71913 bool ColladaParserAutoGen14Private::_preEnd__half3x2()
71914 {
71915 #ifdef GENERATEDSAXPARSER_VALIDATION
71916     if ( mValidate )
71917     {
71918 
71919         bool validationResult = _validateEnd__half3x2();
71920         if ( !validationResult ) return false;
71921 
71922     } // validation
71923 #endif
71924 
71925 #ifdef GENERATEDSAXPARSER_VALIDATION
71926     if ( mValidate )
71927     {
71928         half3x2__ValidationData* validationData = (half3x2__ValidationData*)mValidationDataStack.top();
71929         DISABLE_WARNING_UNUSED(validationData)
71930 bool returnValue = floatDataEnd( &ColladaParserAutoGen14::data__half3x2, &validate__cg_half3x2__streamEnd, &validationData->validationWholeSize, 0 );
71931         ParserError::ErrorType simpleTypeValidationResult = validate__cg_half3x2(0, (*(&validationData->validationWholeSize)));
71932         mValidationDataStack.deleteObject();
71933         if (simpleTypeValidationResult != ParserError::SIMPLE_TYPE_VALIDATION_OK)
71934         {
71935             if( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL,
71936                 simpleTypeValidationResult,
71937                 HASH_ELEMENT_HALF3X2,
71938                 (ParserChar*)0, 0 ) )
71939             {
71940                 return false;
71941             }
71942         }
71943         return returnValue;
71944     }
71945     else
71946     {
71947 return floatDataEnd( &ColladaParserAutoGen14::data__half3x2 );
71948     }
71949 #else
71950     {
71951 return floatDataEnd( &ColladaParserAutoGen14::data__half3x2 );
71952     } // validation
71953 #endif
71954 
71955 }
71956 
71957 //---------------------------------------------------------------------
_freeAttributes__half3x2(void * attributeData)71958 bool ColladaParserAutoGen14Private::_freeAttributes__half3x2( void* attributeData )
71959 {
71960     return true;
71961 }
71962 
71963 //---------------------------------------------------------------------
_data__half3x3(const ParserChar * text,size_t textLength)71964 bool ColladaParserAutoGen14Private::_data__half3x3( const ParserChar* text, size_t textLength )
71965 {
71966 #ifdef GENERATEDSAXPARSER_VALIDATION
71967     if ( mValidate )
71968     {
71969         half3x3__ValidationData* validationData = (half3x3__ValidationData*)mValidationDataStack.top();
71970         DISABLE_WARNING_UNUSED(validationData)
71971 return characterData2FloatData(text, textLength, &ColladaParserAutoGen14::data__half3x3, &validate__cg_half3x3__stream, &validationData->validationWholeSize, 0);
71972     }
71973     else
71974     {
71975 return characterData2FloatData(text, textLength, &ColladaParserAutoGen14::data__half3x3);
71976     }
71977 #else
71978     {
71979 return characterData2FloatData(text, textLength, &ColladaParserAutoGen14::data__half3x3);
71980     } // validation
71981 #endif
71982 
71983 }
71984 
71985 //---------------------------------------------------------------------
_preBegin__half3x3(const ParserAttributes & attributes,void ** attributeDataPtr,void ** validationDataPtr)71986 bool ColladaParserAutoGen14Private::_preBegin__half3x3( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
71987 {
71988 #ifdef GENERATEDSAXPARSER_VALIDATION
71989     if ( mValidate )
71990     {
71991 
71992         bool validationResult = _validateBegin__half3x3( attributes, attributeDataPtr, validationDataPtr );
71993         if ( !validationResult ) return false;
71994 
71995     } // validation
71996 #endif
71997 
71998     return true;
71999 }
72000 
72001 //---------------------------------------------------------------------
_preEnd__half3x3()72002 bool ColladaParserAutoGen14Private::_preEnd__half3x3()
72003 {
72004 #ifdef GENERATEDSAXPARSER_VALIDATION
72005     if ( mValidate )
72006     {
72007 
72008         bool validationResult = _validateEnd__half3x3();
72009         if ( !validationResult ) return false;
72010 
72011     } // validation
72012 #endif
72013 
72014 #ifdef GENERATEDSAXPARSER_VALIDATION
72015     if ( mValidate )
72016     {
72017         half3x3__ValidationData* validationData = (half3x3__ValidationData*)mValidationDataStack.top();
72018         DISABLE_WARNING_UNUSED(validationData)
72019 bool returnValue = floatDataEnd( &ColladaParserAutoGen14::data__half3x3, &validate__cg_half3x3__streamEnd, &validationData->validationWholeSize, 0 );
72020         ParserError::ErrorType simpleTypeValidationResult = validate__cg_half3x3(0, (*(&validationData->validationWholeSize)));
72021         mValidationDataStack.deleteObject();
72022         if (simpleTypeValidationResult != ParserError::SIMPLE_TYPE_VALIDATION_OK)
72023         {
72024             if( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL,
72025                 simpleTypeValidationResult,
72026                 HASH_ELEMENT_HALF3X3,
72027                 (ParserChar*)0, 0 ) )
72028             {
72029                 return false;
72030             }
72031         }
72032         return returnValue;
72033     }
72034     else
72035     {
72036 return floatDataEnd( &ColladaParserAutoGen14::data__half3x3 );
72037     }
72038 #else
72039     {
72040 return floatDataEnd( &ColladaParserAutoGen14::data__half3x3 );
72041     } // validation
72042 #endif
72043 
72044 }
72045 
72046 //---------------------------------------------------------------------
_freeAttributes__half3x3(void * attributeData)72047 bool ColladaParserAutoGen14Private::_freeAttributes__half3x3( void* attributeData )
72048 {
72049     return true;
72050 }
72051 
72052 //---------------------------------------------------------------------
_data__half3x4(const ParserChar * text,size_t textLength)72053 bool ColladaParserAutoGen14Private::_data__half3x4( const ParserChar* text, size_t textLength )
72054 {
72055 #ifdef GENERATEDSAXPARSER_VALIDATION
72056     if ( mValidate )
72057     {
72058         half3x4__ValidationData* validationData = (half3x4__ValidationData*)mValidationDataStack.top();
72059         DISABLE_WARNING_UNUSED(validationData)
72060 return characterData2FloatData(text, textLength, &ColladaParserAutoGen14::data__half3x4, &validate__cg_half3x4__stream, &validationData->validationWholeSize, 0);
72061     }
72062     else
72063     {
72064 return characterData2FloatData(text, textLength, &ColladaParserAutoGen14::data__half3x4);
72065     }
72066 #else
72067     {
72068 return characterData2FloatData(text, textLength, &ColladaParserAutoGen14::data__half3x4);
72069     } // validation
72070 #endif
72071 
72072 }
72073 
72074 //---------------------------------------------------------------------
_preBegin__half3x4(const ParserAttributes & attributes,void ** attributeDataPtr,void ** validationDataPtr)72075 bool ColladaParserAutoGen14Private::_preBegin__half3x4( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
72076 {
72077 #ifdef GENERATEDSAXPARSER_VALIDATION
72078     if ( mValidate )
72079     {
72080 
72081         bool validationResult = _validateBegin__half3x4( attributes, attributeDataPtr, validationDataPtr );
72082         if ( !validationResult ) return false;
72083 
72084     } // validation
72085 #endif
72086 
72087     return true;
72088 }
72089 
72090 //---------------------------------------------------------------------
_preEnd__half3x4()72091 bool ColladaParserAutoGen14Private::_preEnd__half3x4()
72092 {
72093 #ifdef GENERATEDSAXPARSER_VALIDATION
72094     if ( mValidate )
72095     {
72096 
72097         bool validationResult = _validateEnd__half3x4();
72098         if ( !validationResult ) return false;
72099 
72100     } // validation
72101 #endif
72102 
72103 #ifdef GENERATEDSAXPARSER_VALIDATION
72104     if ( mValidate )
72105     {
72106         half3x4__ValidationData* validationData = (half3x4__ValidationData*)mValidationDataStack.top();
72107         DISABLE_WARNING_UNUSED(validationData)
72108 bool returnValue = floatDataEnd( &ColladaParserAutoGen14::data__half3x4, &validate__cg_half3x4__streamEnd, &validationData->validationWholeSize, 0 );
72109         ParserError::ErrorType simpleTypeValidationResult = validate__cg_half3x4(0, (*(&validationData->validationWholeSize)));
72110         mValidationDataStack.deleteObject();
72111         if (simpleTypeValidationResult != ParserError::SIMPLE_TYPE_VALIDATION_OK)
72112         {
72113             if( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL,
72114                 simpleTypeValidationResult,
72115                 HASH_ELEMENT_HALF3X4,
72116                 (ParserChar*)0, 0 ) )
72117             {
72118                 return false;
72119             }
72120         }
72121         return returnValue;
72122     }
72123     else
72124     {
72125 return floatDataEnd( &ColladaParserAutoGen14::data__half3x4 );
72126     }
72127 #else
72128     {
72129 return floatDataEnd( &ColladaParserAutoGen14::data__half3x4 );
72130     } // validation
72131 #endif
72132 
72133 }
72134 
72135 //---------------------------------------------------------------------
_freeAttributes__half3x4(void * attributeData)72136 bool ColladaParserAutoGen14Private::_freeAttributes__half3x4( void* attributeData )
72137 {
72138     return true;
72139 }
72140 
72141 //---------------------------------------------------------------------
_data__half4x1(const ParserChar * text,size_t textLength)72142 bool ColladaParserAutoGen14Private::_data__half4x1( const ParserChar* text, size_t textLength )
72143 {
72144 #ifdef GENERATEDSAXPARSER_VALIDATION
72145     if ( mValidate )
72146     {
72147         half4x1__ValidationData* validationData = (half4x1__ValidationData*)mValidationDataStack.top();
72148         DISABLE_WARNING_UNUSED(validationData)
72149 return characterData2FloatData(text, textLength, &ColladaParserAutoGen14::data__half4x1, &validate__cg_half4x1__stream, &validationData->validationWholeSize, 0);
72150     }
72151     else
72152     {
72153 return characterData2FloatData(text, textLength, &ColladaParserAutoGen14::data__half4x1);
72154     }
72155 #else
72156     {
72157 return characterData2FloatData(text, textLength, &ColladaParserAutoGen14::data__half4x1);
72158     } // validation
72159 #endif
72160 
72161 }
72162 
72163 //---------------------------------------------------------------------
_preBegin__half4x1(const ParserAttributes & attributes,void ** attributeDataPtr,void ** validationDataPtr)72164 bool ColladaParserAutoGen14Private::_preBegin__half4x1( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
72165 {
72166 #ifdef GENERATEDSAXPARSER_VALIDATION
72167     if ( mValidate )
72168     {
72169 
72170         bool validationResult = _validateBegin__half4x1( attributes, attributeDataPtr, validationDataPtr );
72171         if ( !validationResult ) return false;
72172 
72173     } // validation
72174 #endif
72175 
72176     return true;
72177 }
72178 
72179 //---------------------------------------------------------------------
_preEnd__half4x1()72180 bool ColladaParserAutoGen14Private::_preEnd__half4x1()
72181 {
72182 #ifdef GENERATEDSAXPARSER_VALIDATION
72183     if ( mValidate )
72184     {
72185 
72186         bool validationResult = _validateEnd__half4x1();
72187         if ( !validationResult ) return false;
72188 
72189     } // validation
72190 #endif
72191 
72192 #ifdef GENERATEDSAXPARSER_VALIDATION
72193     if ( mValidate )
72194     {
72195         half4x1__ValidationData* validationData = (half4x1__ValidationData*)mValidationDataStack.top();
72196         DISABLE_WARNING_UNUSED(validationData)
72197 bool returnValue = floatDataEnd( &ColladaParserAutoGen14::data__half4x1, &validate__cg_half4x1__streamEnd, &validationData->validationWholeSize, 0 );
72198         ParserError::ErrorType simpleTypeValidationResult = validate__cg_half4x1(0, (*(&validationData->validationWholeSize)));
72199         mValidationDataStack.deleteObject();
72200         if (simpleTypeValidationResult != ParserError::SIMPLE_TYPE_VALIDATION_OK)
72201         {
72202             if( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL,
72203                 simpleTypeValidationResult,
72204                 HASH_ELEMENT_HALF4X1,
72205                 (ParserChar*)0, 0 ) )
72206             {
72207                 return false;
72208             }
72209         }
72210         return returnValue;
72211     }
72212     else
72213     {
72214 return floatDataEnd( &ColladaParserAutoGen14::data__half4x1 );
72215     }
72216 #else
72217     {
72218 return floatDataEnd( &ColladaParserAutoGen14::data__half4x1 );
72219     } // validation
72220 #endif
72221 
72222 }
72223 
72224 //---------------------------------------------------------------------
_freeAttributes__half4x1(void * attributeData)72225 bool ColladaParserAutoGen14Private::_freeAttributes__half4x1( void* attributeData )
72226 {
72227     return true;
72228 }
72229 
72230 //---------------------------------------------------------------------
_data__half4x2(const ParserChar * text,size_t textLength)72231 bool ColladaParserAutoGen14Private::_data__half4x2( const ParserChar* text, size_t textLength )
72232 {
72233 #ifdef GENERATEDSAXPARSER_VALIDATION
72234     if ( mValidate )
72235     {
72236         half4x2__ValidationData* validationData = (half4x2__ValidationData*)mValidationDataStack.top();
72237         DISABLE_WARNING_UNUSED(validationData)
72238 return characterData2FloatData(text, textLength, &ColladaParserAutoGen14::data__half4x2, &validate__cg_half4x2__stream, &validationData->validationWholeSize, 0);
72239     }
72240     else
72241     {
72242 return characterData2FloatData(text, textLength, &ColladaParserAutoGen14::data__half4x2);
72243     }
72244 #else
72245     {
72246 return characterData2FloatData(text, textLength, &ColladaParserAutoGen14::data__half4x2);
72247     } // validation
72248 #endif
72249 
72250 }
72251 
72252 //---------------------------------------------------------------------
_preBegin__half4x2(const ParserAttributes & attributes,void ** attributeDataPtr,void ** validationDataPtr)72253 bool ColladaParserAutoGen14Private::_preBegin__half4x2( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
72254 {
72255 #ifdef GENERATEDSAXPARSER_VALIDATION
72256     if ( mValidate )
72257     {
72258 
72259         bool validationResult = _validateBegin__half4x2( attributes, attributeDataPtr, validationDataPtr );
72260         if ( !validationResult ) return false;
72261 
72262     } // validation
72263 #endif
72264 
72265     return true;
72266 }
72267 
72268 //---------------------------------------------------------------------
_preEnd__half4x2()72269 bool ColladaParserAutoGen14Private::_preEnd__half4x2()
72270 {
72271 #ifdef GENERATEDSAXPARSER_VALIDATION
72272     if ( mValidate )
72273     {
72274 
72275         bool validationResult = _validateEnd__half4x2();
72276         if ( !validationResult ) return false;
72277 
72278     } // validation
72279 #endif
72280 
72281 #ifdef GENERATEDSAXPARSER_VALIDATION
72282     if ( mValidate )
72283     {
72284         half4x2__ValidationData* validationData = (half4x2__ValidationData*)mValidationDataStack.top();
72285         DISABLE_WARNING_UNUSED(validationData)
72286 bool returnValue = floatDataEnd( &ColladaParserAutoGen14::data__half4x2, &validate__cg_half4x2__streamEnd, &validationData->validationWholeSize, 0 );
72287         ParserError::ErrorType simpleTypeValidationResult = validate__cg_half4x2(0, (*(&validationData->validationWholeSize)));
72288         mValidationDataStack.deleteObject();
72289         if (simpleTypeValidationResult != ParserError::SIMPLE_TYPE_VALIDATION_OK)
72290         {
72291             if( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL,
72292                 simpleTypeValidationResult,
72293                 HASH_ELEMENT_HALF4X2,
72294                 (ParserChar*)0, 0 ) )
72295             {
72296                 return false;
72297             }
72298         }
72299         return returnValue;
72300     }
72301     else
72302     {
72303 return floatDataEnd( &ColladaParserAutoGen14::data__half4x2 );
72304     }
72305 #else
72306     {
72307 return floatDataEnd( &ColladaParserAutoGen14::data__half4x2 );
72308     } // validation
72309 #endif
72310 
72311 }
72312 
72313 //---------------------------------------------------------------------
_freeAttributes__half4x2(void * attributeData)72314 bool ColladaParserAutoGen14Private::_freeAttributes__half4x2( void* attributeData )
72315 {
72316     return true;
72317 }
72318 
72319 //---------------------------------------------------------------------
_data__half4x3(const ParserChar * text,size_t textLength)72320 bool ColladaParserAutoGen14Private::_data__half4x3( const ParserChar* text, size_t textLength )
72321 {
72322 #ifdef GENERATEDSAXPARSER_VALIDATION
72323     if ( mValidate )
72324     {
72325         half4x3__ValidationData* validationData = (half4x3__ValidationData*)mValidationDataStack.top();
72326         DISABLE_WARNING_UNUSED(validationData)
72327 return characterData2FloatData(text, textLength, &ColladaParserAutoGen14::data__half4x3, &validate__cg_half4x3__stream, &validationData->validationWholeSize, 0);
72328     }
72329     else
72330     {
72331 return characterData2FloatData(text, textLength, &ColladaParserAutoGen14::data__half4x3);
72332     }
72333 #else
72334     {
72335 return characterData2FloatData(text, textLength, &ColladaParserAutoGen14::data__half4x3);
72336     } // validation
72337 #endif
72338 
72339 }
72340 
72341 //---------------------------------------------------------------------
_preBegin__half4x3(const ParserAttributes & attributes,void ** attributeDataPtr,void ** validationDataPtr)72342 bool ColladaParserAutoGen14Private::_preBegin__half4x3( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
72343 {
72344 #ifdef GENERATEDSAXPARSER_VALIDATION
72345     if ( mValidate )
72346     {
72347 
72348         bool validationResult = _validateBegin__half4x3( attributes, attributeDataPtr, validationDataPtr );
72349         if ( !validationResult ) return false;
72350 
72351     } // validation
72352 #endif
72353 
72354     return true;
72355 }
72356 
72357 //---------------------------------------------------------------------
_preEnd__half4x3()72358 bool ColladaParserAutoGen14Private::_preEnd__half4x3()
72359 {
72360 #ifdef GENERATEDSAXPARSER_VALIDATION
72361     if ( mValidate )
72362     {
72363 
72364         bool validationResult = _validateEnd__half4x3();
72365         if ( !validationResult ) return false;
72366 
72367     } // validation
72368 #endif
72369 
72370 #ifdef GENERATEDSAXPARSER_VALIDATION
72371     if ( mValidate )
72372     {
72373         half4x3__ValidationData* validationData = (half4x3__ValidationData*)mValidationDataStack.top();
72374         DISABLE_WARNING_UNUSED(validationData)
72375 bool returnValue = floatDataEnd( &ColladaParserAutoGen14::data__half4x3, &validate__cg_half4x3__streamEnd, &validationData->validationWholeSize, 0 );
72376         ParserError::ErrorType simpleTypeValidationResult = validate__cg_half4x3(0, (*(&validationData->validationWholeSize)));
72377         mValidationDataStack.deleteObject();
72378         if (simpleTypeValidationResult != ParserError::SIMPLE_TYPE_VALIDATION_OK)
72379         {
72380             if( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL,
72381                 simpleTypeValidationResult,
72382                 HASH_ELEMENT_HALF4X3,
72383                 (ParserChar*)0, 0 ) )
72384             {
72385                 return false;
72386             }
72387         }
72388         return returnValue;
72389     }
72390     else
72391     {
72392 return floatDataEnd( &ColladaParserAutoGen14::data__half4x3 );
72393     }
72394 #else
72395     {
72396 return floatDataEnd( &ColladaParserAutoGen14::data__half4x3 );
72397     } // validation
72398 #endif
72399 
72400 }
72401 
72402 //---------------------------------------------------------------------
_freeAttributes__half4x3(void * attributeData)72403 bool ColladaParserAutoGen14Private::_freeAttributes__half4x3( void* attributeData )
72404 {
72405     return true;
72406 }
72407 
72408 //---------------------------------------------------------------------
_data__half4x4(const ParserChar * text,size_t textLength)72409 bool ColladaParserAutoGen14Private::_data__half4x4( const ParserChar* text, size_t textLength )
72410 {
72411 #ifdef GENERATEDSAXPARSER_VALIDATION
72412     if ( mValidate )
72413     {
72414         half4x4__ValidationData* validationData = (half4x4__ValidationData*)mValidationDataStack.top();
72415         DISABLE_WARNING_UNUSED(validationData)
72416 return characterData2FloatData(text, textLength, &ColladaParserAutoGen14::data__half4x4, &validate__cg_half4x4__stream, &validationData->validationWholeSize, 0);
72417     }
72418     else
72419     {
72420 return characterData2FloatData(text, textLength, &ColladaParserAutoGen14::data__half4x4);
72421     }
72422 #else
72423     {
72424 return characterData2FloatData(text, textLength, &ColladaParserAutoGen14::data__half4x4);
72425     } // validation
72426 #endif
72427 
72428 }
72429 
72430 //---------------------------------------------------------------------
_preBegin__half4x4(const ParserAttributes & attributes,void ** attributeDataPtr,void ** validationDataPtr)72431 bool ColladaParserAutoGen14Private::_preBegin__half4x4( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
72432 {
72433 #ifdef GENERATEDSAXPARSER_VALIDATION
72434     if ( mValidate )
72435     {
72436 
72437         bool validationResult = _validateBegin__half4x4( attributes, attributeDataPtr, validationDataPtr );
72438         if ( !validationResult ) return false;
72439 
72440     } // validation
72441 #endif
72442 
72443     return true;
72444 }
72445 
72446 //---------------------------------------------------------------------
_preEnd__half4x4()72447 bool ColladaParserAutoGen14Private::_preEnd__half4x4()
72448 {
72449 #ifdef GENERATEDSAXPARSER_VALIDATION
72450     if ( mValidate )
72451     {
72452 
72453         bool validationResult = _validateEnd__half4x4();
72454         if ( !validationResult ) return false;
72455 
72456     } // validation
72457 #endif
72458 
72459 #ifdef GENERATEDSAXPARSER_VALIDATION
72460     if ( mValidate )
72461     {
72462         half4x4__ValidationData* validationData = (half4x4__ValidationData*)mValidationDataStack.top();
72463         DISABLE_WARNING_UNUSED(validationData)
72464 bool returnValue = floatDataEnd( &ColladaParserAutoGen14::data__half4x4, &validate__cg_half4x4__streamEnd, &validationData->validationWholeSize, 0 );
72465         ParserError::ErrorType simpleTypeValidationResult = validate__cg_half4x4(0, (*(&validationData->validationWholeSize)));
72466         mValidationDataStack.deleteObject();
72467         if (simpleTypeValidationResult != ParserError::SIMPLE_TYPE_VALIDATION_OK)
72468         {
72469             if( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL,
72470                 simpleTypeValidationResult,
72471                 HASH_ELEMENT_HALF4X4,
72472                 (ParserChar*)0, 0 ) )
72473             {
72474                 return false;
72475             }
72476         }
72477         return returnValue;
72478     }
72479     else
72480     {
72481 return floatDataEnd( &ColladaParserAutoGen14::data__half4x4 );
72482     }
72483 #else
72484     {
72485 return floatDataEnd( &ColladaParserAutoGen14::data__half4x4 );
72486     } // validation
72487 #endif
72488 
72489 }
72490 
72491 //---------------------------------------------------------------------
_freeAttributes__half4x4(void * attributeData)72492 bool ColladaParserAutoGen14Private::_freeAttributes__half4x4( void* attributeData )
72493 {
72494     return true;
72495 }
72496 
72497 //---------------------------------------------------------------------
_data__fixed(const ParserChar * text,size_t textLength)72498 bool ColladaParserAutoGen14Private::_data__fixed( const ParserChar* text, size_t textLength )
72499 {
72500 if (!mLastIncompleteFragmentInCharacterData)
72501 {
72502     mLastIncompleteFragmentInCharacterData = (ParserChar*)mStackMemoryManager.newObject(textLength);
72503     memcpy(mLastIncompleteFragmentInCharacterData, text, textLength);
72504     mEndOfDataInCurrentObjectOnStack = mLastIncompleteFragmentInCharacterData + textLength;
72505 }
72506 else
72507 {
72508     ParserChar* tmp = (ParserChar*)mStackMemoryManager.growObject(textLength);
72509     if ( tmp != mLastIncompleteFragmentInCharacterData ) {
72510         mEndOfDataInCurrentObjectOnStack = (mEndOfDataInCurrentObjectOnStack - mLastIncompleteFragmentInCharacterData) + tmp;
72511         mLastIncompleteFragmentInCharacterData = tmp;
72512     }
72513     memcpy(mEndOfDataInCurrentObjectOnStack, text, textLength);
72514     mEndOfDataInCurrentObjectOnStack += textLength;
72515 }
72516 return true;
72517 }
72518 
72519 //---------------------------------------------------------------------
_preBegin__fixed(const ParserAttributes & attributes,void ** attributeDataPtr,void ** validationDataPtr)72520 bool ColladaParserAutoGen14Private::_preBegin__fixed( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
72521 {
72522 #ifdef GENERATEDSAXPARSER_VALIDATION
72523     if ( mValidate )
72524     {
72525 
72526         bool validationResult = _validateBegin__fixed( attributes, attributeDataPtr, validationDataPtr );
72527         if ( !validationResult ) return false;
72528 
72529     } // validation
72530 #endif
72531 
72532     return true;
72533 }
72534 
72535 //---------------------------------------------------------------------
_preEnd__fixed()72536 bool ColladaParserAutoGen14Private::_preEnd__fixed()
72537 {
72538 #ifdef GENERATEDSAXPARSER_VALIDATION
72539     if ( mValidate )
72540     {
72541 
72542         bool validationResult = _validateEnd__fixed();
72543         if ( !validationResult ) return false;
72544 
72545     } // validation
72546 #endif
72547 
72548 bool failed;
72549 const ParserChar* ptrForErr = mLastIncompleteFragmentInCharacterData;
72550 DISABLE_WARNING_UNUSED(ptrForErr)
72551 float parameter = GeneratedSaxParser::Utils::toFloat((const ParserChar**)&mLastIncompleteFragmentInCharacterData, mEndOfDataInCurrentObjectOnStack, failed);
72552 bool returnValue;
72553 if (!failed)
72554 {
72555 #ifdef GENERATEDSAXPARSER_VALIDATION
72556     if ( mValidate )
72557     {
72558     ParserError::ErrorType simpleTypeValidationResult = validate__cg_fixed(parameter);
72559     if (simpleTypeValidationResult != ParserError::SIMPLE_TYPE_VALIDATION_OK)
72560     {
72561         ParserChar msg[21];
72562         Utils::fillErrorMsg(msg, ptrForErr, 20);
72563         if( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL,
72564             simpleTypeValidationResult,
72565             0,
72566             msg) )
72567         {
72568             return false;
72569         }
72570     }
72571     } // validation
72572 #endif
72573     returnValue = mImpl->data__fixed(parameter);
72574 }
72575 else
72576     returnValue = !handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_TEXTDATA_PARSING_FAILED, HASH_ELEMENT_FIXED, (const ParserChar*)0, mLastIncompleteFragmentInCharacterData);
72577 if (mLastIncompleteFragmentInCharacterData)
72578     mStackMemoryManager.deleteObject();
72579 mLastIncompleteFragmentInCharacterData = 0;
72580 mEndOfDataInCurrentObjectOnStack = 0;
72581 return returnValue;
72582 }
72583 
72584 //---------------------------------------------------------------------
_freeAttributes__fixed(void * attributeData)72585 bool ColladaParserAutoGen14Private::_freeAttributes__fixed( void* attributeData )
72586 {
72587     return true;
72588 }
72589 
72590 //---------------------------------------------------------------------
_data__fixed1(const ParserChar * text,size_t textLength)72591 bool ColladaParserAutoGen14Private::_data__fixed1( const ParserChar* text, size_t textLength )
72592 {
72593 if (!mLastIncompleteFragmentInCharacterData)
72594 {
72595     mLastIncompleteFragmentInCharacterData = (ParserChar*)mStackMemoryManager.newObject(textLength);
72596     memcpy(mLastIncompleteFragmentInCharacterData, text, textLength);
72597     mEndOfDataInCurrentObjectOnStack = mLastIncompleteFragmentInCharacterData + textLength;
72598 }
72599 else
72600 {
72601     ParserChar* tmp = (ParserChar*)mStackMemoryManager.growObject(textLength);
72602     if ( tmp != mLastIncompleteFragmentInCharacterData ) {
72603         mEndOfDataInCurrentObjectOnStack = (mEndOfDataInCurrentObjectOnStack - mLastIncompleteFragmentInCharacterData) + tmp;
72604         mLastIncompleteFragmentInCharacterData = tmp;
72605     }
72606     memcpy(mEndOfDataInCurrentObjectOnStack, text, textLength);
72607     mEndOfDataInCurrentObjectOnStack += textLength;
72608 }
72609 return true;
72610 }
72611 
72612 //---------------------------------------------------------------------
_preBegin__fixed1(const ParserAttributes & attributes,void ** attributeDataPtr,void ** validationDataPtr)72613 bool ColladaParserAutoGen14Private::_preBegin__fixed1( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
72614 {
72615 #ifdef GENERATEDSAXPARSER_VALIDATION
72616     if ( mValidate )
72617     {
72618 
72619         bool validationResult = _validateBegin__fixed1( attributes, attributeDataPtr, validationDataPtr );
72620         if ( !validationResult ) return false;
72621 
72622     } // validation
72623 #endif
72624 
72625     return true;
72626 }
72627 
72628 //---------------------------------------------------------------------
_preEnd__fixed1()72629 bool ColladaParserAutoGen14Private::_preEnd__fixed1()
72630 {
72631 #ifdef GENERATEDSAXPARSER_VALIDATION
72632     if ( mValidate )
72633     {
72634 
72635         bool validationResult = _validateEnd__fixed1();
72636         if ( !validationResult ) return false;
72637 
72638     } // validation
72639 #endif
72640 
72641 bool failed;
72642 const ParserChar* ptrForErr = mLastIncompleteFragmentInCharacterData;
72643 DISABLE_WARNING_UNUSED(ptrForErr)
72644 float parameter = GeneratedSaxParser::Utils::toFloat((const ParserChar**)&mLastIncompleteFragmentInCharacterData, mEndOfDataInCurrentObjectOnStack, failed);
72645 bool returnValue;
72646 if (!failed)
72647 {
72648 #ifdef GENERATEDSAXPARSER_VALIDATION
72649     if ( mValidate )
72650     {
72651     ParserError::ErrorType simpleTypeValidationResult = validate__cg_fixed1(parameter);
72652     if (simpleTypeValidationResult != ParserError::SIMPLE_TYPE_VALIDATION_OK)
72653     {
72654         ParserChar msg[21];
72655         Utils::fillErrorMsg(msg, ptrForErr, 20);
72656         if( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL,
72657             simpleTypeValidationResult,
72658             0,
72659             msg) )
72660         {
72661             return false;
72662         }
72663     }
72664     } // validation
72665 #endif
72666     returnValue = mImpl->data__fixed1(parameter);
72667 }
72668 else
72669     returnValue = !handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_TEXTDATA_PARSING_FAILED, HASH_ELEMENT_FIXED1, (const ParserChar*)0, mLastIncompleteFragmentInCharacterData);
72670 if (mLastIncompleteFragmentInCharacterData)
72671     mStackMemoryManager.deleteObject();
72672 mLastIncompleteFragmentInCharacterData = 0;
72673 mEndOfDataInCurrentObjectOnStack = 0;
72674 return returnValue;
72675 }
72676 
72677 //---------------------------------------------------------------------
_freeAttributes__fixed1(void * attributeData)72678 bool ColladaParserAutoGen14Private::_freeAttributes__fixed1( void* attributeData )
72679 {
72680     return true;
72681 }
72682 
72683 //---------------------------------------------------------------------
_data__fixed2(const ParserChar * text,size_t textLength)72684 bool ColladaParserAutoGen14Private::_data__fixed2( const ParserChar* text, size_t textLength )
72685 {
72686 #ifdef GENERATEDSAXPARSER_VALIDATION
72687     if ( mValidate )
72688     {
72689         fixed2__ValidationData* validationData = (fixed2__ValidationData*)mValidationDataStack.top();
72690         DISABLE_WARNING_UNUSED(validationData)
72691 return characterData2FloatData(text, textLength, &ColladaParserAutoGen14::data__fixed2, &validate__cg_fixed2__stream, &validationData->validationWholeSize, &validate__cg_fixed);
72692     }
72693     else
72694     {
72695 return characterData2FloatData(text, textLength, &ColladaParserAutoGen14::data__fixed2);
72696     }
72697 #else
72698     {
72699 return characterData2FloatData(text, textLength, &ColladaParserAutoGen14::data__fixed2);
72700     } // validation
72701 #endif
72702 
72703 }
72704 
72705 //---------------------------------------------------------------------
_preBegin__fixed2(const ParserAttributes & attributes,void ** attributeDataPtr,void ** validationDataPtr)72706 bool ColladaParserAutoGen14Private::_preBegin__fixed2( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
72707 {
72708 #ifdef GENERATEDSAXPARSER_VALIDATION
72709     if ( mValidate )
72710     {
72711 
72712         bool validationResult = _validateBegin__fixed2( attributes, attributeDataPtr, validationDataPtr );
72713         if ( !validationResult ) return false;
72714 
72715     } // validation
72716 #endif
72717 
72718     return true;
72719 }
72720 
72721 //---------------------------------------------------------------------
_preEnd__fixed2()72722 bool ColladaParserAutoGen14Private::_preEnd__fixed2()
72723 {
72724 #ifdef GENERATEDSAXPARSER_VALIDATION
72725     if ( mValidate )
72726     {
72727 
72728         bool validationResult = _validateEnd__fixed2();
72729         if ( !validationResult ) return false;
72730 
72731     } // validation
72732 #endif
72733 
72734 #ifdef GENERATEDSAXPARSER_VALIDATION
72735     if ( mValidate )
72736     {
72737         fixed2__ValidationData* validationData = (fixed2__ValidationData*)mValidationDataStack.top();
72738         DISABLE_WARNING_UNUSED(validationData)
72739 bool returnValue = floatDataEnd( &ColladaParserAutoGen14::data__fixed2, &validate__cg_fixed2__streamEnd, &validationData->validationWholeSize, &validate__cg_fixed );
72740         ParserError::ErrorType simpleTypeValidationResult = validate__cg_fixed2(0, (*(&validationData->validationWholeSize)));
72741         mValidationDataStack.deleteObject();
72742         if (simpleTypeValidationResult != ParserError::SIMPLE_TYPE_VALIDATION_OK)
72743         {
72744             if( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL,
72745                 simpleTypeValidationResult,
72746                 HASH_ELEMENT_FIXED2,
72747                 (ParserChar*)0, 0 ) )
72748             {
72749                 return false;
72750             }
72751         }
72752         return returnValue;
72753     }
72754     else
72755     {
72756 return floatDataEnd( &ColladaParserAutoGen14::data__fixed2 );
72757     }
72758 #else
72759     {
72760 return floatDataEnd( &ColladaParserAutoGen14::data__fixed2 );
72761     } // validation
72762 #endif
72763 
72764 }
72765 
72766 //---------------------------------------------------------------------
_freeAttributes__fixed2(void * attributeData)72767 bool ColladaParserAutoGen14Private::_freeAttributes__fixed2( void* attributeData )
72768 {
72769     return true;
72770 }
72771 
72772 //---------------------------------------------------------------------
_data__fixed3(const ParserChar * text,size_t textLength)72773 bool ColladaParserAutoGen14Private::_data__fixed3( const ParserChar* text, size_t textLength )
72774 {
72775 #ifdef GENERATEDSAXPARSER_VALIDATION
72776     if ( mValidate )
72777     {
72778         fixed3__ValidationData* validationData = (fixed3__ValidationData*)mValidationDataStack.top();
72779         DISABLE_WARNING_UNUSED(validationData)
72780 return characterData2FloatData(text, textLength, &ColladaParserAutoGen14::data__fixed3, &validate__cg_fixed3__stream, &validationData->validationWholeSize, &validate__cg_fixed);
72781     }
72782     else
72783     {
72784 return characterData2FloatData(text, textLength, &ColladaParserAutoGen14::data__fixed3);
72785     }
72786 #else
72787     {
72788 return characterData2FloatData(text, textLength, &ColladaParserAutoGen14::data__fixed3);
72789     } // validation
72790 #endif
72791 
72792 }
72793 
72794 //---------------------------------------------------------------------
_preBegin__fixed3(const ParserAttributes & attributes,void ** attributeDataPtr,void ** validationDataPtr)72795 bool ColladaParserAutoGen14Private::_preBegin__fixed3( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
72796 {
72797 #ifdef GENERATEDSAXPARSER_VALIDATION
72798     if ( mValidate )
72799     {
72800 
72801         bool validationResult = _validateBegin__fixed3( attributes, attributeDataPtr, validationDataPtr );
72802         if ( !validationResult ) return false;
72803 
72804     } // validation
72805 #endif
72806 
72807     return true;
72808 }
72809 
72810 //---------------------------------------------------------------------
_preEnd__fixed3()72811 bool ColladaParserAutoGen14Private::_preEnd__fixed3()
72812 {
72813 #ifdef GENERATEDSAXPARSER_VALIDATION
72814     if ( mValidate )
72815     {
72816 
72817         bool validationResult = _validateEnd__fixed3();
72818         if ( !validationResult ) return false;
72819 
72820     } // validation
72821 #endif
72822 
72823 #ifdef GENERATEDSAXPARSER_VALIDATION
72824     if ( mValidate )
72825     {
72826         fixed3__ValidationData* validationData = (fixed3__ValidationData*)mValidationDataStack.top();
72827         DISABLE_WARNING_UNUSED(validationData)
72828 bool returnValue = floatDataEnd( &ColladaParserAutoGen14::data__fixed3, &validate__cg_fixed3__streamEnd, &validationData->validationWholeSize, &validate__cg_fixed );
72829         ParserError::ErrorType simpleTypeValidationResult = validate__cg_fixed3(0, (*(&validationData->validationWholeSize)));
72830         mValidationDataStack.deleteObject();
72831         if (simpleTypeValidationResult != ParserError::SIMPLE_TYPE_VALIDATION_OK)
72832         {
72833             if( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL,
72834                 simpleTypeValidationResult,
72835                 HASH_ELEMENT_FIXED3,
72836                 (ParserChar*)0, 0 ) )
72837             {
72838                 return false;
72839             }
72840         }
72841         return returnValue;
72842     }
72843     else
72844     {
72845 return floatDataEnd( &ColladaParserAutoGen14::data__fixed3 );
72846     }
72847 #else
72848     {
72849 return floatDataEnd( &ColladaParserAutoGen14::data__fixed3 );
72850     } // validation
72851 #endif
72852 
72853 }
72854 
72855 //---------------------------------------------------------------------
_freeAttributes__fixed3(void * attributeData)72856 bool ColladaParserAutoGen14Private::_freeAttributes__fixed3( void* attributeData )
72857 {
72858     return true;
72859 }
72860 
72861 //---------------------------------------------------------------------
_data__fixed4(const ParserChar * text,size_t textLength)72862 bool ColladaParserAutoGen14Private::_data__fixed4( const ParserChar* text, size_t textLength )
72863 {
72864 #ifdef GENERATEDSAXPARSER_VALIDATION
72865     if ( mValidate )
72866     {
72867         fixed4__ValidationData* validationData = (fixed4__ValidationData*)mValidationDataStack.top();
72868         DISABLE_WARNING_UNUSED(validationData)
72869 return characterData2FloatData(text, textLength, &ColladaParserAutoGen14::data__fixed4, &validate__cg_fixed4__stream, &validationData->validationWholeSize, &validate__cg_fixed);
72870     }
72871     else
72872     {
72873 return characterData2FloatData(text, textLength, &ColladaParserAutoGen14::data__fixed4);
72874     }
72875 #else
72876     {
72877 return characterData2FloatData(text, textLength, &ColladaParserAutoGen14::data__fixed4);
72878     } // validation
72879 #endif
72880 
72881 }
72882 
72883 //---------------------------------------------------------------------
_preBegin__fixed4(const ParserAttributes & attributes,void ** attributeDataPtr,void ** validationDataPtr)72884 bool ColladaParserAutoGen14Private::_preBegin__fixed4( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
72885 {
72886 #ifdef GENERATEDSAXPARSER_VALIDATION
72887     if ( mValidate )
72888     {
72889 
72890         bool validationResult = _validateBegin__fixed4( attributes, attributeDataPtr, validationDataPtr );
72891         if ( !validationResult ) return false;
72892 
72893     } // validation
72894 #endif
72895 
72896     return true;
72897 }
72898 
72899 //---------------------------------------------------------------------
_preEnd__fixed4()72900 bool ColladaParserAutoGen14Private::_preEnd__fixed4()
72901 {
72902 #ifdef GENERATEDSAXPARSER_VALIDATION
72903     if ( mValidate )
72904     {
72905 
72906         bool validationResult = _validateEnd__fixed4();
72907         if ( !validationResult ) return false;
72908 
72909     } // validation
72910 #endif
72911 
72912 #ifdef GENERATEDSAXPARSER_VALIDATION
72913     if ( mValidate )
72914     {
72915         fixed4__ValidationData* validationData = (fixed4__ValidationData*)mValidationDataStack.top();
72916         DISABLE_WARNING_UNUSED(validationData)
72917 bool returnValue = floatDataEnd( &ColladaParserAutoGen14::data__fixed4, &validate__cg_fixed4__streamEnd, &validationData->validationWholeSize, &validate__cg_fixed );
72918         ParserError::ErrorType simpleTypeValidationResult = validate__cg_fixed4(0, (*(&validationData->validationWholeSize)));
72919         mValidationDataStack.deleteObject();
72920         if (simpleTypeValidationResult != ParserError::SIMPLE_TYPE_VALIDATION_OK)
72921         {
72922             if( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL,
72923                 simpleTypeValidationResult,
72924                 HASH_ELEMENT_FIXED4,
72925                 (ParserChar*)0, 0 ) )
72926             {
72927                 return false;
72928             }
72929         }
72930         return returnValue;
72931     }
72932     else
72933     {
72934 return floatDataEnd( &ColladaParserAutoGen14::data__fixed4 );
72935     }
72936 #else
72937     {
72938 return floatDataEnd( &ColladaParserAutoGen14::data__fixed4 );
72939     } // validation
72940 #endif
72941 
72942 }
72943 
72944 //---------------------------------------------------------------------
_freeAttributes__fixed4(void * attributeData)72945 bool ColladaParserAutoGen14Private::_freeAttributes__fixed4( void* attributeData )
72946 {
72947     return true;
72948 }
72949 
72950 //---------------------------------------------------------------------
_data__fixed1x1(const ParserChar * text,size_t textLength)72951 bool ColladaParserAutoGen14Private::_data__fixed1x1( const ParserChar* text, size_t textLength )
72952 {
72953 #ifdef GENERATEDSAXPARSER_VALIDATION
72954     if ( mValidate )
72955     {
72956         fixed1x1__ValidationData* validationData = (fixed1x1__ValidationData*)mValidationDataStack.top();
72957         DISABLE_WARNING_UNUSED(validationData)
72958 return characterData2FloatData(text, textLength, &ColladaParserAutoGen14::data__fixed1x1, &validate__cg_fixed1x1__stream, &validationData->validationWholeSize, &validate__cg_fixed);
72959     }
72960     else
72961     {
72962 return characterData2FloatData(text, textLength, &ColladaParserAutoGen14::data__fixed1x1);
72963     }
72964 #else
72965     {
72966 return characterData2FloatData(text, textLength, &ColladaParserAutoGen14::data__fixed1x1);
72967     } // validation
72968 #endif
72969 
72970 }
72971 
72972 //---------------------------------------------------------------------
_preBegin__fixed1x1(const ParserAttributes & attributes,void ** attributeDataPtr,void ** validationDataPtr)72973 bool ColladaParserAutoGen14Private::_preBegin__fixed1x1( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
72974 {
72975 #ifdef GENERATEDSAXPARSER_VALIDATION
72976     if ( mValidate )
72977     {
72978 
72979         bool validationResult = _validateBegin__fixed1x1( attributes, attributeDataPtr, validationDataPtr );
72980         if ( !validationResult ) return false;
72981 
72982     } // validation
72983 #endif
72984 
72985     return true;
72986 }
72987 
72988 //---------------------------------------------------------------------
_preEnd__fixed1x1()72989 bool ColladaParserAutoGen14Private::_preEnd__fixed1x1()
72990 {
72991 #ifdef GENERATEDSAXPARSER_VALIDATION
72992     if ( mValidate )
72993     {
72994 
72995         bool validationResult = _validateEnd__fixed1x1();
72996         if ( !validationResult ) return false;
72997 
72998     } // validation
72999 #endif
73000 
73001 #ifdef GENERATEDSAXPARSER_VALIDATION
73002     if ( mValidate )
73003     {
73004         fixed1x1__ValidationData* validationData = (fixed1x1__ValidationData*)mValidationDataStack.top();
73005         DISABLE_WARNING_UNUSED(validationData)
73006 bool returnValue = floatDataEnd( &ColladaParserAutoGen14::data__fixed1x1, &validate__cg_fixed1x1__streamEnd, &validationData->validationWholeSize, &validate__cg_fixed );
73007         ParserError::ErrorType simpleTypeValidationResult = validate__cg_fixed1x1(0, (*(&validationData->validationWholeSize)));
73008         mValidationDataStack.deleteObject();
73009         if (simpleTypeValidationResult != ParserError::SIMPLE_TYPE_VALIDATION_OK)
73010         {
73011             if( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL,
73012                 simpleTypeValidationResult,
73013                 HASH_ELEMENT_FIXED1X1,
73014                 (ParserChar*)0, 0 ) )
73015             {
73016                 return false;
73017             }
73018         }
73019         return returnValue;
73020     }
73021     else
73022     {
73023 return floatDataEnd( &ColladaParserAutoGen14::data__fixed1x1 );
73024     }
73025 #else
73026     {
73027 return floatDataEnd( &ColladaParserAutoGen14::data__fixed1x1 );
73028     } // validation
73029 #endif
73030 
73031 }
73032 
73033 //---------------------------------------------------------------------
_freeAttributes__fixed1x1(void * attributeData)73034 bool ColladaParserAutoGen14Private::_freeAttributes__fixed1x1( void* attributeData )
73035 {
73036     return true;
73037 }
73038 
73039 //---------------------------------------------------------------------
_data__fixed1x2(const ParserChar * text,size_t textLength)73040 bool ColladaParserAutoGen14Private::_data__fixed1x2( const ParserChar* text, size_t textLength )
73041 {
73042 #ifdef GENERATEDSAXPARSER_VALIDATION
73043     if ( mValidate )
73044     {
73045         fixed1x2__ValidationData* validationData = (fixed1x2__ValidationData*)mValidationDataStack.top();
73046         DISABLE_WARNING_UNUSED(validationData)
73047 return characterData2FloatData(text, textLength, &ColladaParserAutoGen14::data__fixed1x2, &validate__cg_fixed1x2__stream, &validationData->validationWholeSize, &validate__cg_fixed);
73048     }
73049     else
73050     {
73051 return characterData2FloatData(text, textLength, &ColladaParserAutoGen14::data__fixed1x2);
73052     }
73053 #else
73054     {
73055 return characterData2FloatData(text, textLength, &ColladaParserAutoGen14::data__fixed1x2);
73056     } // validation
73057 #endif
73058 
73059 }
73060 
73061 //---------------------------------------------------------------------
_preBegin__fixed1x2(const ParserAttributes & attributes,void ** attributeDataPtr,void ** validationDataPtr)73062 bool ColladaParserAutoGen14Private::_preBegin__fixed1x2( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
73063 {
73064 #ifdef GENERATEDSAXPARSER_VALIDATION
73065     if ( mValidate )
73066     {
73067 
73068         bool validationResult = _validateBegin__fixed1x2( attributes, attributeDataPtr, validationDataPtr );
73069         if ( !validationResult ) return false;
73070 
73071     } // validation
73072 #endif
73073 
73074     return true;
73075 }
73076 
73077 //---------------------------------------------------------------------
_preEnd__fixed1x2()73078 bool ColladaParserAutoGen14Private::_preEnd__fixed1x2()
73079 {
73080 #ifdef GENERATEDSAXPARSER_VALIDATION
73081     if ( mValidate )
73082     {
73083 
73084         bool validationResult = _validateEnd__fixed1x2();
73085         if ( !validationResult ) return false;
73086 
73087     } // validation
73088 #endif
73089 
73090 #ifdef GENERATEDSAXPARSER_VALIDATION
73091     if ( mValidate )
73092     {
73093         fixed1x2__ValidationData* validationData = (fixed1x2__ValidationData*)mValidationDataStack.top();
73094         DISABLE_WARNING_UNUSED(validationData)
73095 bool returnValue = floatDataEnd( &ColladaParserAutoGen14::data__fixed1x2, &validate__cg_fixed1x2__streamEnd, &validationData->validationWholeSize, &validate__cg_fixed );
73096         ParserError::ErrorType simpleTypeValidationResult = validate__cg_fixed1x2(0, (*(&validationData->validationWholeSize)));
73097         mValidationDataStack.deleteObject();
73098         if (simpleTypeValidationResult != ParserError::SIMPLE_TYPE_VALIDATION_OK)
73099         {
73100             if( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL,
73101                 simpleTypeValidationResult,
73102                 HASH_ELEMENT_FIXED1X2,
73103                 (ParserChar*)0, 0 ) )
73104             {
73105                 return false;
73106             }
73107         }
73108         return returnValue;
73109     }
73110     else
73111     {
73112 return floatDataEnd( &ColladaParserAutoGen14::data__fixed1x2 );
73113     }
73114 #else
73115     {
73116 return floatDataEnd( &ColladaParserAutoGen14::data__fixed1x2 );
73117     } // validation
73118 #endif
73119 
73120 }
73121 
73122 //---------------------------------------------------------------------
_freeAttributes__fixed1x2(void * attributeData)73123 bool ColladaParserAutoGen14Private::_freeAttributes__fixed1x2( void* attributeData )
73124 {
73125     return true;
73126 }
73127 
73128 //---------------------------------------------------------------------
_data__fixed1x3(const ParserChar * text,size_t textLength)73129 bool ColladaParserAutoGen14Private::_data__fixed1x3( const ParserChar* text, size_t textLength )
73130 {
73131 #ifdef GENERATEDSAXPARSER_VALIDATION
73132     if ( mValidate )
73133     {
73134         fixed1x3__ValidationData* validationData = (fixed1x3__ValidationData*)mValidationDataStack.top();
73135         DISABLE_WARNING_UNUSED(validationData)
73136 return characterData2FloatData(text, textLength, &ColladaParserAutoGen14::data__fixed1x3, &validate__cg_fixed1x3__stream, &validationData->validationWholeSize, &validate__cg_fixed);
73137     }
73138     else
73139     {
73140 return characterData2FloatData(text, textLength, &ColladaParserAutoGen14::data__fixed1x3);
73141     }
73142 #else
73143     {
73144 return characterData2FloatData(text, textLength, &ColladaParserAutoGen14::data__fixed1x3);
73145     } // validation
73146 #endif
73147 
73148 }
73149 
73150 //---------------------------------------------------------------------
_preBegin__fixed1x3(const ParserAttributes & attributes,void ** attributeDataPtr,void ** validationDataPtr)73151 bool ColladaParserAutoGen14Private::_preBegin__fixed1x3( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
73152 {
73153 #ifdef GENERATEDSAXPARSER_VALIDATION
73154     if ( mValidate )
73155     {
73156 
73157         bool validationResult = _validateBegin__fixed1x3( attributes, attributeDataPtr, validationDataPtr );
73158         if ( !validationResult ) return false;
73159 
73160     } // validation
73161 #endif
73162 
73163     return true;
73164 }
73165 
73166 //---------------------------------------------------------------------
_preEnd__fixed1x3()73167 bool ColladaParserAutoGen14Private::_preEnd__fixed1x3()
73168 {
73169 #ifdef GENERATEDSAXPARSER_VALIDATION
73170     if ( mValidate )
73171     {
73172 
73173         bool validationResult = _validateEnd__fixed1x3();
73174         if ( !validationResult ) return false;
73175 
73176     } // validation
73177 #endif
73178 
73179 #ifdef GENERATEDSAXPARSER_VALIDATION
73180     if ( mValidate )
73181     {
73182         fixed1x3__ValidationData* validationData = (fixed1x3__ValidationData*)mValidationDataStack.top();
73183         DISABLE_WARNING_UNUSED(validationData)
73184 bool returnValue = floatDataEnd( &ColladaParserAutoGen14::data__fixed1x3, &validate__cg_fixed1x3__streamEnd, &validationData->validationWholeSize, &validate__cg_fixed );
73185         ParserError::ErrorType simpleTypeValidationResult = validate__cg_fixed1x3(0, (*(&validationData->validationWholeSize)));
73186         mValidationDataStack.deleteObject();
73187         if (simpleTypeValidationResult != ParserError::SIMPLE_TYPE_VALIDATION_OK)
73188         {
73189             if( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL,
73190                 simpleTypeValidationResult,
73191                 HASH_ELEMENT_FIXED1X3,
73192                 (ParserChar*)0, 0 ) )
73193             {
73194                 return false;
73195             }
73196         }
73197         return returnValue;
73198     }
73199     else
73200     {
73201 return floatDataEnd( &ColladaParserAutoGen14::data__fixed1x3 );
73202     }
73203 #else
73204     {
73205 return floatDataEnd( &ColladaParserAutoGen14::data__fixed1x3 );
73206     } // validation
73207 #endif
73208 
73209 }
73210 
73211 //---------------------------------------------------------------------
_freeAttributes__fixed1x3(void * attributeData)73212 bool ColladaParserAutoGen14Private::_freeAttributes__fixed1x3( void* attributeData )
73213 {
73214     return true;
73215 }
73216 
73217 //---------------------------------------------------------------------
_data__fixed1x4(const ParserChar * text,size_t textLength)73218 bool ColladaParserAutoGen14Private::_data__fixed1x4( const ParserChar* text, size_t textLength )
73219 {
73220 #ifdef GENERATEDSAXPARSER_VALIDATION
73221     if ( mValidate )
73222     {
73223         fixed1x4__ValidationData* validationData = (fixed1x4__ValidationData*)mValidationDataStack.top();
73224         DISABLE_WARNING_UNUSED(validationData)
73225 return characterData2FloatData(text, textLength, &ColladaParserAutoGen14::data__fixed1x4, &validate__cg_fixed1x4__stream, &validationData->validationWholeSize, &validate__cg_fixed);
73226     }
73227     else
73228     {
73229 return characterData2FloatData(text, textLength, &ColladaParserAutoGen14::data__fixed1x4);
73230     }
73231 #else
73232     {
73233 return characterData2FloatData(text, textLength, &ColladaParserAutoGen14::data__fixed1x4);
73234     } // validation
73235 #endif
73236 
73237 }
73238 
73239 //---------------------------------------------------------------------
_preBegin__fixed1x4(const ParserAttributes & attributes,void ** attributeDataPtr,void ** validationDataPtr)73240 bool ColladaParserAutoGen14Private::_preBegin__fixed1x4( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
73241 {
73242 #ifdef GENERATEDSAXPARSER_VALIDATION
73243     if ( mValidate )
73244     {
73245 
73246         bool validationResult = _validateBegin__fixed1x4( attributes, attributeDataPtr, validationDataPtr );
73247         if ( !validationResult ) return false;
73248 
73249     } // validation
73250 #endif
73251 
73252     return true;
73253 }
73254 
73255 //---------------------------------------------------------------------
_preEnd__fixed1x4()73256 bool ColladaParserAutoGen14Private::_preEnd__fixed1x4()
73257 {
73258 #ifdef GENERATEDSAXPARSER_VALIDATION
73259     if ( mValidate )
73260     {
73261 
73262         bool validationResult = _validateEnd__fixed1x4();
73263         if ( !validationResult ) return false;
73264 
73265     } // validation
73266 #endif
73267 
73268 #ifdef GENERATEDSAXPARSER_VALIDATION
73269     if ( mValidate )
73270     {
73271         fixed1x4__ValidationData* validationData = (fixed1x4__ValidationData*)mValidationDataStack.top();
73272         DISABLE_WARNING_UNUSED(validationData)
73273 bool returnValue = floatDataEnd( &ColladaParserAutoGen14::data__fixed1x4, &validate__cg_fixed1x4__streamEnd, &validationData->validationWholeSize, &validate__cg_fixed );
73274         ParserError::ErrorType simpleTypeValidationResult = validate__cg_fixed1x4(0, (*(&validationData->validationWholeSize)));
73275         mValidationDataStack.deleteObject();
73276         if (simpleTypeValidationResult != ParserError::SIMPLE_TYPE_VALIDATION_OK)
73277         {
73278             if( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL,
73279                 simpleTypeValidationResult,
73280                 HASH_ELEMENT_FIXED1X4,
73281                 (ParserChar*)0, 0 ) )
73282             {
73283                 return false;
73284             }
73285         }
73286         return returnValue;
73287     }
73288     else
73289     {
73290 return floatDataEnd( &ColladaParserAutoGen14::data__fixed1x4 );
73291     }
73292 #else
73293     {
73294 return floatDataEnd( &ColladaParserAutoGen14::data__fixed1x4 );
73295     } // validation
73296 #endif
73297 
73298 }
73299 
73300 //---------------------------------------------------------------------
_freeAttributes__fixed1x4(void * attributeData)73301 bool ColladaParserAutoGen14Private::_freeAttributes__fixed1x4( void* attributeData )
73302 {
73303     return true;
73304 }
73305 
73306 //---------------------------------------------------------------------
_data__fixed2x1(const ParserChar * text,size_t textLength)73307 bool ColladaParserAutoGen14Private::_data__fixed2x1( const ParserChar* text, size_t textLength )
73308 {
73309 #ifdef GENERATEDSAXPARSER_VALIDATION
73310     if ( mValidate )
73311     {
73312         fixed2x1__ValidationData* validationData = (fixed2x1__ValidationData*)mValidationDataStack.top();
73313         DISABLE_WARNING_UNUSED(validationData)
73314 return characterData2FloatData(text, textLength, &ColladaParserAutoGen14::data__fixed2x1, &validate__cg_fixed2x1__stream, &validationData->validationWholeSize, &validate__cg_fixed);
73315     }
73316     else
73317     {
73318 return characterData2FloatData(text, textLength, &ColladaParserAutoGen14::data__fixed2x1);
73319     }
73320 #else
73321     {
73322 return characterData2FloatData(text, textLength, &ColladaParserAutoGen14::data__fixed2x1);
73323     } // validation
73324 #endif
73325 
73326 }
73327 
73328 //---------------------------------------------------------------------
_preBegin__fixed2x1(const ParserAttributes & attributes,void ** attributeDataPtr,void ** validationDataPtr)73329 bool ColladaParserAutoGen14Private::_preBegin__fixed2x1( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
73330 {
73331 #ifdef GENERATEDSAXPARSER_VALIDATION
73332     if ( mValidate )
73333     {
73334 
73335         bool validationResult = _validateBegin__fixed2x1( attributes, attributeDataPtr, validationDataPtr );
73336         if ( !validationResult ) return false;
73337 
73338     } // validation
73339 #endif
73340 
73341     return true;
73342 }
73343 
73344 //---------------------------------------------------------------------
_preEnd__fixed2x1()73345 bool ColladaParserAutoGen14Private::_preEnd__fixed2x1()
73346 {
73347 #ifdef GENERATEDSAXPARSER_VALIDATION
73348     if ( mValidate )
73349     {
73350 
73351         bool validationResult = _validateEnd__fixed2x1();
73352         if ( !validationResult ) return false;
73353 
73354     } // validation
73355 #endif
73356 
73357 #ifdef GENERATEDSAXPARSER_VALIDATION
73358     if ( mValidate )
73359     {
73360         fixed2x1__ValidationData* validationData = (fixed2x1__ValidationData*)mValidationDataStack.top();
73361         DISABLE_WARNING_UNUSED(validationData)
73362 bool returnValue = floatDataEnd( &ColladaParserAutoGen14::data__fixed2x1, &validate__cg_fixed2x1__streamEnd, &validationData->validationWholeSize, &validate__cg_fixed );
73363         ParserError::ErrorType simpleTypeValidationResult = validate__cg_fixed2x1(0, (*(&validationData->validationWholeSize)));
73364         mValidationDataStack.deleteObject();
73365         if (simpleTypeValidationResult != ParserError::SIMPLE_TYPE_VALIDATION_OK)
73366         {
73367             if( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL,
73368                 simpleTypeValidationResult,
73369                 HASH_ELEMENT_FIXED2X1,
73370                 (ParserChar*)0, 0 ) )
73371             {
73372                 return false;
73373             }
73374         }
73375         return returnValue;
73376     }
73377     else
73378     {
73379 return floatDataEnd( &ColladaParserAutoGen14::data__fixed2x1 );
73380     }
73381 #else
73382     {
73383 return floatDataEnd( &ColladaParserAutoGen14::data__fixed2x1 );
73384     } // validation
73385 #endif
73386 
73387 }
73388 
73389 //---------------------------------------------------------------------
_freeAttributes__fixed2x1(void * attributeData)73390 bool ColladaParserAutoGen14Private::_freeAttributes__fixed2x1( void* attributeData )
73391 {
73392     return true;
73393 }
73394 
73395 //---------------------------------------------------------------------
_data__fixed2x2(const ParserChar * text,size_t textLength)73396 bool ColladaParserAutoGen14Private::_data__fixed2x2( const ParserChar* text, size_t textLength )
73397 {
73398 #ifdef GENERATEDSAXPARSER_VALIDATION
73399     if ( mValidate )
73400     {
73401         fixed2x2__ValidationData* validationData = (fixed2x2__ValidationData*)mValidationDataStack.top();
73402         DISABLE_WARNING_UNUSED(validationData)
73403 return characterData2FloatData(text, textLength, &ColladaParserAutoGen14::data__fixed2x2, &validate__cg_fixed2x2__stream, &validationData->validationWholeSize, &validate__cg_fixed);
73404     }
73405     else
73406     {
73407 return characterData2FloatData(text, textLength, &ColladaParserAutoGen14::data__fixed2x2);
73408     }
73409 #else
73410     {
73411 return characterData2FloatData(text, textLength, &ColladaParserAutoGen14::data__fixed2x2);
73412     } // validation
73413 #endif
73414 
73415 }
73416 
73417 //---------------------------------------------------------------------
_preBegin__fixed2x2(const ParserAttributes & attributes,void ** attributeDataPtr,void ** validationDataPtr)73418 bool ColladaParserAutoGen14Private::_preBegin__fixed2x2( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
73419 {
73420 #ifdef GENERATEDSAXPARSER_VALIDATION
73421     if ( mValidate )
73422     {
73423 
73424         bool validationResult = _validateBegin__fixed2x2( attributes, attributeDataPtr, validationDataPtr );
73425         if ( !validationResult ) return false;
73426 
73427     } // validation
73428 #endif
73429 
73430     return true;
73431 }
73432 
73433 //---------------------------------------------------------------------
_preEnd__fixed2x2()73434 bool ColladaParserAutoGen14Private::_preEnd__fixed2x2()
73435 {
73436 #ifdef GENERATEDSAXPARSER_VALIDATION
73437     if ( mValidate )
73438     {
73439 
73440         bool validationResult = _validateEnd__fixed2x2();
73441         if ( !validationResult ) return false;
73442 
73443     } // validation
73444 #endif
73445 
73446 #ifdef GENERATEDSAXPARSER_VALIDATION
73447     if ( mValidate )
73448     {
73449         fixed2x2__ValidationData* validationData = (fixed2x2__ValidationData*)mValidationDataStack.top();
73450         DISABLE_WARNING_UNUSED(validationData)
73451 bool returnValue = floatDataEnd( &ColladaParserAutoGen14::data__fixed2x2, &validate__cg_fixed2x2__streamEnd, &validationData->validationWholeSize, &validate__cg_fixed );
73452         ParserError::ErrorType simpleTypeValidationResult = validate__cg_fixed2x2(0, (*(&validationData->validationWholeSize)));
73453         mValidationDataStack.deleteObject();
73454         if (simpleTypeValidationResult != ParserError::SIMPLE_TYPE_VALIDATION_OK)
73455         {
73456             if( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL,
73457                 simpleTypeValidationResult,
73458                 HASH_ELEMENT_FIXED2X2,
73459                 (ParserChar*)0, 0 ) )
73460             {
73461                 return false;
73462             }
73463         }
73464         return returnValue;
73465     }
73466     else
73467     {
73468 return floatDataEnd( &ColladaParserAutoGen14::data__fixed2x2 );
73469     }
73470 #else
73471     {
73472 return floatDataEnd( &ColladaParserAutoGen14::data__fixed2x2 );
73473     } // validation
73474 #endif
73475 
73476 }
73477 
73478 //---------------------------------------------------------------------
_freeAttributes__fixed2x2(void * attributeData)73479 bool ColladaParserAutoGen14Private::_freeAttributes__fixed2x2( void* attributeData )
73480 {
73481     return true;
73482 }
73483 
73484 //---------------------------------------------------------------------
_data__fixed2x3(const ParserChar * text,size_t textLength)73485 bool ColladaParserAutoGen14Private::_data__fixed2x3( const ParserChar* text, size_t textLength )
73486 {
73487 #ifdef GENERATEDSAXPARSER_VALIDATION
73488     if ( mValidate )
73489     {
73490         fixed2x3__ValidationData* validationData = (fixed2x3__ValidationData*)mValidationDataStack.top();
73491         DISABLE_WARNING_UNUSED(validationData)
73492 return characterData2FloatData(text, textLength, &ColladaParserAutoGen14::data__fixed2x3, &validate__cg_fixed2x3__stream, &validationData->validationWholeSize, &validate__cg_fixed);
73493     }
73494     else
73495     {
73496 return characterData2FloatData(text, textLength, &ColladaParserAutoGen14::data__fixed2x3);
73497     }
73498 #else
73499     {
73500 return characterData2FloatData(text, textLength, &ColladaParserAutoGen14::data__fixed2x3);
73501     } // validation
73502 #endif
73503 
73504 }
73505 
73506 //---------------------------------------------------------------------
_preBegin__fixed2x3(const ParserAttributes & attributes,void ** attributeDataPtr,void ** validationDataPtr)73507 bool ColladaParserAutoGen14Private::_preBegin__fixed2x3( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
73508 {
73509 #ifdef GENERATEDSAXPARSER_VALIDATION
73510     if ( mValidate )
73511     {
73512 
73513         bool validationResult = _validateBegin__fixed2x3( attributes, attributeDataPtr, validationDataPtr );
73514         if ( !validationResult ) return false;
73515 
73516     } // validation
73517 #endif
73518 
73519     return true;
73520 }
73521 
73522 //---------------------------------------------------------------------
_preEnd__fixed2x3()73523 bool ColladaParserAutoGen14Private::_preEnd__fixed2x3()
73524 {
73525 #ifdef GENERATEDSAXPARSER_VALIDATION
73526     if ( mValidate )
73527     {
73528 
73529         bool validationResult = _validateEnd__fixed2x3();
73530         if ( !validationResult ) return false;
73531 
73532     } // validation
73533 #endif
73534 
73535 #ifdef GENERATEDSAXPARSER_VALIDATION
73536     if ( mValidate )
73537     {
73538         fixed2x3__ValidationData* validationData = (fixed2x3__ValidationData*)mValidationDataStack.top();
73539         DISABLE_WARNING_UNUSED(validationData)
73540 bool returnValue = floatDataEnd( &ColladaParserAutoGen14::data__fixed2x3, &validate__cg_fixed2x3__streamEnd, &validationData->validationWholeSize, &validate__cg_fixed );
73541         ParserError::ErrorType simpleTypeValidationResult = validate__cg_fixed2x3(0, (*(&validationData->validationWholeSize)));
73542         mValidationDataStack.deleteObject();
73543         if (simpleTypeValidationResult != ParserError::SIMPLE_TYPE_VALIDATION_OK)
73544         {
73545             if( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL,
73546                 simpleTypeValidationResult,
73547                 HASH_ELEMENT_FIXED2X3,
73548                 (ParserChar*)0, 0 ) )
73549             {
73550                 return false;
73551             }
73552         }
73553         return returnValue;
73554     }
73555     else
73556     {
73557 return floatDataEnd( &ColladaParserAutoGen14::data__fixed2x3 );
73558     }
73559 #else
73560     {
73561 return floatDataEnd( &ColladaParserAutoGen14::data__fixed2x3 );
73562     } // validation
73563 #endif
73564 
73565 }
73566 
73567 //---------------------------------------------------------------------
_freeAttributes__fixed2x3(void * attributeData)73568 bool ColladaParserAutoGen14Private::_freeAttributes__fixed2x3( void* attributeData )
73569 {
73570     return true;
73571 }
73572 
73573 //---------------------------------------------------------------------
_data__fixed2x4(const ParserChar * text,size_t textLength)73574 bool ColladaParserAutoGen14Private::_data__fixed2x4( const ParserChar* text, size_t textLength )
73575 {
73576 #ifdef GENERATEDSAXPARSER_VALIDATION
73577     if ( mValidate )
73578     {
73579         fixed2x4__ValidationData* validationData = (fixed2x4__ValidationData*)mValidationDataStack.top();
73580         DISABLE_WARNING_UNUSED(validationData)
73581 return characterData2FloatData(text, textLength, &ColladaParserAutoGen14::data__fixed2x4, &validate__cg_fixed2x4__stream, &validationData->validationWholeSize, &validate__cg_fixed);
73582     }
73583     else
73584     {
73585 return characterData2FloatData(text, textLength, &ColladaParserAutoGen14::data__fixed2x4);
73586     }
73587 #else
73588     {
73589 return characterData2FloatData(text, textLength, &ColladaParserAutoGen14::data__fixed2x4);
73590     } // validation
73591 #endif
73592 
73593 }
73594 
73595 //---------------------------------------------------------------------
_preBegin__fixed2x4(const ParserAttributes & attributes,void ** attributeDataPtr,void ** validationDataPtr)73596 bool ColladaParserAutoGen14Private::_preBegin__fixed2x4( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
73597 {
73598 #ifdef GENERATEDSAXPARSER_VALIDATION
73599     if ( mValidate )
73600     {
73601 
73602         bool validationResult = _validateBegin__fixed2x4( attributes, attributeDataPtr, validationDataPtr );
73603         if ( !validationResult ) return false;
73604 
73605     } // validation
73606 #endif
73607 
73608     return true;
73609 }
73610 
73611 //---------------------------------------------------------------------
_preEnd__fixed2x4()73612 bool ColladaParserAutoGen14Private::_preEnd__fixed2x4()
73613 {
73614 #ifdef GENERATEDSAXPARSER_VALIDATION
73615     if ( mValidate )
73616     {
73617 
73618         bool validationResult = _validateEnd__fixed2x4();
73619         if ( !validationResult ) return false;
73620 
73621     } // validation
73622 #endif
73623 
73624 #ifdef GENERATEDSAXPARSER_VALIDATION
73625     if ( mValidate )
73626     {
73627         fixed2x4__ValidationData* validationData = (fixed2x4__ValidationData*)mValidationDataStack.top();
73628         DISABLE_WARNING_UNUSED(validationData)
73629 bool returnValue = floatDataEnd( &ColladaParserAutoGen14::data__fixed2x4, &validate__cg_fixed2x4__streamEnd, &validationData->validationWholeSize, &validate__cg_fixed );
73630         ParserError::ErrorType simpleTypeValidationResult = validate__cg_fixed2x4(0, (*(&validationData->validationWholeSize)));
73631         mValidationDataStack.deleteObject();
73632         if (simpleTypeValidationResult != ParserError::SIMPLE_TYPE_VALIDATION_OK)
73633         {
73634             if( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL,
73635                 simpleTypeValidationResult,
73636                 HASH_ELEMENT_FIXED2X4,
73637                 (ParserChar*)0, 0 ) )
73638             {
73639                 return false;
73640             }
73641         }
73642         return returnValue;
73643     }
73644     else
73645     {
73646 return floatDataEnd( &ColladaParserAutoGen14::data__fixed2x4 );
73647     }
73648 #else
73649     {
73650 return floatDataEnd( &ColladaParserAutoGen14::data__fixed2x4 );
73651     } // validation
73652 #endif
73653 
73654 }
73655 
73656 //---------------------------------------------------------------------
_freeAttributes__fixed2x4(void * attributeData)73657 bool ColladaParserAutoGen14Private::_freeAttributes__fixed2x4( void* attributeData )
73658 {
73659     return true;
73660 }
73661 
73662 //---------------------------------------------------------------------
_data__fixed3x1(const ParserChar * text,size_t textLength)73663 bool ColladaParserAutoGen14Private::_data__fixed3x1( const ParserChar* text, size_t textLength )
73664 {
73665 #ifdef GENERATEDSAXPARSER_VALIDATION
73666     if ( mValidate )
73667     {
73668         fixed3x1__ValidationData* validationData = (fixed3x1__ValidationData*)mValidationDataStack.top();
73669         DISABLE_WARNING_UNUSED(validationData)
73670 return characterData2FloatData(text, textLength, &ColladaParserAutoGen14::data__fixed3x1, &validate__cg_fixed3x1__stream, &validationData->validationWholeSize, &validate__cg_fixed);
73671     }
73672     else
73673     {
73674 return characterData2FloatData(text, textLength, &ColladaParserAutoGen14::data__fixed3x1);
73675     }
73676 #else
73677     {
73678 return characterData2FloatData(text, textLength, &ColladaParserAutoGen14::data__fixed3x1);
73679     } // validation
73680 #endif
73681 
73682 }
73683 
73684 //---------------------------------------------------------------------
_preBegin__fixed3x1(const ParserAttributes & attributes,void ** attributeDataPtr,void ** validationDataPtr)73685 bool ColladaParserAutoGen14Private::_preBegin__fixed3x1( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
73686 {
73687 #ifdef GENERATEDSAXPARSER_VALIDATION
73688     if ( mValidate )
73689     {
73690 
73691         bool validationResult = _validateBegin__fixed3x1( attributes, attributeDataPtr, validationDataPtr );
73692         if ( !validationResult ) return false;
73693 
73694     } // validation
73695 #endif
73696 
73697     return true;
73698 }
73699 
73700 //---------------------------------------------------------------------
_preEnd__fixed3x1()73701 bool ColladaParserAutoGen14Private::_preEnd__fixed3x1()
73702 {
73703 #ifdef GENERATEDSAXPARSER_VALIDATION
73704     if ( mValidate )
73705     {
73706 
73707         bool validationResult = _validateEnd__fixed3x1();
73708         if ( !validationResult ) return false;
73709 
73710     } // validation
73711 #endif
73712 
73713 #ifdef GENERATEDSAXPARSER_VALIDATION
73714     if ( mValidate )
73715     {
73716         fixed3x1__ValidationData* validationData = (fixed3x1__ValidationData*)mValidationDataStack.top();
73717         DISABLE_WARNING_UNUSED(validationData)
73718 bool returnValue = floatDataEnd( &ColladaParserAutoGen14::data__fixed3x1, &validate__cg_fixed3x1__streamEnd, &validationData->validationWholeSize, &validate__cg_fixed );
73719         ParserError::ErrorType simpleTypeValidationResult = validate__cg_fixed3x1(0, (*(&validationData->validationWholeSize)));
73720         mValidationDataStack.deleteObject();
73721         if (simpleTypeValidationResult != ParserError::SIMPLE_TYPE_VALIDATION_OK)
73722         {
73723             if( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL,
73724                 simpleTypeValidationResult,
73725                 HASH_ELEMENT_FIXED3X1,
73726                 (ParserChar*)0, 0 ) )
73727             {
73728                 return false;
73729             }
73730         }
73731         return returnValue;
73732     }
73733     else
73734     {
73735 return floatDataEnd( &ColladaParserAutoGen14::data__fixed3x1 );
73736     }
73737 #else
73738     {
73739 return floatDataEnd( &ColladaParserAutoGen14::data__fixed3x1 );
73740     } // validation
73741 #endif
73742 
73743 }
73744 
73745 //---------------------------------------------------------------------
_freeAttributes__fixed3x1(void * attributeData)73746 bool ColladaParserAutoGen14Private::_freeAttributes__fixed3x1( void* attributeData )
73747 {
73748     return true;
73749 }
73750 
73751 //---------------------------------------------------------------------
_data__fixed3x2(const ParserChar * text,size_t textLength)73752 bool ColladaParserAutoGen14Private::_data__fixed3x2( const ParserChar* text, size_t textLength )
73753 {
73754 #ifdef GENERATEDSAXPARSER_VALIDATION
73755     if ( mValidate )
73756     {
73757         fixed3x2__ValidationData* validationData = (fixed3x2__ValidationData*)mValidationDataStack.top();
73758         DISABLE_WARNING_UNUSED(validationData)
73759 return characterData2FloatData(text, textLength, &ColladaParserAutoGen14::data__fixed3x2, &validate__cg_fixed3x2__stream, &validationData->validationWholeSize, &validate__cg_fixed);
73760     }
73761     else
73762     {
73763 return characterData2FloatData(text, textLength, &ColladaParserAutoGen14::data__fixed3x2);
73764     }
73765 #else
73766     {
73767 return characterData2FloatData(text, textLength, &ColladaParserAutoGen14::data__fixed3x2);
73768     } // validation
73769 #endif
73770 
73771 }
73772 
73773 //---------------------------------------------------------------------
_preBegin__fixed3x2(const ParserAttributes & attributes,void ** attributeDataPtr,void ** validationDataPtr)73774 bool ColladaParserAutoGen14Private::_preBegin__fixed3x2( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
73775 {
73776 #ifdef GENERATEDSAXPARSER_VALIDATION
73777     if ( mValidate )
73778     {
73779 
73780         bool validationResult = _validateBegin__fixed3x2( attributes, attributeDataPtr, validationDataPtr );
73781         if ( !validationResult ) return false;
73782 
73783     } // validation
73784 #endif
73785 
73786     return true;
73787 }
73788 
73789 //---------------------------------------------------------------------
_preEnd__fixed3x2()73790 bool ColladaParserAutoGen14Private::_preEnd__fixed3x2()
73791 {
73792 #ifdef GENERATEDSAXPARSER_VALIDATION
73793     if ( mValidate )
73794     {
73795 
73796         bool validationResult = _validateEnd__fixed3x2();
73797         if ( !validationResult ) return false;
73798 
73799     } // validation
73800 #endif
73801 
73802 #ifdef GENERATEDSAXPARSER_VALIDATION
73803     if ( mValidate )
73804     {
73805         fixed3x2__ValidationData* validationData = (fixed3x2__ValidationData*)mValidationDataStack.top();
73806         DISABLE_WARNING_UNUSED(validationData)
73807 bool returnValue = floatDataEnd( &ColladaParserAutoGen14::data__fixed3x2, &validate__cg_fixed3x2__streamEnd, &validationData->validationWholeSize, &validate__cg_fixed );
73808         ParserError::ErrorType simpleTypeValidationResult = validate__cg_fixed3x2(0, (*(&validationData->validationWholeSize)));
73809         mValidationDataStack.deleteObject();
73810         if (simpleTypeValidationResult != ParserError::SIMPLE_TYPE_VALIDATION_OK)
73811         {
73812             if( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL,
73813                 simpleTypeValidationResult,
73814                 HASH_ELEMENT_FIXED3X2,
73815                 (ParserChar*)0, 0 ) )
73816             {
73817                 return false;
73818             }
73819         }
73820         return returnValue;
73821     }
73822     else
73823     {
73824 return floatDataEnd( &ColladaParserAutoGen14::data__fixed3x2 );
73825     }
73826 #else
73827     {
73828 return floatDataEnd( &ColladaParserAutoGen14::data__fixed3x2 );
73829     } // validation
73830 #endif
73831 
73832 }
73833 
73834 //---------------------------------------------------------------------
_freeAttributes__fixed3x2(void * attributeData)73835 bool ColladaParserAutoGen14Private::_freeAttributes__fixed3x2( void* attributeData )
73836 {
73837     return true;
73838 }
73839 
73840 //---------------------------------------------------------------------
_data__fixed3x3(const ParserChar * text,size_t textLength)73841 bool ColladaParserAutoGen14Private::_data__fixed3x3( const ParserChar* text, size_t textLength )
73842 {
73843 #ifdef GENERATEDSAXPARSER_VALIDATION
73844     if ( mValidate )
73845     {
73846         fixed3x3__ValidationData* validationData = (fixed3x3__ValidationData*)mValidationDataStack.top();
73847         DISABLE_WARNING_UNUSED(validationData)
73848 return characterData2FloatData(text, textLength, &ColladaParserAutoGen14::data__fixed3x3, &validate__cg_fixed3x3__stream, &validationData->validationWholeSize, &validate__cg_fixed);
73849     }
73850     else
73851     {
73852 return characterData2FloatData(text, textLength, &ColladaParserAutoGen14::data__fixed3x3);
73853     }
73854 #else
73855     {
73856 return characterData2FloatData(text, textLength, &ColladaParserAutoGen14::data__fixed3x3);
73857     } // validation
73858 #endif
73859 
73860 }
73861 
73862 //---------------------------------------------------------------------
_preBegin__fixed3x3(const ParserAttributes & attributes,void ** attributeDataPtr,void ** validationDataPtr)73863 bool ColladaParserAutoGen14Private::_preBegin__fixed3x3( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
73864 {
73865 #ifdef GENERATEDSAXPARSER_VALIDATION
73866     if ( mValidate )
73867     {
73868 
73869         bool validationResult = _validateBegin__fixed3x3( attributes, attributeDataPtr, validationDataPtr );
73870         if ( !validationResult ) return false;
73871 
73872     } // validation
73873 #endif
73874 
73875     return true;
73876 }
73877 
73878 //---------------------------------------------------------------------
_preEnd__fixed3x3()73879 bool ColladaParserAutoGen14Private::_preEnd__fixed3x3()
73880 {
73881 #ifdef GENERATEDSAXPARSER_VALIDATION
73882     if ( mValidate )
73883     {
73884 
73885         bool validationResult = _validateEnd__fixed3x3();
73886         if ( !validationResult ) return false;
73887 
73888     } // validation
73889 #endif
73890 
73891 #ifdef GENERATEDSAXPARSER_VALIDATION
73892     if ( mValidate )
73893     {
73894         fixed3x3__ValidationData* validationData = (fixed3x3__ValidationData*)mValidationDataStack.top();
73895         DISABLE_WARNING_UNUSED(validationData)
73896 bool returnValue = floatDataEnd( &ColladaParserAutoGen14::data__fixed3x3, &validate__cg_fixed3x3__streamEnd, &validationData->validationWholeSize, &validate__cg_fixed );
73897         ParserError::ErrorType simpleTypeValidationResult = validate__cg_fixed3x3(0, (*(&validationData->validationWholeSize)));
73898         mValidationDataStack.deleteObject();
73899         if (simpleTypeValidationResult != ParserError::SIMPLE_TYPE_VALIDATION_OK)
73900         {
73901             if( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL,
73902                 simpleTypeValidationResult,
73903                 HASH_ELEMENT_FIXED3X3,
73904                 (ParserChar*)0, 0 ) )
73905             {
73906                 return false;
73907             }
73908         }
73909         return returnValue;
73910     }
73911     else
73912     {
73913 return floatDataEnd( &ColladaParserAutoGen14::data__fixed3x3 );
73914     }
73915 #else
73916     {
73917 return floatDataEnd( &ColladaParserAutoGen14::data__fixed3x3 );
73918     } // validation
73919 #endif
73920 
73921 }
73922 
73923 //---------------------------------------------------------------------
_freeAttributes__fixed3x3(void * attributeData)73924 bool ColladaParserAutoGen14Private::_freeAttributes__fixed3x3( void* attributeData )
73925 {
73926     return true;
73927 }
73928 
73929 //---------------------------------------------------------------------
_data__fixed3x4(const ParserChar * text,size_t textLength)73930 bool ColladaParserAutoGen14Private::_data__fixed3x4( const ParserChar* text, size_t textLength )
73931 {
73932 #ifdef GENERATEDSAXPARSER_VALIDATION
73933     if ( mValidate )
73934     {
73935         fixed3x4__ValidationData* validationData = (fixed3x4__ValidationData*)mValidationDataStack.top();
73936         DISABLE_WARNING_UNUSED(validationData)
73937 return characterData2FloatData(text, textLength, &ColladaParserAutoGen14::data__fixed3x4, &validate__cg_fixed3x4__stream, &validationData->validationWholeSize, &validate__cg_fixed);
73938     }
73939     else
73940     {
73941 return characterData2FloatData(text, textLength, &ColladaParserAutoGen14::data__fixed3x4);
73942     }
73943 #else
73944     {
73945 return characterData2FloatData(text, textLength, &ColladaParserAutoGen14::data__fixed3x4);
73946     } // validation
73947 #endif
73948 
73949 }
73950 
73951 //---------------------------------------------------------------------
_preBegin__fixed3x4(const ParserAttributes & attributes,void ** attributeDataPtr,void ** validationDataPtr)73952 bool ColladaParserAutoGen14Private::_preBegin__fixed3x4( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
73953 {
73954 #ifdef GENERATEDSAXPARSER_VALIDATION
73955     if ( mValidate )
73956     {
73957 
73958         bool validationResult = _validateBegin__fixed3x4( attributes, attributeDataPtr, validationDataPtr );
73959         if ( !validationResult ) return false;
73960 
73961     } // validation
73962 #endif
73963 
73964     return true;
73965 }
73966 
73967 //---------------------------------------------------------------------
_preEnd__fixed3x4()73968 bool ColladaParserAutoGen14Private::_preEnd__fixed3x4()
73969 {
73970 #ifdef GENERATEDSAXPARSER_VALIDATION
73971     if ( mValidate )
73972     {
73973 
73974         bool validationResult = _validateEnd__fixed3x4();
73975         if ( !validationResult ) return false;
73976 
73977     } // validation
73978 #endif
73979 
73980 #ifdef GENERATEDSAXPARSER_VALIDATION
73981     if ( mValidate )
73982     {
73983         fixed3x4__ValidationData* validationData = (fixed3x4__ValidationData*)mValidationDataStack.top();
73984         DISABLE_WARNING_UNUSED(validationData)
73985 bool returnValue = floatDataEnd( &ColladaParserAutoGen14::data__fixed3x4, &validate__cg_fixed3x4__streamEnd, &validationData->validationWholeSize, &validate__cg_fixed );
73986         ParserError::ErrorType simpleTypeValidationResult = validate__cg_fixed3x4(0, (*(&validationData->validationWholeSize)));
73987         mValidationDataStack.deleteObject();
73988         if (simpleTypeValidationResult != ParserError::SIMPLE_TYPE_VALIDATION_OK)
73989         {
73990             if( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL,
73991                 simpleTypeValidationResult,
73992                 HASH_ELEMENT_FIXED3X4,
73993                 (ParserChar*)0, 0 ) )
73994             {
73995                 return false;
73996             }
73997         }
73998         return returnValue;
73999     }
74000     else
74001     {
74002 return floatDataEnd( &ColladaParserAutoGen14::data__fixed3x4 );
74003     }
74004 #else
74005     {
74006 return floatDataEnd( &ColladaParserAutoGen14::data__fixed3x4 );
74007     } // validation
74008 #endif
74009 
74010 }
74011 
74012 //---------------------------------------------------------------------
_freeAttributes__fixed3x4(void * attributeData)74013 bool ColladaParserAutoGen14Private::_freeAttributes__fixed3x4( void* attributeData )
74014 {
74015     return true;
74016 }
74017 
74018 //---------------------------------------------------------------------
_data__fixed4x1(const ParserChar * text,size_t textLength)74019 bool ColladaParserAutoGen14Private::_data__fixed4x1( const ParserChar* text, size_t textLength )
74020 {
74021 #ifdef GENERATEDSAXPARSER_VALIDATION
74022     if ( mValidate )
74023     {
74024         fixed4x1__ValidationData* validationData = (fixed4x1__ValidationData*)mValidationDataStack.top();
74025         DISABLE_WARNING_UNUSED(validationData)
74026 return characterData2FloatData(text, textLength, &ColladaParserAutoGen14::data__fixed4x1, &validate__cg_fixed4x1__stream, &validationData->validationWholeSize, &validate__cg_fixed);
74027     }
74028     else
74029     {
74030 return characterData2FloatData(text, textLength, &ColladaParserAutoGen14::data__fixed4x1);
74031     }
74032 #else
74033     {
74034 return characterData2FloatData(text, textLength, &ColladaParserAutoGen14::data__fixed4x1);
74035     } // validation
74036 #endif
74037 
74038 }
74039 
74040 //---------------------------------------------------------------------
_preBegin__fixed4x1(const ParserAttributes & attributes,void ** attributeDataPtr,void ** validationDataPtr)74041 bool ColladaParserAutoGen14Private::_preBegin__fixed4x1( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
74042 {
74043 #ifdef GENERATEDSAXPARSER_VALIDATION
74044     if ( mValidate )
74045     {
74046 
74047         bool validationResult = _validateBegin__fixed4x1( attributes, attributeDataPtr, validationDataPtr );
74048         if ( !validationResult ) return false;
74049 
74050     } // validation
74051 #endif
74052 
74053     return true;
74054 }
74055 
74056 //---------------------------------------------------------------------
_preEnd__fixed4x1()74057 bool ColladaParserAutoGen14Private::_preEnd__fixed4x1()
74058 {
74059 #ifdef GENERATEDSAXPARSER_VALIDATION
74060     if ( mValidate )
74061     {
74062 
74063         bool validationResult = _validateEnd__fixed4x1();
74064         if ( !validationResult ) return false;
74065 
74066     } // validation
74067 #endif
74068 
74069 #ifdef GENERATEDSAXPARSER_VALIDATION
74070     if ( mValidate )
74071     {
74072         fixed4x1__ValidationData* validationData = (fixed4x1__ValidationData*)mValidationDataStack.top();
74073         DISABLE_WARNING_UNUSED(validationData)
74074 bool returnValue = floatDataEnd( &ColladaParserAutoGen14::data__fixed4x1, &validate__cg_fixed4x1__streamEnd, &validationData->validationWholeSize, &validate__cg_fixed );
74075         ParserError::ErrorType simpleTypeValidationResult = validate__cg_fixed4x1(0, (*(&validationData->validationWholeSize)));
74076         mValidationDataStack.deleteObject();
74077         if (simpleTypeValidationResult != ParserError::SIMPLE_TYPE_VALIDATION_OK)
74078         {
74079             if( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL,
74080                 simpleTypeValidationResult,
74081                 HASH_ELEMENT_FIXED4X1,
74082                 (ParserChar*)0, 0 ) )
74083             {
74084                 return false;
74085             }
74086         }
74087         return returnValue;
74088     }
74089     else
74090     {
74091 return floatDataEnd( &ColladaParserAutoGen14::data__fixed4x1 );
74092     }
74093 #else
74094     {
74095 return floatDataEnd( &ColladaParserAutoGen14::data__fixed4x1 );
74096     } // validation
74097 #endif
74098 
74099 }
74100 
74101 //---------------------------------------------------------------------
_freeAttributes__fixed4x1(void * attributeData)74102 bool ColladaParserAutoGen14Private::_freeAttributes__fixed4x1( void* attributeData )
74103 {
74104     return true;
74105 }
74106 
74107 //---------------------------------------------------------------------
_data__fixed4x2(const ParserChar * text,size_t textLength)74108 bool ColladaParserAutoGen14Private::_data__fixed4x2( const ParserChar* text, size_t textLength )
74109 {
74110 #ifdef GENERATEDSAXPARSER_VALIDATION
74111     if ( mValidate )
74112     {
74113         fixed4x2__ValidationData* validationData = (fixed4x2__ValidationData*)mValidationDataStack.top();
74114         DISABLE_WARNING_UNUSED(validationData)
74115 return characterData2FloatData(text, textLength, &ColladaParserAutoGen14::data__fixed4x2, &validate__cg_fixed4x2__stream, &validationData->validationWholeSize, &validate__cg_fixed);
74116     }
74117     else
74118     {
74119 return characterData2FloatData(text, textLength, &ColladaParserAutoGen14::data__fixed4x2);
74120     }
74121 #else
74122     {
74123 return characterData2FloatData(text, textLength, &ColladaParserAutoGen14::data__fixed4x2);
74124     } // validation
74125 #endif
74126 
74127 }
74128 
74129 //---------------------------------------------------------------------
_preBegin__fixed4x2(const ParserAttributes & attributes,void ** attributeDataPtr,void ** validationDataPtr)74130 bool ColladaParserAutoGen14Private::_preBegin__fixed4x2( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
74131 {
74132 #ifdef GENERATEDSAXPARSER_VALIDATION
74133     if ( mValidate )
74134     {
74135 
74136         bool validationResult = _validateBegin__fixed4x2( attributes, attributeDataPtr, validationDataPtr );
74137         if ( !validationResult ) return false;
74138 
74139     } // validation
74140 #endif
74141 
74142     return true;
74143 }
74144 
74145 //---------------------------------------------------------------------
_preEnd__fixed4x2()74146 bool ColladaParserAutoGen14Private::_preEnd__fixed4x2()
74147 {
74148 #ifdef GENERATEDSAXPARSER_VALIDATION
74149     if ( mValidate )
74150     {
74151 
74152         bool validationResult = _validateEnd__fixed4x2();
74153         if ( !validationResult ) return false;
74154 
74155     } // validation
74156 #endif
74157 
74158 #ifdef GENERATEDSAXPARSER_VALIDATION
74159     if ( mValidate )
74160     {
74161         fixed4x2__ValidationData* validationData = (fixed4x2__ValidationData*)mValidationDataStack.top();
74162         DISABLE_WARNING_UNUSED(validationData)
74163 bool returnValue = floatDataEnd( &ColladaParserAutoGen14::data__fixed4x2, &validate__cg_fixed4x2__streamEnd, &validationData->validationWholeSize, &validate__cg_fixed );
74164         ParserError::ErrorType simpleTypeValidationResult = validate__cg_fixed4x2(0, (*(&validationData->validationWholeSize)));
74165         mValidationDataStack.deleteObject();
74166         if (simpleTypeValidationResult != ParserError::SIMPLE_TYPE_VALIDATION_OK)
74167         {
74168             if( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL,
74169                 simpleTypeValidationResult,
74170                 HASH_ELEMENT_FIXED4X2,
74171                 (ParserChar*)0, 0 ) )
74172             {
74173                 return false;
74174             }
74175         }
74176         return returnValue;
74177     }
74178     else
74179     {
74180 return floatDataEnd( &ColladaParserAutoGen14::data__fixed4x2 );
74181     }
74182 #else
74183     {
74184 return floatDataEnd( &ColladaParserAutoGen14::data__fixed4x2 );
74185     } // validation
74186 #endif
74187 
74188 }
74189 
74190 //---------------------------------------------------------------------
_freeAttributes__fixed4x2(void * attributeData)74191 bool ColladaParserAutoGen14Private::_freeAttributes__fixed4x2( void* attributeData )
74192 {
74193     return true;
74194 }
74195 
74196 //---------------------------------------------------------------------
_data__fixed4x3(const ParserChar * text,size_t textLength)74197 bool ColladaParserAutoGen14Private::_data__fixed4x3( const ParserChar* text, size_t textLength )
74198 {
74199 #ifdef GENERATEDSAXPARSER_VALIDATION
74200     if ( mValidate )
74201     {
74202         fixed4x3__ValidationData* validationData = (fixed4x3__ValidationData*)mValidationDataStack.top();
74203         DISABLE_WARNING_UNUSED(validationData)
74204 return characterData2FloatData(text, textLength, &ColladaParserAutoGen14::data__fixed4x3, &validate__cg_fixed4x3__stream, &validationData->validationWholeSize, &validate__cg_fixed);
74205     }
74206     else
74207     {
74208 return characterData2FloatData(text, textLength, &ColladaParserAutoGen14::data__fixed4x3);
74209     }
74210 #else
74211     {
74212 return characterData2FloatData(text, textLength, &ColladaParserAutoGen14::data__fixed4x3);
74213     } // validation
74214 #endif
74215 
74216 }
74217 
74218 //---------------------------------------------------------------------
_preBegin__fixed4x3(const ParserAttributes & attributes,void ** attributeDataPtr,void ** validationDataPtr)74219 bool ColladaParserAutoGen14Private::_preBegin__fixed4x3( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
74220 {
74221 #ifdef GENERATEDSAXPARSER_VALIDATION
74222     if ( mValidate )
74223     {
74224 
74225         bool validationResult = _validateBegin__fixed4x3( attributes, attributeDataPtr, validationDataPtr );
74226         if ( !validationResult ) return false;
74227 
74228     } // validation
74229 #endif
74230 
74231     return true;
74232 }
74233 
74234 //---------------------------------------------------------------------
_preEnd__fixed4x3()74235 bool ColladaParserAutoGen14Private::_preEnd__fixed4x3()
74236 {
74237 #ifdef GENERATEDSAXPARSER_VALIDATION
74238     if ( mValidate )
74239     {
74240 
74241         bool validationResult = _validateEnd__fixed4x3();
74242         if ( !validationResult ) return false;
74243 
74244     } // validation
74245 #endif
74246 
74247 #ifdef GENERATEDSAXPARSER_VALIDATION
74248     if ( mValidate )
74249     {
74250         fixed4x3__ValidationData* validationData = (fixed4x3__ValidationData*)mValidationDataStack.top();
74251         DISABLE_WARNING_UNUSED(validationData)
74252 bool returnValue = floatDataEnd( &ColladaParserAutoGen14::data__fixed4x3, &validate__cg_fixed4x3__streamEnd, &validationData->validationWholeSize, &validate__cg_fixed );
74253         ParserError::ErrorType simpleTypeValidationResult = validate__cg_fixed4x3(0, (*(&validationData->validationWholeSize)));
74254         mValidationDataStack.deleteObject();
74255         if (simpleTypeValidationResult != ParserError::SIMPLE_TYPE_VALIDATION_OK)
74256         {
74257             if( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL,
74258                 simpleTypeValidationResult,
74259                 HASH_ELEMENT_FIXED4X3,
74260                 (ParserChar*)0, 0 ) )
74261             {
74262                 return false;
74263             }
74264         }
74265         return returnValue;
74266     }
74267     else
74268     {
74269 return floatDataEnd( &ColladaParserAutoGen14::data__fixed4x3 );
74270     }
74271 #else
74272     {
74273 return floatDataEnd( &ColladaParserAutoGen14::data__fixed4x3 );
74274     } // validation
74275 #endif
74276 
74277 }
74278 
74279 //---------------------------------------------------------------------
_freeAttributes__fixed4x3(void * attributeData)74280 bool ColladaParserAutoGen14Private::_freeAttributes__fixed4x3( void* attributeData )
74281 {
74282     return true;
74283 }
74284 
74285 //---------------------------------------------------------------------
_data__fixed4x4(const ParserChar * text,size_t textLength)74286 bool ColladaParserAutoGen14Private::_data__fixed4x4( const ParserChar* text, size_t textLength )
74287 {
74288 #ifdef GENERATEDSAXPARSER_VALIDATION
74289     if ( mValidate )
74290     {
74291         fixed4x4__ValidationData* validationData = (fixed4x4__ValidationData*)mValidationDataStack.top();
74292         DISABLE_WARNING_UNUSED(validationData)
74293 return characterData2FloatData(text, textLength, &ColladaParserAutoGen14::data__fixed4x4, &validate__cg_fixed4x4__stream, &validationData->validationWholeSize, &validate__cg_fixed);
74294     }
74295     else
74296     {
74297 return characterData2FloatData(text, textLength, &ColladaParserAutoGen14::data__fixed4x4);
74298     }
74299 #else
74300     {
74301 return characterData2FloatData(text, textLength, &ColladaParserAutoGen14::data__fixed4x4);
74302     } // validation
74303 #endif
74304 
74305 }
74306 
74307 //---------------------------------------------------------------------
_preBegin__fixed4x4(const ParserAttributes & attributes,void ** attributeDataPtr,void ** validationDataPtr)74308 bool ColladaParserAutoGen14Private::_preBegin__fixed4x4( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
74309 {
74310 #ifdef GENERATEDSAXPARSER_VALIDATION
74311     if ( mValidate )
74312     {
74313 
74314         bool validationResult = _validateBegin__fixed4x4( attributes, attributeDataPtr, validationDataPtr );
74315         if ( !validationResult ) return false;
74316 
74317     } // validation
74318 #endif
74319 
74320     return true;
74321 }
74322 
74323 //---------------------------------------------------------------------
_preEnd__fixed4x4()74324 bool ColladaParserAutoGen14Private::_preEnd__fixed4x4()
74325 {
74326 #ifdef GENERATEDSAXPARSER_VALIDATION
74327     if ( mValidate )
74328     {
74329 
74330         bool validationResult = _validateEnd__fixed4x4();
74331         if ( !validationResult ) return false;
74332 
74333     } // validation
74334 #endif
74335 
74336 #ifdef GENERATEDSAXPARSER_VALIDATION
74337     if ( mValidate )
74338     {
74339         fixed4x4__ValidationData* validationData = (fixed4x4__ValidationData*)mValidationDataStack.top();
74340         DISABLE_WARNING_UNUSED(validationData)
74341 bool returnValue = floatDataEnd( &ColladaParserAutoGen14::data__fixed4x4, &validate__cg_fixed4x4__streamEnd, &validationData->validationWholeSize, &validate__cg_fixed );
74342         ParserError::ErrorType simpleTypeValidationResult = validate__cg_fixed4x4(0, (*(&validationData->validationWholeSize)));
74343         mValidationDataStack.deleteObject();
74344         if (simpleTypeValidationResult != ParserError::SIMPLE_TYPE_VALIDATION_OK)
74345         {
74346             if( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL,
74347                 simpleTypeValidationResult,
74348                 HASH_ELEMENT_FIXED4X4,
74349                 (ParserChar*)0, 0 ) )
74350             {
74351                 return false;
74352             }
74353         }
74354         return returnValue;
74355     }
74356     else
74357     {
74358 return floatDataEnd( &ColladaParserAutoGen14::data__fixed4x4 );
74359     }
74360 #else
74361     {
74362 return floatDataEnd( &ColladaParserAutoGen14::data__fixed4x4 );
74363     } // validation
74364 #endif
74365 
74366 }
74367 
74368 //---------------------------------------------------------------------
_freeAttributes__fixed4x4(void * attributeData)74369 bool ColladaParserAutoGen14Private::_freeAttributes__fixed4x4( void* attributeData )
74370 {
74371     return true;
74372 }
74373 
74374 //---------------------------------------------------------------------
74375 const surface____cg_surface_type__AttributeData surface____cg_surface_type__AttributeData::DEFAULT = {ENUM__fx_surface_type_enum__NOT_PRESENT};
74376 
74377 //---------------------------------------------------------------------
_data__surface____cg_surface_type(const ParserChar * text,size_t textLength)74378 bool ColladaParserAutoGen14Private::_data__surface____cg_surface_type( const ParserChar* text, size_t textLength )
74379 {
74380     return true;
74381 }
74382 
74383 //---------------------------------------------------------------------
_preBegin__surface____cg_surface_type(const ParserAttributes & attributes,void ** attributeDataPtr,void ** validationDataPtr)74384 bool ColladaParserAutoGen14Private::_preBegin__surface____cg_surface_type( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
74385 {
74386 #ifdef GENERATEDSAXPARSER_VALIDATION
74387     if ( mValidate )
74388     {
74389 
74390         bool validationResult = _validateBegin__surface____cg_surface_type( attributes, attributeDataPtr, validationDataPtr );
74391         if ( !validationResult ) return false;
74392 
74393     } // validation
74394 #endif
74395 
74396 surface____cg_surface_type__AttributeData* attributeData = newData<surface____cg_surface_type__AttributeData>(attributeDataPtr);
74397 
74398 const ParserChar** attributeArray = attributes.attributes;
74399 if ( attributeArray )
74400 {
74401     while (true)
74402     {
74403         const ParserChar * attribute = *attributeArray;
74404         if ( !attribute )
74405             break;
74406         StringHash hash = GeneratedSaxParser::Utils::calculateStringHash(attribute);
74407         attributeArray++;
74408         if ( !attributeArray )
74409             return false;
74410         const ParserChar* attributeValue = *attributeArray;
74411         attributeArray++;
74412 
74413 
74414     switch ( hash )
74415     {
74416     case HASH_ATTRIBUTE_type:
74417     {
74418 bool failed;
74419 attributeData->type = Utils::toEnum<ENUM__fx_surface_type_enum, StringHash, ENUM__fx_surface_type_enum__COUNT>(attributeValue, failed, ENUM__fx_surface_type_enumMap, Utils::calculateStringHash);
74420 if ( failed && handleError(ParserError::SEVERITY_ERROR_NONCRITICAL,
74421         ParserError::ERROR_ATTRIBUTE_PARSING_FAILED,
74422         HASH_ELEMENT_SURFACE,
74423         HASH_ATTRIBUTE_type,
74424         attributeValue))
74425 {
74426     return false;
74427 }
74428 
74429     break;
74430     }
74431     default:
74432     {
74433         if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_UNKNOWN_ATTRIBUTE, HASH_ELEMENT_SURFACE, attribute, attributeValue))
74434             {return false;}
74435     }
74436     }
74437     }
74438 }
74439 if ( attributeData->type == ENUM__fx_surface_type_enum__NOT_PRESENT )
74440 {
74441     if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_REQUIRED_ATTRIBUTE_MISSING, HASH_ELEMENT_SURFACE, HASH_ATTRIBUTE_type, 0 ) )
74442         return false;
74443 }
74444 
74445 
74446     return true;
74447 }
74448 
74449 //---------------------------------------------------------------------
_preEnd__surface____cg_surface_type()74450 bool ColladaParserAutoGen14Private::_preEnd__surface____cg_surface_type()
74451 {
74452 #ifdef GENERATEDSAXPARSER_VALIDATION
74453     if ( mValidate )
74454     {
74455 
74456         bool validationResult = _validateEnd__surface____cg_surface_type();
74457         if ( !validationResult ) return false;
74458 
74459     } // validation
74460 #endif
74461 
74462     return true;
74463 }
74464 
74465 //---------------------------------------------------------------------
_freeAttributes__surface____cg_surface_type(void * attributeData)74466 bool ColladaParserAutoGen14Private::_freeAttributes__surface____cg_surface_type( void* attributeData )
74467 {
74468     surface____cg_surface_type__AttributeData* typedAttributeData = static_cast<surface____cg_surface_type__AttributeData*>(attributeData);
74469 
74470     typedAttributeData->~surface____cg_surface_type__AttributeData();
74471 
74472     return true;
74473 }
74474 
74475 //---------------------------------------------------------------------
_data__cg_surface_type____generator(const ParserChar * text,size_t textLength)74476 bool ColladaParserAutoGen14Private::_data__cg_surface_type____generator( const ParserChar* text, size_t textLength )
74477 {
74478     return true;
74479 }
74480 
74481 //---------------------------------------------------------------------
_preBegin__cg_surface_type____generator(const ParserAttributes & attributes,void ** attributeDataPtr,void ** validationDataPtr)74482 bool ColladaParserAutoGen14Private::_preBegin__cg_surface_type____generator( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
74483 {
74484 #ifdef GENERATEDSAXPARSER_VALIDATION
74485     if ( mValidate )
74486     {
74487 
74488         bool validationResult = _validateBegin__cg_surface_type____generator( attributes, attributeDataPtr, validationDataPtr );
74489         if ( !validationResult ) return false;
74490 
74491     } // validation
74492 #endif
74493 
74494     return true;
74495 }
74496 
74497 //---------------------------------------------------------------------
_preEnd__cg_surface_type____generator()74498 bool ColladaParserAutoGen14Private::_preEnd__cg_surface_type____generator()
74499 {
74500 #ifdef GENERATEDSAXPARSER_VALIDATION
74501     if ( mValidate )
74502     {
74503 
74504         bool validationResult = _validateEnd__cg_surface_type____generator();
74505         if ( !validationResult ) return false;
74506 
74507     } // validation
74508 #endif
74509 
74510     return true;
74511 }
74512 
74513 //---------------------------------------------------------------------
_freeAttributes__cg_surface_type____generator(void * attributeData)74514 bool ColladaParserAutoGen14Private::_freeAttributes__cg_surface_type____generator( void* attributeData )
74515 {
74516     return true;
74517 }
74518 
74519 //---------------------------------------------------------------------
74520 const profile_CG__newparam__surface__generator__name__AttributeData profile_CG__newparam__surface__generator__name__AttributeData::DEFAULT = {0};
74521 
74522 //---------------------------------------------------------------------
_data__profile_CG__newparam__surface__generator__name(const ParserChar * text,size_t textLength)74523 bool ColladaParserAutoGen14Private::_data__profile_CG__newparam__surface__generator__name( const ParserChar* text, size_t textLength )
74524 {
74525 if (!mLastIncompleteFragmentInCharacterData)
74526 {
74527     mLastIncompleteFragmentInCharacterData = (ParserChar*)mStackMemoryManager.newObject(textLength);
74528     memcpy(mLastIncompleteFragmentInCharacterData, text, textLength);
74529     mEndOfDataInCurrentObjectOnStack = mLastIncompleteFragmentInCharacterData + textLength;
74530 }
74531 else
74532 {
74533     ParserChar* tmp = (ParserChar*)mStackMemoryManager.growObject(textLength);
74534     if ( tmp != mLastIncompleteFragmentInCharacterData ) {
74535         mEndOfDataInCurrentObjectOnStack = (mEndOfDataInCurrentObjectOnStack - mLastIncompleteFragmentInCharacterData) + tmp;
74536         mLastIncompleteFragmentInCharacterData = tmp;
74537     }
74538     memcpy(mEndOfDataInCurrentObjectOnStack, text, textLength);
74539     mEndOfDataInCurrentObjectOnStack += textLength;
74540 }
74541 return true;
74542 }
74543 
74544 //---------------------------------------------------------------------
_preBegin__profile_CG__newparam__surface__generator__name(const ParserAttributes & attributes,void ** attributeDataPtr,void ** validationDataPtr)74545 bool ColladaParserAutoGen14Private::_preBegin__profile_CG__newparam__surface__generator__name( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
74546 {
74547 #ifdef GENERATEDSAXPARSER_VALIDATION
74548     if ( mValidate )
74549     {
74550 
74551         bool validationResult = _validateBegin__profile_CG__newparam__surface__generator__name( attributes, attributeDataPtr, validationDataPtr );
74552         if ( !validationResult ) return false;
74553 
74554     } // validation
74555 #endif
74556 
74557 profile_CG__newparam__surface__generator__name__AttributeData* attributeData = newData<profile_CG__newparam__surface__generator__name__AttributeData>(attributeDataPtr);
74558 
74559 const ParserChar** attributeArray = attributes.attributes;
74560 if ( attributeArray )
74561 {
74562     while (true)
74563     {
74564         const ParserChar * attribute = *attributeArray;
74565         if ( !attribute )
74566             break;
74567         StringHash hash = GeneratedSaxParser::Utils::calculateStringHash(attribute);
74568         attributeArray++;
74569         if ( !attributeArray )
74570             return false;
74571         const ParserChar* attributeValue = *attributeArray;
74572         attributeArray++;
74573 
74574 
74575     switch ( hash )
74576     {
74577     case HASH_ATTRIBUTE_source:
74578     {
74579 
74580 attributeData->source = attributeValue;
74581 #ifdef GENERATEDSAXPARSER_VALIDATION
74582     if ( mValidate )
74583     {
74584     ParserError::ErrorType simpleTypeValidationResult = validate__NCName(attributeData->source, strlen(attributeData->source));
74585     if (simpleTypeValidationResult != ParserError::SIMPLE_TYPE_VALIDATION_OK)
74586     {
74587         if( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL,
74588             simpleTypeValidationResult,
74589             HASH_ELEMENT_NAME,
74590             HASH_ATTRIBUTE_source,
74591             attributeValue) )
74592         {
74593             return false;
74594         }
74595     }
74596     } // validation
74597 #endif
74598 
74599     break;
74600     }
74601     default:
74602     {
74603         if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_UNKNOWN_ATTRIBUTE, HASH_ELEMENT_NAME, attribute, attributeValue))
74604             {return false;}
74605     }
74606     }
74607     }
74608 }
74609 
74610 
74611     return true;
74612 }
74613 
74614 //---------------------------------------------------------------------
_preEnd__profile_CG__newparam__surface__generator__name()74615 bool ColladaParserAutoGen14Private::_preEnd__profile_CG__newparam__surface__generator__name()
74616 {
74617 #ifdef GENERATEDSAXPARSER_VALIDATION
74618     if ( mValidate )
74619     {
74620 
74621         bool validationResult = _validateEnd__profile_CG__newparam__surface__generator__name();
74622         if ( !validationResult ) return false;
74623 
74624     } // validation
74625 #endif
74626 
74627 bool returnValue = true;
74628 #ifdef GENERATEDSAXPARSER_VALIDATION
74629     if ( mValidate )
74630     {
74631 ParserError::ErrorType simpleTypeValidationResult = validate__NCName(mLastIncompleteFragmentInCharacterData, mEndOfDataInCurrentObjectOnStack - mLastIncompleteFragmentInCharacterData);
74632 if (simpleTypeValidationResult != ParserError::SIMPLE_TYPE_VALIDATION_OK)
74633 {
74634     ParserChar msg[21];
74635     Utils::fillErrorMsg(msg, mLastIncompleteFragmentInCharacterData, 20);
74636     if( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL,
74637         simpleTypeValidationResult,
74638         0,
74639         msg) )
74640     {
74641         returnValue =  false;
74642     }
74643 }
74644 if (!returnValue)
74645 {
74646     mStackMemoryManager.deleteObject();
74647     mLastIncompleteFragmentInCharacterData = 0;
74648     mEndOfDataInCurrentObjectOnStack = 0;
74649     return returnValue;
74650 }
74651     } // validation
74652 #endif
74653 returnValue = mImpl->data__profile_CG__newparam__surface__generator__name(mLastIncompleteFragmentInCharacterData, mEndOfDataInCurrentObjectOnStack - mLastIncompleteFragmentInCharacterData);
74654 mStackMemoryManager.deleteObject();
74655 mLastIncompleteFragmentInCharacterData = 0;
74656 mEndOfDataInCurrentObjectOnStack = 0;
74657 return returnValue;
74658 
74659 }
74660 
74661 //---------------------------------------------------------------------
_freeAttributes__profile_CG__newparam__surface__generator__name(void * attributeData)74662 bool ColladaParserAutoGen14Private::_freeAttributes__profile_CG__newparam__surface__generator__name( void* attributeData )
74663 {
74664     profile_CG__newparam__surface__generator__name__AttributeData* typedAttributeData = static_cast<profile_CG__newparam__surface__generator__name__AttributeData*>(attributeData);
74665 
74666     typedAttributeData->~profile_CG__newparam__surface__generator__name__AttributeData();
74667 
74668     return true;
74669 }
74670 
74671 //---------------------------------------------------------------------
74672 const setparam____cg_setparam_simple__AttributeData setparam____cg_setparam_simple__AttributeData::DEFAULT = {0};
74673 
74674 //---------------------------------------------------------------------
_data__setparam____cg_setparam_simple(const ParserChar * text,size_t textLength)74675 bool ColladaParserAutoGen14Private::_data__setparam____cg_setparam_simple( const ParserChar* text, size_t textLength )
74676 {
74677     return true;
74678 }
74679 
74680 //---------------------------------------------------------------------
_preBegin__setparam____cg_setparam_simple(const ParserAttributes & attributes,void ** attributeDataPtr,void ** validationDataPtr)74681 bool ColladaParserAutoGen14Private::_preBegin__setparam____cg_setparam_simple( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
74682 {
74683 #ifdef GENERATEDSAXPARSER_VALIDATION
74684     if ( mValidate )
74685     {
74686 
74687         bool validationResult = _validateBegin__setparam____cg_setparam_simple( attributes, attributeDataPtr, validationDataPtr );
74688         if ( !validationResult ) return false;
74689 
74690     } // validation
74691 #endif
74692 
74693 setparam____cg_setparam_simple__AttributeData* attributeData = newData<setparam____cg_setparam_simple__AttributeData>(attributeDataPtr);
74694 
74695 const ParserChar** attributeArray = attributes.attributes;
74696 if ( attributeArray )
74697 {
74698     while (true)
74699     {
74700         const ParserChar * attribute = *attributeArray;
74701         if ( !attribute )
74702             break;
74703         StringHash hash = GeneratedSaxParser::Utils::calculateStringHash(attribute);
74704         attributeArray++;
74705         if ( !attributeArray )
74706             return false;
74707         const ParserChar* attributeValue = *attributeArray;
74708         attributeArray++;
74709 
74710 
74711     switch ( hash )
74712     {
74713     case HASH_ATTRIBUTE_ref:
74714     {
74715 
74716 attributeData->ref = attributeValue;
74717 
74718     break;
74719     }
74720     default:
74721     {
74722         if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_UNKNOWN_ATTRIBUTE, HASH_ELEMENT_SETPARAM, attribute, attributeValue))
74723             {return false;}
74724     }
74725     }
74726     }
74727 }
74728 if ( !attributeData->ref )
74729 {
74730     if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_REQUIRED_ATTRIBUTE_MISSING, HASH_ELEMENT_SETPARAM, HASH_ATTRIBUTE_ref, 0 ) )
74731         return false;
74732 }
74733 
74734 
74735     return true;
74736 }
74737 
74738 //---------------------------------------------------------------------
_preEnd__setparam____cg_setparam_simple()74739 bool ColladaParserAutoGen14Private::_preEnd__setparam____cg_setparam_simple()
74740 {
74741 #ifdef GENERATEDSAXPARSER_VALIDATION
74742     if ( mValidate )
74743     {
74744 
74745         bool validationResult = _validateEnd__setparam____cg_setparam_simple();
74746         if ( !validationResult ) return false;
74747 
74748     } // validation
74749 #endif
74750 
74751     return true;
74752 }
74753 
74754 //---------------------------------------------------------------------
_freeAttributes__setparam____cg_setparam_simple(void * attributeData)74755 bool ColladaParserAutoGen14Private::_freeAttributes__setparam____cg_setparam_simple( void* attributeData )
74756 {
74757     setparam____cg_setparam_simple__AttributeData* typedAttributeData = static_cast<setparam____cg_setparam_simple__AttributeData*>(attributeData);
74758 
74759     typedAttributeData->~setparam____cg_setparam_simple__AttributeData();
74760 
74761     return true;
74762 }
74763 
74764 //---------------------------------------------------------------------
_data__sampler1D____cg_sampler1D(const ParserChar * text,size_t textLength)74765 bool ColladaParserAutoGen14Private::_data__sampler1D____cg_sampler1D( const ParserChar* text, size_t textLength )
74766 {
74767     return true;
74768 }
74769 
74770 //---------------------------------------------------------------------
_preBegin__sampler1D____cg_sampler1D(const ParserAttributes & attributes,void ** attributeDataPtr,void ** validationDataPtr)74771 bool ColladaParserAutoGen14Private::_preBegin__sampler1D____cg_sampler1D( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
74772 {
74773 #ifdef GENERATEDSAXPARSER_VALIDATION
74774     if ( mValidate )
74775     {
74776 
74777         bool validationResult = _validateBegin__sampler1D____cg_sampler1D( attributes, attributeDataPtr, validationDataPtr );
74778         if ( !validationResult ) return false;
74779 
74780     } // validation
74781 #endif
74782 
74783     return true;
74784 }
74785 
74786 //---------------------------------------------------------------------
_preEnd__sampler1D____cg_sampler1D()74787 bool ColladaParserAutoGen14Private::_preEnd__sampler1D____cg_sampler1D()
74788 {
74789 #ifdef GENERATEDSAXPARSER_VALIDATION
74790     if ( mValidate )
74791     {
74792 
74793         bool validationResult = _validateEnd__sampler1D____cg_sampler1D();
74794         if ( !validationResult ) return false;
74795 
74796     } // validation
74797 #endif
74798 
74799     return true;
74800 }
74801 
74802 //---------------------------------------------------------------------
_freeAttributes__sampler1D____cg_sampler1D(void * attributeData)74803 bool ColladaParserAutoGen14Private::_freeAttributes__sampler1D____cg_sampler1D( void* attributeData )
74804 {
74805     return true;
74806 }
74807 
74808 //---------------------------------------------------------------------
_data__sampler2D____cg_sampler2D(const ParserChar * text,size_t textLength)74809 bool ColladaParserAutoGen14Private::_data__sampler2D____cg_sampler2D( const ParserChar* text, size_t textLength )
74810 {
74811     return true;
74812 }
74813 
74814 //---------------------------------------------------------------------
_preBegin__sampler2D____cg_sampler2D(const ParserAttributes & attributes,void ** attributeDataPtr,void ** validationDataPtr)74815 bool ColladaParserAutoGen14Private::_preBegin__sampler2D____cg_sampler2D( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
74816 {
74817 #ifdef GENERATEDSAXPARSER_VALIDATION
74818     if ( mValidate )
74819     {
74820 
74821         bool validationResult = _validateBegin__sampler2D____cg_sampler2D( attributes, attributeDataPtr, validationDataPtr );
74822         if ( !validationResult ) return false;
74823 
74824     } // validation
74825 #endif
74826 
74827     return true;
74828 }
74829 
74830 //---------------------------------------------------------------------
_preEnd__sampler2D____cg_sampler2D()74831 bool ColladaParserAutoGen14Private::_preEnd__sampler2D____cg_sampler2D()
74832 {
74833 #ifdef GENERATEDSAXPARSER_VALIDATION
74834     if ( mValidate )
74835     {
74836 
74837         bool validationResult = _validateEnd__sampler2D____cg_sampler2D();
74838         if ( !validationResult ) return false;
74839 
74840     } // validation
74841 #endif
74842 
74843     return true;
74844 }
74845 
74846 //---------------------------------------------------------------------
_freeAttributes__sampler2D____cg_sampler2D(void * attributeData)74847 bool ColladaParserAutoGen14Private::_freeAttributes__sampler2D____cg_sampler2D( void* attributeData )
74848 {
74849     return true;
74850 }
74851 
74852 //---------------------------------------------------------------------
_data__sampler3D____cg_sampler3D(const ParserChar * text,size_t textLength)74853 bool ColladaParserAutoGen14Private::_data__sampler3D____cg_sampler3D( const ParserChar* text, size_t textLength )
74854 {
74855     return true;
74856 }
74857 
74858 //---------------------------------------------------------------------
_preBegin__sampler3D____cg_sampler3D(const ParserAttributes & attributes,void ** attributeDataPtr,void ** validationDataPtr)74859 bool ColladaParserAutoGen14Private::_preBegin__sampler3D____cg_sampler3D( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
74860 {
74861 #ifdef GENERATEDSAXPARSER_VALIDATION
74862     if ( mValidate )
74863     {
74864 
74865         bool validationResult = _validateBegin__sampler3D____cg_sampler3D( attributes, attributeDataPtr, validationDataPtr );
74866         if ( !validationResult ) return false;
74867 
74868     } // validation
74869 #endif
74870 
74871     return true;
74872 }
74873 
74874 //---------------------------------------------------------------------
_preEnd__sampler3D____cg_sampler3D()74875 bool ColladaParserAutoGen14Private::_preEnd__sampler3D____cg_sampler3D()
74876 {
74877 #ifdef GENERATEDSAXPARSER_VALIDATION
74878     if ( mValidate )
74879     {
74880 
74881         bool validationResult = _validateEnd__sampler3D____cg_sampler3D();
74882         if ( !validationResult ) return false;
74883 
74884     } // validation
74885 #endif
74886 
74887     return true;
74888 }
74889 
74890 //---------------------------------------------------------------------
_freeAttributes__sampler3D____cg_sampler3D(void * attributeData)74891 bool ColladaParserAutoGen14Private::_freeAttributes__sampler3D____cg_sampler3D( void* attributeData )
74892 {
74893     return true;
74894 }
74895 
74896 //---------------------------------------------------------------------
_data__samplerRECT____cg_samplerRECT(const ParserChar * text,size_t textLength)74897 bool ColladaParserAutoGen14Private::_data__samplerRECT____cg_samplerRECT( const ParserChar* text, size_t textLength )
74898 {
74899     return true;
74900 }
74901 
74902 //---------------------------------------------------------------------
_preBegin__samplerRECT____cg_samplerRECT(const ParserAttributes & attributes,void ** attributeDataPtr,void ** validationDataPtr)74903 bool ColladaParserAutoGen14Private::_preBegin__samplerRECT____cg_samplerRECT( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
74904 {
74905 #ifdef GENERATEDSAXPARSER_VALIDATION
74906     if ( mValidate )
74907     {
74908 
74909         bool validationResult = _validateBegin__samplerRECT____cg_samplerRECT( attributes, attributeDataPtr, validationDataPtr );
74910         if ( !validationResult ) return false;
74911 
74912     } // validation
74913 #endif
74914 
74915     return true;
74916 }
74917 
74918 //---------------------------------------------------------------------
_preEnd__samplerRECT____cg_samplerRECT()74919 bool ColladaParserAutoGen14Private::_preEnd__samplerRECT____cg_samplerRECT()
74920 {
74921 #ifdef GENERATEDSAXPARSER_VALIDATION
74922     if ( mValidate )
74923     {
74924 
74925         bool validationResult = _validateEnd__samplerRECT____cg_samplerRECT();
74926         if ( !validationResult ) return false;
74927 
74928     } // validation
74929 #endif
74930 
74931     return true;
74932 }
74933 
74934 //---------------------------------------------------------------------
_freeAttributes__samplerRECT____cg_samplerRECT(void * attributeData)74935 bool ColladaParserAutoGen14Private::_freeAttributes__samplerRECT____cg_samplerRECT( void* attributeData )
74936 {
74937     return true;
74938 }
74939 
74940 //---------------------------------------------------------------------
_data__samplerCUBE____cg_samplerCUBE(const ParserChar * text,size_t textLength)74941 bool ColladaParserAutoGen14Private::_data__samplerCUBE____cg_samplerCUBE( const ParserChar* text, size_t textLength )
74942 {
74943     return true;
74944 }
74945 
74946 //---------------------------------------------------------------------
_preBegin__samplerCUBE____cg_samplerCUBE(const ParserAttributes & attributes,void ** attributeDataPtr,void ** validationDataPtr)74947 bool ColladaParserAutoGen14Private::_preBegin__samplerCUBE____cg_samplerCUBE( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
74948 {
74949 #ifdef GENERATEDSAXPARSER_VALIDATION
74950     if ( mValidate )
74951     {
74952 
74953         bool validationResult = _validateBegin__samplerCUBE____cg_samplerCUBE( attributes, attributeDataPtr, validationDataPtr );
74954         if ( !validationResult ) return false;
74955 
74956     } // validation
74957 #endif
74958 
74959     return true;
74960 }
74961 
74962 //---------------------------------------------------------------------
_preEnd__samplerCUBE____cg_samplerCUBE()74963 bool ColladaParserAutoGen14Private::_preEnd__samplerCUBE____cg_samplerCUBE()
74964 {
74965 #ifdef GENERATEDSAXPARSER_VALIDATION
74966     if ( mValidate )
74967     {
74968 
74969         bool validationResult = _validateEnd__samplerCUBE____cg_samplerCUBE();
74970         if ( !validationResult ) return false;
74971 
74972     } // validation
74973 #endif
74974 
74975     return true;
74976 }
74977 
74978 //---------------------------------------------------------------------
_freeAttributes__samplerCUBE____cg_samplerCUBE(void * attributeData)74979 bool ColladaParserAutoGen14Private::_freeAttributes__samplerCUBE____cg_samplerCUBE( void* attributeData )
74980 {
74981     return true;
74982 }
74983 
74984 //---------------------------------------------------------------------
_data__samplerDEPTH____cg_samplerDEPTH(const ParserChar * text,size_t textLength)74985 bool ColladaParserAutoGen14Private::_data__samplerDEPTH____cg_samplerDEPTH( const ParserChar* text, size_t textLength )
74986 {
74987     return true;
74988 }
74989 
74990 //---------------------------------------------------------------------
_preBegin__samplerDEPTH____cg_samplerDEPTH(const ParserAttributes & attributes,void ** attributeDataPtr,void ** validationDataPtr)74991 bool ColladaParserAutoGen14Private::_preBegin__samplerDEPTH____cg_samplerDEPTH( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
74992 {
74993 #ifdef GENERATEDSAXPARSER_VALIDATION
74994     if ( mValidate )
74995     {
74996 
74997         bool validationResult = _validateBegin__samplerDEPTH____cg_samplerDEPTH( attributes, attributeDataPtr, validationDataPtr );
74998         if ( !validationResult ) return false;
74999 
75000     } // validation
75001 #endif
75002 
75003     return true;
75004 }
75005 
75006 //---------------------------------------------------------------------
_preEnd__samplerDEPTH____cg_samplerDEPTH()75007 bool ColladaParserAutoGen14Private::_preEnd__samplerDEPTH____cg_samplerDEPTH()
75008 {
75009 #ifdef GENERATEDSAXPARSER_VALIDATION
75010     if ( mValidate )
75011     {
75012 
75013         bool validationResult = _validateEnd__samplerDEPTH____cg_samplerDEPTH();
75014         if ( !validationResult ) return false;
75015 
75016     } // validation
75017 #endif
75018 
75019     return true;
75020 }
75021 
75022 //---------------------------------------------------------------------
_freeAttributes__samplerDEPTH____cg_samplerDEPTH(void * attributeData)75023 bool ColladaParserAutoGen14Private::_freeAttributes__samplerDEPTH____cg_samplerDEPTH( void* attributeData )
75024 {
75025     return true;
75026 }
75027 
75028 //---------------------------------------------------------------------
75029 const usertype__AttributeData usertype__AttributeData::DEFAULT = {0, 0};
75030 
75031 //---------------------------------------------------------------------
_data__usertype(const ParserChar * text,size_t textLength)75032 bool ColladaParserAutoGen14Private::_data__usertype( const ParserChar* text, size_t textLength )
75033 {
75034     return true;
75035 }
75036 
75037 //---------------------------------------------------------------------
_preBegin__usertype(const ParserAttributes & attributes,void ** attributeDataPtr,void ** validationDataPtr)75038 bool ColladaParserAutoGen14Private::_preBegin__usertype( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
75039 {
75040 #ifdef GENERATEDSAXPARSER_VALIDATION
75041     if ( mValidate )
75042     {
75043 
75044         bool validationResult = _validateBegin__usertype( attributes, attributeDataPtr, validationDataPtr );
75045         if ( !validationResult ) return false;
75046 
75047     } // validation
75048 #endif
75049 
75050 usertype__AttributeData* attributeData = newData<usertype__AttributeData>(attributeDataPtr);
75051 
75052 const ParserChar** attributeArray = attributes.attributes;
75053 if ( attributeArray )
75054 {
75055     while (true)
75056     {
75057         const ParserChar * attribute = *attributeArray;
75058         if ( !attribute )
75059             break;
75060         StringHash hash = GeneratedSaxParser::Utils::calculateStringHash(attribute);
75061         attributeArray++;
75062         if ( !attributeArray )
75063             return false;
75064         const ParserChar* attributeValue = *attributeArray;
75065         attributeArray++;
75066 
75067 
75068     switch ( hash )
75069     {
75070     case HASH_ATTRIBUTE_name:
75071     {
75072 
75073 attributeData->name = attributeValue;
75074 
75075     break;
75076     }
75077     case HASH_ATTRIBUTE_source:
75078     {
75079 
75080 attributeData->source = attributeValue;
75081 #ifdef GENERATEDSAXPARSER_VALIDATION
75082     if ( mValidate )
75083     {
75084     ParserError::ErrorType simpleTypeValidationResult = validate__NCName(attributeData->source, strlen(attributeData->source));
75085     if (simpleTypeValidationResult != ParserError::SIMPLE_TYPE_VALIDATION_OK)
75086     {
75087         if( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL,
75088             simpleTypeValidationResult,
75089             HASH_ELEMENT_USERTYPE,
75090             HASH_ATTRIBUTE_source,
75091             attributeValue) )
75092         {
75093             return false;
75094         }
75095     }
75096     } // validation
75097 #endif
75098 
75099     break;
75100     }
75101     default:
75102     {
75103         if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_UNKNOWN_ATTRIBUTE, HASH_ELEMENT_USERTYPE, attribute, attributeValue))
75104             {return false;}
75105     }
75106     }
75107     }
75108 }
75109 if ( !attributeData->name )
75110 {
75111     if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_REQUIRED_ATTRIBUTE_MISSING, HASH_ELEMENT_USERTYPE, HASH_ATTRIBUTE_name, 0 ) )
75112         return false;
75113 }
75114 if ( !attributeData->source )
75115 {
75116     if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_REQUIRED_ATTRIBUTE_MISSING, HASH_ELEMENT_USERTYPE, HASH_ATTRIBUTE_source, 0 ) )
75117         return false;
75118 }
75119 
75120 
75121     return true;
75122 }
75123 
75124 //---------------------------------------------------------------------
_preEnd__usertype()75125 bool ColladaParserAutoGen14Private::_preEnd__usertype()
75126 {
75127 #ifdef GENERATEDSAXPARSER_VALIDATION
75128     if ( mValidate )
75129     {
75130 
75131         bool validationResult = _validateEnd__usertype();
75132         if ( !validationResult ) return false;
75133 
75134     } // validation
75135 #endif
75136 
75137     return true;
75138 }
75139 
75140 //---------------------------------------------------------------------
_freeAttributes__usertype(void * attributeData)75141 bool ColladaParserAutoGen14Private::_freeAttributes__usertype( void* attributeData )
75142 {
75143     usertype__AttributeData* typedAttributeData = static_cast<usertype__AttributeData*>(attributeData);
75144 
75145     typedAttributeData->~usertype__AttributeData();
75146 
75147     return true;
75148 }
75149 
75150 //---------------------------------------------------------------------
75151 const array____cg_setarray_type__AttributeData array____cg_setarray_type__AttributeData::DEFAULT = {0, 0};
75152 
75153 //---------------------------------------------------------------------
_data__array____cg_setarray_type(const ParserChar * text,size_t textLength)75154 bool ColladaParserAutoGen14Private::_data__array____cg_setarray_type( const ParserChar* text, size_t textLength )
75155 {
75156     return true;
75157 }
75158 
75159 //---------------------------------------------------------------------
_preBegin__array____cg_setarray_type(const ParserAttributes & attributes,void ** attributeDataPtr,void ** validationDataPtr)75160 bool ColladaParserAutoGen14Private::_preBegin__array____cg_setarray_type( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
75161 {
75162 #ifdef GENERATEDSAXPARSER_VALIDATION
75163     if ( mValidate )
75164     {
75165 
75166         bool validationResult = _validateBegin__array____cg_setarray_type( attributes, attributeDataPtr, validationDataPtr );
75167         if ( !validationResult ) return false;
75168 
75169     } // validation
75170 #endif
75171 
75172 array____cg_setarray_type__AttributeData* attributeData = newData<array____cg_setarray_type__AttributeData>(attributeDataPtr);
75173 
75174 const ParserChar** attributeArray = attributes.attributes;
75175 if ( attributeArray )
75176 {
75177     while (true)
75178     {
75179         const ParserChar * attribute = *attributeArray;
75180         if ( !attribute )
75181             break;
75182         StringHash hash = GeneratedSaxParser::Utils::calculateStringHash(attribute);
75183         attributeArray++;
75184         if ( !attributeArray )
75185             return false;
75186         const ParserChar* attributeValue = *attributeArray;
75187         attributeArray++;
75188 
75189 
75190     switch ( hash )
75191     {
75192     case HASH_ATTRIBUTE_length:
75193     {
75194 bool failed;
75195 attributeData->length = GeneratedSaxParser::Utils::toUint64(attributeValue, failed);
75196 if ( failed && handleError(ParserError::SEVERITY_ERROR_NONCRITICAL,
75197         ParserError::ERROR_ATTRIBUTE_PARSING_FAILED,
75198         HASH_ELEMENT_ARRAY,
75199         HASH_ATTRIBUTE_length,
75200         attributeValue))
75201 {
75202     return false;
75203 }
75204 #ifdef GENERATEDSAXPARSER_VALIDATION
75205     if ( mValidate )
75206     {
75207     ParserError::ErrorType simpleTypeValidationResult = validate__positiveInteger(attributeData->length);
75208     if (simpleTypeValidationResult != ParserError::SIMPLE_TYPE_VALIDATION_OK)
75209     {
75210         if( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL,
75211             simpleTypeValidationResult,
75212             HASH_ELEMENT_ARRAY,
75213             HASH_ATTRIBUTE_length,
75214             attributeValue) )
75215         {
75216             return false;
75217         }
75218     }
75219     } // validation
75220 #endif
75221 if ( !failed )
75222     attributeData->present_attributes |= array____cg_setarray_type__AttributeData::ATTRIBUTE_LENGTH_PRESENT;
75223 
75224     break;
75225     }
75226     default:
75227     {
75228         if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_UNKNOWN_ATTRIBUTE, HASH_ELEMENT_ARRAY, attribute, attributeValue))
75229             {return false;}
75230     }
75231     }
75232     }
75233 }
75234 
75235 
75236     return true;
75237 }
75238 
75239 //---------------------------------------------------------------------
_preEnd__array____cg_setarray_type()75240 bool ColladaParserAutoGen14Private::_preEnd__array____cg_setarray_type()
75241 {
75242 #ifdef GENERATEDSAXPARSER_VALIDATION
75243     if ( mValidate )
75244     {
75245 
75246         bool validationResult = _validateEnd__array____cg_setarray_type();
75247         if ( !validationResult ) return false;
75248 
75249     } // validation
75250 #endif
75251 
75252     return true;
75253 }
75254 
75255 //---------------------------------------------------------------------
_freeAttributes__array____cg_setarray_type(void * attributeData)75256 bool ColladaParserAutoGen14Private::_freeAttributes__array____cg_setarray_type( void* attributeData )
75257 {
75258     array____cg_setarray_type__AttributeData* typedAttributeData = static_cast<array____cg_setarray_type__AttributeData*>(attributeData);
75259 
75260     typedAttributeData->~array____cg_setarray_type__AttributeData();
75261 
75262     return true;
75263 }
75264 
75265 //---------------------------------------------------------------------
75266 const connect_param__AttributeData connect_param__AttributeData::DEFAULT = {0};
75267 
75268 //---------------------------------------------------------------------
_data__connect_param(const ParserChar * text,size_t textLength)75269 bool ColladaParserAutoGen14Private::_data__connect_param( const ParserChar* text, size_t textLength )
75270 {
75271     return true;
75272 }
75273 
75274 //---------------------------------------------------------------------
_preBegin__connect_param(const ParserAttributes & attributes,void ** attributeDataPtr,void ** validationDataPtr)75275 bool ColladaParserAutoGen14Private::_preBegin__connect_param( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
75276 {
75277 #ifdef GENERATEDSAXPARSER_VALIDATION
75278     if ( mValidate )
75279     {
75280 
75281         bool validationResult = _validateBegin__connect_param( attributes, attributeDataPtr, validationDataPtr );
75282         if ( !validationResult ) return false;
75283 
75284     } // validation
75285 #endif
75286 
75287 connect_param__AttributeData* attributeData = newData<connect_param__AttributeData>(attributeDataPtr);
75288 
75289 const ParserChar** attributeArray = attributes.attributes;
75290 if ( attributeArray )
75291 {
75292     while (true)
75293     {
75294         const ParserChar * attribute = *attributeArray;
75295         if ( !attribute )
75296             break;
75297         StringHash hash = GeneratedSaxParser::Utils::calculateStringHash(attribute);
75298         attributeArray++;
75299         if ( !attributeArray )
75300             return false;
75301         const ParserChar* attributeValue = *attributeArray;
75302         attributeArray++;
75303 
75304 
75305     switch ( hash )
75306     {
75307     case HASH_ATTRIBUTE_ref:
75308     {
75309 
75310 attributeData->ref = attributeValue;
75311 
75312     break;
75313     }
75314     default:
75315     {
75316         if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_UNKNOWN_ATTRIBUTE, HASH_ELEMENT_CONNECT_PARAM, attribute, attributeValue))
75317             {return false;}
75318     }
75319     }
75320     }
75321 }
75322 if ( !attributeData->ref )
75323 {
75324     if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_REQUIRED_ATTRIBUTE_MISSING, HASH_ELEMENT_CONNECT_PARAM, HASH_ATTRIBUTE_ref, 0 ) )
75325         return false;
75326 }
75327 
75328 
75329     return true;
75330 }
75331 
75332 //---------------------------------------------------------------------
_preEnd__connect_param()75333 bool ColladaParserAutoGen14Private::_preEnd__connect_param()
75334 {
75335 #ifdef GENERATEDSAXPARSER_VALIDATION
75336     if ( mValidate )
75337     {
75338 
75339         bool validationResult = _validateEnd__connect_param();
75340         if ( !validationResult ) return false;
75341 
75342     } // validation
75343 #endif
75344 
75345     return true;
75346 }
75347 
75348 //---------------------------------------------------------------------
_freeAttributes__connect_param(void * attributeData)75349 bool ColladaParserAutoGen14Private::_freeAttributes__connect_param( void* attributeData )
75350 {
75351     connect_param__AttributeData* typedAttributeData = static_cast<connect_param__AttributeData*>(attributeData);
75352 
75353     typedAttributeData->~connect_param__AttributeData();
75354 
75355     return true;
75356 }
75357 
75358 //---------------------------------------------------------------------
75359 const setparam____cg_setparam__AttributeData setparam____cg_setparam__AttributeData::DEFAULT = {0, 0};
75360 
75361 //---------------------------------------------------------------------
_data__setparam____cg_setparam(const ParserChar * text,size_t textLength)75362 bool ColladaParserAutoGen14Private::_data__setparam____cg_setparam( const ParserChar* text, size_t textLength )
75363 {
75364     return true;
75365 }
75366 
75367 //---------------------------------------------------------------------
_preBegin__setparam____cg_setparam(const ParserAttributes & attributes,void ** attributeDataPtr,void ** validationDataPtr)75368 bool ColladaParserAutoGen14Private::_preBegin__setparam____cg_setparam( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
75369 {
75370 #ifdef GENERATEDSAXPARSER_VALIDATION
75371     if ( mValidate )
75372     {
75373 
75374         bool validationResult = _validateBegin__setparam____cg_setparam( attributes, attributeDataPtr, validationDataPtr );
75375         if ( !validationResult ) return false;
75376 
75377     } // validation
75378 #endif
75379 
75380 setparam____cg_setparam__AttributeData* attributeData = newData<setparam____cg_setparam__AttributeData>(attributeDataPtr);
75381 
75382 const ParserChar** attributeArray = attributes.attributes;
75383 if ( attributeArray )
75384 {
75385     while (true)
75386     {
75387         const ParserChar * attribute = *attributeArray;
75388         if ( !attribute )
75389             break;
75390         StringHash hash = GeneratedSaxParser::Utils::calculateStringHash(attribute);
75391         attributeArray++;
75392         if ( !attributeArray )
75393             return false;
75394         const ParserChar* attributeValue = *attributeArray;
75395         attributeArray++;
75396 
75397 
75398     switch ( hash )
75399     {
75400     case HASH_ATTRIBUTE_ref:
75401     {
75402 
75403 attributeData->ref = attributeValue;
75404 
75405     break;
75406     }
75407     case HASH_ATTRIBUTE_program:
75408     {
75409 
75410 attributeData->program = attributeValue;
75411 #ifdef GENERATEDSAXPARSER_VALIDATION
75412     if ( mValidate )
75413     {
75414     ParserError::ErrorType simpleTypeValidationResult = validate__NCName(attributeData->program, strlen(attributeData->program));
75415     if (simpleTypeValidationResult != ParserError::SIMPLE_TYPE_VALIDATION_OK)
75416     {
75417         if( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL,
75418             simpleTypeValidationResult,
75419             HASH_ELEMENT_SETPARAM,
75420             HASH_ATTRIBUTE_program,
75421             attributeValue) )
75422         {
75423             return false;
75424         }
75425     }
75426     } // validation
75427 #endif
75428 
75429     break;
75430     }
75431     default:
75432     {
75433         if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_UNKNOWN_ATTRIBUTE, HASH_ELEMENT_SETPARAM, attribute, attributeValue))
75434             {return false;}
75435     }
75436     }
75437     }
75438 }
75439 if ( !attributeData->ref )
75440 {
75441     if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_REQUIRED_ATTRIBUTE_MISSING, HASH_ELEMENT_SETPARAM, HASH_ATTRIBUTE_ref, 0 ) )
75442         return false;
75443 }
75444 
75445 
75446     return true;
75447 }
75448 
75449 //---------------------------------------------------------------------
_preEnd__setparam____cg_setparam()75450 bool ColladaParserAutoGen14Private::_preEnd__setparam____cg_setparam()
75451 {
75452 #ifdef GENERATEDSAXPARSER_VALIDATION
75453     if ( mValidate )
75454     {
75455 
75456         bool validationResult = _validateEnd__setparam____cg_setparam();
75457         if ( !validationResult ) return false;
75458 
75459     } // validation
75460 #endif
75461 
75462     return true;
75463 }
75464 
75465 //---------------------------------------------------------------------
_freeAttributes__setparam____cg_setparam(void * attributeData)75466 bool ColladaParserAutoGen14Private::_freeAttributes__setparam____cg_setparam( void* attributeData )
75467 {
75468     setparam____cg_setparam__AttributeData* typedAttributeData = static_cast<setparam____cg_setparam__AttributeData*>(attributeData);
75469 
75470     typedAttributeData->~setparam____cg_setparam__AttributeData();
75471 
75472     return true;
75473 }
75474 
75475 //---------------------------------------------------------------------
75476 const array____cg_newarray_type__AttributeData array____cg_newarray_type__AttributeData::DEFAULT = {0, 0};
75477 
75478 //---------------------------------------------------------------------
_data__array____cg_newarray_type(const ParserChar * text,size_t textLength)75479 bool ColladaParserAutoGen14Private::_data__array____cg_newarray_type( const ParserChar* text, size_t textLength )
75480 {
75481     return true;
75482 }
75483 
75484 //---------------------------------------------------------------------
_preBegin__array____cg_newarray_type(const ParserAttributes & attributes,void ** attributeDataPtr,void ** validationDataPtr)75485 bool ColladaParserAutoGen14Private::_preBegin__array____cg_newarray_type( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
75486 {
75487 #ifdef GENERATEDSAXPARSER_VALIDATION
75488     if ( mValidate )
75489     {
75490 
75491         bool validationResult = _validateBegin__array____cg_newarray_type( attributes, attributeDataPtr, validationDataPtr );
75492         if ( !validationResult ) return false;
75493 
75494     } // validation
75495 #endif
75496 
75497 array____cg_newarray_type__AttributeData* attributeData = newData<array____cg_newarray_type__AttributeData>(attributeDataPtr);
75498 
75499 const ParserChar** attributeArray = attributes.attributes;
75500 if ( attributeArray )
75501 {
75502     while (true)
75503     {
75504         const ParserChar * attribute = *attributeArray;
75505         if ( !attribute )
75506             break;
75507         StringHash hash = GeneratedSaxParser::Utils::calculateStringHash(attribute);
75508         attributeArray++;
75509         if ( !attributeArray )
75510             return false;
75511         const ParserChar* attributeValue = *attributeArray;
75512         attributeArray++;
75513 
75514 
75515     switch ( hash )
75516     {
75517     case HASH_ATTRIBUTE_length:
75518     {
75519 bool failed;
75520 attributeData->length = GeneratedSaxParser::Utils::toUint64(attributeValue, failed);
75521 if ( failed && handleError(ParserError::SEVERITY_ERROR_NONCRITICAL,
75522         ParserError::ERROR_ATTRIBUTE_PARSING_FAILED,
75523         HASH_ELEMENT_ARRAY,
75524         HASH_ATTRIBUTE_length,
75525         attributeValue))
75526 {
75527     return false;
75528 }
75529 #ifdef GENERATEDSAXPARSER_VALIDATION
75530     if ( mValidate )
75531     {
75532     ParserError::ErrorType simpleTypeValidationResult = validate__positiveInteger(attributeData->length);
75533     if (simpleTypeValidationResult != ParserError::SIMPLE_TYPE_VALIDATION_OK)
75534     {
75535         if( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL,
75536             simpleTypeValidationResult,
75537             HASH_ELEMENT_ARRAY,
75538             HASH_ATTRIBUTE_length,
75539             attributeValue) )
75540         {
75541             return false;
75542         }
75543     }
75544     } // validation
75545 #endif
75546 if ( !failed )
75547     attributeData->present_attributes |= array____cg_newarray_type__AttributeData::ATTRIBUTE_LENGTH_PRESENT;
75548 
75549     break;
75550     }
75551     default:
75552     {
75553         if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_UNKNOWN_ATTRIBUTE, HASH_ELEMENT_ARRAY, attribute, attributeValue))
75554             {return false;}
75555     }
75556     }
75557     }
75558 }
75559 if ( (attributeData->present_attributes & array____cg_newarray_type__AttributeData::ATTRIBUTE_LENGTH_PRESENT) == 0 )
75560 {
75561     if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_REQUIRED_ATTRIBUTE_MISSING, HASH_ELEMENT_ARRAY, HASH_ATTRIBUTE_length, 0 ) )
75562         return false;
75563 }
75564 
75565 
75566     return true;
75567 }
75568 
75569 //---------------------------------------------------------------------
_preEnd__array____cg_newarray_type()75570 bool ColladaParserAutoGen14Private::_preEnd__array____cg_newarray_type()
75571 {
75572 #ifdef GENERATEDSAXPARSER_VALIDATION
75573     if ( mValidate )
75574     {
75575 
75576         bool validationResult = _validateEnd__array____cg_newarray_type();
75577         if ( !validationResult ) return false;
75578 
75579     } // validation
75580 #endif
75581 
75582     return true;
75583 }
75584 
75585 //---------------------------------------------------------------------
_freeAttributes__array____cg_newarray_type(void * attributeData)75586 bool ColladaParserAutoGen14Private::_freeAttributes__array____cg_newarray_type( void* attributeData )
75587 {
75588     array____cg_newarray_type__AttributeData* typedAttributeData = static_cast<array____cg_newarray_type__AttributeData*>(attributeData);
75589 
75590     typedAttributeData->~array____cg_newarray_type__AttributeData();
75591 
75592     return true;
75593 }
75594 
75595 //---------------------------------------------------------------------
75596 const profile_CG__technique__AttributeData profile_CG__technique__AttributeData::DEFAULT = {0, 0};
75597 
75598 //---------------------------------------------------------------------
_data__profile_CG__technique(const ParserChar * text,size_t textLength)75599 bool ColladaParserAutoGen14Private::_data__profile_CG__technique( const ParserChar* text, size_t textLength )
75600 {
75601     return true;
75602 }
75603 
75604 //---------------------------------------------------------------------
_preBegin__profile_CG__technique(const ParserAttributes & attributes,void ** attributeDataPtr,void ** validationDataPtr)75605 bool ColladaParserAutoGen14Private::_preBegin__profile_CG__technique( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
75606 {
75607 #ifdef GENERATEDSAXPARSER_VALIDATION
75608     if ( mValidate )
75609     {
75610 
75611         bool validationResult = _validateBegin__profile_CG__technique( attributes, attributeDataPtr, validationDataPtr );
75612         if ( !validationResult ) return false;
75613 
75614     } // validation
75615 #endif
75616 
75617 profile_CG__technique__AttributeData* attributeData = newData<profile_CG__technique__AttributeData>(attributeDataPtr);
75618 
75619 const ParserChar** attributeArray = attributes.attributes;
75620 if ( attributeArray )
75621 {
75622     while (true)
75623     {
75624         const ParserChar * attribute = *attributeArray;
75625         if ( !attribute )
75626             break;
75627         StringHash hash = GeneratedSaxParser::Utils::calculateStringHash(attribute);
75628         attributeArray++;
75629         if ( !attributeArray )
75630             return false;
75631         const ParserChar* attributeValue = *attributeArray;
75632         attributeArray++;
75633 
75634 
75635     switch ( hash )
75636     {
75637     case HASH_ATTRIBUTE_id:
75638     {
75639 
75640 attributeData->id = attributeValue;
75641 
75642     break;
75643     }
75644     case HASH_ATTRIBUTE_sid:
75645     {
75646 
75647 attributeData->sid = attributeValue;
75648 #ifdef GENERATEDSAXPARSER_VALIDATION
75649     if ( mValidate )
75650     {
75651     ParserError::ErrorType simpleTypeValidationResult = validate__NCName(attributeData->sid, strlen(attributeData->sid));
75652     if (simpleTypeValidationResult != ParserError::SIMPLE_TYPE_VALIDATION_OK)
75653     {
75654         if( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL,
75655             simpleTypeValidationResult,
75656             HASH_ELEMENT_TECHNIQUE,
75657             HASH_ATTRIBUTE_sid,
75658             attributeValue) )
75659         {
75660             return false;
75661         }
75662     }
75663     } // validation
75664 #endif
75665 
75666     break;
75667     }
75668     default:
75669     {
75670         if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_UNKNOWN_ATTRIBUTE, HASH_ELEMENT_TECHNIQUE, attribute, attributeValue))
75671             {return false;}
75672     }
75673     }
75674     }
75675 }
75676 if ( !attributeData->sid )
75677 {
75678     if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_REQUIRED_ATTRIBUTE_MISSING, HASH_ELEMENT_TECHNIQUE, HASH_ATTRIBUTE_sid, 0 ) )
75679         return false;
75680 }
75681 
75682 
75683     return true;
75684 }
75685 
75686 //---------------------------------------------------------------------
_preEnd__profile_CG__technique()75687 bool ColladaParserAutoGen14Private::_preEnd__profile_CG__technique()
75688 {
75689 #ifdef GENERATEDSAXPARSER_VALIDATION
75690     if ( mValidate )
75691     {
75692 
75693         bool validationResult = _validateEnd__profile_CG__technique();
75694         if ( !validationResult ) return false;
75695 
75696     } // validation
75697 #endif
75698 
75699     return true;
75700 }
75701 
75702 //---------------------------------------------------------------------
_freeAttributes__profile_CG__technique(void * attributeData)75703 bool ColladaParserAutoGen14Private::_freeAttributes__profile_CG__technique( void* attributeData )
75704 {
75705     profile_CG__technique__AttributeData* typedAttributeData = static_cast<profile_CG__technique__AttributeData*>(attributeData);
75706 
75707     typedAttributeData->~profile_CG__technique__AttributeData();
75708 
75709     return true;
75710 }
75711 
75712 //---------------------------------------------------------------------
75713 const profile_CG__technique__pass__AttributeData profile_CG__technique__pass__AttributeData::DEFAULT = {0};
75714 
75715 //---------------------------------------------------------------------
_data__profile_CG__technique__pass(const ParserChar * text,size_t textLength)75716 bool ColladaParserAutoGen14Private::_data__profile_CG__technique__pass( const ParserChar* text, size_t textLength )
75717 {
75718     return true;
75719 }
75720 
75721 //---------------------------------------------------------------------
_preBegin__profile_CG__technique__pass(const ParserAttributes & attributes,void ** attributeDataPtr,void ** validationDataPtr)75722 bool ColladaParserAutoGen14Private::_preBegin__profile_CG__technique__pass( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
75723 {
75724 #ifdef GENERATEDSAXPARSER_VALIDATION
75725     if ( mValidate )
75726     {
75727 
75728         bool validationResult = _validateBegin__profile_CG__technique__pass( attributes, attributeDataPtr, validationDataPtr );
75729         if ( !validationResult ) return false;
75730 
75731     } // validation
75732 #endif
75733 
75734 profile_CG__technique__pass__AttributeData* attributeData = newData<profile_CG__technique__pass__AttributeData>(attributeDataPtr);
75735 
75736 const ParserChar** attributeArray = attributes.attributes;
75737 if ( attributeArray )
75738 {
75739     while (true)
75740     {
75741         const ParserChar * attribute = *attributeArray;
75742         if ( !attribute )
75743             break;
75744         StringHash hash = GeneratedSaxParser::Utils::calculateStringHash(attribute);
75745         attributeArray++;
75746         if ( !attributeArray )
75747             return false;
75748         const ParserChar* attributeValue = *attributeArray;
75749         attributeArray++;
75750 
75751 
75752     switch ( hash )
75753     {
75754     case HASH_ATTRIBUTE_sid:
75755     {
75756 
75757 attributeData->sid = attributeValue;
75758 #ifdef GENERATEDSAXPARSER_VALIDATION
75759     if ( mValidate )
75760     {
75761     ParserError::ErrorType simpleTypeValidationResult = validate__NCName(attributeData->sid, strlen(attributeData->sid));
75762     if (simpleTypeValidationResult != ParserError::SIMPLE_TYPE_VALIDATION_OK)
75763     {
75764         if( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL,
75765             simpleTypeValidationResult,
75766             HASH_ELEMENT_PASS,
75767             HASH_ATTRIBUTE_sid,
75768             attributeValue) )
75769         {
75770             return false;
75771         }
75772     }
75773     } // validation
75774 #endif
75775 
75776     break;
75777     }
75778     default:
75779     {
75780         if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_UNKNOWN_ATTRIBUTE, HASH_ELEMENT_PASS, attribute, attributeValue))
75781             {return false;}
75782     }
75783     }
75784     }
75785 }
75786 
75787 
75788     return true;
75789 }
75790 
75791 //---------------------------------------------------------------------
_preEnd__profile_CG__technique__pass()75792 bool ColladaParserAutoGen14Private::_preEnd__profile_CG__technique__pass()
75793 {
75794 #ifdef GENERATEDSAXPARSER_VALIDATION
75795     if ( mValidate )
75796     {
75797 
75798         bool validationResult = _validateEnd__profile_CG__technique__pass();
75799         if ( !validationResult ) return false;
75800 
75801     } // validation
75802 #endif
75803 
75804     return true;
75805 }
75806 
75807 //---------------------------------------------------------------------
_freeAttributes__profile_CG__technique__pass(void * attributeData)75808 bool ColladaParserAutoGen14Private::_freeAttributes__profile_CG__technique__pass( void* attributeData )
75809 {
75810     profile_CG__technique__pass__AttributeData* typedAttributeData = static_cast<profile_CG__technique__pass__AttributeData*>(attributeData);
75811 
75812     typedAttributeData->~profile_CG__technique__pass__AttributeData();
75813 
75814     return true;
75815 }
75816 
75817 //---------------------------------------------------------------------
75818 const profile_CG__technique__pass__shader__AttributeData profile_CG__technique__pass__shader__AttributeData::DEFAULT = {ENUM__cg_pipeline_stage__NOT_PRESENT};
75819 
75820 //---------------------------------------------------------------------
_data__profile_CG__technique__pass__shader(const ParserChar * text,size_t textLength)75821 bool ColladaParserAutoGen14Private::_data__profile_CG__technique__pass__shader( const ParserChar* text, size_t textLength )
75822 {
75823     return true;
75824 }
75825 
75826 //---------------------------------------------------------------------
_preBegin__profile_CG__technique__pass__shader(const ParserAttributes & attributes,void ** attributeDataPtr,void ** validationDataPtr)75827 bool ColladaParserAutoGen14Private::_preBegin__profile_CG__technique__pass__shader( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
75828 {
75829 #ifdef GENERATEDSAXPARSER_VALIDATION
75830     if ( mValidate )
75831     {
75832 
75833         bool validationResult = _validateBegin__profile_CG__technique__pass__shader( attributes, attributeDataPtr, validationDataPtr );
75834         if ( !validationResult ) return false;
75835 
75836     } // validation
75837 #endif
75838 
75839 profile_CG__technique__pass__shader__AttributeData* attributeData = newData<profile_CG__technique__pass__shader__AttributeData>(attributeDataPtr);
75840 
75841 const ParserChar** attributeArray = attributes.attributes;
75842 if ( attributeArray )
75843 {
75844     while (true)
75845     {
75846         const ParserChar * attribute = *attributeArray;
75847         if ( !attribute )
75848             break;
75849         StringHash hash = GeneratedSaxParser::Utils::calculateStringHash(attribute);
75850         attributeArray++;
75851         if ( !attributeArray )
75852             return false;
75853         const ParserChar* attributeValue = *attributeArray;
75854         attributeArray++;
75855 
75856 
75857     switch ( hash )
75858     {
75859     case HASH_ATTRIBUTE_stage:
75860     {
75861 bool failed;
75862 attributeData->stage = Utils::toEnum<ENUM__cg_pipeline_stage, StringHash, ENUM__cg_pipeline_stage__COUNT>(attributeValue, failed, ENUM__cg_pipeline_stageMap, Utils::calculateStringHash);
75863 if ( failed && handleError(ParserError::SEVERITY_ERROR_NONCRITICAL,
75864         ParserError::ERROR_ATTRIBUTE_PARSING_FAILED,
75865         HASH_ELEMENT_SHADER,
75866         HASH_ATTRIBUTE_stage,
75867         attributeValue))
75868 {
75869     return false;
75870 }
75871 
75872     break;
75873     }
75874     default:
75875     {
75876         if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_UNKNOWN_ATTRIBUTE, HASH_ELEMENT_SHADER, attribute, attributeValue))
75877             {return false;}
75878     }
75879     }
75880     }
75881 }
75882 
75883 
75884     return true;
75885 }
75886 
75887 //---------------------------------------------------------------------
_preEnd__profile_CG__technique__pass__shader()75888 bool ColladaParserAutoGen14Private::_preEnd__profile_CG__technique__pass__shader()
75889 {
75890 #ifdef GENERATEDSAXPARSER_VALIDATION
75891     if ( mValidate )
75892     {
75893 
75894         bool validationResult = _validateEnd__profile_CG__technique__pass__shader();
75895         if ( !validationResult ) return false;
75896 
75897     } // validation
75898 #endif
75899 
75900     return true;
75901 }
75902 
75903 //---------------------------------------------------------------------
_freeAttributes__profile_CG__technique__pass__shader(void * attributeData)75904 bool ColladaParserAutoGen14Private::_freeAttributes__profile_CG__technique__pass__shader( void* attributeData )
75905 {
75906     profile_CG__technique__pass__shader__AttributeData* typedAttributeData = static_cast<profile_CG__technique__pass__shader__AttributeData*>(attributeData);
75907 
75908     typedAttributeData->~profile_CG__technique__pass__shader__AttributeData();
75909 
75910     return true;
75911 }
75912 
75913 //---------------------------------------------------------------------
toEnumDataPrefix_ENUM__cg_pipeline_stage(const ParserChar * prefixedBuffer,const ParserChar * prefixedBufferEnd,const ParserChar ** buffer,const ParserChar * bufferEnd,bool & failed,const std::pair<StringHash,ENUM__cg_pipeline_stage> * enumMap,StringHash (* baseConversionFunc)(const ParserChar **,const ParserChar *,bool &))75914 ENUM__cg_pipeline_stage ColladaParserAutoGen14Private::toEnumDataPrefix_ENUM__cg_pipeline_stage (
75915     const ParserChar* prefixedBuffer,
75916     const ParserChar* prefixedBufferEnd,
75917     const ParserChar** buffer,
75918     const ParserChar* bufferEnd,
75919     bool& failed,
75920     const std::pair<StringHash, ENUM__cg_pipeline_stage>* enumMap,
75921     StringHash (*baseConversionFunc)( const ParserChar**, const ParserChar*, bool& )
75922 )
75923 {
75924     return toEnumDataPrefix<ENUM__cg_pipeline_stage, StringHash, ENUM__cg_pipeline_stage__COUNT, &toEnum_ENUM__cg_pipeline_stage>(prefixedBuffer, prefixedBufferEnd, buffer, bufferEnd, failed, enumMap, baseConversionFunc);
75925 }
75926 
75927 //---------------------------------------------------------------------
characterData2EnumData_ENUM__cg_pipeline_stage(const ParserChar * text,size_t textLength,bool (ColladaParserAutoGen14::* dataFunction)(const ENUM__cg_pipeline_stage *,size_t),StringHash (* baseConversionFunc)(const ParserChar **,const ParserChar *,bool &))75928 bool ColladaParserAutoGen14Private::characterData2EnumData_ENUM__cg_pipeline_stage (
75929     const ParserChar* text,
75930     size_t textLength,
75931     bool ( ColladaParserAutoGen14::*dataFunction )(const ENUM__cg_pipeline_stage*, size_t ),
75932     StringHash (*baseConversionFunc)( const ParserChar**, const ParserChar*, bool& )
75933 )
75934 {
75935     return characterData2EnumData<ENUM__cg_pipeline_stage, StringHash, ENUM__cg_pipeline_stage__COUNT>(text, textLength, dataFunction, ENUM__cg_pipeline_stageMap, baseConversionFunc, &toEnum_ENUM__cg_pipeline_stage, &ColladaParserAutoGen14Private::toEnumDataPrefix_ENUM__cg_pipeline_stage);
75936 }
75937 
75938 //---------------------------------------------------------------------
dataEnumEnd_ENUM__cg_pipeline_stage(bool (ColladaParserAutoGen14::* dataFunction)(const ENUM__cg_pipeline_stage *,size_t),const std::pair<StringHash,ENUM__cg_pipeline_stage> * enumMap,StringHash (* baseConversionFunc)(const ParserChar **,const ParserChar *,bool &),ENUM__cg_pipeline_stage (* toEnumFunc)(const ParserChar **,const ParserChar *,bool &,const std::pair<StringHash,ENUM__cg_pipeline_stage> * enumMap,StringHash (* baseConversionFunc)(const ParserChar **,const ParserChar *,bool &)))75939 bool ColladaParserAutoGen14Private::dataEnumEnd_ENUM__cg_pipeline_stage (
75940     bool ( ColladaParserAutoGen14::*dataFunction )(const ENUM__cg_pipeline_stage*, size_t ),
75941     const std::pair<StringHash, ENUM__cg_pipeline_stage>* enumMap,
75942     StringHash (*baseConversionFunc)( const ParserChar**, const ParserChar*, bool& ),
75943     ENUM__cg_pipeline_stage (*toEnumFunc)( const ParserChar**, const ParserChar*, bool&, const std::pair<StringHash, ENUM__cg_pipeline_stage>* enumMap, StringHash (*baseConversionFunc)( const ParserChar**, const ParserChar*, bool& ))
75944 )
75945 {
75946     return dataEnumEnd<ENUM__cg_pipeline_stage, StringHash, ENUM__cg_pipeline_stage__COUNT>(dataFunction, enumMap, baseConversionFunc, toEnumFunc);
75947 }
75948 
75949 //---------------------------------------------------------------------
_data__profile_CG__technique__pass__shader__compiler_target(const ParserChar * text,size_t textLength)75950 bool ColladaParserAutoGen14Private::_data__profile_CG__technique__pass__shader__compiler_target( const ParserChar* text, size_t textLength )
75951 {
75952 if (!mLastIncompleteFragmentInCharacterData)
75953 {
75954     mLastIncompleteFragmentInCharacterData = (ParserChar*)mStackMemoryManager.newObject(textLength);
75955     memcpy(mLastIncompleteFragmentInCharacterData, text, textLength);
75956     mEndOfDataInCurrentObjectOnStack = mLastIncompleteFragmentInCharacterData + textLength;
75957 }
75958 else
75959 {
75960     ParserChar* tmp = (ParserChar*)mStackMemoryManager.growObject(textLength);
75961     if ( tmp != mLastIncompleteFragmentInCharacterData ) {
75962         mEndOfDataInCurrentObjectOnStack = (mEndOfDataInCurrentObjectOnStack - mLastIncompleteFragmentInCharacterData) + tmp;
75963         mLastIncompleteFragmentInCharacterData = tmp;
75964     }
75965     memcpy(mEndOfDataInCurrentObjectOnStack, text, textLength);
75966     mEndOfDataInCurrentObjectOnStack += textLength;
75967 }
75968 return true;
75969 }
75970 
75971 //---------------------------------------------------------------------
_preBegin__profile_CG__technique__pass__shader__compiler_target(const ParserAttributes & attributes,void ** attributeDataPtr,void ** validationDataPtr)75972 bool ColladaParserAutoGen14Private::_preBegin__profile_CG__technique__pass__shader__compiler_target( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
75973 {
75974 #ifdef GENERATEDSAXPARSER_VALIDATION
75975     if ( mValidate )
75976     {
75977 
75978         bool validationResult = _validateBegin__profile_CG__technique__pass__shader__compiler_target( attributes, attributeDataPtr, validationDataPtr );
75979         if ( !validationResult ) return false;
75980 
75981     } // validation
75982 #endif
75983 
75984     return true;
75985 }
75986 
75987 //---------------------------------------------------------------------
_preEnd__profile_CG__technique__pass__shader__compiler_target()75988 bool ColladaParserAutoGen14Private::_preEnd__profile_CG__technique__pass__shader__compiler_target()
75989 {
75990 #ifdef GENERATEDSAXPARSER_VALIDATION
75991     if ( mValidate )
75992     {
75993 
75994         bool validationResult = _validateEnd__profile_CG__technique__pass__shader__compiler_target();
75995         if ( !validationResult ) return false;
75996 
75997     } // validation
75998 #endif
75999 
76000 bool returnValue = true;
76001 #ifdef GENERATEDSAXPARSER_VALIDATION
76002     if ( mValidate )
76003     {
76004 ParserError::ErrorType simpleTypeValidationResult = validate__NMTOKEN(mLastIncompleteFragmentInCharacterData, mEndOfDataInCurrentObjectOnStack - mLastIncompleteFragmentInCharacterData);
76005 if (simpleTypeValidationResult != ParserError::SIMPLE_TYPE_VALIDATION_OK)
76006 {
76007     ParserChar msg[21];
76008     Utils::fillErrorMsg(msg, mLastIncompleteFragmentInCharacterData, 20);
76009     if( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL,
76010         simpleTypeValidationResult,
76011         0,
76012         msg) )
76013     {
76014         returnValue =  false;
76015     }
76016 }
76017 if (!returnValue)
76018 {
76019     mStackMemoryManager.deleteObject();
76020     mLastIncompleteFragmentInCharacterData = 0;
76021     mEndOfDataInCurrentObjectOnStack = 0;
76022     return returnValue;
76023 }
76024     } // validation
76025 #endif
76026 returnValue = mImpl->data__profile_CG__technique__pass__shader__compiler_target(mLastIncompleteFragmentInCharacterData, mEndOfDataInCurrentObjectOnStack - mLastIncompleteFragmentInCharacterData);
76027 mStackMemoryManager.deleteObject();
76028 mLastIncompleteFragmentInCharacterData = 0;
76029 mEndOfDataInCurrentObjectOnStack = 0;
76030 return returnValue;
76031 
76032 }
76033 
76034 //---------------------------------------------------------------------
_freeAttributes__profile_CG__technique__pass__shader__compiler_target(void * attributeData)76035 bool ColladaParserAutoGen14Private::_freeAttributes__profile_CG__technique__pass__shader__compiler_target( void* attributeData )
76036 {
76037     return true;
76038 }
76039 
76040 //---------------------------------------------------------------------
76041 const profile_CG__technique__pass__shader__name__AttributeData profile_CG__technique__pass__shader__name__AttributeData::DEFAULT = {0};
76042 
76043 //---------------------------------------------------------------------
_data__profile_CG__technique__pass__shader__name(const ParserChar * text,size_t textLength)76044 bool ColladaParserAutoGen14Private::_data__profile_CG__technique__pass__shader__name( const ParserChar* text, size_t textLength )
76045 {
76046 if (!mLastIncompleteFragmentInCharacterData)
76047 {
76048     mLastIncompleteFragmentInCharacterData = (ParserChar*)mStackMemoryManager.newObject(textLength);
76049     memcpy(mLastIncompleteFragmentInCharacterData, text, textLength);
76050     mEndOfDataInCurrentObjectOnStack = mLastIncompleteFragmentInCharacterData + textLength;
76051 }
76052 else
76053 {
76054     ParserChar* tmp = (ParserChar*)mStackMemoryManager.growObject(textLength);
76055     if ( tmp != mLastIncompleteFragmentInCharacterData ) {
76056         mEndOfDataInCurrentObjectOnStack = (mEndOfDataInCurrentObjectOnStack - mLastIncompleteFragmentInCharacterData) + tmp;
76057         mLastIncompleteFragmentInCharacterData = tmp;
76058     }
76059     memcpy(mEndOfDataInCurrentObjectOnStack, text, textLength);
76060     mEndOfDataInCurrentObjectOnStack += textLength;
76061 }
76062 return true;
76063 }
76064 
76065 //---------------------------------------------------------------------
_preBegin__profile_CG__technique__pass__shader__name(const ParserAttributes & attributes,void ** attributeDataPtr,void ** validationDataPtr)76066 bool ColladaParserAutoGen14Private::_preBegin__profile_CG__technique__pass__shader__name( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
76067 {
76068 #ifdef GENERATEDSAXPARSER_VALIDATION
76069     if ( mValidate )
76070     {
76071 
76072         bool validationResult = _validateBegin__profile_CG__technique__pass__shader__name( attributes, attributeDataPtr, validationDataPtr );
76073         if ( !validationResult ) return false;
76074 
76075     } // validation
76076 #endif
76077 
76078 profile_CG__technique__pass__shader__name__AttributeData* attributeData = newData<profile_CG__technique__pass__shader__name__AttributeData>(attributeDataPtr);
76079 
76080 const ParserChar** attributeArray = attributes.attributes;
76081 if ( attributeArray )
76082 {
76083     while (true)
76084     {
76085         const ParserChar * attribute = *attributeArray;
76086         if ( !attribute )
76087             break;
76088         StringHash hash = GeneratedSaxParser::Utils::calculateStringHash(attribute);
76089         attributeArray++;
76090         if ( !attributeArray )
76091             return false;
76092         const ParserChar* attributeValue = *attributeArray;
76093         attributeArray++;
76094 
76095 
76096     switch ( hash )
76097     {
76098     case HASH_ATTRIBUTE_source:
76099     {
76100 
76101 attributeData->source = attributeValue;
76102 #ifdef GENERATEDSAXPARSER_VALIDATION
76103     if ( mValidate )
76104     {
76105     ParserError::ErrorType simpleTypeValidationResult = validate__NCName(attributeData->source, strlen(attributeData->source));
76106     if (simpleTypeValidationResult != ParserError::SIMPLE_TYPE_VALIDATION_OK)
76107     {
76108         if( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL,
76109             simpleTypeValidationResult,
76110             HASH_ELEMENT_NAME,
76111             HASH_ATTRIBUTE_source,
76112             attributeValue) )
76113         {
76114             return false;
76115         }
76116     }
76117     } // validation
76118 #endif
76119 
76120     break;
76121     }
76122     default:
76123     {
76124         if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_UNKNOWN_ATTRIBUTE, HASH_ELEMENT_NAME, attribute, attributeValue))
76125             {return false;}
76126     }
76127     }
76128     }
76129 }
76130 
76131 
76132     return true;
76133 }
76134 
76135 //---------------------------------------------------------------------
_preEnd__profile_CG__technique__pass__shader__name()76136 bool ColladaParserAutoGen14Private::_preEnd__profile_CG__technique__pass__shader__name()
76137 {
76138 #ifdef GENERATEDSAXPARSER_VALIDATION
76139     if ( mValidate )
76140     {
76141 
76142         bool validationResult = _validateEnd__profile_CG__technique__pass__shader__name();
76143         if ( !validationResult ) return false;
76144 
76145     } // validation
76146 #endif
76147 
76148 bool returnValue = true;
76149 #ifdef GENERATEDSAXPARSER_VALIDATION
76150     if ( mValidate )
76151     {
76152 ParserError::ErrorType simpleTypeValidationResult = validate__NCName(mLastIncompleteFragmentInCharacterData, mEndOfDataInCurrentObjectOnStack - mLastIncompleteFragmentInCharacterData);
76153 if (simpleTypeValidationResult != ParserError::SIMPLE_TYPE_VALIDATION_OK)
76154 {
76155     ParserChar msg[21];
76156     Utils::fillErrorMsg(msg, mLastIncompleteFragmentInCharacterData, 20);
76157     if( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL,
76158         simpleTypeValidationResult,
76159         0,
76160         msg) )
76161     {
76162         returnValue =  false;
76163     }
76164 }
76165 if (!returnValue)
76166 {
76167     mStackMemoryManager.deleteObject();
76168     mLastIncompleteFragmentInCharacterData = 0;
76169     mEndOfDataInCurrentObjectOnStack = 0;
76170     return returnValue;
76171 }
76172     } // validation
76173 #endif
76174 returnValue = mImpl->data__profile_CG__technique__pass__shader__name(mLastIncompleteFragmentInCharacterData, mEndOfDataInCurrentObjectOnStack - mLastIncompleteFragmentInCharacterData);
76175 mStackMemoryManager.deleteObject();
76176 mLastIncompleteFragmentInCharacterData = 0;
76177 mEndOfDataInCurrentObjectOnStack = 0;
76178 return returnValue;
76179 
76180 }
76181 
76182 //---------------------------------------------------------------------
_freeAttributes__profile_CG__technique__pass__shader__name(void * attributeData)76183 bool ColladaParserAutoGen14Private::_freeAttributes__profile_CG__technique__pass__shader__name( void* attributeData )
76184 {
76185     profile_CG__technique__pass__shader__name__AttributeData* typedAttributeData = static_cast<profile_CG__technique__pass__shader__name__AttributeData*>(attributeData);
76186 
76187     typedAttributeData->~profile_CG__technique__pass__shader__name__AttributeData();
76188 
76189     return true;
76190 }
76191 
76192 //---------------------------------------------------------------------
76193 const profile_CG__technique__pass__shader__bind__AttributeData profile_CG__technique__pass__shader__bind__AttributeData::DEFAULT = {0};
76194 
76195 //---------------------------------------------------------------------
_data__profile_CG__technique__pass__shader__bind(const ParserChar * text,size_t textLength)76196 bool ColladaParserAutoGen14Private::_data__profile_CG__technique__pass__shader__bind( const ParserChar* text, size_t textLength )
76197 {
76198     return true;
76199 }
76200 
76201 //---------------------------------------------------------------------
_preBegin__profile_CG__technique__pass__shader__bind(const ParserAttributes & attributes,void ** attributeDataPtr,void ** validationDataPtr)76202 bool ColladaParserAutoGen14Private::_preBegin__profile_CG__technique__pass__shader__bind( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
76203 {
76204 #ifdef GENERATEDSAXPARSER_VALIDATION
76205     if ( mValidate )
76206     {
76207 
76208         bool validationResult = _validateBegin__profile_CG__technique__pass__shader__bind( attributes, attributeDataPtr, validationDataPtr );
76209         if ( !validationResult ) return false;
76210 
76211     } // validation
76212 #endif
76213 
76214 profile_CG__technique__pass__shader__bind__AttributeData* attributeData = newData<profile_CG__technique__pass__shader__bind__AttributeData>(attributeDataPtr);
76215 
76216 const ParserChar** attributeArray = attributes.attributes;
76217 if ( attributeArray )
76218 {
76219     while (true)
76220     {
76221         const ParserChar * attribute = *attributeArray;
76222         if ( !attribute )
76223             break;
76224         StringHash hash = GeneratedSaxParser::Utils::calculateStringHash(attribute);
76225         attributeArray++;
76226         if ( !attributeArray )
76227             return false;
76228         const ParserChar* attributeValue = *attributeArray;
76229         attributeArray++;
76230 
76231 
76232     switch ( hash )
76233     {
76234     case HASH_ATTRIBUTE_symbol:
76235     {
76236 
76237 attributeData->symbol = attributeValue;
76238 #ifdef GENERATEDSAXPARSER_VALIDATION
76239     if ( mValidate )
76240     {
76241     ParserError::ErrorType simpleTypeValidationResult = validate__NCName(attributeData->symbol, strlen(attributeData->symbol));
76242     if (simpleTypeValidationResult != ParserError::SIMPLE_TYPE_VALIDATION_OK)
76243     {
76244         if( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL,
76245             simpleTypeValidationResult,
76246             HASH_ELEMENT_BIND,
76247             HASH_ATTRIBUTE_symbol,
76248             attributeValue) )
76249         {
76250             return false;
76251         }
76252     }
76253     } // validation
76254 #endif
76255 
76256     break;
76257     }
76258     default:
76259     {
76260         if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_UNKNOWN_ATTRIBUTE, HASH_ELEMENT_BIND, attribute, attributeValue))
76261             {return false;}
76262     }
76263     }
76264     }
76265 }
76266 if ( !attributeData->symbol )
76267 {
76268     if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_REQUIRED_ATTRIBUTE_MISSING, HASH_ELEMENT_BIND, HASH_ATTRIBUTE_symbol, 0 ) )
76269         return false;
76270 }
76271 
76272 
76273     return true;
76274 }
76275 
76276 //---------------------------------------------------------------------
_preEnd__profile_CG__technique__pass__shader__bind()76277 bool ColladaParserAutoGen14Private::_preEnd__profile_CG__technique__pass__shader__bind()
76278 {
76279 #ifdef GENERATEDSAXPARSER_VALIDATION
76280     if ( mValidate )
76281     {
76282 
76283         bool validationResult = _validateEnd__profile_CG__technique__pass__shader__bind();
76284         if ( !validationResult ) return false;
76285 
76286     } // validation
76287 #endif
76288 
76289     return true;
76290 }
76291 
76292 //---------------------------------------------------------------------
_freeAttributes__profile_CG__technique__pass__shader__bind(void * attributeData)76293 bool ColladaParserAutoGen14Private::_freeAttributes__profile_CG__technique__pass__shader__bind( void* attributeData )
76294 {
76295     profile_CG__technique__pass__shader__bind__AttributeData* typedAttributeData = static_cast<profile_CG__technique__pass__shader__bind__AttributeData*>(attributeData);
76296 
76297     typedAttributeData->~profile_CG__technique__pass__shader__bind__AttributeData();
76298 
76299     return true;
76300 }
76301 
76302 //---------------------------------------------------------------------
76303 const profile_CG__technique__pass__shader__bind__param__AttributeData profile_CG__technique__pass__shader__bind__param__AttributeData::DEFAULT = {0};
76304 
76305 //---------------------------------------------------------------------
_data__profile_CG__technique__pass__shader__bind__param(const ParserChar * text,size_t textLength)76306 bool ColladaParserAutoGen14Private::_data__profile_CG__technique__pass__shader__bind__param( const ParserChar* text, size_t textLength )
76307 {
76308     return true;
76309 }
76310 
76311 //---------------------------------------------------------------------
_preBegin__profile_CG__technique__pass__shader__bind__param(const ParserAttributes & attributes,void ** attributeDataPtr,void ** validationDataPtr)76312 bool ColladaParserAutoGen14Private::_preBegin__profile_CG__technique__pass__shader__bind__param( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
76313 {
76314 #ifdef GENERATEDSAXPARSER_VALIDATION
76315     if ( mValidate )
76316     {
76317 
76318         bool validationResult = _validateBegin__profile_CG__technique__pass__shader__bind__param( attributes, attributeDataPtr, validationDataPtr );
76319         if ( !validationResult ) return false;
76320 
76321     } // validation
76322 #endif
76323 
76324 profile_CG__technique__pass__shader__bind__param__AttributeData* attributeData = newData<profile_CG__technique__pass__shader__bind__param__AttributeData>(attributeDataPtr);
76325 
76326 const ParserChar** attributeArray = attributes.attributes;
76327 if ( attributeArray )
76328 {
76329     while (true)
76330     {
76331         const ParserChar * attribute = *attributeArray;
76332         if ( !attribute )
76333             break;
76334         StringHash hash = GeneratedSaxParser::Utils::calculateStringHash(attribute);
76335         attributeArray++;
76336         if ( !attributeArray )
76337             return false;
76338         const ParserChar* attributeValue = *attributeArray;
76339         attributeArray++;
76340 
76341 
76342     switch ( hash )
76343     {
76344     case HASH_ATTRIBUTE_ref:
76345     {
76346 
76347 attributeData->ref = attributeValue;
76348 #ifdef GENERATEDSAXPARSER_VALIDATION
76349     if ( mValidate )
76350     {
76351     ParserError::ErrorType simpleTypeValidationResult = validate__NCName(attributeData->ref, strlen(attributeData->ref));
76352     if (simpleTypeValidationResult != ParserError::SIMPLE_TYPE_VALIDATION_OK)
76353     {
76354         if( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL,
76355             simpleTypeValidationResult,
76356             HASH_ELEMENT_PARAM,
76357             HASH_ATTRIBUTE_ref,
76358             attributeValue) )
76359         {
76360             return false;
76361         }
76362     }
76363     } // validation
76364 #endif
76365 
76366     break;
76367     }
76368     default:
76369     {
76370         if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_UNKNOWN_ATTRIBUTE, HASH_ELEMENT_PARAM, attribute, attributeValue))
76371             {return false;}
76372     }
76373     }
76374     }
76375 }
76376 if ( !attributeData->ref )
76377 {
76378     if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_REQUIRED_ATTRIBUTE_MISSING, HASH_ELEMENT_PARAM, HASH_ATTRIBUTE_ref, 0 ) )
76379         return false;
76380 }
76381 
76382 
76383     return true;
76384 }
76385 
76386 //---------------------------------------------------------------------
_preEnd__profile_CG__technique__pass__shader__bind__param()76387 bool ColladaParserAutoGen14Private::_preEnd__profile_CG__technique__pass__shader__bind__param()
76388 {
76389 #ifdef GENERATEDSAXPARSER_VALIDATION
76390     if ( mValidate )
76391     {
76392 
76393         bool validationResult = _validateEnd__profile_CG__technique__pass__shader__bind__param();
76394         if ( !validationResult ) return false;
76395 
76396     } // validation
76397 #endif
76398 
76399     return true;
76400 }
76401 
76402 //---------------------------------------------------------------------
_freeAttributes__profile_CG__technique__pass__shader__bind__param(void * attributeData)76403 bool ColladaParserAutoGen14Private::_freeAttributes__profile_CG__technique__pass__shader__bind__param( void* attributeData )
76404 {
76405     profile_CG__technique__pass__shader__bind__param__AttributeData* typedAttributeData = static_cast<profile_CG__technique__pass__shader__bind__param__AttributeData*>(attributeData);
76406 
76407     typedAttributeData->~profile_CG__technique__pass__shader__bind__param__AttributeData();
76408 
76409     return true;
76410 }
76411 
76412 //---------------------------------------------------------------------
76413 const profile_COMMON__AttributeData profile_COMMON__AttributeData::DEFAULT = {0};
76414 
76415 //---------------------------------------------------------------------
_data__profile_COMMON(const ParserChar * text,size_t textLength)76416 bool ColladaParserAutoGen14Private::_data__profile_COMMON( const ParserChar* text, size_t textLength )
76417 {
76418     return true;
76419 }
76420 
76421 //---------------------------------------------------------------------
_preBegin__profile_COMMON(const ParserAttributes & attributes,void ** attributeDataPtr,void ** validationDataPtr)76422 bool ColladaParserAutoGen14Private::_preBegin__profile_COMMON( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
76423 {
76424 #ifdef GENERATEDSAXPARSER_VALIDATION
76425     if ( mValidate )
76426     {
76427 
76428         bool validationResult = _validateBegin__profile_COMMON( attributes, attributeDataPtr, validationDataPtr );
76429         if ( !validationResult ) return false;
76430 
76431     } // validation
76432 #endif
76433 
76434 profile_COMMON__AttributeData* attributeData = newData<profile_COMMON__AttributeData>(attributeDataPtr);
76435 
76436 const ParserChar** attributeArray = attributes.attributes;
76437 if ( attributeArray )
76438 {
76439     while (true)
76440     {
76441         const ParserChar * attribute = *attributeArray;
76442         if ( !attribute )
76443             break;
76444         StringHash hash = GeneratedSaxParser::Utils::calculateStringHash(attribute);
76445         attributeArray++;
76446         if ( !attributeArray )
76447             return false;
76448         const ParserChar* attributeValue = *attributeArray;
76449         attributeArray++;
76450 
76451 
76452     switch ( hash )
76453     {
76454     case HASH_ATTRIBUTE_id:
76455     {
76456 
76457 attributeData->id = attributeValue;
76458 
76459     break;
76460     }
76461     default:
76462     {
76463         if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_UNKNOWN_ATTRIBUTE, HASH_ELEMENT_PROFILE_COMMON, attribute, attributeValue))
76464             {return false;}
76465     }
76466     }
76467     }
76468 }
76469 
76470 
76471     return true;
76472 }
76473 
76474 //---------------------------------------------------------------------
_preEnd__profile_COMMON()76475 bool ColladaParserAutoGen14Private::_preEnd__profile_COMMON()
76476 {
76477 #ifdef GENERATEDSAXPARSER_VALIDATION
76478     if ( mValidate )
76479     {
76480 
76481         bool validationResult = _validateEnd__profile_COMMON();
76482         if ( !validationResult ) return false;
76483 
76484     } // validation
76485 #endif
76486 
76487     return true;
76488 }
76489 
76490 //---------------------------------------------------------------------
_freeAttributes__profile_COMMON(void * attributeData)76491 bool ColladaParserAutoGen14Private::_freeAttributes__profile_COMMON( void* attributeData )
76492 {
76493     profile_COMMON__AttributeData* typedAttributeData = static_cast<profile_COMMON__AttributeData*>(attributeData);
76494 
76495     typedAttributeData->~profile_COMMON__AttributeData();
76496 
76497     return true;
76498 }
76499 
76500 //---------------------------------------------------------------------
76501 const newparam____common_newparam_type__AttributeData newparam____common_newparam_type__AttributeData::DEFAULT = {0};
76502 
76503 //---------------------------------------------------------------------
_data__newparam____common_newparam_type(const ParserChar * text,size_t textLength)76504 bool ColladaParserAutoGen14Private::_data__newparam____common_newparam_type( const ParserChar* text, size_t textLength )
76505 {
76506     return true;
76507 }
76508 
76509 //---------------------------------------------------------------------
_preBegin__newparam____common_newparam_type(const ParserAttributes & attributes,void ** attributeDataPtr,void ** validationDataPtr)76510 bool ColladaParserAutoGen14Private::_preBegin__newparam____common_newparam_type( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
76511 {
76512 #ifdef GENERATEDSAXPARSER_VALIDATION
76513     if ( mValidate )
76514     {
76515 
76516         bool validationResult = _validateBegin__newparam____common_newparam_type( attributes, attributeDataPtr, validationDataPtr );
76517         if ( !validationResult ) return false;
76518 
76519     } // validation
76520 #endif
76521 
76522 newparam____common_newparam_type__AttributeData* attributeData = newData<newparam____common_newparam_type__AttributeData>(attributeDataPtr);
76523 
76524 const ParserChar** attributeArray = attributes.attributes;
76525 if ( attributeArray )
76526 {
76527     while (true)
76528     {
76529         const ParserChar * attribute = *attributeArray;
76530         if ( !attribute )
76531             break;
76532         StringHash hash = GeneratedSaxParser::Utils::calculateStringHash(attribute);
76533         attributeArray++;
76534         if ( !attributeArray )
76535             return false;
76536         const ParserChar* attributeValue = *attributeArray;
76537         attributeArray++;
76538 
76539 
76540     switch ( hash )
76541     {
76542     case HASH_ATTRIBUTE_sid:
76543     {
76544 
76545 attributeData->sid = attributeValue;
76546 #ifdef GENERATEDSAXPARSER_VALIDATION
76547     if ( mValidate )
76548     {
76549     ParserError::ErrorType simpleTypeValidationResult = validate__NCName(attributeData->sid, strlen(attributeData->sid));
76550     if (simpleTypeValidationResult != ParserError::SIMPLE_TYPE_VALIDATION_OK)
76551     {
76552         if( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL,
76553             simpleTypeValidationResult,
76554             HASH_ELEMENT_NEWPARAM,
76555             HASH_ATTRIBUTE_sid,
76556             attributeValue) )
76557         {
76558             return false;
76559         }
76560     }
76561     } // validation
76562 #endif
76563 
76564     break;
76565     }
76566     default:
76567     {
76568         if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_UNKNOWN_ATTRIBUTE, HASH_ELEMENT_NEWPARAM, attribute, attributeValue))
76569             {return false;}
76570     }
76571     }
76572     }
76573 }
76574 if ( !attributeData->sid )
76575 {
76576     if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_REQUIRED_ATTRIBUTE_MISSING, HASH_ELEMENT_NEWPARAM, HASH_ATTRIBUTE_sid, 0 ) )
76577         return false;
76578 }
76579 
76580 
76581     return true;
76582 }
76583 
76584 //---------------------------------------------------------------------
_preEnd__newparam____common_newparam_type()76585 bool ColladaParserAutoGen14Private::_preEnd__newparam____common_newparam_type()
76586 {
76587 #ifdef GENERATEDSAXPARSER_VALIDATION
76588     if ( mValidate )
76589     {
76590 
76591         bool validationResult = _validateEnd__newparam____common_newparam_type();
76592         if ( !validationResult ) return false;
76593 
76594     } // validation
76595 #endif
76596 
76597     return true;
76598 }
76599 
76600 //---------------------------------------------------------------------
_freeAttributes__newparam____common_newparam_type(void * attributeData)76601 bool ColladaParserAutoGen14Private::_freeAttributes__newparam____common_newparam_type( void* attributeData )
76602 {
76603     newparam____common_newparam_type__AttributeData* typedAttributeData = static_cast<newparam____common_newparam_type__AttributeData*>(attributeData);
76604 
76605     typedAttributeData->~newparam____common_newparam_type__AttributeData();
76606 
76607     return true;
76608 }
76609 
76610 //---------------------------------------------------------------------
76611 const profile_COMMON__technique__AttributeData profile_COMMON__technique__AttributeData::DEFAULT = {0, 0};
76612 
76613 //---------------------------------------------------------------------
_data__profile_COMMON__technique(const ParserChar * text,size_t textLength)76614 bool ColladaParserAutoGen14Private::_data__profile_COMMON__technique( const ParserChar* text, size_t textLength )
76615 {
76616     return true;
76617 }
76618 
76619 //---------------------------------------------------------------------
_preBegin__profile_COMMON__technique(const ParserAttributes & attributes,void ** attributeDataPtr,void ** validationDataPtr)76620 bool ColladaParserAutoGen14Private::_preBegin__profile_COMMON__technique( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
76621 {
76622 #ifdef GENERATEDSAXPARSER_VALIDATION
76623     if ( mValidate )
76624     {
76625 
76626         bool validationResult = _validateBegin__profile_COMMON__technique( attributes, attributeDataPtr, validationDataPtr );
76627         if ( !validationResult ) return false;
76628 
76629     } // validation
76630 #endif
76631 
76632 profile_COMMON__technique__AttributeData* attributeData = newData<profile_COMMON__technique__AttributeData>(attributeDataPtr);
76633 
76634 const ParserChar** attributeArray = attributes.attributes;
76635 if ( attributeArray )
76636 {
76637     while (true)
76638     {
76639         const ParserChar * attribute = *attributeArray;
76640         if ( !attribute )
76641             break;
76642         StringHash hash = GeneratedSaxParser::Utils::calculateStringHash(attribute);
76643         attributeArray++;
76644         if ( !attributeArray )
76645             return false;
76646         const ParserChar* attributeValue = *attributeArray;
76647         attributeArray++;
76648 
76649 
76650     switch ( hash )
76651     {
76652     case HASH_ATTRIBUTE_id:
76653     {
76654 
76655 attributeData->id = attributeValue;
76656 
76657     break;
76658     }
76659     case HASH_ATTRIBUTE_sid:
76660     {
76661 
76662 attributeData->sid = attributeValue;
76663 #ifdef GENERATEDSAXPARSER_VALIDATION
76664     if ( mValidate )
76665     {
76666     ParserError::ErrorType simpleTypeValidationResult = validate__NCName(attributeData->sid, strlen(attributeData->sid));
76667     if (simpleTypeValidationResult != ParserError::SIMPLE_TYPE_VALIDATION_OK)
76668     {
76669         if( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL,
76670             simpleTypeValidationResult,
76671             HASH_ELEMENT_TECHNIQUE,
76672             HASH_ATTRIBUTE_sid,
76673             attributeValue) )
76674         {
76675             return false;
76676         }
76677     }
76678     } // validation
76679 #endif
76680 
76681     break;
76682     }
76683     default:
76684     {
76685         if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_UNKNOWN_ATTRIBUTE, HASH_ELEMENT_TECHNIQUE, attribute, attributeValue))
76686             {return false;}
76687     }
76688     }
76689     }
76690 }
76691 if ( !attributeData->sid )
76692 {
76693     if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_REQUIRED_ATTRIBUTE_MISSING, HASH_ELEMENT_TECHNIQUE, HASH_ATTRIBUTE_sid, 0 ) )
76694         return false;
76695 }
76696 
76697 
76698     return true;
76699 }
76700 
76701 //---------------------------------------------------------------------
_preEnd__profile_COMMON__technique()76702 bool ColladaParserAutoGen14Private::_preEnd__profile_COMMON__technique()
76703 {
76704 #ifdef GENERATEDSAXPARSER_VALIDATION
76705     if ( mValidate )
76706     {
76707 
76708         bool validationResult = _validateEnd__profile_COMMON__technique();
76709         if ( !validationResult ) return false;
76710 
76711     } // validation
76712 #endif
76713 
76714     return true;
76715 }
76716 
76717 //---------------------------------------------------------------------
_freeAttributes__profile_COMMON__technique(void * attributeData)76718 bool ColladaParserAutoGen14Private::_freeAttributes__profile_COMMON__technique( void* attributeData )
76719 {
76720     profile_COMMON__technique__AttributeData* typedAttributeData = static_cast<profile_COMMON__technique__AttributeData*>(attributeData);
76721 
76722     typedAttributeData->~profile_COMMON__technique__AttributeData();
76723 
76724     return true;
76725 }
76726 
76727 //---------------------------------------------------------------------
_data__profile_COMMON__technique__constant(const ParserChar * text,size_t textLength)76728 bool ColladaParserAutoGen14Private::_data__profile_COMMON__technique__constant( const ParserChar* text, size_t textLength )
76729 {
76730     return true;
76731 }
76732 
76733 //---------------------------------------------------------------------
_preBegin__profile_COMMON__technique__constant(const ParserAttributes & attributes,void ** attributeDataPtr,void ** validationDataPtr)76734 bool ColladaParserAutoGen14Private::_preBegin__profile_COMMON__technique__constant( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
76735 {
76736 #ifdef GENERATEDSAXPARSER_VALIDATION
76737     if ( mValidate )
76738     {
76739 
76740         bool validationResult = _validateBegin__profile_COMMON__technique__constant( attributes, attributeDataPtr, validationDataPtr );
76741         if ( !validationResult ) return false;
76742 
76743     } // validation
76744 #endif
76745 
76746     return true;
76747 }
76748 
76749 //---------------------------------------------------------------------
_preEnd__profile_COMMON__technique__constant()76750 bool ColladaParserAutoGen14Private::_preEnd__profile_COMMON__technique__constant()
76751 {
76752 #ifdef GENERATEDSAXPARSER_VALIDATION
76753     if ( mValidate )
76754     {
76755 
76756         bool validationResult = _validateEnd__profile_COMMON__technique__constant();
76757         if ( !validationResult ) return false;
76758 
76759     } // validation
76760 #endif
76761 
76762     return true;
76763 }
76764 
76765 //---------------------------------------------------------------------
_freeAttributes__profile_COMMON__technique__constant(void * attributeData)76766 bool ColladaParserAutoGen14Private::_freeAttributes__profile_COMMON__technique__constant( void* attributeData )
76767 {
76768     return true;
76769 }
76770 
76771 //---------------------------------------------------------------------
_data__emission(const ParserChar * text,size_t textLength)76772 bool ColladaParserAutoGen14Private::_data__emission( const ParserChar* text, size_t textLength )
76773 {
76774     return true;
76775 }
76776 
76777 //---------------------------------------------------------------------
_preBegin__emission(const ParserAttributes & attributes,void ** attributeDataPtr,void ** validationDataPtr)76778 bool ColladaParserAutoGen14Private::_preBegin__emission( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
76779 {
76780 #ifdef GENERATEDSAXPARSER_VALIDATION
76781     if ( mValidate )
76782     {
76783 
76784         bool validationResult = _validateBegin__emission( attributes, attributeDataPtr, validationDataPtr );
76785         if ( !validationResult ) return false;
76786 
76787     } // validation
76788 #endif
76789 
76790     return true;
76791 }
76792 
76793 //---------------------------------------------------------------------
_preEnd__emission()76794 bool ColladaParserAutoGen14Private::_preEnd__emission()
76795 {
76796 #ifdef GENERATEDSAXPARSER_VALIDATION
76797     if ( mValidate )
76798     {
76799 
76800         bool validationResult = _validateEnd__emission();
76801         if ( !validationResult ) return false;
76802 
76803     } // validation
76804 #endif
76805 
76806     return true;
76807 }
76808 
76809 //---------------------------------------------------------------------
_freeAttributes__emission(void * attributeData)76810 bool ColladaParserAutoGen14Private::_freeAttributes__emission( void* attributeData )
76811 {
76812     return true;
76813 }
76814 
76815 //---------------------------------------------------------------------
76816 const common_color_or_texture_type____color__AttributeData common_color_or_texture_type____color__AttributeData::DEFAULT = {0};
76817 
76818 //---------------------------------------------------------------------
_data__common_color_or_texture_type____color(const ParserChar * text,size_t textLength)76819 bool ColladaParserAutoGen14Private::_data__common_color_or_texture_type____color( const ParserChar* text, size_t textLength )
76820 {
76821 #ifdef GENERATEDSAXPARSER_VALIDATION
76822     if ( mValidate )
76823     {
76824         border_color__ValidationData* validationData = (border_color__ValidationData*)mValidationDataStack.top();
76825         DISABLE_WARNING_UNUSED(validationData)
76826 return characterData2FloatData(text, textLength, &ColladaParserAutoGen14::data__common_color_or_texture_type____color, &validate__fx_color_common__stream, &validationData->validationWholeSize, 0);
76827     }
76828     else
76829     {
76830 return characterData2FloatData(text, textLength, &ColladaParserAutoGen14::data__common_color_or_texture_type____color);
76831     }
76832 #else
76833     {
76834 return characterData2FloatData(text, textLength, &ColladaParserAutoGen14::data__common_color_or_texture_type____color);
76835     } // validation
76836 #endif
76837 
76838 }
76839 
76840 //---------------------------------------------------------------------
_preBegin__common_color_or_texture_type____color(const ParserAttributes & attributes,void ** attributeDataPtr,void ** validationDataPtr)76841 bool ColladaParserAutoGen14Private::_preBegin__common_color_or_texture_type____color( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
76842 {
76843 #ifdef GENERATEDSAXPARSER_VALIDATION
76844     if ( mValidate )
76845     {
76846 
76847         bool validationResult = _validateBegin__common_color_or_texture_type____color( attributes, attributeDataPtr, validationDataPtr );
76848         if ( !validationResult ) return false;
76849 
76850     } // validation
76851 #endif
76852 
76853 common_color_or_texture_type____color__AttributeData* attributeData = newData<common_color_or_texture_type____color__AttributeData>(attributeDataPtr);
76854 
76855 const ParserChar** attributeArray = attributes.attributes;
76856 if ( attributeArray )
76857 {
76858     while (true)
76859     {
76860         const ParserChar * attribute = *attributeArray;
76861         if ( !attribute )
76862             break;
76863         StringHash hash = GeneratedSaxParser::Utils::calculateStringHash(attribute);
76864         attributeArray++;
76865         if ( !attributeArray )
76866             return false;
76867         const ParserChar* attributeValue = *attributeArray;
76868         attributeArray++;
76869 
76870 
76871     switch ( hash )
76872     {
76873     case HASH_ATTRIBUTE_sid:
76874     {
76875 
76876 attributeData->sid = attributeValue;
76877 #ifdef GENERATEDSAXPARSER_VALIDATION
76878     if ( mValidate )
76879     {
76880     ParserError::ErrorType simpleTypeValidationResult = validate__NCName(attributeData->sid, strlen(attributeData->sid));
76881     if (simpleTypeValidationResult != ParserError::SIMPLE_TYPE_VALIDATION_OK)
76882     {
76883         if( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL,
76884             simpleTypeValidationResult,
76885             HASH_ELEMENT_COLOR,
76886             HASH_ATTRIBUTE_sid,
76887             attributeValue) )
76888         {
76889             return false;
76890         }
76891     }
76892     } // validation
76893 #endif
76894 
76895     break;
76896     }
76897     default:
76898     {
76899         if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_UNKNOWN_ATTRIBUTE, HASH_ELEMENT_COLOR, attribute, attributeValue))
76900             {return false;}
76901     }
76902     }
76903     }
76904 }
76905 
76906 
76907     return true;
76908 }
76909 
76910 //---------------------------------------------------------------------
_preEnd__common_color_or_texture_type____color()76911 bool ColladaParserAutoGen14Private::_preEnd__common_color_or_texture_type____color()
76912 {
76913 #ifdef GENERATEDSAXPARSER_VALIDATION
76914     if ( mValidate )
76915     {
76916 
76917         bool validationResult = _validateEnd__common_color_or_texture_type____color();
76918         if ( !validationResult ) return false;
76919 
76920     } // validation
76921 #endif
76922 
76923 #ifdef GENERATEDSAXPARSER_VALIDATION
76924     if ( mValidate )
76925     {
76926         border_color__ValidationData* validationData = (border_color__ValidationData*)mValidationDataStack.top();
76927         DISABLE_WARNING_UNUSED(validationData)
76928 bool returnValue = floatDataEnd( &ColladaParserAutoGen14::data__common_color_or_texture_type____color, &validate__fx_color_common__streamEnd, &validationData->validationWholeSize, 0 );
76929         ParserError::ErrorType simpleTypeValidationResult = validate__fx_color_common(0, (*(&validationData->validationWholeSize)));
76930         mValidationDataStack.deleteObject();
76931         if (simpleTypeValidationResult != ParserError::SIMPLE_TYPE_VALIDATION_OK)
76932         {
76933             if( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL,
76934                 simpleTypeValidationResult,
76935                 HASH_ELEMENT_COLOR,
76936                 (ParserChar*)0, 0 ) )
76937             {
76938                 return false;
76939             }
76940         }
76941         return returnValue;
76942     }
76943     else
76944     {
76945 return floatDataEnd( &ColladaParserAutoGen14::data__common_color_or_texture_type____color );
76946     }
76947 #else
76948     {
76949 return floatDataEnd( &ColladaParserAutoGen14::data__common_color_or_texture_type____color );
76950     } // validation
76951 #endif
76952 
76953 }
76954 
76955 //---------------------------------------------------------------------
_freeAttributes__common_color_or_texture_type____color(void * attributeData)76956 bool ColladaParserAutoGen14Private::_freeAttributes__common_color_or_texture_type____color( void* attributeData )
76957 {
76958     common_color_or_texture_type____color__AttributeData* typedAttributeData = static_cast<common_color_or_texture_type____color__AttributeData*>(attributeData);
76959 
76960     typedAttributeData->~common_color_or_texture_type____color__AttributeData();
76961 
76962     return true;
76963 }
76964 
76965 //---------------------------------------------------------------------
76966 const common_color_or_texture_type____param__AttributeData common_color_or_texture_type____param__AttributeData::DEFAULT = {0};
76967 
76968 //---------------------------------------------------------------------
_data__common_color_or_texture_type____param(const ParserChar * text,size_t textLength)76969 bool ColladaParserAutoGen14Private::_data__common_color_or_texture_type____param( const ParserChar* text, size_t textLength )
76970 {
76971     return true;
76972 }
76973 
76974 //---------------------------------------------------------------------
_preBegin__common_color_or_texture_type____param(const ParserAttributes & attributes,void ** attributeDataPtr,void ** validationDataPtr)76975 bool ColladaParserAutoGen14Private::_preBegin__common_color_or_texture_type____param( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
76976 {
76977 #ifdef GENERATEDSAXPARSER_VALIDATION
76978     if ( mValidate )
76979     {
76980 
76981         bool validationResult = _validateBegin__common_color_or_texture_type____param( attributes, attributeDataPtr, validationDataPtr );
76982         if ( !validationResult ) return false;
76983 
76984     } // validation
76985 #endif
76986 
76987 common_color_or_texture_type____param__AttributeData* attributeData = newData<common_color_or_texture_type____param__AttributeData>(attributeDataPtr);
76988 
76989 const ParserChar** attributeArray = attributes.attributes;
76990 if ( attributeArray )
76991 {
76992     while (true)
76993     {
76994         const ParserChar * attribute = *attributeArray;
76995         if ( !attribute )
76996             break;
76997         StringHash hash = GeneratedSaxParser::Utils::calculateStringHash(attribute);
76998         attributeArray++;
76999         if ( !attributeArray )
77000             return false;
77001         const ParserChar* attributeValue = *attributeArray;
77002         attributeArray++;
77003 
77004 
77005     switch ( hash )
77006     {
77007     case HASH_ATTRIBUTE_ref:
77008     {
77009 
77010 attributeData->ref = attributeValue;
77011 #ifdef GENERATEDSAXPARSER_VALIDATION
77012     if ( mValidate )
77013     {
77014     ParserError::ErrorType simpleTypeValidationResult = validate__NCName(attributeData->ref, strlen(attributeData->ref));
77015     if (simpleTypeValidationResult != ParserError::SIMPLE_TYPE_VALIDATION_OK)
77016     {
77017         if( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL,
77018             simpleTypeValidationResult,
77019             HASH_ELEMENT_PARAM,
77020             HASH_ATTRIBUTE_ref,
77021             attributeValue) )
77022         {
77023             return false;
77024         }
77025     }
77026     } // validation
77027 #endif
77028 
77029     break;
77030     }
77031     default:
77032     {
77033         if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_UNKNOWN_ATTRIBUTE, HASH_ELEMENT_PARAM, attribute, attributeValue))
77034             {return false;}
77035     }
77036     }
77037     }
77038 }
77039 if ( !attributeData->ref )
77040 {
77041     if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_REQUIRED_ATTRIBUTE_MISSING, HASH_ELEMENT_PARAM, HASH_ATTRIBUTE_ref, 0 ) )
77042         return false;
77043 }
77044 
77045 
77046     return true;
77047 }
77048 
77049 //---------------------------------------------------------------------
_preEnd__common_color_or_texture_type____param()77050 bool ColladaParserAutoGen14Private::_preEnd__common_color_or_texture_type____param()
77051 {
77052 #ifdef GENERATEDSAXPARSER_VALIDATION
77053     if ( mValidate )
77054     {
77055 
77056         bool validationResult = _validateEnd__common_color_or_texture_type____param();
77057         if ( !validationResult ) return false;
77058 
77059     } // validation
77060 #endif
77061 
77062     return true;
77063 }
77064 
77065 //---------------------------------------------------------------------
_freeAttributes__common_color_or_texture_type____param(void * attributeData)77066 bool ColladaParserAutoGen14Private::_freeAttributes__common_color_or_texture_type____param( void* attributeData )
77067 {
77068     common_color_or_texture_type____param__AttributeData* typedAttributeData = static_cast<common_color_or_texture_type____param__AttributeData*>(attributeData);
77069 
77070     typedAttributeData->~common_color_or_texture_type____param__AttributeData();
77071 
77072     return true;
77073 }
77074 
77075 //---------------------------------------------------------------------
77076 const texture__AttributeData texture__AttributeData::DEFAULT = {0, 0};
77077 
77078 //---------------------------------------------------------------------
_data__texture(const ParserChar * text,size_t textLength)77079 bool ColladaParserAutoGen14Private::_data__texture( const ParserChar* text, size_t textLength )
77080 {
77081     return true;
77082 }
77083 
77084 //---------------------------------------------------------------------
_preBegin__texture(const ParserAttributes & attributes,void ** attributeDataPtr,void ** validationDataPtr)77085 bool ColladaParserAutoGen14Private::_preBegin__texture( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
77086 {
77087 #ifdef GENERATEDSAXPARSER_VALIDATION
77088     if ( mValidate )
77089     {
77090 
77091         bool validationResult = _validateBegin__texture( attributes, attributeDataPtr, validationDataPtr );
77092         if ( !validationResult ) return false;
77093 
77094     } // validation
77095 #endif
77096 
77097 texture__AttributeData* attributeData = newData<texture__AttributeData>(attributeDataPtr);
77098 
77099 const ParserChar** attributeArray = attributes.attributes;
77100 if ( attributeArray )
77101 {
77102     while (true)
77103     {
77104         const ParserChar * attribute = *attributeArray;
77105         if ( !attribute )
77106             break;
77107         StringHash hash = GeneratedSaxParser::Utils::calculateStringHash(attribute);
77108         attributeArray++;
77109         if ( !attributeArray )
77110             return false;
77111         const ParserChar* attributeValue = *attributeArray;
77112         attributeArray++;
77113 
77114 
77115     switch ( hash )
77116     {
77117     case HASH_ATTRIBUTE_texture:
77118     {
77119 
77120 attributeData->texture = attributeValue;
77121 #ifdef GENERATEDSAXPARSER_VALIDATION
77122     if ( mValidate )
77123     {
77124     ParserError::ErrorType simpleTypeValidationResult = validate__NCName(attributeData->texture, strlen(attributeData->texture));
77125     if (simpleTypeValidationResult != ParserError::SIMPLE_TYPE_VALIDATION_OK)
77126     {
77127         if( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL,
77128             simpleTypeValidationResult,
77129             HASH_ELEMENT_TEXTURE,
77130             HASH_ATTRIBUTE_texture,
77131             attributeValue) )
77132         {
77133             return false;
77134         }
77135     }
77136     } // validation
77137 #endif
77138 
77139     break;
77140     }
77141     case HASH_ATTRIBUTE_texcoord:
77142     {
77143 
77144 attributeData->texcoord = attributeValue;
77145 #ifdef GENERATEDSAXPARSER_VALIDATION
77146     if ( mValidate )
77147     {
77148     ParserError::ErrorType simpleTypeValidationResult = validate__NCName(attributeData->texcoord, strlen(attributeData->texcoord));
77149     if (simpleTypeValidationResult != ParserError::SIMPLE_TYPE_VALIDATION_OK)
77150     {
77151         if( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL,
77152             simpleTypeValidationResult,
77153             HASH_ELEMENT_TEXTURE,
77154             HASH_ATTRIBUTE_texcoord,
77155             attributeValue) )
77156         {
77157             return false;
77158         }
77159     }
77160     } // validation
77161 #endif
77162 
77163     break;
77164     }
77165     default:
77166     {
77167         if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_UNKNOWN_ATTRIBUTE, HASH_ELEMENT_TEXTURE, attribute, attributeValue))
77168             {return false;}
77169     }
77170     }
77171     }
77172 }
77173 if ( !attributeData->texture )
77174 {
77175     if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_REQUIRED_ATTRIBUTE_MISSING, HASH_ELEMENT_TEXTURE, HASH_ATTRIBUTE_texture, 0 ) )
77176         return false;
77177 }
77178 if ( !attributeData->texcoord )
77179 {
77180     if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_REQUIRED_ATTRIBUTE_MISSING, HASH_ELEMENT_TEXTURE, HASH_ATTRIBUTE_texcoord, 0 ) )
77181         return false;
77182 }
77183 
77184 
77185     return true;
77186 }
77187 
77188 //---------------------------------------------------------------------
_preEnd__texture()77189 bool ColladaParserAutoGen14Private::_preEnd__texture()
77190 {
77191 #ifdef GENERATEDSAXPARSER_VALIDATION
77192     if ( mValidate )
77193     {
77194 
77195         bool validationResult = _validateEnd__texture();
77196         if ( !validationResult ) return false;
77197 
77198     } // validation
77199 #endif
77200 
77201     return true;
77202 }
77203 
77204 //---------------------------------------------------------------------
_freeAttributes__texture(void * attributeData)77205 bool ColladaParserAutoGen14Private::_freeAttributes__texture( void* attributeData )
77206 {
77207     texture__AttributeData* typedAttributeData = static_cast<texture__AttributeData*>(attributeData);
77208 
77209     typedAttributeData->~texture__AttributeData();
77210 
77211     return true;
77212 }
77213 
77214 //---------------------------------------------------------------------
_data__reflective(const ParserChar * text,size_t textLength)77215 bool ColladaParserAutoGen14Private::_data__reflective( const ParserChar* text, size_t textLength )
77216 {
77217     return true;
77218 }
77219 
77220 //---------------------------------------------------------------------
_preBegin__reflective(const ParserAttributes & attributes,void ** attributeDataPtr,void ** validationDataPtr)77221 bool ColladaParserAutoGen14Private::_preBegin__reflective( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
77222 {
77223 #ifdef GENERATEDSAXPARSER_VALIDATION
77224     if ( mValidate )
77225     {
77226 
77227         bool validationResult = _validateBegin__reflective( attributes, attributeDataPtr, validationDataPtr );
77228         if ( !validationResult ) return false;
77229 
77230     } // validation
77231 #endif
77232 
77233     return true;
77234 }
77235 
77236 //---------------------------------------------------------------------
_preEnd__reflective()77237 bool ColladaParserAutoGen14Private::_preEnd__reflective()
77238 {
77239 #ifdef GENERATEDSAXPARSER_VALIDATION
77240     if ( mValidate )
77241     {
77242 
77243         bool validationResult = _validateEnd__reflective();
77244         if ( !validationResult ) return false;
77245 
77246     } // validation
77247 #endif
77248 
77249     return true;
77250 }
77251 
77252 //---------------------------------------------------------------------
_freeAttributes__reflective(void * attributeData)77253 bool ColladaParserAutoGen14Private::_freeAttributes__reflective( void* attributeData )
77254 {
77255     return true;
77256 }
77257 
77258 //---------------------------------------------------------------------
_data__reflectivity(const ParserChar * text,size_t textLength)77259 bool ColladaParserAutoGen14Private::_data__reflectivity( const ParserChar* text, size_t textLength )
77260 {
77261     return true;
77262 }
77263 
77264 //---------------------------------------------------------------------
_preBegin__reflectivity(const ParserAttributes & attributes,void ** attributeDataPtr,void ** validationDataPtr)77265 bool ColladaParserAutoGen14Private::_preBegin__reflectivity( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
77266 {
77267 #ifdef GENERATEDSAXPARSER_VALIDATION
77268     if ( mValidate )
77269     {
77270 
77271         bool validationResult = _validateBegin__reflectivity( attributes, attributeDataPtr, validationDataPtr );
77272         if ( !validationResult ) return false;
77273 
77274     } // validation
77275 #endif
77276 
77277     return true;
77278 }
77279 
77280 //---------------------------------------------------------------------
_preEnd__reflectivity()77281 bool ColladaParserAutoGen14Private::_preEnd__reflectivity()
77282 {
77283 #ifdef GENERATEDSAXPARSER_VALIDATION
77284     if ( mValidate )
77285     {
77286 
77287         bool validationResult = _validateEnd__reflectivity();
77288         if ( !validationResult ) return false;
77289 
77290     } // validation
77291 #endif
77292 
77293     return true;
77294 }
77295 
77296 //---------------------------------------------------------------------
_freeAttributes__reflectivity(void * attributeData)77297 bool ColladaParserAutoGen14Private::_freeAttributes__reflectivity( void* attributeData )
77298 {
77299     return true;
77300 }
77301 
77302 //---------------------------------------------------------------------
77303 const common_float_or_param_type____float__AttributeData common_float_or_param_type____float__AttributeData::DEFAULT = {0};
77304 
77305 //---------------------------------------------------------------------
_data__common_float_or_param_type____float(const ParserChar * text,size_t textLength)77306 bool ColladaParserAutoGen14Private::_data__common_float_or_param_type____float( const ParserChar* text, size_t textLength )
77307 {
77308 if (!mLastIncompleteFragmentInCharacterData)
77309 {
77310     mLastIncompleteFragmentInCharacterData = (ParserChar*)mStackMemoryManager.newObject(textLength);
77311     memcpy(mLastIncompleteFragmentInCharacterData, text, textLength);
77312     mEndOfDataInCurrentObjectOnStack = mLastIncompleteFragmentInCharacterData + textLength;
77313 }
77314 else
77315 {
77316     ParserChar* tmp = (ParserChar*)mStackMemoryManager.growObject(textLength);
77317     if ( tmp != mLastIncompleteFragmentInCharacterData ) {
77318         mEndOfDataInCurrentObjectOnStack = (mEndOfDataInCurrentObjectOnStack - mLastIncompleteFragmentInCharacterData) + tmp;
77319         mLastIncompleteFragmentInCharacterData = tmp;
77320     }
77321     memcpy(mEndOfDataInCurrentObjectOnStack, text, textLength);
77322     mEndOfDataInCurrentObjectOnStack += textLength;
77323 }
77324 return true;
77325 }
77326 
77327 //---------------------------------------------------------------------
_preBegin__common_float_or_param_type____float(const ParserAttributes & attributes,void ** attributeDataPtr,void ** validationDataPtr)77328 bool ColladaParserAutoGen14Private::_preBegin__common_float_or_param_type____float( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
77329 {
77330 #ifdef GENERATEDSAXPARSER_VALIDATION
77331     if ( mValidate )
77332     {
77333 
77334         bool validationResult = _validateBegin__common_float_or_param_type____float( attributes, attributeDataPtr, validationDataPtr );
77335         if ( !validationResult ) return false;
77336 
77337     } // validation
77338 #endif
77339 
77340 common_float_or_param_type____float__AttributeData* attributeData = newData<common_float_or_param_type____float__AttributeData>(attributeDataPtr);
77341 
77342 const ParserChar** attributeArray = attributes.attributes;
77343 if ( attributeArray )
77344 {
77345     while (true)
77346     {
77347         const ParserChar * attribute = *attributeArray;
77348         if ( !attribute )
77349             break;
77350         StringHash hash = GeneratedSaxParser::Utils::calculateStringHash(attribute);
77351         attributeArray++;
77352         if ( !attributeArray )
77353             return false;
77354         const ParserChar* attributeValue = *attributeArray;
77355         attributeArray++;
77356 
77357 
77358     switch ( hash )
77359     {
77360     case HASH_ATTRIBUTE_sid:
77361     {
77362 
77363 attributeData->sid = attributeValue;
77364 #ifdef GENERATEDSAXPARSER_VALIDATION
77365     if ( mValidate )
77366     {
77367     ParserError::ErrorType simpleTypeValidationResult = validate__NCName(attributeData->sid, strlen(attributeData->sid));
77368     if (simpleTypeValidationResult != ParserError::SIMPLE_TYPE_VALIDATION_OK)
77369     {
77370         if( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL,
77371             simpleTypeValidationResult,
77372             HASH_ELEMENT_FLOAT,
77373             HASH_ATTRIBUTE_sid,
77374             attributeValue) )
77375         {
77376             return false;
77377         }
77378     }
77379     } // validation
77380 #endif
77381 
77382     break;
77383     }
77384     default:
77385     {
77386         if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_UNKNOWN_ATTRIBUTE, HASH_ELEMENT_FLOAT, attribute, attributeValue))
77387             {return false;}
77388     }
77389     }
77390     }
77391 }
77392 
77393 
77394     return true;
77395 }
77396 
77397 //---------------------------------------------------------------------
_preEnd__common_float_or_param_type____float()77398 bool ColladaParserAutoGen14Private::_preEnd__common_float_or_param_type____float()
77399 {
77400 #ifdef GENERATEDSAXPARSER_VALIDATION
77401     if ( mValidate )
77402     {
77403 
77404         bool validationResult = _validateEnd__common_float_or_param_type____float();
77405         if ( !validationResult ) return false;
77406 
77407     } // validation
77408 #endif
77409 
77410 bool failed;
77411 const ParserChar* ptrForErr = mLastIncompleteFragmentInCharacterData;
77412 DISABLE_WARNING_UNUSED(ptrForErr)
77413 float parameter = GeneratedSaxParser::Utils::toFloat((const ParserChar**)&mLastIncompleteFragmentInCharacterData, mEndOfDataInCurrentObjectOnStack, failed);
77414 bool returnValue;
77415 if (!failed)
77416 {
77417     returnValue = mImpl->data__common_float_or_param_type____float(parameter);
77418 }
77419 else
77420     returnValue = !handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_TEXTDATA_PARSING_FAILED, HASH_ELEMENT_FLOAT, (const ParserChar*)0, mLastIncompleteFragmentInCharacterData);
77421 if (mLastIncompleteFragmentInCharacterData)
77422     mStackMemoryManager.deleteObject();
77423 mLastIncompleteFragmentInCharacterData = 0;
77424 mEndOfDataInCurrentObjectOnStack = 0;
77425 return returnValue;
77426 }
77427 
77428 //---------------------------------------------------------------------
_freeAttributes__common_float_or_param_type____float(void * attributeData)77429 bool ColladaParserAutoGen14Private::_freeAttributes__common_float_or_param_type____float( void* attributeData )
77430 {
77431     common_float_or_param_type____float__AttributeData* typedAttributeData = static_cast<common_float_or_param_type____float__AttributeData*>(attributeData);
77432 
77433     typedAttributeData->~common_float_or_param_type____float__AttributeData();
77434 
77435     return true;
77436 }
77437 
77438 //---------------------------------------------------------------------
77439 const common_float_or_param_type____param__AttributeData common_float_or_param_type____param__AttributeData::DEFAULT = {0};
77440 
77441 //---------------------------------------------------------------------
_data__common_float_or_param_type____param(const ParserChar * text,size_t textLength)77442 bool ColladaParserAutoGen14Private::_data__common_float_or_param_type____param( const ParserChar* text, size_t textLength )
77443 {
77444     return true;
77445 }
77446 
77447 //---------------------------------------------------------------------
_preBegin__common_float_or_param_type____param(const ParserAttributes & attributes,void ** attributeDataPtr,void ** validationDataPtr)77448 bool ColladaParserAutoGen14Private::_preBegin__common_float_or_param_type____param( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
77449 {
77450 #ifdef GENERATEDSAXPARSER_VALIDATION
77451     if ( mValidate )
77452     {
77453 
77454         bool validationResult = _validateBegin__common_float_or_param_type____param( attributes, attributeDataPtr, validationDataPtr );
77455         if ( !validationResult ) return false;
77456 
77457     } // validation
77458 #endif
77459 
77460 common_float_or_param_type____param__AttributeData* attributeData = newData<common_float_or_param_type____param__AttributeData>(attributeDataPtr);
77461 
77462 const ParserChar** attributeArray = attributes.attributes;
77463 if ( attributeArray )
77464 {
77465     while (true)
77466     {
77467         const ParserChar * attribute = *attributeArray;
77468         if ( !attribute )
77469             break;
77470         StringHash hash = GeneratedSaxParser::Utils::calculateStringHash(attribute);
77471         attributeArray++;
77472         if ( !attributeArray )
77473             return false;
77474         const ParserChar* attributeValue = *attributeArray;
77475         attributeArray++;
77476 
77477 
77478     switch ( hash )
77479     {
77480     case HASH_ATTRIBUTE_ref:
77481     {
77482 
77483 attributeData->ref = attributeValue;
77484 #ifdef GENERATEDSAXPARSER_VALIDATION
77485     if ( mValidate )
77486     {
77487     ParserError::ErrorType simpleTypeValidationResult = validate__NCName(attributeData->ref, strlen(attributeData->ref));
77488     if (simpleTypeValidationResult != ParserError::SIMPLE_TYPE_VALIDATION_OK)
77489     {
77490         if( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL,
77491             simpleTypeValidationResult,
77492             HASH_ELEMENT_PARAM,
77493             HASH_ATTRIBUTE_ref,
77494             attributeValue) )
77495         {
77496             return false;
77497         }
77498     }
77499     } // validation
77500 #endif
77501 
77502     break;
77503     }
77504     default:
77505     {
77506         if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_UNKNOWN_ATTRIBUTE, HASH_ELEMENT_PARAM, attribute, attributeValue))
77507             {return false;}
77508     }
77509     }
77510     }
77511 }
77512 if ( !attributeData->ref )
77513 {
77514     if ( handleError ( ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_REQUIRED_ATTRIBUTE_MISSING, HASH_ELEMENT_PARAM, HASH_ATTRIBUTE_ref, 0 ) )
77515         return false;
77516 }
77517 
77518 
77519     return true;
77520 }
77521 
77522 //---------------------------------------------------------------------
_preEnd__common_float_or_param_type____param()77523 bool ColladaParserAutoGen14Private::_preEnd__common_float_or_param_type____param()
77524 {
77525 #ifdef GENERATEDSAXPARSER_VALIDATION
77526     if ( mValidate )
77527     {
77528 
77529         bool validationResult = _validateEnd__common_float_or_param_type____param();
77530         if ( !validationResult ) return false;
77531 
77532     } // validation
77533 #endif
77534 
77535     return true;
77536 }
77537 
77538 //---------------------------------------------------------------------
_freeAttributes__common_float_or_param_type____param(void * attributeData)77539 bool ColladaParserAutoGen14Private::_freeAttributes__common_float_or_param_type____param( void* attributeData )
77540 {
77541     common_float_or_param_type____param__AttributeData* typedAttributeData = static_cast<common_float_or_param_type____param__AttributeData*>(attributeData);
77542 
77543     typedAttributeData->~common_float_or_param_type____param__AttributeData();
77544 
77545     return true;
77546 }
77547 
77548 //---------------------------------------------------------------------
77549 const transparent__AttributeData transparent__AttributeData::DEFAULT = {ENUM__fx_opaque_enum__A_ONE};
77550 
77551 //---------------------------------------------------------------------
_data__transparent(const ParserChar * text,size_t textLength)77552 bool ColladaParserAutoGen14Private::_data__transparent( const ParserChar* text, size_t textLength )
77553 {
77554     return true;
77555 }
77556 
77557 //---------------------------------------------------------------------
_preBegin__transparent(const ParserAttributes & attributes,void ** attributeDataPtr,void ** validationDataPtr)77558 bool ColladaParserAutoGen14Private::_preBegin__transparent( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
77559 {
77560 #ifdef GENERATEDSAXPARSER_VALIDATION
77561     if ( mValidate )
77562     {
77563 
77564         bool validationResult = _validateBegin__transparent( attributes, attributeDataPtr, validationDataPtr );
77565         if ( !validationResult ) return false;
77566 
77567     } // validation
77568 #endif
77569 
77570 transparent__AttributeData* attributeData = newData<transparent__AttributeData>(attributeDataPtr);
77571 
77572 const ParserChar** attributeArray = attributes.attributes;
77573 if ( attributeArray )
77574 {
77575     while (true)
77576     {
77577         const ParserChar * attribute = *attributeArray;
77578         if ( !attribute )
77579             break;
77580         StringHash hash = GeneratedSaxParser::Utils::calculateStringHash(attribute);
77581         attributeArray++;
77582         if ( !attributeArray )
77583             return false;
77584         const ParserChar* attributeValue = *attributeArray;
77585         attributeArray++;
77586 
77587 
77588     switch ( hash )
77589     {
77590     case HASH_ATTRIBUTE_opaque:
77591     {
77592 bool failed;
77593 attributeData->opaque = Utils::toEnum<ENUM__fx_opaque_enum, StringHash, ENUM__fx_opaque_enum__COUNT>(attributeValue, failed, ENUM__fx_opaque_enumMap, Utils::calculateStringHash);
77594 if ( failed && handleError(ParserError::SEVERITY_ERROR_NONCRITICAL,
77595         ParserError::ERROR_ATTRIBUTE_PARSING_FAILED,
77596         HASH_ELEMENT_TRANSPARENT,
77597         HASH_ATTRIBUTE_opaque,
77598         attributeValue))
77599 {
77600     return false;
77601 }
77602 
77603     break;
77604     }
77605     default:
77606     {
77607         if ( handleError(ParserError::SEVERITY_ERROR_NONCRITICAL, ParserError::ERROR_UNKNOWN_ATTRIBUTE, HASH_ELEMENT_TRANSPARENT, attribute, attributeValue))
77608             {return false;}
77609     }
77610     }
77611     }
77612 }
77613 
77614 
77615     return true;
77616 }
77617 
77618 //---------------------------------------------------------------------
_preEnd__transparent()77619 bool ColladaParserAutoGen14Private::_preEnd__transparent()
77620 {
77621 #ifdef GENERATEDSAXPARSER_VALIDATION
77622     if ( mValidate )
77623     {
77624 
77625         bool validationResult = _validateEnd__transparent();
77626         if ( !validationResult ) return false;
77627 
77628     } // validation
77629 #endif
77630 
77631     return true;
77632 }
77633 
77634 //---------------------------------------------------------------------
_freeAttributes__transparent(void * attributeData)77635 bool ColladaParserAutoGen14Private::_freeAttributes__transparent( void* attributeData )
77636 {
77637     transparent__AttributeData* typedAttributeData = static_cast<transparent__AttributeData*>(attributeData);
77638 
77639     typedAttributeData->~transparent__AttributeData();
77640 
77641     return true;
77642 }
77643 
77644 //---------------------------------------------------------------------
toEnumDataPrefix_ENUM__fx_opaque_enum(const ParserChar * prefixedBuffer,const ParserChar * prefixedBufferEnd,const ParserChar ** buffer,const ParserChar * bufferEnd,bool & failed,const std::pair<StringHash,ENUM__fx_opaque_enum> * enumMap,StringHash (* baseConversionFunc)(const ParserChar **,const ParserChar *,bool &))77645 ENUM__fx_opaque_enum ColladaParserAutoGen14Private::toEnumDataPrefix_ENUM__fx_opaque_enum (
77646     const ParserChar* prefixedBuffer,
77647     const ParserChar* prefixedBufferEnd,
77648     const ParserChar** buffer,
77649     const ParserChar* bufferEnd,
77650     bool& failed,
77651     const std::pair<StringHash, ENUM__fx_opaque_enum>* enumMap,
77652     StringHash (*baseConversionFunc)( const ParserChar**, const ParserChar*, bool& )
77653 )
77654 {
77655     return toEnumDataPrefix<ENUM__fx_opaque_enum, StringHash, ENUM__fx_opaque_enum__COUNT, &toEnum_ENUM__fx_opaque_enum>(prefixedBuffer, prefixedBufferEnd, buffer, bufferEnd, failed, enumMap, baseConversionFunc);
77656 }
77657 
77658 //---------------------------------------------------------------------
characterData2EnumData_ENUM__fx_opaque_enum(const ParserChar * text,size_t textLength,bool (ColladaParserAutoGen14::* dataFunction)(const ENUM__fx_opaque_enum *,size_t),StringHash (* baseConversionFunc)(const ParserChar **,const ParserChar *,bool &))77659 bool ColladaParserAutoGen14Private::characterData2EnumData_ENUM__fx_opaque_enum (
77660     const ParserChar* text,
77661     size_t textLength,
77662     bool ( ColladaParserAutoGen14::*dataFunction )(const ENUM__fx_opaque_enum*, size_t ),
77663     StringHash (*baseConversionFunc)( const ParserChar**, const ParserChar*, bool& )
77664 )
77665 {
77666     return characterData2EnumData<ENUM__fx_opaque_enum, StringHash, ENUM__fx_opaque_enum__COUNT>(text, textLength, dataFunction, ENUM__fx_opaque_enumMap, baseConversionFunc, &toEnum_ENUM__fx_opaque_enum, &ColladaParserAutoGen14Private::toEnumDataPrefix_ENUM__fx_opaque_enum);
77667 }
77668 
77669 //---------------------------------------------------------------------
dataEnumEnd_ENUM__fx_opaque_enum(bool (ColladaParserAutoGen14::* dataFunction)(const ENUM__fx_opaque_enum *,size_t),const std::pair<StringHash,ENUM__fx_opaque_enum> * enumMap,StringHash (* baseConversionFunc)(const ParserChar **,const ParserChar *,bool &),ENUM__fx_opaque_enum (* toEnumFunc)(const ParserChar **,const ParserChar *,bool &,const std::pair<StringHash,ENUM__fx_opaque_enum> * enumMap,StringHash (* baseConversionFunc)(const ParserChar **,const ParserChar *,bool &)))77670 bool ColladaParserAutoGen14Private::dataEnumEnd_ENUM__fx_opaque_enum (
77671     bool ( ColladaParserAutoGen14::*dataFunction )(const ENUM__fx_opaque_enum*, size_t ),
77672     const std::pair<StringHash, ENUM__fx_opaque_enum>* enumMap,
77673     StringHash (*baseConversionFunc)( const ParserChar**, const ParserChar*, bool& ),
77674     ENUM__fx_opaque_enum (*toEnumFunc)( const ParserChar**, const ParserChar*, bool&, const std::pair<StringHash, ENUM__fx_opaque_enum>* enumMap, StringHash (*baseConversionFunc)( const ParserChar**, const ParserChar*, bool& ))
77675 )
77676 {
77677     return dataEnumEnd<ENUM__fx_opaque_enum, StringHash, ENUM__fx_opaque_enum__COUNT>(dataFunction, enumMap, baseConversionFunc, toEnumFunc);
77678 }
77679 
77680 //---------------------------------------------------------------------
_data__transparency(const ParserChar * text,size_t textLength)77681 bool ColladaParserAutoGen14Private::_data__transparency( const ParserChar* text, size_t textLength )
77682 {
77683     return true;
77684 }
77685 
77686 //---------------------------------------------------------------------
_preBegin__transparency(const ParserAttributes & attributes,void ** attributeDataPtr,void ** validationDataPtr)77687 bool ColladaParserAutoGen14Private::_preBegin__transparency( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
77688 {
77689 #ifdef GENERATEDSAXPARSER_VALIDATION
77690     if ( mValidate )
77691     {
77692 
77693         bool validationResult = _validateBegin__transparency( attributes, attributeDataPtr, validationDataPtr );
77694         if ( !validationResult ) return false;
77695 
77696     } // validation
77697 #endif
77698 
77699     return true;
77700 }
77701 
77702 //---------------------------------------------------------------------
_preEnd__transparency()77703 bool ColladaParserAutoGen14Private::_preEnd__transparency()
77704 {
77705 #ifdef GENERATEDSAXPARSER_VALIDATION
77706     if ( mValidate )
77707     {
77708 
77709         bool validationResult = _validateEnd__transparency();
77710         if ( !validationResult ) return false;
77711 
77712     } // validation
77713 #endif
77714 
77715     return true;
77716 }
77717 
77718 //---------------------------------------------------------------------
_freeAttributes__transparency(void * attributeData)77719 bool ColladaParserAutoGen14Private::_freeAttributes__transparency( void* attributeData )
77720 {
77721     return true;
77722 }
77723 
77724 //---------------------------------------------------------------------
_data__index_of_refraction(const ParserChar * text,size_t textLength)77725 bool ColladaParserAutoGen14Private::_data__index_of_refraction( const ParserChar* text, size_t textLength )
77726 {
77727     return true;
77728 }
77729 
77730 //---------------------------------------------------------------------
_preBegin__index_of_refraction(const ParserAttributes & attributes,void ** attributeDataPtr,void ** validationDataPtr)77731 bool ColladaParserAutoGen14Private::_preBegin__index_of_refraction( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
77732 {
77733 #ifdef GENERATEDSAXPARSER_VALIDATION
77734     if ( mValidate )
77735     {
77736 
77737         bool validationResult = _validateBegin__index_of_refraction( attributes, attributeDataPtr, validationDataPtr );
77738         if ( !validationResult ) return false;
77739 
77740     } // validation
77741 #endif
77742 
77743     return true;
77744 }
77745 
77746 //---------------------------------------------------------------------
_preEnd__index_of_refraction()77747 bool ColladaParserAutoGen14Private::_preEnd__index_of_refraction()
77748 {
77749 #ifdef GENERATEDSAXPARSER_VALIDATION
77750     if ( mValidate )
77751     {
77752 
77753         bool validationResult = _validateEnd__index_of_refraction();
77754         if ( !validationResult ) return false;
77755 
77756     } // validation
77757 #endif
77758 
77759     return true;
77760 }
77761 
77762 //---------------------------------------------------------------------
_freeAttributes__index_of_refraction(void * attributeData)77763 bool ColladaParserAutoGen14Private::_freeAttributes__index_of_refraction( void* attributeData )
77764 {
77765     return true;
77766 }
77767 
77768 //---------------------------------------------------------------------
_data__lambert(const ParserChar * text,size_t textLength)77769 bool ColladaParserAutoGen14Private::_data__lambert( const ParserChar* text, size_t textLength )
77770 {
77771     return true;
77772 }
77773 
77774 //---------------------------------------------------------------------
_preBegin__lambert(const ParserAttributes & attributes,void ** attributeDataPtr,void ** validationDataPtr)77775 bool ColladaParserAutoGen14Private::_preBegin__lambert( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
77776 {
77777 #ifdef GENERATEDSAXPARSER_VALIDATION
77778     if ( mValidate )
77779     {
77780 
77781         bool validationResult = _validateBegin__lambert( attributes, attributeDataPtr, validationDataPtr );
77782         if ( !validationResult ) return false;
77783 
77784     } // validation
77785 #endif
77786 
77787     return true;
77788 }
77789 
77790 //---------------------------------------------------------------------
_preEnd__lambert()77791 bool ColladaParserAutoGen14Private::_preEnd__lambert()
77792 {
77793 #ifdef GENERATEDSAXPARSER_VALIDATION
77794     if ( mValidate )
77795     {
77796 
77797         bool validationResult = _validateEnd__lambert();
77798         if ( !validationResult ) return false;
77799 
77800     } // validation
77801 #endif
77802 
77803     return true;
77804 }
77805 
77806 //---------------------------------------------------------------------
_freeAttributes__lambert(void * attributeData)77807 bool ColladaParserAutoGen14Private::_freeAttributes__lambert( void* attributeData )
77808 {
77809     return true;
77810 }
77811 
77812 //---------------------------------------------------------------------
_data__ambient____common_color_or_texture_type(const ParserChar * text,size_t textLength)77813 bool ColladaParserAutoGen14Private::_data__ambient____common_color_or_texture_type( const ParserChar* text, size_t textLength )
77814 {
77815     return true;
77816 }
77817 
77818 //---------------------------------------------------------------------
_preBegin__ambient____common_color_or_texture_type(const ParserAttributes & attributes,void ** attributeDataPtr,void ** validationDataPtr)77819 bool ColladaParserAutoGen14Private::_preBegin__ambient____common_color_or_texture_type( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
77820 {
77821 #ifdef GENERATEDSAXPARSER_VALIDATION
77822     if ( mValidate )
77823     {
77824 
77825         bool validationResult = _validateBegin__ambient____common_color_or_texture_type( attributes, attributeDataPtr, validationDataPtr );
77826         if ( !validationResult ) return false;
77827 
77828     } // validation
77829 #endif
77830 
77831     return true;
77832 }
77833 
77834 //---------------------------------------------------------------------
_preEnd__ambient____common_color_or_texture_type()77835 bool ColladaParserAutoGen14Private::_preEnd__ambient____common_color_or_texture_type()
77836 {
77837 #ifdef GENERATEDSAXPARSER_VALIDATION
77838     if ( mValidate )
77839     {
77840 
77841         bool validationResult = _validateEnd__ambient____common_color_or_texture_type();
77842         if ( !validationResult ) return false;
77843 
77844     } // validation
77845 #endif
77846 
77847     return true;
77848 }
77849 
77850 //---------------------------------------------------------------------
_freeAttributes__ambient____common_color_or_texture_type(void * attributeData)77851 bool ColladaParserAutoGen14Private::_freeAttributes__ambient____common_color_or_texture_type( void* attributeData )
77852 {
77853     return true;
77854 }
77855 
77856 //---------------------------------------------------------------------
_data__diffuse(const ParserChar * text,size_t textLength)77857 bool ColladaParserAutoGen14Private::_data__diffuse( const ParserChar* text, size_t textLength )
77858 {
77859     return true;
77860 }
77861 
77862 //---------------------------------------------------------------------
_preBegin__diffuse(const ParserAttributes & attributes,void ** attributeDataPtr,void ** validationDataPtr)77863 bool ColladaParserAutoGen14Private::_preBegin__diffuse( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
77864 {
77865 #ifdef GENERATEDSAXPARSER_VALIDATION
77866     if ( mValidate )
77867     {
77868 
77869         bool validationResult = _validateBegin__diffuse( attributes, attributeDataPtr, validationDataPtr );
77870         if ( !validationResult ) return false;
77871 
77872     } // validation
77873 #endif
77874 
77875     return true;
77876 }
77877 
77878 //---------------------------------------------------------------------
_preEnd__diffuse()77879 bool ColladaParserAutoGen14Private::_preEnd__diffuse()
77880 {
77881 #ifdef GENERATEDSAXPARSER_VALIDATION
77882     if ( mValidate )
77883     {
77884 
77885         bool validationResult = _validateEnd__diffuse();
77886         if ( !validationResult ) return false;
77887 
77888     } // validation
77889 #endif
77890 
77891     return true;
77892 }
77893 
77894 //---------------------------------------------------------------------
_freeAttributes__diffuse(void * attributeData)77895 bool ColladaParserAutoGen14Private::_freeAttributes__diffuse( void* attributeData )
77896 {
77897     return true;
77898 }
77899 
77900 //---------------------------------------------------------------------
_data__phong(const ParserChar * text,size_t textLength)77901 bool ColladaParserAutoGen14Private::_data__phong( const ParserChar* text, size_t textLength )
77902 {
77903     return true;
77904 }
77905 
77906 //---------------------------------------------------------------------
_preBegin__phong(const ParserAttributes & attributes,void ** attributeDataPtr,void ** validationDataPtr)77907 bool ColladaParserAutoGen14Private::_preBegin__phong( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
77908 {
77909 #ifdef GENERATEDSAXPARSER_VALIDATION
77910     if ( mValidate )
77911     {
77912 
77913         bool validationResult = _validateBegin__phong( attributes, attributeDataPtr, validationDataPtr );
77914         if ( !validationResult ) return false;
77915 
77916     } // validation
77917 #endif
77918 
77919     return true;
77920 }
77921 
77922 //---------------------------------------------------------------------
_preEnd__phong()77923 bool ColladaParserAutoGen14Private::_preEnd__phong()
77924 {
77925 #ifdef GENERATEDSAXPARSER_VALIDATION
77926     if ( mValidate )
77927     {
77928 
77929         bool validationResult = _validateEnd__phong();
77930         if ( !validationResult ) return false;
77931 
77932     } // validation
77933 #endif
77934 
77935     return true;
77936 }
77937 
77938 //---------------------------------------------------------------------
_freeAttributes__phong(void * attributeData)77939 bool ColladaParserAutoGen14Private::_freeAttributes__phong( void* attributeData )
77940 {
77941     return true;
77942 }
77943 
77944 //---------------------------------------------------------------------
_data__specular(const ParserChar * text,size_t textLength)77945 bool ColladaParserAutoGen14Private::_data__specular( const ParserChar* text, size_t textLength )
77946 {
77947     return true;
77948 }
77949 
77950 //---------------------------------------------------------------------
_preBegin__specular(const ParserAttributes & attributes,void ** attributeDataPtr,void ** validationDataPtr)77951 bool ColladaParserAutoGen14Private::_preBegin__specular( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
77952 {
77953 #ifdef GENERATEDSAXPARSER_VALIDATION
77954     if ( mValidate )
77955     {
77956 
77957         bool validationResult = _validateBegin__specular( attributes, attributeDataPtr, validationDataPtr );
77958         if ( !validationResult ) return false;
77959 
77960     } // validation
77961 #endif
77962 
77963     return true;
77964 }
77965 
77966 //---------------------------------------------------------------------
_preEnd__specular()77967 bool ColladaParserAutoGen14Private::_preEnd__specular()
77968 {
77969 #ifdef GENERATEDSAXPARSER_VALIDATION
77970     if ( mValidate )
77971     {
77972 
77973         bool validationResult = _validateEnd__specular();
77974         if ( !validationResult ) return false;
77975 
77976     } // validation
77977 #endif
77978 
77979     return true;
77980 }
77981 
77982 //---------------------------------------------------------------------
_freeAttributes__specular(void * attributeData)77983 bool ColladaParserAutoGen14Private::_freeAttributes__specular( void* attributeData )
77984 {
77985     return true;
77986 }
77987 
77988 //---------------------------------------------------------------------
_data__shininess(const ParserChar * text,size_t textLength)77989 bool ColladaParserAutoGen14Private::_data__shininess( const ParserChar* text, size_t textLength )
77990 {
77991     return true;
77992 }
77993 
77994 //---------------------------------------------------------------------
_preBegin__shininess(const ParserAttributes & attributes,void ** attributeDataPtr,void ** validationDataPtr)77995 bool ColladaParserAutoGen14Private::_preBegin__shininess( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
77996 {
77997 #ifdef GENERATEDSAXPARSER_VALIDATION
77998     if ( mValidate )
77999     {
78000 
78001         bool validationResult = _validateBegin__shininess( attributes, attributeDataPtr, validationDataPtr );
78002         if ( !validationResult ) return false;
78003 
78004     } // validation
78005 #endif
78006 
78007     return true;
78008 }
78009 
78010 //---------------------------------------------------------------------
_preEnd__shininess()78011 bool ColladaParserAutoGen14Private::_preEnd__shininess()
78012 {
78013 #ifdef GENERATEDSAXPARSER_VALIDATION
78014     if ( mValidate )
78015     {
78016 
78017         bool validationResult = _validateEnd__shininess();
78018         if ( !validationResult ) return false;
78019 
78020     } // validation
78021 #endif
78022 
78023     return true;
78024 }
78025 
78026 //---------------------------------------------------------------------
_freeAttributes__shininess(void * attributeData)78027 bool ColladaParserAutoGen14Private::_freeAttributes__shininess( void* attributeData )
78028 {
78029     return true;
78030 }
78031 
78032 //---------------------------------------------------------------------
_data__blinn(const ParserChar * text,size_t textLength)78033 bool ColladaParserAutoGen14Private::_data__blinn( const ParserChar* text, size_t textLength )
78034 {
78035     return true;
78036 }
78037 
78038 //---------------------------------------------------------------------
_preBegin__blinn(const ParserAttributes & attributes,void ** attributeDataPtr,void ** validationDataPtr)78039 bool ColladaParserAutoGen14Private::_preBegin__blinn( const ParserAttributes& attributes, void ** attributeDataPtr, void ** validationDataPtr )
78040 {
78041 #ifdef GENERATEDSAXPARSER_VALIDATION
78042     if ( mValidate )
78043     {
78044 
78045         bool validationResult = _validateBegin__blinn( attributes, attributeDataPtr, validationDataPtr );
78046         if ( !validationResult ) return false;
78047 
78048     } // validation
78049 #endif
78050 
78051     return true;
78052 }
78053 
78054 //---------------------------------------------------------------------
_preEnd__blinn()78055 bool ColladaParserAutoGen14Private::_preEnd__blinn()
78056 {
78057 #ifdef GENERATEDSAXPARSER_VALIDATION
78058     if ( mValidate )
78059     {
78060 
78061         bool validationResult = _validateEnd__blinn();
78062         if ( !validationResult ) return false;
78063 
78064     } // validation
78065 #endif
78066 
78067     return true;
78068 }
78069 
78070 //---------------------------------------------------------------------
_freeAttributes__blinn(void * attributeData)78071 bool ColladaParserAutoGen14Private::_freeAttributes__blinn( void* attributeData )
78072 {
78073     return true;
78074 }
78075 
78076 
78077 
78078 
78079 } // namespace
78080